u/AbsurdKangaroo

▲ 17 r/Esphome+1 crossposts

I’m currently developing an ESPHome component that allows for an ESP-NOW tree network to extend effective range of esphome devices.

  • Bridge Node: Connected to WiFi, acts as the gateway between that and ESP-NOW.
  • Remote Nodes: ESP-NOW only (huge battery savings/range extension). They relay through each other back to the bridge if required.
  • The Goal: Every remote device should appear in Home Assistant as a first-class citizen (its own device with its own entities exactly per the ESPHome experience on wifi)

It's working great - all devices use ESPHome yaml to configure them so remote nodes are just as easy as any other ESPHome device to set up but their network backhaul comes via espnow via relay if required to the bridge.

The challenge is how to surface the remote devices and entities in Home Assistant. The ESPNow API does not allow the Bridge to masquerade as multiple devices so I cant use that unfortunately. I have a proof-of-concept working via MQTT (devices with entities full controls as normal), but the user experience feels clunky. I’m torn between two or more paths:

  1. MQTT with Discovery: I keep the MQTT backend but implement the Home Assistant discovery protocol. This requires user to separately install mqtt broker and configure passwords and copy paste all that into yaml for the bridge. Feels clunky.
  2. Custom HA Integration: I expand my control API from my Addon to the Bridge to include entity states and control. This seems like the winner but everything online highly discourages this approach?
  3. Something else I'm missing?

Would love thoughts and feedback

reddit.com
u/AbsurdKangaroo — 9 days ago