ESPHome: Difference between revisions
Brian Wilson (talk | contribs) mNo edit summary |
Brian Wilson (talk | contribs) mNo edit summary |
||
Line 1: | Line 1: | ||
What is ESPHome? Use it to set up ESP8266 and ESP32 devices to work with Home Assistant. | What is ESPHome? Use it to set up ESP8266 and ESP32 devices to work with Home Assistant. | ||
It requires a configuration file to load firmware into your device. That's it. | It requires a configuration file to load firmware into your device. That's it. | ||
See the README but basically set up | See the README but basically set up (for my Mac) | ||
cd /Volumes/home/source/esphome/ | |||
conda create -n esphome | conda create -n esphome | ||
conda activate esphome | conda activate esphome |
Revision as of 18:13, 31 October 2021
What is ESPHome? Use it to set up ESP8266 and ESP32 devices to work with Home Assistant. It requires a configuration file to load firmware into your device. That's it. See the README but basically set up (for my Mac)
cd /Volumes/home/source/esphome/ conda create -n esphome conda activate esphome pip install esphome
Then build a yaml file, possibly with
esphome wizard esp12e.yaml
and install
esphome run esp12e.yaml
To use it in Home Assistant, install the ESPHome integration. Once you do, it will find your ESPHome devices. This is slick.
My yaml file includes "ota:" which adds the "over-the-air" updates capability. After the first successful upload over USB, it is faster to use OTA subsquently, and it is no longer necessary to pull the (for example) Martin Jerry S-01 switch out of the wall to update it, it can happen over-the-air and in-the-wall.
Check /etc/hosts on Bellman to find the correct IP address; this is for wemos02
esphome --device 192.168.123.204 --client-id wemos02 --verbose run wemos02.yaml
Clean MQTT
When leftover entries clog up Home Assistant due to changes during development, run this
esphome configuration.yaml clean-mqtt
Motion sensor
I built up a protoboard with a Wemos D1 Mini, an OLED display (ssd1306_i2c), two push buttons, an LED, and a RADAR motion sensor.
Everything is exposed in Home Assistant via the integration, so for example, when I push a button, "wemos02 button 1" in Home Assistant changes state from OFF to ON.
Communication runs both directions, so in Home Assistant I can adjust the brightness of the LEDs on my little board.
According to Adafruit, the pixels will dim out after 1000 hours of use so I need to switch it off when it's not needed.