ESPHome as a Ruuvi bridge

ESPHome is a framework for building custom home automation that runs on an ESP8266 or ESP32. It’s pretty cool - you select and configure components by writing a YAML file, which then drives host side Python snippets to configure and bind the device side code, which is then built and pushed using PlatformIO.

Some nice touches:

  • It integrates with Home Assistant and has automatic discovery
  • It can drive displays, including rendering TTF files host side to give nice fonts device side
  • It looks reasonably composable so, for example, you can have multiple Bluetooth broadcast parsers

I used this to bridge between Ruuvi tags and my Home Assistant instance. Home Assistant then re-exports everything to Prometheus.

It also gave me a reason to break out the 3D printer and make a case for the ESP-WROOM-32 based Lolin32:

Case