Skip to content

ESPHome

ESPHome devices are configured as YAML files under esphome/ in the HA repository and managed via the ESPHome dashboard.

Apollo Air-1

Two Apollo Air-1 sensors monitor air quality — one in the bedroom and one in the office. Each sensor measures:

Metric Sensor
CO2 SCD40
PM2.5 / PM10 PMSA003I
VOC / NOx SGP41
Temperature and humidity SCD40

The sensors also have an RGB LED used as a local visual indicator — for example, turning orange when CO2 levels are elevated (triggered by a Home Assistant automation).

Building from the vendor's own package

Neither device carries a hand-written sensor list. Both pull the vendor's factory configuration directly:

packages:
  ApolloAutomation.AIR-1: github://ApolloAutomation/AIR-1/Integrations/ESPHome/AIR-1_Factory.yaml

That keeps calibration and sensor definitions in step with the people who designed the board, which is the right default for hardware whose sensors have vendor-specific quirks. The cost is that no @ref is pinned, so every firmware rebuild compiles whatever happens to be on the upstream default branch at that moment onto a device sitting on the network — the same unpinned-fetch pattern that was closed off in the Gitwatch build.

It stays unpinned by choice rather than oversight: pinning would mean tracking upstream fixes by hand for hardware whose vendor understands it better than I do. But that's the weaker half of the trade and worth naming rather than leaving implied — a pin plus a periodic deliberate bump would keep the vendor's fixes without making every rebuild a fresh trust decision.

Bluetooth proxies

Three ESP32 devices act as Bluetooth proxies, extending Home Assistant's Bluetooth range throughout the home. The living room proxy (Olimex ESP32-POE-ISO) connects via Ethernet; the bedroom and office proxies use Wi-Fi.

Device Location Connection
olohuone.yaml Living room Ethernet
makuuhuone.yaml Bedroom Wi-Fi
tyohuone.yaml Office Wi-Fi

The proxies are used primarily with Xiaomi Mi Flora plant sensors, which communicate over Bluetooth LE.

RuuviTag Pro

A RuuviTag Pro in the sauna reports temperature over Bluetooth, reaching Home Assistant through the proxies above. Home Assistant notifies when the sauna is warm — once per heating cycle, which turned out to need rather more than a threshold.

My experience

The Apollo Air-1 sensors have worked well. They were expensive, but the accuracy justifies the cost — for example, they pick up PM2.5 spikes when cooking.

The Bluetooth proxies have been reliable with the plant sensors. Matter support for plant sensors has been announced but no products are available yet.

The RuuviTag in the sauna works well, though it can't handle the highest temperatures so it's mounted at bench height rather than near the ceiling. It doesn't report the actual sauna temperature directly, but its reading is enough to tell when the sauna is warm — Home Assistant sends a notification at that point.