-
Notifications
You must be signed in to change notification settings - Fork 4
Advanced Installation
The WyzeUpdater scripts released with esp2ino are packaged as single-file executables using PyInstaller. PyInstaller takes care of package dependencies, making the install process easier for most users. If you're using Linux or are running into trouble using a pre-packaged WyzeUpdater build, you can install WyzeUpdater's dependencies manually.
-
Install Python 3 and git using your operating system's standard installers.
-
Create a folder on your computer to hold all of the files required for this project. This guide assumes
c:\esp2ino
. -
Open a command prompt in the project folder.
-
From the command prompt, download and install pip:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py
-
Clone the
remote-url
branch of WyzeUpdater intoc:\esp2ino
so thatwyze_updater.py
is accessible atc:\esp2ino\WyzeUpdater\wyze_updater.py
. Fromc:\esp2ino
, run:git clone https://github.com/elahd/WyzeUpdater.git cd WyzeUpdater git switch remote-url
-
Use pip to install Python dependencies. From
c:\esp2ino\WyzeUpdater
, run:pip install -r requirements.txt
-
Run WyzeUpdater from
c:\esp2ino\WyzeUpdater
as:python3 wyze_updater.py list
Third party firmware must meet the below requirements:
-
Smaller than your idle OTA partition. For Wyze devices, this is around 900kb. For all others, click on "Show Device Info" at the bottom of the esp2ino web interface. The idle OTA partition size is the value in parentheses next to
Idle Partition:
. The acceptable firmware size is a smidge smaller than the reported idle partition size. -
Not compressed. That is, the file must end in
.bin
and not.bin.gz
. -
Accessible without SSL. That is, esp2ino can only download firmware over the internet from URLs that start with
http
, nothttps
.
If you want to load firmware that is only available via SSL (e.g.: ESPurna on GitHub), download the binary to your computer and upload via esp2ino's Upload File option.
ESPHome can be flashed using esp2ino, with an extra step. ESPHome tends to generate firmware images that are too large for OTA flashing directly via esp2ino. ESPHome can be flashed as follows:
-
Install esp2ino on your device.
-
Create a new, bare-bones ESPHome device configuration. Using the below template, replacing the placeholders for device name, Wi-Fi SSID, and Wi-Fi password. The OTA password and fallback SSID/password can be left as-is.
esphome: name: YOUR_DEVICE_NAME platform: ESP8266 board: esp01_1m # Enable logging logger: # Enable Home Assistant API api: ota: password: "f892955893d7bb3018236efdd8b39e83" wifi: ssid: "YOUR_WIFI_SSID" password: "YOUR_WIFI_PASSWORD" # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Minimal Fallback Hotspot" password: "u6EA80oPgQ3W" captive_portal:
-
Build the firmware and download the binary onto your computer. In Home Assistant, use the "Manual" install option to downlaod the binary.
-
Flash this firmware on to your device using esp2ino's Upload File option. Wait for the device to boot into ESPHome.
-
Modify the device's ESPHome configuration in Home Assistant with your desired sensors, etc. Install the firmware using ESPHome's "Wireless" install option.