GithubHelp home page GithubHelp logo

elahd / esp2ino Goto Github PK

View Code? Open in Web Editor NEW
52.0 52.0 4.0 26.54 MB

OTA Third Party Firmware Flasher for the original Wyze Plug (WLPP1) and Wyze Bulb (WLPA19).

License: MIT License

CMake 0.18% C 72.52% Python 1.76% JavaScript 5.09% Shell 0.22% HTML 18.31% Batchfile 0.01% SCSS 1.92%

esp2ino's People

Contributors

dependabot[bot] avatar elahd 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

Watchers

 avatar  avatar  avatar  avatar

esp2ino's Issues

No effect on WLPP1 with firmware 1.2.0.80

Thanks for publishing and improving this package!

I have been trying 0.3 with two original Wyze Plugs without success. They have static IPs and connect to the Wyze app without issue. Running wyze_updater_macos authenticates and lists devices successfully, and appears to push the bootloader to the plug, but the plug doesn't reboot - its status in the Wyze app changes to offline, but it can be pinged, although it's not serving the esp2ino GUI on port 80 as expected. After a minute or two, without unplugging/rebooting, it shows as online in the Wyze app again and can be controlled.

Has anyone had success with firmware 1.2.0.80?

Bulb still on when turned off

There seems to be an LED that says on even when the bulb is turned off with the given template

{"NAME":"Wyze Bulb","GPIO":[5728,0,0,0,0,0,0,0,0,416,417,0,0,0],"FLAG":0,"BASE":48}

PXL_20210209_033729413

Any idea why? Is there another GPIO for it? Currently I only have GPIO 13 -> PWM 1 and GPIO 14 -> PWM2

build fails

Can you post which exact version of the SDK you use? I'm trying to build it with this SDK release: https://github.com/espressif/ESP8266_RTOS_SDK/releases/tag/v3.3
ran into the following errors

In file included from /project/wyze_plug_flasher/components/app_update/esp_ota_ops.c:32:0:
/project/wyze_plug_flasher/components/app_update/include/esp_ota_ops.h:24:28: fatal error: esp_app_format.h: No such file or directory
compilation terminated.
/project/ESP8266_RTOS_SDK/make/component_wrapper.mk:291: recipe for target 'esp_ota_ops.o' failed
make[1]: *** [esp_ota_ops.o] Error 1
/project/ESP8266_RTOS_SDK/make/project.mk:571: recipe for target 'component-app_update-build' failed
make: *** [component-app_update-build] Error 2

OSError: [Errno 22] Invalid argument: 'https://github.com/elahd/esp2ino/releases/latest/download/esp2ino.bin'

Hello, thank you for your work. I am fairly new at a lot of this firmware flashing stuff. I have Wyze plug WLPP1. I get to the directions where I am to load the esp2ino.bin to the plug and get the following error. The MAC address is correct for my plug, and I got it to list in the command right before this with the list command:
wyze_updater_win.exe list

Any suggestions?

I noticed if I hovered over the esp2ino.bin file on github the address link was different than in the wiki instructions:
https://github.com/elahd/esp2ino/blob/main/release/esp2ino.bin

I also tried this address but got the same error. I have Python 3.9.4 installed on this computer.
Here is a copy and paste from my admin command line.

C:\Users\Chuck\Downloads\esp2ino-main\esp2ino-main\release>wyze_updater_win.exe update -s -d 2CAA8E7BC7E3 -f https://github.com/elahd/esp2ino/releases/latest/download/esp2ino.bin
INFO:root:Trying saved credentials from .tokens.
Traceback (most recent call last):
File "wyze_updater.py", line 399, in
File "wyze_updater.py", line 237, in update_devices
OSError: [Errno 22] Invalid argument: 'https://github.com/elahd/esp2ino/releases/latest/download/esp2ino.bin'
[19332] Failed to execute script wyze_updater

Does not seem to work with the newer model WLPP1CFH-1

I had no problem with an older one that did not have bluetooth like the newer ones do. That one worked perfectly other than I need to type python in place of py. The newer ones do allow me to view the info using "python wyze_updater.py" list
result
INFO:root:Trying saved credentials from .tokens.
Device Type: Plug (WLPP1CFH)
Device MAC: 2CAA8EF1D7A5
Firmware Version: 1.2.0.76
Device Name: ender 5 plus

but the firmware updater command "python wyze_updater.py update -s -d 2CAA8EF1D7A5 -f wyze_plug_flasher.bin" just moves along and does not do anything after the username and password are put in. . The original Wyze firmware is still on it.
This was tried as both ../wyze_plug_flasher.bin wyze_plug_flasher.bin

C:\wpf\WyzeUpdater>python wyze_updater.py update -s -d 2CAA8EF1D7A4 -f wyze_plug_flasher.bin
INFO:root:Trying saved credentials from .tokens.
INFO:root:Checking device, mac=2CAA8EF1D7A5

Device type: Plug (WLPP1CFH)
Device name: ender 5 plus
Firmware version: 1.2.0.76
IP Address: 10.0.0.164

Pushing firmware to this device? [y/N]:y
INFO:root:Serving firmware file 'wyze_plug_flasher.bin' as 'https://10.0.0.29/firmware.bin', md5=c1cd336c04a3c74e315edac00afd117c
Press Ctrl+C when all the updates are done...
.....10.0.0.164 - - [11/Feb/2021 19:26:32] "GET /firmware.bin HTTP/1.1" 200 -

I guess the next step is prying it apart and seeing what is inside.

UnauthorizedOperation flashing Plug

I tried updating the plug to version .80 and got the same result. Any ideas?

Device type: Plug (WLPP1)
Device name: Pump
Firmware version: 1.2.0.59
IP Address: 192.168.4.87

Pushing firmware to this device? [y/N]:y
INFO:root:Pushing firmware URL to device.
Traceback (most recent call last):
File "wyze_updater.py", line 401, in
File "wyze_updater.py", line 286, in update_devices
File "wyze_updater.py", line 164, in push_update
File "wyze_updater.py", line 158, in run_action
File "wyze_updater.py", line 141, in device_api
RuntimeError: Request failed, error 3005:UnauthorizedOperation
[16990] Failed to execute script wyze_updater

Wyze Bulb Support

I tried flashing a wyze bulb I had laying around that was not using. While it worked sort of it kept flashing so I think there is something that can be fixed. I know that tasmota has been installed on these but you have to take them apart. Sorry I am not smart enough to understand the OTA flashing I would pop open and flash by soldering but bulbs are a different beast. Not sure if you could see if you can update this for the bulb.
The tasmota template is here.

https://templates.blakadder.com/wyze_WLPA19.html

error 3005:UnauthorizedOperation when using update command

INFO:root:Pushing firmware URL to device.
Traceback (most recent call last):
  File "wyze_updater.py", line 401, in <module>
    args.action(creds, args)
  File "wyze_updater.py", line 286, in update_devices
    push_update(creds, dev_info['product_model'], mac, url, md5)
  File "wyze_updater.py", line 164, in push_update
    return run_action(creds, model, "upgrade", mac, {"url": update_url, "md5": md5, "model": model})
  File "wyze_updater.py", line 158, in run_action
    return device_api(
  File "wyze_updater.py", line 141, in device_api
    raise RuntimeError('Request failed, error %s:%s' % (rsp['code'], rsp['msg']))
RuntimeError: Request failed, error 3005:UnauthorizedOperation

Is this Wyze denying my request?
Information about my device:

Device type:      Light (WLPA19)
Firmware version: 1.2.0.106

Support for Wyze Bulb Color

Opening this issue for discussion more than anything.

What would it take to bring support to the new RGB+CCT Wyze Bulb? I know it has an ESP32 inside and (as per #5) I'm aware that the ESP32 isn't supported by this tool yet.

Any chance just changing the build target to the ESP32 instead of the ESP8266 would work? I know there is some cross-compatibility in the libraries available for both. I'm willing to break one open to get serial access and dump the firmware if that would 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.