GithubHelp home page GithubHelp logo

"Globe" Branded Smart Bulb about tuyota HOT 23 OPEN

mssmison avatar mssmison commented on June 27, 2024
"Globe" Branded Smart Bulb

from tuyota.

Comments (23)

damondins avatar damondins commented on June 27, 2024

I'm getting the same thing with the lombex bulb and the ChiHope outlet strip. I'm able to reprovision to the smartlife app afterward but can't get it to go further. The chiHope has a TYWE3S Module. I'm not sure if that could be an issue or not.

from tuyota.

SynAckFin avatar SynAckFin commented on June 27, 2024

If you are prepared to edit the script then try changing about line 277 from:

my $payload = sprintf('{"passwd":"%s","ssid":"%s","token":"EUb6IPWXYTn455"}',$Password,$SSID);

to
my $payload = sprintf('{"passwd":"%s","ssid":"%s","token":""}',$Password,$SSID);
and see what happens.

from tuyota.

damondins avatar damondins commented on June 27, 2024

@SynAckFin just made the edit and same result.

Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
RTNETLINK answers: Cannot assign requested address
Done
Using WiFi device wlan0 for Access Point
Starting Access Point with SSID ZAGDU-789
Giving Access Point IP address 10.44.57.1, pid is 13971
Redirecting device 192.168.1.169 to use Access Point ZAGDU-789
**** Redirect appears successful
**** New device detected. ID: 42300042dc4f22edcef2 IP:192.168.1.152
**** New device detected. ID: 04200320dc4f222e83f4 IP:192.168.1.169
Asking device to move networks and upgrade...
Redirecting device 192.168.1.169 to use Access Point ZAGDU-789
Unable to open socket to 192.168.1.169: No route to host
The device might be at the next stage, ignoring for now
**** New device detected. ID: 5700118884f3eb1d3064 IP:192.168.1.129
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.231
**** New device detected. ID: 42300042dc4f22edd01d IP:192.168.1.140
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.231
**** New device detected. ID: 00662375b4e62d5be578 IP:192.168.1.175
**** New device detected. ID: 0620047984f3eb4331fa IP:192.168.1.159
**** New device detected. ID: 07440243bcddc2fae50b IP:192.168.1.116
**** New device detected. ID: 0720024884f3eb0058b3 IP:192.168.1.119
**** New device detected. ID: 01200949ecfabc87ca64 IP:192.168.1.128
DHCP Request dc:4f:22:2e:83:f4 10.44.57.231
**** Device 04200320dc4f222e83f4 has changed IP from 192.168.1.169 to 10.44.57.231
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
Accepting MQTT connection, forwarding to mq.gw.tuyaus.com.
Received DNS query for a.tuyaus.com.
Sending 10.44.57.1 as response
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.update
Response: HTTP/1.1 200 OK
{"t":1547987388,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.dev.update
Response: HTTP/1.1 200 OK
{"t":1547987388,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=atop.online.debug.log
Response: HTTP/1.1 200 OK
{"result":true,"t":1547987392,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.dev.timer.count
Response: HTTP/1.1 200 OK
{"result":{"devId":"04200320dc4f222e83f4","count":0,"lastFetchTime":0},"t":1547987403,"e":false,"success":true}
Shutting down...
Setting up IP Address 192.168.4.2 for Final Stages
Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
Done
Setting up wifi scan
Setting up listener for FinalStage
Shutting down...
Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
Done
Finished
Exiting....
Shutting down...

from tuyota.

damondins avatar damondins commented on June 27, 2024

I just pulled the newest TuyOTA script and now I'm getting this

Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
RTNETLINK answers: Cannot assign requested address
Done
Using WiFi device wlan0 for Access Point
Starting Access Point with SSID ZAGDU-789
Giving Access Point IP address 10.44.57.1, pid is 29401
Redirecting device 192.168.1.169 to use Access Point ZAGDU-789
**** Redirect appears successful
**** New device detected. ID: 07440243bcddc2fae50b IP:192.168.1.116
**** New device detected. ID: 0720024884f3eb0058b3 IP:192.168.1.119
**** New device detected. ID: 01200949ecfabc87ca64 IP:192.168.1.128
**** New device detected. ID: 42300042dc4f22edcef2 IP:192.168.1.152
**** New device detected. ID: 5700118884f3eb1d3064 IP:192.168.1.129
**** New device detected. ID: 42300042dc4f22edd01d IP:192.168.1.140
**** New device detected. ID: 00662375b4e62d5be578 IP:192.168.1.175
**** New device detected. ID: 0620047984f3eb4331fa IP:192.168.1.159
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.33
DHCP Request dc:4f:22:2e:83:f4 10.44.57.33
**** New device detected. ID: 04200320dc4f222e83f4 IP:10.44.57.33
**** New device looks to be part way through upgrading
**** Forcing it to retry the upgrade
Redirecting device 10.44.57.33 to use Access Point ZAGDU-789
**** Redirect appears successful
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.33
DHCP Request dc:4f:22:2e:83:f4 10.44.57.33
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
Accepting MQTT connection, forwarding to mq.gw.tuyaus.com.
Received DNS query for a.tuyaus.com.
Sending 10.44.57.1 as response
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.update
Response: HTTP/1.1 200 OK
{"t":1547988461,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.dev.update
Response: HTTP/1.1 200 OK
{"t":1547988461,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=atop.online.debug.log
Response: HTTP/1.1 200 OK
{"result":true,"t":1547988463,"e":false,"success":true}
DHCP Request f0:fe:6b:41:8d:8e
f0:fe:6b:41:8d:8e: Unknown host
Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/lib/arm-linux-gnueabihf/perl/5.24/Socket.pm line 157, <$fh> line 15.
Exiting....
Shutting down...

from tuyota.

SynAckFin avatar SynAckFin commented on June 27, 2024

Progress has been made you are no longer getting the SING_VALIDATE_FALED_TOKEN_EXPIRE

Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/lib/arm-linux-gnueabihf/perl/5.24/Socket.pm line 157, <$fh> line 15.

This a bug that I thought I'd fixed a couple of days ago (#2). Are you sure you have the latest version from the master repository? https://raw.githubusercontent.com/SynAckFin/TuyOTA/master/tuyota.pl

from tuyota.

damondins avatar damondins commented on June 27, 2024

I renamed the directory and ran git clone https://github.com/SynAckFin/TuyOTA it created the new folder so should be...

from tuyota.

damondins avatar damondins commented on June 27, 2024

ok so rebooted and reran the script after reconnecting the device to smartlife and the error is gone but back to the 1st issue....

Stage One firmware not found, downloading it
--2019-01-20 07:18:21-- https://github.com/SynAckFin/TuyOTA/raw/master/static/image_user2-0x81000.bin
Resolving github.com (github.com)... 192.30.253.112, 192.30.253.113
Connecting to github.com (github.com)|192.30.253.112|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/SynAckFin/TuyOTA/master/static/image_user2-0x81000.bin [following]
--2019-01-20 07:18:22-- https://raw.githubusercontent.com/SynAckFin/TuyOTA/master/static/image_user2-0x81000.bin
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.48.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.48.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 239220 (234K) [application/octet-stream]
Saving to: ‘image_user2-0x81000.bin’

image_user2-0x81000 100%[===================>] 233.61K --.-KB/s in 0.1s

2019-01-20 07:18:22 (2.13 MB/s) - ‘image_user2-0x81000.bin’ saved [239220/239220]

Stage Two firmware not found, downloading it
--2019-01-20 07:18:22-- https://github.com/SynAckFin/TuyOTA/raw/master/static/sonoff.bin
Resolving github.com (github.com)... 192.30.253.113, 192.30.253.112
Connecting to github.com (github.com)|192.30.253.113|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://raw.githubusercontent.com/SynAckFin/TuyOTA/master/static/sonoff.bin [following]
--2019-01-20 07:18:23-- https://raw.githubusercontent.com/SynAckFin/TuyOTA/master/static/sonoff.bin
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.48.133
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.48.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 482512 (471K) [application/octet-stream]
Saving to: ‘sonoff.bin’

sonoff.bin 100%[===================>] 471.20K 2.58MB/s in 0.2s

2019-01-20 07:18:23 (2.58 MB/s) - ‘sonoff.bin’ saved [482512/482512]

Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
RTNETLINK answers: Cannot assign requested address
Done
Using WiFi device wlan0 for Access Point
Creating Access Point config file hostapd.conf
Starting Access Point with SSID ZAGDU-789
Giving Access Point IP address 10.44.57.1, pid is 3558
Redirecting device 192.168.1.169 to use Access Point ZAGDU-789
**** Redirect appears successful
**** New device detected. ID: 42300042dc4f22edd01d IP:192.168.1.140
**** New device detected. ID: 00662375b4e62d5be578 IP:192.168.1.175
**** New device detected. ID: 0620047984f3eb4331fa IP:192.168.1.159
**** New device detected. ID: 07440243bcddc2fae50b IP:192.168.1.116
**** New device detected. ID: 0720024884f3eb0058b3 IP:192.168.1.119
**** New device detected. ID: 01200949ecfabc87ca64 IP:192.168.1.128
**** New device detected. ID: 42300042dc4f22edcef2 IP:192.168.1.152
**** New device detected. ID: 04200320dc4f222e83f4 IP:192.168.1.169
Asking device to move networks and upgrade...
Redirecting device 192.168.1.169 to use Access Point ZAGDU-789
Unable to open socket to 192.168.1.169: No route to host
The device might be at the next stage, ignoring for now
**** New device detected. ID: 5700118884f3eb1d3064 IP:192.168.1.129
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Request f0:fe:6b:41:8d:8e 10.44.57.176
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Discover dc:4f:22:2e:83:f4 10.44.57.80
DHCP Request dc:4f:22:2e:83:f4 10.44.57.80
**** Device 04200320dc4f222e83f4 has changed IP from 192.168.1.169 to 10.44.57.80
Received DNS query for mq.gw.tuyaus.com.
Sending 10.44.57.1 as response
Accepting MQTT connection, forwarding to mq.gw.tuyaus.com.
Received DNS query for a.tuyaus.com.
Sending 10.44.57.1 as response
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.update
Response: HTTP/1.1 200 OK
{"t":1547990381,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.dev.update
Response: HTTP/1.1 200 OK
{"t":1547990382,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=atop.online.debug.log
Response: HTTP/1.1 200 OK
{"result":true,"t":1547990385,"e":false,"success":true}
Receiving www request
Fetching Request Content
URL: /gw.json?a=s.gw.dev.timer.count
Response: HTTP/1.1 200 OK
{"result":{"devId":"04200320dc4f222e83f4","count":0,"lastFetchTime":0},"t":1547990396,"e":false,"success":true}
Shutting down...
Setting up IP Address 192.168.4.2 for Final Stages
Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
Done
Setting up wifi scan
Setting up listener for FinalStage
Shutting down...
Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
Done
Finished
Exiting....
Shutting down...

from tuyota.

damondins avatar damondins commented on June 27, 2024

SingHong Tunable White experiencing the same issue. I changed the token and it doesnt error on that but same result

from tuyota.

SynAckFin avatar SynAckFin commented on June 27, 2024

That looks better. Unfortunately your device isn't asking for an upgrade. You will see the following when it does:
URL: /gw.json?a=tuya.device.upgrade.silent.get
This is the same issue as #8 and we haven't found a way around it yet.

from tuyota.

damondins avatar damondins commented on June 27, 2024

Ok will wait to see what is figured out

from tuyota.

damondins avatar damondins commented on June 27, 2024

@SynAckFin Have you seen this?

@kueblc also has a tool to speed up the process through MQTT calls to force an upgrade
https://github.com/kueblc/mocktuyacloud

from tuyota.

damondins avatar damondins commented on June 27, 2024

Did some more digging on the failed token

Received DNS query for a.gw.tuyaeu.com.
Sending 10.44.57.1 as response
Receiving www request
URL: /gw.json?a=s.gw.token.get
Response: HTTP/1.1 200 OK
{"t":1548144879,"e":false,"success":false,"errorCode":"SING_VALIDATE_FALED_TOKEN_EXPIRE","errorMsg":"非法请求"}

"非法请求" Translation:
"errorMsg":"API or API version is incorrect"

This is the line of code that needs to be fixed
my $response = pack("nnnnnn",$ident, 0x8180, 1, 1, 0, 0);

Here is some of the data I found on tuya's site that may be related. looks like there is an update command. Also could there be different tokens for each of their servers?

POST /gw.json?a=s.gw.token.get&gwId=01200950ecfabc795eb3&other={“token”:“7wBxo260”,“region”:“AZ”,“tlinkStat”:{“configure”:“smartconfig”,“time”:6,“source”:“station”,“path”:“multicast”}}&t=7&v=3.0&sign=cd5c887908064c32c8f8185ac32ffbf5 HTTP/1.1

POST /gw.json?a=s.gw.dev.pk.active&gwId=01200950ecfabc795eb3&other={“token”:“7wBxo260”}&t=1523597921&v=3.0&sign=84da2c27ddbf551ec2f0938c0790c7d6 HTTP/1.1 (application/x-www-form-urlencoded)

POST /gw.json?a=s.gw.update&gwId=01200950ecfabc795eb3&t=1523598924&v=2.0&sign=01468796fe75f6b66f2e5a8e67533349 HTTP/1.1 (application/x-www-form-urlencoded)

POST /gw.json?a=atop.online.debug.log&gwId=01200950ecfabc795eb3&t=1523578928&sign=56d0cf5a79efac8fc4fde30f7a4740e5 HTTP/1.1 (application/x-www-form-urlencoded)strong text

POST /gw.json?a=s.gw.dev.timer.count&gwId=01200950ecfabc795eb3&t=1523578939&sign=dc95e227bbd7bd6ca5036e1c68cd99f4 HTTP/1.1 (application/x-www-form-urlencoded)

from tuyota.

drushbrook avatar drushbrook commented on June 27, 2024

I changed the token to 1LhrIv9P

I'm now getting an ILLEGAL_REGION error.

Getting interface into stable state
RTNETLINK answers: Cannot assign requested address
Done
Using WiFi device wlan0 for Access Point
Starting Access Point with SSID ZAGDU-789
Giving Access Point IP address 10.44.57.1, pid is 10267
Redirecting device 172.28.5.145 to use Access Point ZAGDU-789
**** Redirect appears successful
DHCP Discover 80:7d:3a:37:86:17 10.44.57.77
DHCP Request 80:7d:3a:37:86:17 10.44.57.77
Received DNS query for a.gw.tuyaus.com.
Sending 10.44.57.1 as response
Receiving www request
URL: /gw.json?a=s.gw.token.get
Response: HTTP/1.1 200 OK
{"t":1548161257,"e":false,"success":false,"errorCode":"ILLEGAL_REGION","errorMsg":"非法可用区"}
Receiving www request
URL: /gw.json?a=s.gw.token.get
Response: HTTP/1.1 200 OK
{"t":1548161260,"e":false,"success":false,"errorCode":"ILLEGAL_REGION","errorMsg":"非法可用区"}
Receiving www request
URL: /gw.json?a=s.gw.token.get
Response: HTTP/1.1 200 OK
{"t":1548161264,"e":false,"success":false,"errorCode":"ILLEGAL_REGION","errorMsg":"非法可用区"}
Receiving www request
URL: /gw.json?a=s.gw.token.get
Response: HTTP/1.1 200 OK
{"t":1548161267,"e":false,"success":false,"errorCode":"ILLEGAL_REGION","errorMsg":"非法可用区"}
Receiving www request
URL: /gw.json?a=s.gw.token.get
Response: HTTP/1.1 200 OK
{"t":1548161270,"e":false,"success":false,"errorCode":"ILLEGAL_REGION","errorMsg":"非法可用区"}

from tuyota.

SynAckFin avatar SynAckFin commented on June 27, 2024

This is the line of code that needs to be fixed
my $response = pack("nnnnnn",$ident, 0x8180, 1, 1, 0, 0);

That line doesn't have anything to do with the tuya API. It is crafting a DNS response to the devices DNS query.

The token is part of the way a device is linked to the app and your account. When a device is provisioned via the app the app generates a random token and communicates this token to the cloud (it expires after a short period of time). It also sends this token to the device together with your SSID and password. The device then connects to your WiFI network and talks to the tuya cloud using this token. The cloud then associates the device with the app because of the shared token. Configuration information and encryption keys are then sent to both the device and app. Once the encryption keys are sent then neither the device nor the app use the token again.

What was discovered is that if the device had been provisioned and a packet was sent to the device with a new SSID, password and token then the device would move to that WiFi network and not try to provision again, that is, it would ignore the token. Unfortunately it looks like this isn't true for all devices and it seems your device tries to restart provisioning again. Since the token isn't valid you are getting the TOKEN errors.
At the moment I am trying to find a way around this. There are several things you could try. In all cases make sure the device has been provisioned using the app. The first one is to extract the token when it is provisioned by the app and then try using that token. The second is to try an empty token ("token":"") and the third is to try a null token ("token":null).

from tuyota.

mssmison avatar mssmison commented on June 27, 2024

I tried tonight with "token":null and "token":"" but both resulted in the same. I'm totally up for extracting the token when it's provisioned. Any idea on how I'd do that?

from tuyota.

SynAckFin avatar SynAckFin commented on June 27, 2024

In order capture the token you would need to use something like aircrack-ng to capture and decode the packets and then use wireshark to analyse/view them.
There is an alternative method of installing new firmware developed by @kueblc which is detailed here.

from tuyota.

drushbrook avatar drushbrook commented on June 27, 2024

I have already attempted the token generated on provisioning the device. I used Package Capture on Android to capture the traffic between the app and it's api's

from tuyota.

mssmison avatar mssmison commented on June 27, 2024

@SynAckFin yeah I'm working with @kueblc as well using his mocktuyacloud

@drushbrook I'm guessing no luck?

from tuyota.

drushbrook avatar drushbrook commented on June 27, 2024

No luck.. but I got further with the Tuya-Convert process. I ended up bricking the device so off to the shops tonight to buy some more ;)

from tuyota.

Jason2866 avatar Jason2866 commented on June 27, 2024

@drushbrook
There is an alternative methode of installing alternative firmware.
Take a look here https://github.com/ct-Open-Source/tuya-convert/

from tuyota.

drushbrook avatar drushbrook commented on June 27, 2024

@Jason2866 - yes already all over it and discovered it 8 hours ago and have one bricked device (because I used the default third party - at the time was tasmota-minimal) and another semi bricked. I know I can use alternative firmwares using a different url.

from tuyota.

SynAckFin avatar SynAckFin commented on June 27, 2024

They have now changed the default to sonoff-classic-vtrust.bin which automatically connects to the vtrust-flash access point.
My recommendation is that you download sonoff-basic and point the thirdparty.bin softlink to it.

from tuyota.

Jason2866 avatar Jason2866 commented on June 27, 2024

If you managed to get this script running you will handle it easily to compile you own Tasmota version.
The benefit would be all your wanted settings (wifi, timezone, mqtt broker setup...) is already in.
The device will work without any further configuration after power cycle.
So do as @SynAckFin told you and use your Tasmota version :-)

from tuyota.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.