Giter VIP home page Giter VIP logo

sonota's People

Contributors

ashimokawa avatar imarkus avatar jalmeroth avatar kellerza avatar mirko avatar reloxx13 avatar sillyfrog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sonota's Issues

Unable to install requirements: issue with netifaces

System: Linux Mint 18.2 64 bit
Python installed: 3.5.2
PIP3 installed: 9.0.1

pip3 install --user -r requirements.txt 
Requirement already satisfied: httplib2>=0.10.3 in /home/atis/.local/lib/python3.5/site-packages (from -r requirements.txt (line 1))
Collecting netifaces>=0.10.6 (from -r requirements.txt (line 2))
  Using cached netifaces-0.10.6.tar.gz
Collecting tornado>=4.5.1 (from -r requirements.txt (line 3))
  Using cached tornado-4.5.2.tar.gz
Installing collected packages: netifaces, tornado
  Running setup.py install for netifaces ... error
    Complete output from command /usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-r6gnu8lp/netifaces/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-o75pi5lg-record/install-record.txt --single-version-externally-managed --compile --user --prefix=:
    running install
    running build
    running build_ext
    checking for getifaddrs...found.
    checking for getnameinfo...found.
    checking for IPv6 socket IOCTLs...not found.
    checking for optional header files...netash/ash.h netatalk/at.h netax25/ax25.h neteconet/ec.h netipx/ipx.h netpacket/packet.h linux/irda.h linux/atm.h linux/llc.h linux/tipc.h linux/dn.h.
    checking whether struct sockaddr has a length field...no.
    checking which sockaddr_xxx structs are defined...at ax25 in in6 ipx un ash ec ll atmpvc atmsvc dn irda llc.
    checking for routing socket support...no.
    checking for sysctl(CTL_NET...) support...no.
    checking for netlink support...yes.
    will use netlink to read routing table
    building 'netifaces' extension
    x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNETIFACES_VERSION=0.10.6 -DHAVE_GETIFADDRS=1 -DHAVE_GETNAMEINFO=1 -DHAVE_NETASH_ASH_H=1 -DHAVE_NETATALK_AT_H=1 -DHAVE_NETAX25_AX25_H=1 -DHAVE_NETECONET_EC_H=1 -DHAVE_NETIPX_IPX_H=1 -DHAVE_NETPACKET_PACKET_H=1 -DHAVE_LINUX_IRDA_H=1 -DHAVE_LINUX_ATM_H=1 -DHAVE_LINUX_LLC_H=1 -DHAVE_LINUX_TIPC_H=1 -DHAVE_LINUX_DN_H=1 -DHAVE_SOCKADDR_AT=1 -DHAVE_SOCKADDR_AX25=1 -DHAVE_SOCKADDR_IN=1 -DHAVE_SOCKADDR_IN6=1 -DHAVE_SOCKADDR_IPX=1 -DHAVE_SOCKADDR_UN=1 -DHAVE_SOCKADDR_ASH=1 -DHAVE_SOCKADDR_EC=1 -DHAVE_SOCKADDR_LL=1 -DHAVE_SOCKADDR_ATMPVC=1 -DHAVE_SOCKADDR_ATMSVC=1 -DHAVE_SOCKADDR_DN=1 -DHAVE_SOCKADDR_IRDA=1 -DHAVE_SOCKADDR_LLC=1 -DHAVE_PF_NETLINK=1 -I/usr/include/python3.5m -c netifaces.c -o build/temp.linux-x86_64-3.5/netifaces.o
    netifaces.c:1:20: fatal error: Python.h: No such file or directory
    compilation terminated.
    error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
    
    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-r6gnu8lp/netifaces/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-o75pi5lg-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /tmp/pip-build-r6gnu8lp/netifaces/

Google doesn't help me with this error message.
Is Linux supported at all? Because only Windows is mentioned in the README.

Any idea would be great.

Sonoff POW red light intermittent relay

  • Operating System: Mac
  • Python Version: 3.6.0
  • Sonoff model: Sonoff Pow

I have recently tried to flash the sonoff pow using this process. The script seemed to work fine, having completed the final stage but the device does not show up in wifi list nor will it join an indebuurt1 guest network I've set up with the credentials you outlined.

The led just remains red with no flashing and the device intermittently clicks as if the relay is moving. I've tried all of the holding of buttons and button presses but the device doesn't seem to want to make the led flash on and off.

Logs attached - any help appreciated. Project looks like a great idea!

debug_1510270913.log

Sonoff Touch rebooted during flash

  • Operating System:
    Mac OS X 10.12.6
  • Python Version:
    Python 3.6.3
  • Sonoff model:
    Sonoff Touch Wall Switch
    Please also drag and drop the log file to the issue so it is attached.

I successfully flashed Sonoff 4CH Pro.
But Sonoff Touch rebooted itself during flashing and uploading started again, after several restarts I got message about FinalStage, but never got such SSID.

Unfortunately I don't have logs from first attempt.

Now Sonoff is connected to my network.
I tried to restart the process but got the exception.

Slow Sending file: /ota/image_user2-0x81000.bin (This may take several minutes) Uncaught exception GET /ota/image_user2-0x81000.bin?deviceid=10000e6c51&ts=561035572&sign=655579ab8f760c8eade3d0303b86f2deeb9bf3d2c152003c4c18e5cd0d69d898 (192.168.7.35) HTTPServerRequest(protocol='http', host='dl.itead.cn', method='GET', uri='/ota/image_user2-0x81000.bin?deviceid=10000e6c51&ts=561035572&sign=655579ab8f760c8eade3d0303b86f2deeb9bf3d2c152003c4c18e5cd0d69d898', version='HTTP/1.1', remote_ip='192.168.7.35', headers={'Host': 'dl.itead.cn', 'Range': 'bytes=0-4095', 'User-Agent': 'itead-device'}) Traceback (most recent call last): File "/Users/mike7/Library/Python/3.6/lib/python/site-packages/tornado/web.py", line 1511, in _execute result = yield result File "/Users/mike7/Library/Python/3.6/lib/python/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/Users/mike7/Library/Python/3.6/lib/python/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "<string>", line 4, in raise_exc_info File "/Users/mike7/Library/Python/3.6/lib/python/site-packages/tornado/gen.py", line 1063, in run yielded = self.gen.throw(*exc_info) File "sonota.py", line 152, in get yield self.flush() File "/Users/mike7/Library/Python/3.6/lib/python/site-packages/tornado/gen.py", line 1055, in run value = future.result() File "/Users/mike7/Library/Python/3.6/lib/python/site-packages/tornado/concurrent.py", line 238, in result raise_exc_info(self._exc_info) File "<string>", line 4, in raise_exc_info tornado.iostream.StreamClosedError: Stream is closed Cannot send error response after headers written 200 GET /ota/image_user2-0x81000.bin?deviceid=10000e6c51&ts=561035572&sign=655579ab8f760c8eade3d0303b86f2deeb9bf3d2c152003c4c18e5cd0d69d898 (192.168.7.35) 14562.80ms

log is attached
SonoffTouch-flash.txt

As I understand SonOTA can't store firmware

Build script

(this might be cross-project enhancement)
It would be really great if there would be a platfrom.io built target added to sonoff-tasmota project that would build images for SonOTA (with modified irom0_0_seg) , or provide a standalone build script that would build the images from source and put them to right place.
I'm still struggling to do this even manually, so automated help would be more than welcome...

SSL Error when device is connecting to sonota webserver

I have created a dummy cert earlier, using:

openssl req -x509 -nodes -newkey rsa:2048 -keyout ssl/server.key -out ssl/server.crt -days 42235

But when SONOFF SV tries to connect, I see SSL error as below:

~~ Waiting for device to connect
2017-07-05 13:14:02,654 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1748)
2017-07-05 13:14:11,660 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1748)
2017-07-05 13:14:45,717 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1748)
2017-07-05 13:14:49,306 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1748)
2017-07-05 13:15:17,768 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1748)

FinalStage does not show up

  • Operating System:
    MacOS 10.13.1

  • Python Version:
    python3.5

  • Sonoff model:
    Sonoff Basic

Please also drag and drop the log file to the issue so it is attached.
issue.log

pip

1st: very well done, all working flawlessly!

2nd: i followed the guide, installing the exact python version suggested, on windows: 3.5.0, adding it to path... then went in the folder where i uncompressed the zip of the repository, and running:
pip3 install --user -r requirements.txt

it gave error about something to be updated, and suggested pip... so i run this:
python -m pip install --upgrade pip

and then again the line before, and all fine now, procedure went smoothly :)
pip3 install --user -r requirements.txt

had to took out the fixed ip from my wifi connection, though, and continue all in dhcp... better doing this BEFORE starting the procedure... i use fixed ip to speed up my wifi connection to router

Current Status of this solution?

Before I start fiddling with something that controls a 240V line, I thought it may be best to double check first. I'm not really a hardware kind of guy so soldering a header on isn't my idea of a fun afternoon, so this OTA solution is right up my street.

What's the current situation? Is it possible to flash a Sonoff OTA now? I just picked up two (possibly not iTad authentic, but hey, they were £10 for 2!) and I'm now looking to flash them as I didn't do enough research and didn't realise I'd need to flash them to get them working with Home Assistant. I just need to flash the MQTT-friendly firmware so that I can start using them with HASS really.

FinnalStage SSID never shows up

Hi.

First thank you for the effort for developing this tool.

I know a similar issue has been reported but i still want to share the following information:

-I tried SonOff basic and SonOff S20 in two different wifi networks with all the requirement but I get stuck waiting for the FinalStage SSID to show up but this never happen. After this I can still control the SonOffs with ewelink app but only in the wifi network, not anymore from internet. Ewelink app shows the message "Control by Lan".

I don't know if this info could help but I share it just in case.

Thanks

Device answer: error 404

Hi!

First: Sorry for my english ;)
I create a user1 and a user2 image from source eagle.flash.1m0.ld and copy them to the folder static/.
After that I run the script. It is what I see:

>> {
    "action": "upgrade",
    "deviceid": "100006dcbd",
    "apikey": "83e0dc72-4d5f-42bb-bef9-43871e386b90",
    "userAgent": "app",
    "sequence": "1499327137029",
    "ts": 0,
    "params": {
        "binList": [
            {
                "downloadUrl": "http://192.168.75.12:8080/ota/image_user1-0x01000.bin",
                "digest": "4f6b31fa2ca1a29d602b37040826ed62e9e357739cd0703c78cd12bdd3bcc5e9",
                "name": "user1.bin"
            },
            {
                "downloadUrl": "http://192.168.75.12:8080/ota/image_user2-0x81000.bin",
                "digest": "aaaa866e421d0eb844b8a6d0d5eef20cbda29cd307e69aac8b697c270cf34581",
                "name": "user2.bin"
            }
        ],
        "model": "ITA-GZ1-GL",
        "version": "23.42.5"
    }
}
2017-07-06 09:45:37,032 (DEBUG) << WEBSOCKET INPUT
2017-07-06 09:45:37,034 (DEBUG) << {
    "userAgent": "device",
    "apikey": "83e0dc72-4d5f-42bb-bef9-43871e386b90",
    "deviceid": "100006dcbd",
    "action": "query",
    "params": [
        "timers"
    ]
}
~~~ device sent action request,  acknowledging / answering...
~~~~ query
>> {
    "error": 0,
    "deviceid": "100006dcbd",
    "apikey": "83e0dc72-4d5f-42bb-bef9-43871e386b90",
    "params": 0
}
2017-07-06 09:45:37,951 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006dcbd&ts=1812158119&sign=5c9377401acaa5f49c2f65c7c539bf9e1e4d48902df3caada8a5bb4d2d852ce8 (192.168.
75.189) 1.00ms
2017-07-06 09:45:37,962 (DEBUG) << WEBSOCKET INPUT
2017-07-06 09:45:37,962 (DEBUG) << {
    "error": 404,
    "userAgent": "device",
    "apikey": "83e0dc72-4d5f-42bb-bef9-43871e386b90",
    "deviceid": "100006dcbd",
    "sequence": "1499327137029"
}
2017-07-06 09:45:37,962 (DEBUG) ~~~ device acknowledged our action request (seq 1499327137029) with error code 404

So, the question is: Is this correct to use the eagle.flash.1m0.ld as the source of user1 and user2 image or should I use the eagle.flash.1m64.ld file instead?

I see a similar post in this thread: https://github.com/arendst/Sonoff-Tasmota/issues/476

Sonoff RF does not connect to WLAN after flashing OTA

So, i wanted to try the OTA flash for a new device, followed the instructions and everything worked like a charm, but the device can't connect to my wireless network. So i hooked it up to the FTDI and am getting this from the serial console:
(SSID and password are masked by purpose)

.........Done
Current Rom: 1
              Rom 1 Magic Byte: 0xEA
                                    Flash Mode: 2
                                                 Attemping to read itead Wifi credentials... Done
                        SSID: ****
                                        Password: *******************
                                                                     Connecting to Wifi..................................................................................................

It won't boot into firmware download mode via serial as well, so I'm kinda stuck now.
Already tried to change some WiFi settings (channels, security mode..) without any success. It's trying to connect forever.

Shouldn't it connect to "indebuurt1" after the flash anyways? This never happened, the second AP is still configured for this network.

Any Ideas?

Email address invalid?

Hi. I sent you an email but it keeps on coming back. Not sure if it is wrong on the wiki.
I must say thank you sooo much for this. I have flashed 3 Sonoff Basics and 2 Touch.
It worked with some issues but I managed to get them all done. The script would get stuck at the FinalStage SSID part. It would sit there and I can not kill the script. Only way is to close the window.
Then I have to restart the Windows PC as it will say that it is still busy with the FinalStage every time you start the script.

One of the touch units is non responsive after an update. It did do all its relay click etc but now it wont boot up. How can I get the unit back ? Like a hard reset.

Thanks again for all the work. It saved me a lot of time as I did 2 sonoffs the old way and it takes a lot longer.

Stuck in Final Stage

My device is stuck on Final stage, this time the firewall is already off, and I get the same behaviour running it in Linux. I've attached a serial monitor, and this is what is output:

Initalizing.......................................................................................................Done
Current rom: 2
Rom 1 magic byte: 0xFF
Reflashing rom: 0
Configuring Wifi...Connecting...
.Connected
Done
	0.0.0.0
Flash Mode: 3
Flash Mode not recognized

It's a Sonoff T1. Any ideas?

SONOF RF Bridge WiFi 433 MHz

  • Operating System: Windows 10
  • Python Version: 3.5.4
  • Sonoff model: SONOFF RF Bridge WiFi 433 MHz

While trying to flash the Sonoff RF Bridge Device the process will not start stage 2 - FinalStage never shows up. Has anyone already successfully tried to flash this type of device?

debug_1510487306.log

Sonoff S20 Wifi Settings - Device will reboot ....

Hi,

I try to update the firmware with your script but the device can not find Wi-Fi "indebuurt1"
and I can not change the settings.

An update of the firmware with the USB adapter is not possible because the
TX pin is not working on the connector strip.

How can I set WLAN?

Alternative would be an update of the firmware with the USB interface,
but I would need to know where I could still connect TX.

00:00:00 Project sonoff Sonoff (Topic sonoff, Fallback DVES_2E9208, GroupTopic sonoffs) Version 5.8.0
00:00:00 WIF: Connecting to AP2 indebuurt2 in mode 11N as sonoff-4616...
00:00:07 WIF: Connect failed as AP cannot be reached
00:00:07 WIF: Connecting to AP1 indebuurt1 in mode 11N as sonoff-4616...
00:00:14 WIF: Connect failed as AP cannot be reached
00:00:14 WIF: WPSConfigactive for 1 minute
00:00:33 APP: Restarting
---
00:00:00 Project sonoff Sonoff (Topic sonoff, Fallback DVES_2E9208, GroupTopic sonoffs) Version 5.8.0
00:00:00 WIF: Connecting to AP1 indebuurt1 in mode 11N as sonoff-4616...
00:00:07 WIF: Connect failed as AP cannot be reached
00:00:07 WIF: Connecting to AP2 indebuurt2 in mode 11N as sonoff-4616...
00:00:14 WIF: Connect failed as AP cannot be reached
00:00:14 WIF: WPSConfigactive for 1 minute
00:00:33 APP: Restarting

How to directly upload the last Sonoff-Tasmota version?

Hi,

According to the readme, SonOTA uploads the v5.5.2, which is not the last one (v5.8.0i currently).
How to directly upload the last Sonoff-Tasmota version?

Best regards and thanks for your very convenient OTA tool!

Syntax Error

I'm receiving the following error:

Barends-MacBook-Pro:~ Barend$ sudo python sonota.py
File "sonota.py", line 397
print(".", end="", flush=True)
^
SyntaxError: invalid syntax

When I try to run the script

SSL error

I´m following the instructions here https://github.com/mirko/SonOTA and the first stage goes well. In the second stage i get the following error
.2017-10-12 21:07:01,051 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2083)

I´m not at all an advance user but would be great if anyone could point me in the right direction.
Have upgrade sonoff to latest firmeware and working of a Mac.

Backup original firmware

Hi all
Great job for SonOTA project.
Is it possible using SonOTA to backup original frimware before flashing it?

Thank you

Syntax error

Please be patient with a python newbie. I followed all the steps and installed the dependencies and requirements, but when I run the script I get this error:

File "./sonota.py", line 499
print(".", end="", flush=True)
^
SyntaxError: invalid syntax

Please help!

I'm using OSX and installed the latest python 3.6. I dragged the sonota.py file onto the launcher for the 3.6 app. I've also tried on 2 different macs and get the same error.

Thanks

OSError: [Errno 0] Error

  • Operating System: Windows 7
  • Python Version: 3.5
  • Sonoff model: Basic
    log.txt

File "C:\Users\doqu\AppData\Local\Programs\Python\Python37-32\lib\ssl.py", lin
e 1075, in do_handshake
self._sslobj.do_handshake()
File "C:\Users\doqu\AppData\Local\Programs\Python\Python37-32\lib\ssl.py", lin
e 696, in do_handshake
self._sslobj.do_handshake()
OSError: [Errno 0] Error

Any idea?

No FinalStage SSID on Sonoff POW

I've just managed to flash 3 Sonoff basics with no issues. Thanks again for a fantastic solution!

Now I'm trying to flash a POW and I'm going through the exact same steps but I'm just not getting a FinalStage SSID show up like with the basics.

Any ideas? The LED is flashing 2 shorts and then a pause.

.............................
*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
...........

config and setup questions.

Hi
Im a little stuck on the process to get this installed. Im hoping someone can review my work and let me know this is correct - the Sonoff is connecting to my access point but not getting the bin files - do i have to do ssl?

This is what i have done.

  1. I have SonOTA downloaded and extracted and created directory called "static".
  2. I have Espressif2Arduino downloaded and extracted.
  3. I have esptool installed and running
  4. from Espressif2Arduino, I have added the boards and libraries.
  5. I compile Espressif2Arduino, after changing "URL_QIO_ROM_2" in the sketch to "http://192.168.0.10/static/Espressif2Arduino.ino-0x01000.bin"
  6. Choose "1M (Espressif OTA Rom 1)", in the Arduino menu.
    7, Compile in IDE, move to build (/tmp) and Run "esptool.py elf2image --version 2 Espressif2Arduino.ino.elf"
  7. once done, copy the file to the static directory in SonOTA.
  8. I then repeat from step 6-8, but choosing "1M (Espressif OTA Rom 2)"
  9. I now have Espressif2Arduino.ino-0x01000.bin , Espressif2Arduino.ino-0x81000.bin in my static directory.
  10. In the root of the SonOTA folder i run
    ./sonota.py --wifi-ssid mywifiaccesspoint --wifi-password 1234567890 192.168.0.10
  11. fire up the sonoff device, connect to it with my phone and give it the wifi credentials for mywifiaccesspoint.

...What happens now? where does this get me and what do i need to do to run tasmota ?

Works with TH16 v2.0.4

Sorry I can't figure out how to update your wiki page for compatible models, but this worked for me to update a new Sonoff TH16 with firmware 2.0.4. Thanks. 😄

Sonoff Touch not reaching FinalStage

I've got a Sonoff Touch T1 UK 3 channel switch which is stuck after provisioning stage 2. I however don't see the FinalStage SSID coming up. Down below is the debug log. I also attached 2 images of the PCB itself. If anyone can point out where I can find GND/V3/etc so I can flash it using a cable that would also help
wp_20171106_20_33_55_pro
wp_20171106_20_35_34_pro

:

2017-11-06 19:38:55,175: DEBUG: Current IPs: ['192.168.1.64', '169.254.80.80', '172.16.80.1']
2017-11-06 19:38:59,114: INFO: Using the following configuration:
2017-11-06 19:38:59,114: INFO: Server IP Address: 192.168.1.64
2017-11-06 19:38:59,114: INFO: WiFi SSID: florimel
2017-11-06 19:38:59,114: INFO: WiFi Password: *******************
2017-11-06 19:38:59,114: INFO: Platform: win32
2017-11-06 19:38:59,182: INFO: ** Now connect via WiFi to your Sonoff device.
2017-11-06 19:38:59,182: INFO: ** Please change into the ITEAD WiFi network (ITEAD-100001XXXX). The default password is 12345678.
2017-11-06 19:38:59,182: INFO: To reset the Sonoff to defaults, press the button for 7 seconds and the light will start flashing rapidly.
2017-11-06 19:38:59,182: INFO: ** This application should be kept running and will wait until connected to the Sonoff...
2017-11-06 19:47:44,776: DEBUG: Current IPs: ['169.254.80.80', '172.16.80.1']
2017-11-06 19:47:53,392: DEBUG: Current IPs: ['169.254.80.80', '172.16.80.1', '169.254.45.211']
2017-11-06 19:48:01,940: DEBUG: Current IPs: ['10.10.7.2', '169.254.80.80', '172.16.80.1']
2017-11-06 19:48:01,978: DEBUG: ~~ Connection attempt
2017-11-06 19:48:01,978: DEBUG: >> HTTP GET /10.10.7.1/device
2017-11-06 19:48:02,009: DEBUG: << {
2017-11-06 19:48:02,009: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:02,009: DEBUG: "apikey": "e6ce914e-f026-4a6f-9059-c7e1bcbc8f37",
2017-11-06 19:48:02,009: DEBUG: "accept": "post"
2017-11-06 19:48:02,009: DEBUG: }
2017-11-06 19:48:02,009: DEBUG: >> HTTP POST /10.10.7.1/ap
2017-11-06 19:48:02,009: DEBUG: >> {
2017-11-06 19:48:02,009: DEBUG: "version": 4,
2017-11-06 19:48:02,009: DEBUG: "ssid": "florimel",
2017-11-06 19:48:02,025: DEBUG: "password": "*******************",
2017-11-06 19:48:02,025: DEBUG: "serverName": "192.168.1.64",
2017-11-06 19:48:02,025: DEBUG: "port": 8443
2017-11-06 19:48:02,025: DEBUG: }
2017-11-06 19:48:02,210: DEBUG: << {
2017-11-06 19:48:02,210: DEBUG: "error": 0
2017-11-06 19:48:02,225: DEBUG: }
2017-11-06 19:48:02,225: INFO: ~~ Provisioning completed
2017-11-06 19:48:02,225: INFO: Starting stage2...
2017-11-06 19:48:02,309: INFO: ** The IP address of <serve_host> (192.168.1.64) is not assigned to any interface on this machine.
2017-11-06 19:48:02,309: INFO: ** Please change WiFi network to florimel and make sure 192.168.1.64 is being assigned to your WiFi interface.
2017-11-06 19:48:02,309: INFO: ** This application should be kept running and will wait until connected to the WiFi...
2017-11-06 19:48:19,000: DEBUG: Current IPs: ['192.168.1.64', '169.254.80.80', '172.16.80.1']
2017-11-06 19:48:19,000: INFO: ~~ Starting web server (HTTP port: 8080, HTTPS port 8443)
2017-11-06 19:48:19,000: INFO: ~~ Waiting for device to connect
2017-11-06 19:48:19,069: INFO: *** IMPORTANT! ***
2017-11-06 19:48:19,069: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:48:19,069: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:48:19,069: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:48:19,069: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:48:28,260: DEBUG: << HTTP POST /dispatch/device
2017-11-06 19:48:28,260: DEBUG: >> /dispatch/device
2017-11-06 19:48:28,260: DEBUG: >> {
2017-11-06 19:48:28,260: DEBUG: "error": 0,
2017-11-06 19:48:28,260: DEBUG: "reason": "ok",
2017-11-06 19:48:28,275: DEBUG: "IP": "192.168.1.64",
2017-11-06 19:48:28,275: DEBUG: "port": 8443
2017-11-06 19:48:28,275: DEBUG: }
2017-11-06 19:48:28,275: INFO: 200 POST /dispatch/device (192.168.1.67) 15.67ms
2017-11-06 19:48:29,188: INFO: 101 GET /api/ws (192.168.1.67) 0.00ms
2017-11-06 19:48:29,188: DEBUG: << WEBSOCKET OPEN
2017-11-06 19:48:29,204: DEBUG: << WEBSOCKET INPUT
2017-11-06 19:48:29,204: DEBUG: << {
2017-11-06 19:48:29,204: DEBUG: "userAgent": "device",
2017-11-06 19:48:29,204: DEBUG: "apikey": "e6ce914e-f026-4a6f-9059-c7e1bcbc8f37",
2017-11-06 19:48:29,220: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:29,220: DEBUG: "action": "register",
2017-11-06 19:48:29,220: DEBUG: "version": 2,
2017-11-06 19:48:29,220: DEBUG: "romVersion": "2.0.1",
2017-11-06 19:48:29,220: DEBUG: "model": "PSF-B04-GL",
2017-11-06 19:48:29,235: DEBUG: "ts": 263
2017-11-06 19:48:29,235: DEBUG: }
2017-11-06 19:48:29,357: INFO: We are dealing with a PSF-B04-GL model.
2017-11-06 19:48:29,357: DEBUG: ~~~~ register
2017-11-06 19:48:29,373: DEBUG: >> {
2017-11-06 19:48:29,389: DEBUG: "error": 0,
2017-11-06 19:48:29,389: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:29,389: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:29,389: DEBUG: "config": {
2017-11-06 19:48:29,389: DEBUG: "hb": 1,
2017-11-06 19:48:29,389: DEBUG: "hbInterval": 145
2017-11-06 19:48:29,389: DEBUG: }
2017-11-06 19:48:29,404: DEBUG: }
2017-11-06 19:48:29,662: DEBUG: << WEBSOCKET INPUT
2017-11-06 19:48:29,662: DEBUG: << {
2017-11-06 19:48:29,678: DEBUG: "userAgent": "device",
2017-11-06 19:48:29,678: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:29,678: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:29,678: DEBUG: "action": "date"
2017-11-06 19:48:29,678: DEBUG: }
2017-11-06 19:48:29,841: DEBUG: ~~~~ date
2017-11-06 19:48:29,841: DEBUG: >> {
2017-11-06 19:48:29,841: DEBUG: "error": 0,
2017-11-06 19:48:29,841: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:29,841: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:29,841: DEBUG: "date": "2017-11-06T19:48:29.841Z"
2017-11-06 19:48:29,841: DEBUG: }
2017-11-06 19:48:29,863: DEBUG: << WEBSOCKET INPUT
2017-11-06 19:48:29,863: DEBUG: << {
2017-11-06 19:48:29,863: DEBUG: "userAgent": "device",
2017-11-06 19:48:29,879: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:29,879: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:29,879: DEBUG: "action": "update",
2017-11-06 19:48:29,894: DEBUG: "params": {
2017-11-06 19:48:29,894: DEBUG: "switches": [
2017-11-06 19:48:29,894: DEBUG: {
2017-11-06 19:48:29,894: DEBUG: "switch": "off",
2017-11-06 19:48:29,894: DEBUG: "outlet": 0
2017-11-06 19:48:29,894: DEBUG: },
2017-11-06 19:48:29,894: DEBUG: {
2017-11-06 19:48:29,894: DEBUG: "switch": "off",
2017-11-06 19:48:29,910: DEBUG: "outlet": 1
2017-11-06 19:48:29,910: DEBUG: },
2017-11-06 19:48:29,910: DEBUG: {
2017-11-06 19:48:29,926: DEBUG: "switch": "off",
2017-11-06 19:48:29,926: DEBUG: "outlet": 2
2017-11-06 19:48:29,926: DEBUG: },
2017-11-06 19:48:29,926: DEBUG: {
2017-11-06 19:48:29,926: DEBUG: "switch": "off",
2017-11-06 19:48:29,926: DEBUG: "outlet": 3
2017-11-06 19:48:29,926: DEBUG: }
2017-11-06 19:48:29,926: DEBUG: ],
2017-11-06 19:48:29,941: DEBUG: "configure": [
2017-11-06 19:48:29,941: DEBUG: {
2017-11-06 19:48:29,941: DEBUG: "startup": "off",
2017-11-06 19:48:29,941: DEBUG: "outlet": 0
2017-11-06 19:48:29,958: DEBUG: },
2017-11-06 19:48:29,960: DEBUG: {
2017-11-06 19:48:29,962: DEBUG: "startup": "off",
2017-11-06 19:48:29,963: DEBUG: "outlet": 1
2017-11-06 19:48:29,963: DEBUG: },
2017-11-06 19:48:29,963: DEBUG: {
2017-11-06 19:48:29,963: DEBUG: "startup": "off",
2017-11-06 19:48:29,963: DEBUG: "outlet": 2
2017-11-06 19:48:29,963: DEBUG: },
2017-11-06 19:48:29,963: DEBUG: {
2017-11-06 19:48:29,963: DEBUG: "startup": "off",
2017-11-06 19:48:29,979: DEBUG: "outlet": 3
2017-11-06 19:48:29,979: DEBUG: }
2017-11-06 19:48:29,979: DEBUG: ],
2017-11-06 19:48:29,995: DEBUG: "fwVersion": "2.0.1",
2017-11-06 19:48:29,995: DEBUG: "rssi": -55,
2017-11-06 19:48:29,995: DEBUG: "staMac": "60:01:94:99:86:FE"
2017-11-06 19:48:29,995: DEBUG: }
2017-11-06 19:48:29,995: DEBUG: }
2017-11-06 19:48:30,126: DEBUG: ~~~~ update
2017-11-06 19:48:30,126: DEBUG: >> {
2017-11-06 19:48:30,142: DEBUG: "error": 0,
2017-11-06 19:48:30,163: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,164: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f"
2017-11-06 19:48:30,164: DEBUG: }
2017-11-06 19:48:30,164: DEBUG: >> {
2017-11-06 19:48:30,164: DEBUG: "action": "update",
2017-11-06 19:48:30,164: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,164: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,164: DEBUG: "userAgent": "app",
2017-11-06 19:48:30,164: DEBUG: "sequence": "1509994110164",
2017-11-06 19:48:30,164: DEBUG: "ts": 0,
2017-11-06 19:48:30,164: DEBUG: "params": {
2017-11-06 19:48:30,179: DEBUG: "switch": "off"
2017-11-06 19:48:30,179: DEBUG: },
2017-11-06 19:48:30,179: DEBUG: "from": "hackepeter"
2017-11-06 19:48:30,195: DEBUG: }
2017-11-06 19:48:30,195: DEBUG: >> {
2017-11-06 19:48:30,195: DEBUG: "action": "update",
2017-11-06 19:48:30,195: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,195: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,195: DEBUG: "userAgent": "app",
2017-11-06 19:48:30,195: DEBUG: "sequence": "1509994110195",
2017-11-06 19:48:30,195: DEBUG: "ts": 0,
2017-11-06 19:48:30,211: DEBUG: "params": {
2017-11-06 19:48:30,211: DEBUG: "switch": "on"
2017-11-06 19:48:30,211: DEBUG: },
2017-11-06 19:48:30,211: DEBUG: "from": "hackepeter"
2017-11-06 19:48:30,226: DEBUG: }
2017-11-06 19:48:30,226: DEBUG: >> {
2017-11-06 19:48:30,226: DEBUG: "action": "update",
2017-11-06 19:48:30,226: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,226: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,226: DEBUG: "userAgent": "app",
2017-11-06 19:48:30,226: DEBUG: "sequence": "1509994110226",
2017-11-06 19:48:30,226: DEBUG: "ts": 0,
2017-11-06 19:48:30,242: DEBUG: "params": {
2017-11-06 19:48:30,242: DEBUG: "switch": "off"
2017-11-06 19:48:30,257: DEBUG: },
2017-11-06 19:48:30,260: DEBUG: "from": "hackepeter"
2017-11-06 19:48:30,262: DEBUG: }
2017-11-06 19:48:30,264: DEBUG: >> {
2017-11-06 19:48:30,264: DEBUG: "action": "update",
2017-11-06 19:48:30,264: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,264: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,264: DEBUG: "userAgent": "app",
2017-11-06 19:48:30,264: DEBUG: "sequence": "1509994110264",
2017-11-06 19:48:30,264: DEBUG: "ts": 0,
2017-11-06 19:48:30,264: DEBUG: "params": {
2017-11-06 19:48:30,264: DEBUG: "switch": "on"
2017-11-06 19:48:30,280: DEBUG: },
2017-11-06 19:48:30,280: DEBUG: "from": "hackepeter"
2017-11-06 19:48:30,280: DEBUG: }
2017-11-06 19:48:30,295: DEBUG: >> {
2017-11-06 19:48:30,295: DEBUG: "action": "update",
2017-11-06 19:48:30,295: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,295: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,295: DEBUG: "userAgent": "app",
2017-11-06 19:48:30,295: DEBUG: "sequence": "1509994110295",
2017-11-06 19:48:30,295: DEBUG: "ts": 0,
2017-11-06 19:48:30,295: DEBUG: "params": {
2017-11-06 19:48:30,311: DEBUG: "switch": "off"
2017-11-06 19:48:30,311: DEBUG: },
2017-11-06 19:48:30,311: DEBUG: "from": "hackepeter"
2017-11-06 19:48:30,311: DEBUG: }
2017-11-06 19:48:30,327: DEBUG: >> {
2017-11-06 19:48:30,342: DEBUG: "action": "upgrade",
2017-11-06 19:48:30,342: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,342: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,342: DEBUG: "userAgent": "app",
2017-11-06 19:48:30,342: DEBUG: "sequence": "1509994110327",
2017-11-06 19:48:30,342: DEBUG: "ts": 0,
2017-11-06 19:48:30,359: DEBUG: "params": {
2017-11-06 19:48:30,364: DEBUG: "binList": [
2017-11-06 19:48:30,364: DEBUG: {
2017-11-06 19:48:30,364: DEBUG: "downloadUrl": "http://192.168.1.64:8080/ota/image_user1-0x01000.bin",
2017-11-06 19:48:30,364: DEBUG: "digest": "e9b6b18c9905834ec39f88d2ee64362dcc676d13be308460e4a9877f6ddefb0e",
2017-11-06 19:48:30,364: DEBUG: "name": "user1.bin"
2017-11-06 19:48:30,364: DEBUG: },
2017-11-06 19:48:30,364: DEBUG: {
2017-11-06 19:48:30,380: DEBUG: "downloadUrl": "http://192.168.1.64:8080/ota/image_user2-0x81000.bin",
2017-11-06 19:48:30,380: DEBUG: "digest": "fb4753bea76a37d8ce83204593d5d91ade05250e70c34b92f82136ad2e946c31",
2017-11-06 19:48:30,380: DEBUG: "name": "user2.bin"
2017-11-06 19:48:30,380: DEBUG: }
2017-11-06 19:48:30,380: DEBUG: ],
2017-11-06 19:48:30,380: DEBUG: "model": "PSF-B04-GL",
2017-11-06 19:48:30,395: DEBUG: "version": "23.42.5"
2017-11-06 19:48:30,395: DEBUG: }
2017-11-06 19:48:30,395: DEBUG: }
2017-11-06 19:48:30,395: DEBUG: << WEBSOCKET INPUT
2017-11-06 19:48:30,395: DEBUG: << {
2017-11-06 19:48:30,395: DEBUG: "error": 0,
2017-11-06 19:48:30,395: DEBUG: "userAgent": "device",
2017-11-06 19:48:30,395: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:30,411: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:30,411: DEBUG: "sequence": "1509994110164"
2017-11-06 19:48:30,411: DEBUG: }
2017-11-06 19:48:30,411: DEBUG: ~~~ device acknowledged our action request (seq 1509994110164) with error code 0
2017-11-06 19:48:30,627: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:30,627: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1191391529&sign=43db455013f62653f7895a8966495ee5f3b1a65bcb3e4fd7f5bae209742f2adf (192.168.1.67) 200.63ms
2017-11-06 19:48:30,901: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:30,901: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=812669700&sign=3c76e90eea70fa6663c4e756155ccf03ca5c61bc347d32692d970e37f4583167 (192.168.1.67) 0.00ms
2017-11-06 19:48:31,048: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:31,048: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=553475508&sign=e15b48b1b6cba40b30f2463dc2e66ba64e43ba34ef2b8b92695253f111937a9d (192.168.1.67) 0.00ms
2017-11-06 19:48:31,306: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:31,306: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=445349752&sign=7fc49accce39e4c19a115a978b43b5ed7eef6f5f06e847deb54b8862ba434990 (192.168.1.67) 0.00ms
2017-11-06 19:48:31,507: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:31,522: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1344887256&sign=95746bb969a30b2b34d7bdea4d1276671c16da758a8a48f804a86e80f84aa656 (192.168.1.67) 15.50ms
2017-11-06 19:48:31,674: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:31,676: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=730417256&sign=0b1e8ef27137dd76d9adf89516290ec2e37775bea74b80a41d099b81e2e23327 (192.168.1.67) 37.29ms
2017-11-06 19:48:31,923: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:31,923: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1812158119&sign=f3be10453a50efc74aa3f3ae4eb44291c7af18ab82a160ec61ca1162413d7029 (192.168.1.67) 0.00ms
2017-11-06 19:48:32,124: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:32,124: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=147699711&sign=b965fd51b4ea2047782b7c455f8bbd50d966a2f017c819b4f9e82abb523c11fc (192.168.1.67) 0.00ms
2017-11-06 19:48:32,239: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:32,239: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=880268351&sign=fb30846107b2464ec035bcaaf67aa7d055f095ef747f4a7137eede9c0fa0e2c2 (192.168.1.67) 0.00ms
2017-11-06 19:48:32,540: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:32,540: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1889772843&sign=d01458975679c0ec6a4b65195fe36176b762be2c3c0aaf5531e985c6aa525c5b (192.168.1.67) 0.00ms
2017-11-06 19:48:32,744: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:32,744: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=686078705&sign=d1d055c259c5fb12d4c0847fd3e09a8bc7d336eba923943e5fa89a89eb55d5a2 (192.168.1.67) 0.00ms
2017-11-06 19:48:32,882: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:32,882: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=2105754108&sign=58c246fa4ef444eab671a3c0027dfd199dada57e0b0f9ead899ab54337f02057 (192.168.1.67) 0.00ms
2017-11-06 19:48:33,149: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:33,149: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=182546393&sign=e597eab21ba0ea1cee43d1e6a1e2251b3e84ba0c3475475242e41189896eeac4 (192.168.1.67) 0.00ms
2017-11-06 19:48:33,392: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:33,392: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1949118330&sign=7bf5ba2ed48cb2dacbb7aad94ca0708e8689391662b69ff351265656c8596b64 (192.168.1.67) 1.50ms
2017-11-06 19:48:33,491: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:33,491: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=220137366&sign=8649d6bc7e90b746eda19b463fc74c36ff57ec60346ce03e84a656861b2642fd (192.168.1.67) 0.00ms
2017-11-06 19:48:33,770: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:33,770: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1979932169&sign=35d6b435441449877479fed2cff72f5f7450baac4d35f1ee11f2ff9c84b47d74 (192.168.1.67) 0.00ms
2017-11-06 19:48:33,970: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:33,970: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1089957932&sign=c31fe00db117e74db461b8804883bb534c4c40e5837dd7cc6edd186850ce18e7 (192.168.1.67) 0.00ms
2017-11-06 19:48:34,088: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:34,090: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1873226917&sign=0645eb3f56880f96c57148a2c2262057adb85b64603c959f5242ecd9e2f9e8db (192.168.1.67) 19.50ms
2017-11-06 19:48:34,329: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:34,344: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=715669847&sign=b01f125bab4e1e15370e66401338f47382cd736ecbeabde2e4f897b53108c9ff (192.168.1.67) 15.49ms
2017-11-06 19:48:34,641: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:34,641: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1486937972&sign=952e5a4dbeb52e68294897a0f842b4d79c2de575623b06c24598f1e8fb645b8c (192.168.1.67) 0.00ms
2017-11-06 19:48:34,757: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:34,757: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1196032868&sign=b23a54be06a2db6def29ebd07f957ae38c11435cb357e5a617a12b61595e3203 (192.168.1.67) 15.54ms
2017-11-06 19:48:34,858: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:34,858: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=777206980&sign=2b0e784753392fee663cd523a0d0c6d6fb66a2d0447557ebe977f257100512df (192.168.1.67) 0.00ms
2017-11-06 19:48:34,990: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:34,990: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=68706223&sign=f778cae8a1e8c5dd0de76dbec43a598be6c13ae7df4d2214d4a42b1cd2d087ab (192.168.1.67) 15.49ms
2017-11-06 19:48:35,110: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,111: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1843638549&sign=3e2a9f04411398682b2b702ba8340a87f1dd16a54dbfac073f76098cb3602835 (192.168.1.67) 2.99ms
2017-11-06 19:48:35,227: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,227: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=212567592&sign=dcaa572d669b1459f181af7df7096e22919e495eca45a52c823a458bc393f102 (192.168.1.67) 0.00ms
2017-11-06 19:48:35,343: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,343: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1883488164&sign=ebde06f897f86ee7fa211d0c9a522f3d28db38b5c32bd7a03b6639d3841626e5 (192.168.1.67) 0.00ms
2017-11-06 19:48:35,459: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,459: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=964776169&sign=2626cc256680ae5e27cf3eabb6952c253c9fd400b3b613544e237b7a24bc731c (192.168.1.67) 0.00ms
2017-11-06 19:48:35,574: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,590: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=928126551&sign=4cc292e6ebad94931ad2fe929cd09aad2ece6a69950be130a728d460236a970f (192.168.1.67) 15.49ms
2017-11-06 19:48:35,690: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,690: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1301950427&sign=7d23a4356dadcf33c90d63874ab35bdce0928e764dee79744f1a8f2a29c45eb9 (192.168.1.67) 0.00ms
2017-11-06 19:48:35,859: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,875: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1992516190&sign=732c990241c09b646814818252795f027a7694ab7c672b821dae98b970c02299 (192.168.1.67) 46.83ms
2017-11-06 19:48:35,975: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:35,975: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1426542624&sign=56a06c8099fd7985508c5ab1dc4c08c16bf0faa64a88a45a4bfbd1607cbb964a (192.168.1.67) 0.00ms
2017-11-06 19:48:36,091: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,091: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=849040635&sign=10c10205e1770b247bfcb2c317fb5c7372d82b8da91b3ee5da46498a3e9d8bce (192.168.1.67) 0.00ms
2017-11-06 19:48:36,190: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,206: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=941604920&sign=9abcb024e7df07e734aa178998722f6da9543beed68c11e1c59fa8947a544a39 (192.168.1.67) 15.98ms
2017-11-06 19:48:36,312: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,312: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1400427944&sign=f0e7c4762b7fbe169a5978b47d0464327359bba6a1f59a41da7b097c0bfa87d6 (192.168.1.67) 0.00ms
2017-11-06 19:48:36,444: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,444: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1994719310&sign=d1a219b7bf874ebfbdd9b3f5c3831d490cd8c6b618c90b7bd753d3208ba18cdb (192.168.1.67) 0.00ms
2017-11-06 19:48:36,560: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,560: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=2038269862&sign=9909e09cefa086a275a35af4c3a8c312897f0a348848aaf1b2fb2d169cdc7853 (192.168.1.67) 0.00ms
2017-11-06 19:48:36,675: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,675: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=659998484&sign=35a5100808aa59a32acee85e698df8ded404396682a94f67603bb3a24a96b9f2 (192.168.1.67) 0.00ms
2017-11-06 19:48:36,809: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,811: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1280937363&sign=3d87bc277ae34b98ba309975f59941f0edf3a72b6c128becc0e3871afa103925 (192.168.1.67) 4.00ms
2017-11-06 19:48:36,928: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:36,928: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1681643301&sign=456cc1b4eae4e6c4491e77f59c3f0682f0249d4c0f5b0badf64450553e1d9137 (192.168.1.67) 0.00ms
2017-11-06 19:48:37,044: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,044: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=725914710&sign=7fdfdeb7de0884542bb4b969d46e3b99ea82ea31a8650978b987b2a52b118530 (192.168.1.67) 0.00ms
2017-11-06 19:48:37,144: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,144: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1729267236&sign=31acca7d7ba13a303ceb50ff378eb5be2ae530ae1df575d77766312a0522a5fd (192.168.1.67) 0.00ms
2017-11-06 19:48:37,276: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,276: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=2023351876&sign=579cddc6d3fe5efcae7a865d2121f8431d5f857267eee178feaf9c6588b47e9b (192.168.1.67) 0.00ms
2017-11-06 19:48:37,392: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,408: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=142750431&sign=fc7df58a8e49c519fc52ddfa8232cfdd8a3b8eaab53865c697d1b8100c9fb348 (192.168.1.67) 16.04ms
2017-11-06 19:48:37,513: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,513: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1840579929&sign=5fa01fb8dc1dd056401e351bc8772dd0e240c10e6d464f51ad4106d09c27b330 (192.168.1.67) 0.00ms
2017-11-06 19:48:37,630: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,630: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=2098560397&sign=2c2771691ea2bffaa56841b672128ed2c3fdea0214505ff4be73931325c4700f (192.168.1.67) 0.00ms
2017-11-06 19:48:37,736: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,736: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1910500675&sign=6234a96c550d3b68efb25d7d6a7c163d0549b5948b5544f51fdd32189bc46651 (192.168.1.67) 0.00ms
2017-11-06 19:48:37,840: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,855: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1170970491&sign=011adf4759d004bca84d91207e47ed60d44a97a633fde9028f77e0b3bbc5f66c (192.168.1.67) 15.49ms
2017-11-06 19:48:37,971: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:37,971: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1856224190&sign=b5d681dc1ce9c4e1aff5a03a43265aa624447947f31c4562a7597b377b6ae41d (192.168.1.67) 0.00ms
2017-11-06 19:48:38,088: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,088: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=983059344&sign=14dce5b954bfd6bdbe4461d033faf4ea0f3a55c3cbfb5ed47b96c7e9d306cff3 (192.168.1.67) 0.00ms
2017-11-06 19:48:38,225: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,225: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1718458134&sign=d767a955e88be4fb2918170d1718d39a88bbbb7478e00aeff5f40459b8414f51 (192.168.1.67) 0.00ms
2017-11-06 19:48:38,327: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,343: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1876268425&sign=8d33dc4ec2b1ff99d678988176843a38ab1e1f35b261eecfba821a485647a640 (192.168.1.67) 15.66ms
2017-11-06 19:48:38,444: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,444: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1764841629&sign=e39c62f41d6ffd2f5ad27fe5b3c1c3dd08d20192e708c30afa61de178ee61a6c (192.168.1.67) 0.00ms
2017-11-06 19:48:38,559: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,559: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=398844030&sign=93d5f828587e49050111310ae5f7ec3f4a89b994ae37d78db4dec991980a6993 (192.168.1.67) 0.00ms
2017-11-06 19:48:38,660: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,660: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=185252727&sign=27d7c5f96f3a387deb104aeee59a156d8910b92cf407963c6e5bde2b570ba767 (192.168.1.67) 0.00ms
2017-11-06 19:48:38,776: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,776: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1370429126&sign=e162e9f0474cf15dca9db6f1b4814e4a83bc6409a6700cd7027fa1e0b1fdc888 (192.168.1.67) 0.00ms
2017-11-06 19:48:38,891: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,891: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=502141743&sign=1f725ecef6d0bbc7ec2affec3a0381481b713a8d1e245cb0041e5e09ca22e5cd (192.168.1.67) 15.49ms
2017-11-06 19:48:38,991: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:38,991: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=993687334&sign=19c9a7e8f7a80179c502ad45d99ae5f730e4cd0483be5db287c06d1aa43d592b (192.168.1.67) 0.00ms
2017-11-06 19:48:39,107: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:39,124: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=15934104&sign=53e2c76db8a34831f846b8bc6f70dbf4816cc3c5af251f524e0ab9693db8f1c7 (192.168.1.67) 16.51ms
2017-11-06 19:48:39,245: DEBUG: Sending file: /ota/image_user2-0x81000.bin
2017-11-06 19:48:39,245: INFO: 206 GET /ota/image_user2-0x81000.bin?deviceid=1000199951&ts=1363674760&sign=5c7701ee3f68163c31aace520cd7e092b79ad6d7d634e786fef694f5d09f2b38 (192.168.1.67) 15.64ms
2017-11-06 19:48:39,596: DEBUG: << WEBSOCKET INPUT
2017-11-06 19:48:39,596: DEBUG: << {
2017-11-06 19:48:39,596: DEBUG: "error": 0,
2017-11-06 19:48:39,596: DEBUG: "userAgent": "device",
2017-11-06 19:48:39,596: DEBUG: "apikey": "39076f91-a01f-4dc4-8658-d4a578dd465f",
2017-11-06 19:48:39,596: DEBUG: "deviceid": "1000199951",
2017-11-06 19:48:39,596: DEBUG: "sequence": "1509994110327"
2017-11-06 19:48:39,611: DEBUG: }
2017-11-06 19:48:39,611: DEBUG: ~~~ device acknowledged our action request (seq 1509994110327) with error code 0
2017-11-06 19:49:21,838: INFO: *** IMPORTANT! ***
2017-11-06 19:49:21,838: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:49:21,838: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:49:21,838: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:49:21,838: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:50:24,458: INFO: *** IMPORTANT! ***
2017-11-06 19:50:24,458: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:50:24,458: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:50:24,458: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:50:24,458: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:51:27,065: INFO: *** IMPORTANT! ***
2017-11-06 19:51:27,065: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:51:27,065: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:51:27,065: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:51:27,065: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:52:27,329: DEBUG: ~~ websocket close
2017-11-06 19:52:29,699: INFO: *** IMPORTANT! ***
2017-11-06 19:52:29,699: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:52:29,699: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:52:29,715: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:52:29,716: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:52:31,790: DEBUG: Current IPs: ['169.254.80.80', '172.16.80.1']
2017-11-06 19:52:42,295: DEBUG: Current IPs: ['192.168.1.64', '169.254.80.80', '172.16.80.1']
2017-11-06 19:53:32,334: INFO: *** IMPORTANT! ***
2017-11-06 19:53:32,350: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:53:32,350: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:53:32,350: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:53:32,350: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:54:35,046: INFO: *** IMPORTANT! ***
2017-11-06 19:54:35,047: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:54:35,049: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:54:35,049: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:54:35,049: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
2017-11-06 19:55:39,014: INFO: *** IMPORTANT! ***
2017-11-06 19:55:39,014: INFO: ** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
2017-11-06 19:55:39,014: INFO: ** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
2017-11-06 19:55:39,014: INFO: This server should automatically be allocated the IP address: 192.168.4.2.
2017-11-06 19:55:39,014: INFO: If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.

Client provisioning timesout on windwos

When running on windows the POST timeouts.

I think it relates to the newline \r\n in the JSON from dumps causing problems with parsing on the sonoff end. Additional research to follow - but adding this ticket for anyone else that encounters the same issue.

Stuck in FinalStage - Sonoff TH16, MacOS

Stuck in FinalStage AP mode currently.
By my reading there are no glaring errors - see output below. Any advice? Cycling power returns to FInalStage, button appears to do nothing, I don't seem to have an OTA recovery option - serial it is then? Or can I step through the script to pickup at FinalStage again?
How long should I expect the flashing to take place during FinalStage? I think I gave it a good 5 minutes, but it never connected to the SSID again.
@mirko ?

Select IP address of the WiFi interface:
    0: 10.0.1.10
Select IP address [0]: 0
WiFi SSID: SSID_WHAT_I_OWN
WiFi Password: PASSWORD_WHAT_GETS_ME_IN

Using the following configuration:
	Server IP Address: 10.0.1.10
	WiFi SSID: SSID_WHAT_I_OWN
	WiFi Password: PASSWORD_WHAT_GETS_ME_IN
** Now connect via WiFi to your Sonoff device.
** Please change into the ITEAD WiFi network (ITEAD-100001XXXX). The default password is 12345678.
To reset the Sonoff to defaults, press the button for 7 seconds and the light will start flashing rapidly.
** This application should be kept running and will wait until connected to the Sonoff...
......................................^[[C.......~~ Connection attempt
>> HTTP GET /10.10.7.1/device
<< {
    "deviceid": "100006b46f",
    "apikey": "0f01e839-97a1-4abd-9c5d-ff4deb5050fe",
    "accept": "post"
}
>> HTTP POST /10.10.7.1/ap
>> %s {
    "version": 4,
    "ssid": "SSID_WHAT_I_OWN",
    "password": "PASSWORD_WHAT_GETS_ME_IN",
    "serverName": "10.0.1.10",
    "port": 8443
}
<< {
    "error": 0
}
~~ Provisioning completed
Starting stage2...
** The IP address of <serve_host> (10.0.1.10) is not  assigned to any interface on this machine.
** Please change WiFi network to applepomis and make sure 10.0.1.10 is being assigned to your WiFi interface.
** This application should be kept running and will wait until connected to the WiFi...
...............~~ Starting web server (HTTP port: 8080, HTTPS port 8443)
~~ Waiting for device to connect


*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
.<< HTTP POST /dispatch/device
>> /dispatch/device
>> {
    "error": 0,
    "reason": "ok",
    "IP": "10.0.1.10",
    "port": 8443
}
2017-09-27 21:42:33,485 (INFO) 200 POST /dispatch/device (10.0.1.52) 2.13ms
2017-09-27 21:42:33,669 (INFO) 101 GET /api/ws (10.0.1.52) 0.84ms
2017-09-27 21:42:33,669 (DEBUG) << WEBSOCKET OPEN
2017-09-27 21:42:33,678 (DEBUG) << WEBSOCKET INPUT
2017-09-27 21:42:33,678 (DEBUG) << {
    "userAgent": "device",
    "apikey": "0f01e839-97a1-4abd-9c5d-ff4deb5050fe",
    "deviceid": "100006b46f",
    "action": "register",
    "version": 2,
    "romVersion": "2.0.4",
    "model": "PSA-BHA-GL",
    "ts": 466
}
~~~ device sent action request,  acknowledging / answering...
2017-09-27 21:42:33,678 (INFO) We are dealing with a PSA-BHA-GL model.
~~~~ register
>> {
    "error": 0,
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "config": {
        "hb": 1,
        "hbInterval": 145
    }
}
2017-09-27 21:42:33,687 (DEBUG) << WEBSOCKET INPUT
2017-09-27 21:42:33,687 (DEBUG) << {
    "userAgent": "device",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "deviceid": "100006b46f",
    "action": "date"
}
~~~ device sent action request,  acknowledging / answering...
~~~~ date
>> {
    "error": 0,
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "date": "2017-09-27T21:42:33.687Z"
}
2017-09-27 21:42:33,694 (DEBUG) << WEBSOCKET INPUT
2017-09-27 21:42:33,694 (DEBUG) << {
    "userAgent": "device",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "deviceid": "100006b46f",
    "action": "update",
    "params": {
        "switch": "off",
        "fwVersion": "2.0.4",
        "rssi": -63,
        "staMac": "5C:CF:7F:9F:22:F5",
        "startup": "off"
    }
}
~~~ device sent action request,  acknowledging / answering...
~~~~ update
>> {
    "error": 0,
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7"
}
>> {
    "action": "update",
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "userAgent": "app",
    "sequence": "1506501753695",
    "ts": 0,
    "params": {
        "switch": "off"
    },
    "from": "hackepeter"
}
>> {
    "action": "update",
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "userAgent": "app",
    "sequence": "1506501753695",
    "ts": 0,
    "params": {
        "switch": "on"
    },
    "from": "hackepeter"
}
>> {
    "action": "update",
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "userAgent": "app",
    "sequence": "1506501753695",
    "ts": 0,
    "params": {
        "switch": "off"
    },
    "from": "hackepeter"
}
>> {
    "action": "update",
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "userAgent": "app",
    "sequence": "1506501753695",
    "ts": 0,
    "params": {
        "switch": "on"
    },
    "from": "hackepeter"
}
>> {
    "action": "update",
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "userAgent": "app",
    "sequence": "1506501753695",
    "ts": 0,
    "params": {
        "switch": "off"
    },
    "from": "hackepeter"
}
>> {
    "action": "upgrade",
    "deviceid": "100006b46f",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "userAgent": "app",
    "sequence": "1506501753698",
    "ts": 0,
    "params": {
        "binList": [
            {
                "downloadUrl": "http://10.0.1.10:8080/ota/image_user1-0x01000.bin",
                "digest": "97fe70d737390bbde7b8d208c79d590e29fc76962623c7bd198ee210210ea616",
                "name": "user1.bin"
            },
            {
                "downloadUrl": "http://10.0.1.10:8080/ota/image_user2-0x81000.bin",
                "digest": "e6d0cbb641542bd0a27e6c4628fc9331f1f5d3ac3afa42c9307569cf4d70fcdc",
                "name": "user2.bin"
            }
        ],
        "model": "PSA-BHA-GL",
        "version": "23.42.5"
    }
}
2017-09-27 21:42:34,167 (DEBUG) << WEBSOCKET INPUT
2017-09-27 21:42:34,168 (DEBUG) << {
    "error": 0,
    "userAgent": "device",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "deviceid": "100006b46f",
    "sequence": "1506501753695"
}
2017-09-27 21:42:34,168 (DEBUG) ~~~ device acknowledged our action request (seq 1506501753695) with error code 0
2017-09-27 21:42:34,583 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=196150922&sign=7bbc897f00354ab8f9552f4a894dff18f828ccc6f8d39c8200d435fafd6bb82e (10.0.1.52) 13.98ms
2017-09-27 21:42:34,769 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2138392511&sign=080156b920b6db8fe9cdbc03c506db9bd7fc6d60568aabb33fa92dfb6b14d24c (10.0.1.52) 0.95ms
2017-09-27 21:42:34,860 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=862720893&sign=5146b498ad168f4794fe8972c667f9544e7e773307bbe5cc76a89d9f7e7c8364 (10.0.1.52) 1.06ms
2017-09-27 21:42:34,957 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=354043648&sign=22d57ebb6cbde5a5a94436c51809b0d07965b4eb3cac9b6d4d87af0fb6b8e89e (10.0.1.52) 1.72ms
2017-09-27 21:42:35,047 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1546965957&sign=5293af37e0b8f379afaf6223f2ff69d23eaf73d40523c373db85e917190c171e (10.0.1.52) 2.25ms
2017-09-27 21:42:35,140 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1466668831&sign=ad6974b3e50a61c06df0164df1b89080f2015c046258fb236b0628a5dea1c725 (10.0.1.52) 1.68ms
2017-09-27 21:42:35,306 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=916382919&sign=ba9b753b98d0204d6b8ce4325f4605eece12c9002de8daf53562a02f5fda9ef7 (10.0.1.52) 2.15ms
2017-09-27 21:42:35,388 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1322111512&sign=43da2e6ac5e847c019204edda1b616eac0f4bf9a4024c6761fe35ef97efe60f0 (10.0.1.52) 0.96ms
.2017-09-27 21:42:35,476 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=164897092&sign=660f4767f313d00d6caccac1241c77d51b0cb596a9c712c820aff5daa14d2c0f (10.0.1.52) 1.96ms
2017-09-27 21:42:35,575 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1258046232&sign=ac398e88d4f73b9663ccfa9a5767ebc5b311816f0c34c88818a7aa0ff6e339c1 (10.0.1.52) 2.17ms
2017-09-27 21:42:35,664 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=478762220&sign=bff5d3d5f00c0467cd7da863e066c25d8b289b373bd2af9df155c9c3643db205 (10.0.1.52) 1.74ms
2017-09-27 21:42:35,748 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=254320223&sign=7770fd0d5c76840c5897f672e015915f4f7f9c5a7caf4b9de1d96a88fbad44af (10.0.1.52) 1.90ms
2017-09-27 21:42:35,850 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1715848038&sign=47a28d1a416d3869e611aee26ad50a91c458942552fea9d399ffd01d96e5d0fb (10.0.1.52) 1.58ms
2017-09-27 21:42:35,937 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1696058609&sign=022eb61ded33e90e6c7a3ca1762b238efa8b12b7d9ed73e89ea3f30141b89f66 (10.0.1.52) 1.95ms
2017-09-27 21:42:36,024 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2006807452&sign=9d043e3120cb1947b8bb127088fd5e2b6714eb479f4cb5518a2fc17f93d017b5 (10.0.1.52) 1.89ms
2017-09-27 21:42:36,111 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1341788522&sign=5e669b00f9a249e7e9d9f3461514ac8494a39bd89dc19fbd00348bed5948ed47 (10.0.1.52) 1.30ms
2017-09-27 21:42:36,205 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1604321728&sign=32f75efb268ea6b5698312b739c13ef8543c3c0a1aa6f106b83db3bb910804ae (10.0.1.52) 2.52ms
2017-09-27 21:42:36,290 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1382741976&sign=78511801c3b34f8f2bfab58fcbd7506a8bb732e10772b3e2141afd21ff750ee2 (10.0.1.52) 1.83ms
2017-09-27 21:42:36,384 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=584975152&sign=168ac5ae46c23a1a44ae9d3953986bf198c8736addb2ca1cf15df800ffdcd7ee (10.0.1.52) 1.91ms
2017-09-27 21:42:36,475 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1537501517&sign=8aab40c5109ae81b5a384a1cc022301a5bec7e0e5172c03124d8c9dd62506a55 (10.0.1.52) 2.32ms
2017-09-27 21:42:36,566 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1471641423&sign=004801e7c3fce9fe1cc5f3df88650b879885f2c0b9b6f1960876381cb6abbe4c (10.0.1.52) 2.03ms
2017-09-27 21:42:36,652 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=180281402&sign=9706e4cda970a76276711c7f8827da686ca0cc26af15d0d3593ac48b4baa9df7 (10.0.1.52) 1.56ms
2017-09-27 21:42:36,742 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=943538704&sign=df73564b2603e96b3f9ea60f1d616213ab0944914187ad7d82c914e6464ecead (10.0.1.52) 1.56ms
2017-09-27 21:42:36,831 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=390271936&sign=a2bc2cf21d0f99a13f549ec3a77ff2d818315730194466d00ba9ebd2064515d8 (10.0.1.52) 2.00ms
2017-09-27 21:42:36,918 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1860379350&sign=472bf657a5610d9b673f70259471aa92fda23cadc7f208346f65732353c33f0f (10.0.1.52) 2.10ms
2017-09-27 21:42:37,004 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1895591035&sign=59a5bfaed69f95aaf3e0e3bbf847e475fac2d5502682bc94322b2e95d2e4bf25 (10.0.1.52) 2.07ms
2017-09-27 21:42:37,095 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1631817825&sign=4cfad5cf92e00bf60b71b504f085938f5aef14a895f0ec303f4808b3390f4629 (10.0.1.52) 2.09ms
2017-09-27 21:42:37,185 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=952331128&sign=d88267667c891d2b7d350ca0a97ee059a0ddbcfd8e92ee68d2631f66c9c20b1d (10.0.1.52) 1.21ms
2017-09-27 21:42:37,271 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=832433964&sign=c26806db6574e17b406f687b8fbb45433bcc586b1de6aa3722c2b89ad419915a (10.0.1.52) 2.08ms
2017-09-27 21:42:37,359 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2102803426&sign=58ba068e5ab429801f672f6428d185e4946a9ee6e0c148e6167a7c2b0b194829 (10.0.1.52) 1.99ms
.2017-09-27 21:42:37,448 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2110844165&sign=b7f1556cce779c33ff8b4bfb824190d6d554fc0ecaf4c140cc5c35693ccb464d (10.0.1.52) 1.83ms
2017-09-27 21:42:37,536 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1339394775&sign=66da3b368f31336c7db3a4055b03ed906a0b578ba512225f769eb3170e9e2dae (10.0.1.52) 2.09ms
2017-09-27 21:42:37,625 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1588783404&sign=c85ebb210789c0308b2dd23c043aed8a63ab9d8b3af6e85d7c622bd89d67c9f4 (10.0.1.52) 1.33ms
2017-09-27 21:42:37,713 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1455244164&sign=74255557136a72c0572fc8851933ccb59ed44dd4704b05d3905789c442311c90 (10.0.1.52) 1.83ms
2017-09-27 21:42:37,803 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=308476873&sign=35d61e06c409ea1a7fb42883f587786fd7a49f21fb9418d269a090d09fd216a1 (10.0.1.52) 1.67ms
2017-09-27 21:42:37,890 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=38297258&sign=a3328d40658533fa33d91b660a8d1af65233fb04c014a1a7e05ce55b0ea83ebe (10.0.1.52) 1.63ms
2017-09-27 21:42:37,979 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=938993624&sign=077db0ff3d2f6bfa963ebcb878383dbab08570b4bdb4dfeb75cb67f3de4b9899 (10.0.1.52) 2.10ms
2017-09-27 21:42:38,064 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1048555821&sign=bd086c24c72858780d07785c34a1d7abfe02f8fe1314ad0ac0bf0f9efde10c27 (10.0.1.52) 1.60ms
2017-09-27 21:42:38,152 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1930358829&sign=0149f6f0975f81707b58b565da064ada5e969a2b802c6da3f92d7bd7d1c64504 (10.0.1.52) 1.59ms
2017-09-27 21:42:38,239 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2139193777&sign=57eb8c278945c9ed81d89ac59f207535fcf173fedfe64293cbed4f40811547cb (10.0.1.52) 2.01ms
2017-09-27 21:42:38,328 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=447992224&sign=f494b768d9004fa29307b332f5f81e7d513d84e88a7a242ff20127b55cb2fca9 (10.0.1.52) 1.69ms
2017-09-27 21:42:38,411 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=117920226&sign=489103c4e8300379aefc4cc738a306f7179b7435ded8d49452c64e7bce3c0625 (10.0.1.52) 1.26ms
2017-09-27 21:42:38,500 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1682827604&sign=f40187f169dfcca35b9980ef570691558c75b06f978d671b294b6b893a0cc232 (10.0.1.52) 1.64ms
2017-09-27 21:42:38,588 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=669388451&sign=1f2d1a0528464c6a759341171e6ed549e4ab4643ea0c91c4bd2a825f7ae91b9c (10.0.1.52) 1.98ms
2017-09-27 21:42:38,678 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=562105037&sign=8248ba7baad371dc80b8ccd673999139efd2e931aec74d6be35a29a85b1c72bd (10.0.1.52) 1.99ms
2017-09-27 21:42:38,763 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2028664838&sign=c81b22fceba8b7289a1878f251665ce4ecab244a621fcb16cc8787902204a665 (10.0.1.52) 1.84ms
2017-09-27 21:42:38,851 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=2019386625&sign=a16cb331f35a0490eab62fa2aae3355898ca69df3ad6e91c11988a3a37d29a7b (10.0.1.52) 1.63ms
2017-09-27 21:42:38,941 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1464321379&sign=2eaaef086a8384282aa5a090d080f48749dc8cfe3c86e7f700584c3200d89430 (10.0.1.52) 2.10ms
2017-09-27 21:42:39,029 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1297990419&sign=d4e73a223bbf910579b4c2bb2901224b896f79ed6f72bf78e9b74476a333863d (10.0.1.52) 1.85ms
2017-09-27 21:42:39,122 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1144638575&sign=7f8f733d5b5b8b13e8a323b18a3fbfe9cfc751db617ba8df349ab5ec5dd05dbd (10.0.1.52) 1.95ms
2017-09-27 21:42:39,211 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=852188688&sign=8c052c99d9550d1bf75fd596d849c9a1e0402242c8770b89e168660c129786bf (10.0.1.52) 1.65ms
2017-09-27 21:42:39,301 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1430549897&sign=da565ed3816f4d897fd2a2ef84e7e3a5d8bb4ab92b2ba2e7d853d2d13932cd99 (10.0.1.52) 1.29ms
2017-09-27 21:42:39,390 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1114506820&sign=15065cb48c5c5681e8e86b2dc3f592a7cd742259b218d408f91e0dbaac8e47c0 (10.0.1.52) 2.05ms
.2017-09-27 21:42:39,493 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1413917078&sign=45e8f1e5d6f9c55194e3c20ba3ab02cde3710790336b0c773cd910681767159a (10.0.1.52) 2.09ms
2017-09-27 21:42:39,576 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=947037966&sign=702634541f3fa1c976254a3d513b4daa142e1ca2d14c5341a63929339937140d (10.0.1.52) 2.02ms
2017-09-27 21:42:39,663 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=885118797&sign=43380648a0c30c3a9c73846dba6660be7cae8d0a32123604768c79b9b55df3e9 (10.0.1.52) 1.61ms
2017-09-27 21:42:39,751 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1841827055&sign=7937d23f0ffcd5b686e4eeb32aa09cd2d23b117e1ebd36082628cc8ae16d3e85 (10.0.1.52) 2.04ms
2017-09-27 21:42:39,842 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=537716674&sign=f638fd36326efefcf23ad16b0056d72901805d38afe8acaefc015a77f7f4846b (10.0.1.52) 2.00ms
2017-09-27 21:42:39,930 (INFO) 206 GET /ota/image_user1-0x01000.bin?deviceid=100006b46f&ts=1060528228&sign=b20f39d269e4f570f731845a8966b84b36de7c72ef21b01879a2cdd196e459ea (10.0.1.52) 1.59ms
2017-09-27 21:42:40,246 (DEBUG) << WEBSOCKET INPUT
2017-09-27 21:42:40,246 (DEBUG) << {
    "error": 0,
    "userAgent": "device",
    "apikey": "c06ca5ba-2113-4820-9c3f-f22058d90ab7",
    "deviceid": "100006b46f",
    "sequence": "1506501753698"
}
2017-09-27 21:42:40,246 (DEBUG) ~~~ device acknowledged our action request (seq 1506501753698) with error code 0
......

*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
..........

*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
.........


The "FinalStage" SSID will disappear when the device has been fully flashed and image_arduino.bin has been installed
Once "FinalStage" has gone away, you can stop this program
2017-09-27 21:43:35,666 (INFO) 200 GET /ota/image_user2-0x81000.bin (192.168.4.1) 7100.75ms
No longer on "FinalStage" SSID, all done!
2017-09-27 21:43:59,653 (INFO) Quitting.

EDIT:
Watching the serial output (no surprises) shows the "FinalStage" boot and "Connecting..." output.
Clearly waiting to contact the OTA server that isn't there anymore.

Initalizing.......................................................................................................Done
Current rom: 2
Rom 1 magic byte: 0xE9
Reflashing rom: 0
Configuring Wifi...Connecting...
.Connecting...
.Connecting...
.Connecting...
.Connecting...

SonOff POW does not work after flashing

  • Operating System: Windows
  • Python Version: Python 3.5
  • Sonoff model: SOnOff POW

Hi.

I have successfully flashed SonOff basic and SonOff S20. I tried flashing SonOff POW, the process finished successfully but now the device does not respond, the wifi led just blink once when I powered it on but no more blinks after that. Do you know what could it be? I tried then with another SonOff POW device but with the same result.

Thanks you in advance for the help.

Christiam

Sonoff POW not reconnecting to webserver

I've succesfully upgraded to Tasmota a stock wireless switch 10 minutes ago using SonOTA.
I plugged in a new sonoff POW, i can connect to the wifi network and the provisioning is being sent:

HTTP GET /10.10.7.1/device
<< {
"deviceid": "mydeviceid",
"apikey": "myapikey",
"accept": "post"
}
HTTP POST /10.10.7.1/ap
%s {
"version": 4,
"ssid": "myssid",
"password": "mypassword",
"serverName": "10.0.0.107",
"port": 4223
}
<< {
"error": 0
}
~~ Provisioning completed
~~ Starting web server
~~ Waiting for device to connect

then waits forever. The sonoff POW changes blinking pattern (2 fast blinks/2s pause) but nothing happens.
do i have to debug it with serial or there is something else i could try?

btw, thanks for this useful piece of software :)

WSS (WebSocket Secure) will not work on device with older firmware

I have tried to use the script with a Sonoff POW running on firmware version 2.0.2.
To my knowledge this version did not yet support WSS. Therefore I had to upgrade the firmware to version 2.0.4 first. After that the script seems to work flawlessly.

Now the question is: do we want to implement the WS version too or shall people upgrade first?

Flashing a Sonoff T1 and questions on the process

Hello

I am trying to flash a Sonoff T1 and getting stuck.

Am I right in thinking the process is as follows:

  1. Connect PC to HOMENET
  2. Run script and answer 3 questions (local IP and HOMENET creditials)
  3. Put Sonoff in WiFi AP mode and connect to ITEAD wifi AP
  4. Script configs the Sonoff with the OTA settings including connecting to HOMENET
  5. PC needs to reconnect to the HOMENET but this time must be on a hardcoded IP of 192.168.4.2
  6. Sonoff pulls the OTA update from the script which is running a web server for this purpose
  7. Reboot, happy days

I am getting as far as step 5 but the issue I am having is 192.168.4.2 is not routable on HOMENET

Questions:

a) Is there any reason why when passing the HOMENET details to the Sonoff, it cannot also configure the IP address of the PC so that it works on the existing network

b) Any reason why the last step of downloading the firmware cannot be done over the Internet -- it would be easy to create a portable hotspot for this purpose

Kind regards

James

Stuck on FinalStage ssid

I'm trying to flash a sonoff basic that was on v1.5.5, using a windows laptop with python 3.5 everything seemed ok but the program got stuck on the finalstage part.

I disabled all the firewalls rebooted the pc and tried again. It seemed to flash the image_arduino.bin file but I was still connected to the FinalStage ssid but with a 169.xxx ip instead of 192.168.4.2.

Also after rebooting the sonoff the led keeps flashing green, and keeps broadcasting the finalstage ssid. If I run the script again with --no-prov it flashes the file again the led stops blinking, it stays on the correct ip but the script just loops waiting for the ssid to go away.

SonOTA no longer working on new Sonoff devices

I received my sonoff 4ch. It has firmware v2.01. I wanted to try the new OTA process but the device no longer broadcasts the ssid. This is kind of breaking this process. Do you believe there is a solution to overcome this or is the end of OTA programming?
Thanks

with dual sonoff, bootloop no more AP

Hi,

Great job, didn't think I can achieve that without hardware mod... almost...

So everything seemed to be ok, got finalstage ssid.

Now the dual sonoff seems to boot loop, sometimes quick blinking during ~15 seconds, then no led during 15 seconds and so on.
No way to get the AP back, with all button sequence.
sonota.log

Thank you for your help

Final Stage does not show up

What I have done

  • put sonoff to pairing mode, connected to ITEAD- wifi

  • Started ./sonota.py without parameters, typed wifi SSID/password

  • After provisioning switched back to home wifi, firmware upload seems to complete without errors

  • A few seconds after the last WEBSOCKET INPUT message without error I get some 404s:

2017-11-11 14:55:41,703: WARNING: 404 GET /sockjs-node/info?t=1510408541677 (::1) 1.44ms
2017-11-11 14:55:41,706: WARNING: 404 GET /sockjs-node/info?t=1510408541678 (::1) 0.71ms
2017-11-11 14:55:41,708: WARNING: 404 GET /sockjs-node/info?t=1510408541676 (::1) 0.59ms
...

Problem

  • "Final Stage SSID" never shows up
  • When keeping the sonota process running, the upload starts again with the same symptoms (probably related to 2c93c19)
  • Looks night the device is still on the original firmware after the process. When plugging out and in again, it can be used from eWeLink

This might be related to #21, but it looks different to me as I don't get any 404's during the image uploads

System

  • Operating System: Arch Linux x64
  • Python Version: 3.6.3
  • Sonoff model: S20 on 1.5.5
  • SonOTA latest master 2c93c19

Attachments

debug_1510408005.log

❯ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

FinalStage does not show up

Just trying this for the first time so excuse me if I did something simply wrong:

  • Operating System:
    Ubuntu 17.10
  • Python Version:
    3.5.3
  • Sonoff model:
    model: "PSA-BHA-GL",
    version: "23.42.5"

Please also drag and drop the log file to the issue so it is attached.

sonota_error.log

Sonoff Touch

Is there a way to get the Sonoff Touch to broadcast the ITEAD-XXXX network? AFAICT this script requires us to be n that network.

Sonoff 1 Channel Inching Relay Module (ESP 8285)

Hi,

Is there a different process for ESP8285 based boards? I've seen a separate item in the board manager on Arduino IDE, however, in the SonOTA OTA update procedures laid down, there's nothing specific for 8285.

Will the documented process work equally well for 8285 based boards like the one I mentioned?
Or is there anything different I must do?
So far I've not tried for the fear of bricking/overwriting the stock firmware.

Would really appreciate any advice/recommendations.

Thank you.
BG.

Getting `"error": 404` and FinalStage SSID Never Comes

I'm using a sonoff basic. When I get to step #4, when I'm supposed to connect to FinalStage SSID, FinalStage never comes. The firmware never seems to flash since I am able to continue to use the switch to turn on/off the outlet and I can repeat the first few steps starting the ITEAD server and connecting, etc.
Anybody have this problem and any suggestions ? Using the latest commit. Thanks.

Did this bricked my sonoff?

i connected with ewelink and my sonoff was DHCP 192.168.1.221. control with ewelink was fine but i need programatical access.

i ran the script

image

now i have no access to it anymore. won't connect into my wifi. the default wifi indebuurt1 does indeed exist but nobody connects into aswell. wifi s:11223344 is where i want to place all my sonoffs later.

if i click the button long time, the green light blinks an i can connect into it's wifi. my PC then gets 10.10.7.2 as IP address but i cant access .7.1

am i misunderstanding the usage?

Ailight

Is it possible to flash the Ailight with this method?

SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC

Brand New SONOFF Basics(2) out of the box. Using latest master branch. Receive SSL error: (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2083) after First Stage succeeds. SONOFF units do join the wifi and do attempt to proceed but this error is thrown. Deleting the certificates generates general errors in stead and the use of self signed certificate/key does not change the error message.
`.....................~~ Connection attempt

HTTP GET /10.10.7.1/device
<< {
"apikey": "myapikey",
"accept": "post",
"deviceid": "mydeviceid"
}
HTTP POST /10.10.7.1/ap
%s {
"password": "mypassword",
"ssid": "myssid",
"version": 4,
"port": 8443,
"serverName": "192.168.1.39"
}
<< {
"error": 0
}
~~ Provisioning completed
Starting stage2...
** The IP address of <serve_host> (192.168.1.39) is not assigned to any interface on this machine.
** Please change WiFi network to nestegg and make sure 192.168.1.39 is being assigned to your WiFi interface.
** This application should be kept running and will wait until connected to the WiFi...
........~~ Starting web server (HTTP port: 8080, HTTPS port 8443)
~~ Waiting for device to connect

*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
.2017-10-08 14:38:59,059 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2083)
.2017-10-08 14:39:01,439 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2083)
...2017-10-08 14:39:07,822 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2083)
................2017-10-08 14:39:39,358 (WARNING) error on read: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2083)`

Script improvement

For users with less experience please add a script for raspberry pi 3:

  1. start wifi as AP with SSID sonota and password 12345678
    2.start python server on port 443 and download a compiled image of the latest tasmota version

The only configuration the user has to do is to select the AP and enter the password, and finally has a running version of Tasmota software

Or, better, provide a complete sd image for raspberry pi 3

OSX Install

  • Operating System: OSX High Sierra
  • Python Version: 3.5.2
  • Sonoff model: Sonoff

Please also drag and drop the log file to the issue so it is attached.

Getting the following error setting up requirements:

/usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -DNETIFACES_VERSION=0.10.6 -I/Library/Frameworks/Python.framework/Versions/3.5/include/python3.5m -c netifaces.c -o build/temp.macosx-10.6-intel-3.5/netifaces.o
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
error: command '/usr/bin/clang' failed with exit status 1

----------------------------------------

Command "/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5 -u -c "import setuptools, tokenize;file='/private/var/folders/nn/fmy5ryln6xn42nnkh0k_l7c80000gn/T/pip-build-4frne3vz/netifaces/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /var/folders/nn/fmy5ryln6xn42nnkh0k_l7c80000gn/T/pip-ybwlu4i9-record/install-record.txt --single-version-externally-managed --compile --user --prefix=" failed with error code 1 in /private/var/folders/nn/fmy5ryln6xn42nnkh0k_l7c80000gn/T/pip-build-4frne3vz/netifaces/

Also stuck in FinalStage

Output of my run(s) here:
https://gist.github.com/tocklime/6d33a4f9d4a5acbd7e9c0a2e081544af

I'm stuck in a place where the FinalStage SSID is visible, But nothing seems to happen when I connect to it.

I'm guessing the problem is that my home IP network is on 192.168.4.0, and FinalStage wants to use that too.

But if it's got enough of a firmware on there to host the Finalstage network, and my PC is not connected to my home network when it's connected to FinalStage, that shouldn't be a problem, right?

Is there any useful diagnostics I can do?

This is a S20. I have another S20 and a T1 to flash like this, so I've got 2 more goes to diagnose this (if this one is going to need serial flashing).

No "FinalStage"

Hello!
My Sonoff model TH16
Tried few times but no luck

Select IP address of the WiFi interface:
0: 192.168.88.208
Select IP address [0]: 0
WiFi SSID: m5_home
WiFi Password: xxxxxxxx

Using the following configuration:
Server IP Address: 192.168.88.208
WiFi SSID: m5_home
WiFi Password: xxxxxxxx
** Now connect via WiFi to your Sonoff device.
** Please change into the ITEAD WiFi network (ITEAD-100001XXXX). The default password is 12345678.
To reset the Sonoff to defaults, press the button for 7 seconds and the light will start flashing rapidly.
** This application should be kept running and will wait until connected to the Sonoff...
............................~~ Connection attempt

HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
timed out
HTTP GET /10.10.7.1/device
<< {
"deviceid": "100006af71",
"apikey": "71ec9611-82ad-44c4-a915-120a084a7f11",
"accept": "post"
}
HTTP POST /10.10.7.1/ap
%s {
"version": 4,
"ssid": "m5_home",
"password": "xxxxxxxx",
"serverName": "192.168.88.208",
"port": 8443
}
<< {
"error": 0
}
~~ Provisioning completed
Starting stage2...
** The IP address of <serve_host> (192.168.88.208) is not assigned to any interface on this machine.
** Please change WiFi network to m5_home and make sure 192.168.88.208 is being assigned to your WiFi interface.
** This application should be kept running and will wait until connected to the WiFi...
.......~~ Starting web server (HTTP port: 8080, HTTPS port 8443)
~~ Waiting for device to connect

*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
.......2017-10-08 22:59:25,125 (WARNING) 404 POST /inform (192.168.88.169) 5.43ms
.......................
*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
..............................
*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
.........2017-10-08 23:01:28,443 (WARNING) 404 POST /inform (192.168.88.169) 0.96ms
.....................
*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
..............................
*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
..........2017-10-08 23:03:31,505 (WARNING) 404 POST /inform (192.168.88.169) 0.96ms
....................
*** IMPORTANT! ***
** AFTER the first download is COMPLETE, with in a minute or so you should connect to the new SSID "FinalStage" to finish the process.
** ONLY disconnect when the new "FinalStage" SSID is visible as an available WiFi network.
This server should automatically be allocated the IP address: 192.168.4.2.
If you have successfully connected to "FinalStage" and this is not the IP Address you were allocated, please ensure no other device has connected, and reboot your Sonoff.
..............................

and so on
Please help)

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.