Skip to content

Advanced Installation

Elahd Bar-Shai edited this page Jul 9, 2021 · 3 revisions

Running WyzeUpdater From Source

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.

  1. Install Python 3 and git using your operating system's standard installers.

  2. Create a folder on your computer to hold all of the files required for this project. This guide assumes c:\esp2ino.

  3. Open a command prompt in the project folder.

  4. From the command prompt, download and install pip:

    curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
    python3 get-pip.py
  5. Clone the remote-url branch of WyzeUpdater into c:\esp2ino so that wyze_updater.py is accessible at c:\esp2ino\WyzeUpdater\wyze_updater.py. From c:\esp2ino, run:

    git clone https://github.com/elahd/WyzeUpdater.git
    cd WyzeUpdater
    git switch remote-url
  6. Use pip to install Python dependencies. From c:\esp2ino\WyzeUpdater, run:

    pip install -r requirements.txt
  7. Run WyzeUpdater from c:\esp2ino\WyzeUpdater as:

    python3 wyze_updater.py list

Requirements for Third Party Firmware

Third party firmware must meet the below requirements:

  1. 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.
  2. Not compressed. That is, the file must end in .bin and not .bin.gz.
  3. Accessible without SSL. That is, esp2ino can only download firmware over the internet from URLs that start with http, not https.

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.

Installing ESPHome

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:

  1. Install esp2ino on your device.

  2. 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:  
  3. Build the firmware and download the binary onto your computer. In Home Assistant, use the "Manual" install option to downlaod the binary.

  4. Flash this firmware on to your device using esp2ino's Upload File option. Wait for the device to boot into ESPHome.

  5. Modify the device's ESPHome configuration in Home Assistant with your desired sensors, etc. Install the firmware using ESPHome's "Wireless" install option.

Clone this wiki locally