wiki/content/post/2020/esphome.md

41 lines
1.4 KiB
Markdown
Raw Permalink Normal View History

2020-02-02 19:44:00 +01:00
+++
date = "2020-02-01T00:02:42+02:00"
title = "ESPHome as a Ruuvi bridge"
highlight = true
draft = false
+++
[ESPHome](https://esphome.io/) is a framework for building custom home
automation that runs on an ESP8266 or
[ESP32][esp32]. It's pretty cool - you
select and configure components by writing a [YAML
file][cfg], which
then drives host side [Python
snippets][snip]
to configure and bind the device side code, which is then built and
pushed using [PlatformIO](https://platformio.org/).
[esp32]: https://en.wikipedia.org/wiki/ESP32
[cfg]: https://esphome.io/cookbook/display_time_temp_oled.html
[snip]: https://github.com/esphome/esphome/blob/dev/esphome/components/ruuvitag/sensor.py
Some nice touches:
- It integrates with [Home Assistant](https://home-assistant.io/)
and has automatic discovery
- It can drive displays, including [rendering TTF files][ttf]
host side to give nice fonts device side
- It looks reasonably composable so, for example, you can have
multiple Bluetooth broadcast parsers
[ttf]: https://esphome.io/cookbook/display_time_temp_oled.html#define-the-fonts
I used this to bridge between [Ruuvi tags](https://ruuvi.com/) and my
Home Assistant instance. Home Assistant then re-exports everything to
[Prometheus](https://prometheus.io/).
It also gave me a reason to break out the 3D printer and make a case
for the ESP-WROOM-32 based
[Lolin32](https://wiki.wemos.cc/products:lolin32:lolin32):
![Case](./case.jpg)