Zařízení používáme Sonoff s esphome firmwarem (příprava programu je jako plugin do Home Assistenta, ale může to běžet i samostatně) - https://esphome.io/ . Sonoff Mini do rozvaděče na světla/topení, Sonoff Basic, S26 přímo do zásuvky.. Vše kupované z AliExpressu.
Tlačítka na stěnu i třeba do auta na otevírání brány jsou RF (433 MHz), aby vydržela baterka. Pro příjem RF se osvědčuje RXB6 modul (příjem je super i bez antény), připojený do ESP32/8266 s RFLink firmwarem - https://github.com/couin3/RFLink . Určite nedoporučuji Sonoff RF Bridge, příjem má špatný (s custom firmwarem).
Komunikace přes MQTT, Mosquitto broker, ale uvažuji o VerneMQ, protože Mosquitto sám o sobě umí uživatele jen v souboru a při přidání nového se musí restartovat. PostgreSQL backend pro uživatele jen přes plugin, VerneMQ podporuje nativně.
MQTT zprávy se koncentrují v Node-RED (https://nodered.org/), kde je veškerá logika - v reakci na událost pošle další MQTT zprávy jiným zařízení; při příjmu teploty ji uloží do InfluxDB (https://www.influxdata.com/products/influxdb/). Na zobrazení grafů teploty, ale i jiných stavů používáme Grafanu (https://grafana.com/oss/grafana/).
Co chci vylepšit:
Pro ovládání z telefonu používám MQTT Dash - https://play.google.com/store/apps/details?id=net.routix.mqttdash , což jen přijímá a posílá zprávy do definovaných MQTT topiců.
Není to ale dokonalé, plánuji proto integraci s Google Home Assistentem - https://developers.google.com/assistant/smarthome/develop/create . Přes vlastní OAuth server se spáruje Google účet, definují se zařízení a lze jim posílat stav/Google pošle požadavek při akci v telefonu. Pak by měly fungovat hlasové pokyny např. "zhasni v obýváku", přitom budu mít pořád kontrolu nad svými zařízeními (logika mi může běžet na RaspberryPi doma).
Potřebuji notifikace do telefonu, na to teď používám Pushbullet (https://www.pushbullet.com), ale má omezení na počet zpráv, pak do konce měsíce žádné notifikace nepřijdou. Navíc bych chtěl dva druhy notifikací - běžné (co mě v noci nevzbudí, třeba ani přes den zvonit nemusí) a důležité (např. poplach alarmu v noci).
Důležité je si hned od začátku dělat dobrou dokumentaci, protože pak člověk zapomene, kde má jaké zařízení a jak to všechno zapojil. Předem je dobré promyslet, jak pojmenovávat MQTT topicy - doporučil bych na začátek přidat identifikátor lokality/domu (případně uživatele), aby to dál pak mohlo být tonda/chata/svetlo/obyvak 🙂