Ich hab mir in den letzten Tagen die Finger wundgetippt bei der Suche noch einer Möglichkeit, die live Verbrauchsdaten meiner Tasmota-Steckdosen ( NOUS A1 ) auch via Homekit in der Eve-App anzeigen zu lassen. Tja, wenn man dazu nichts findet, muss man halt selbst ran 🙂
Dieses kleine Howto richtet sich an diejenigen, die schon ihr eigenes SmartHome-Universum zu Hause aufgebaut und Tasmota-Devices geflasht oder in irgendeiner Weise erworben, einen MQTT-Broker und HomeBridge (on RaspBerryPi oder Docker) aufgesetzt haben, das Ganze schon via HomeKit steuern oder auch nur betrachten können, aber liveDaten vermissen.
Da man in HomeKit keine Live- / VerbrauchsDaten Monitoren kann ( ausser vllt. bei TemperaturSensoren ) weichen wir einfach auf die Eve-App aus. Hier lassen sich diese Daten von Homekit-certified Devices native anzeigen.
Wir man das auch mit non-certified Devices hinbekommt, soll hier gezeigt werden.
Was brauchen wir um loszulegen:
- min. 1 mit Tasmota geflashte und kalibrierte Steckdose , auf dieser sollte die Mqtt-Verbindung fertig konfiguriert sein und funktionieren
- MQTT-Server ( Broker )
- Homebridge installiert und running
- Plugin: Homebridge Mqttthing installiert
- Homekit Controller (iPad, Mac oder AppleTV)
- EveApp auf beliebigem IOS-Gerät installiert und mit Homekit verbunden
Weiter gehts mit den wichtigsten Schritten (stichpunktartig)
- Tasmota-Firmware der Steckdose ( hier MQTT-Config ) -> topic
Das daraus resultierende MQTT-Topic tele/tasmota_206/SENSOR mit einem beispielhaften payload:
- hier mit der App Mqtt.fx gegrabbed
- Total – Gesamtverbrauch in kWH seit TotalStarttime
- Power – aktueller Verbrauch in Watt
- Voltage – aktueller Wert der NetzSpannung
- Current – aktuelle Wert der Stromstärke
das MQTT-Topic tele/tasmota_206/STATE wird ebenfalls ausgewertet
HOMEBRIDGE:
Konfiguration (manuell in der JSON-config )
- In der Konfiguration einen neuen DeviceBlock erstellen mit folgendem, individuell angepasstem Inhalt:
{ "type": "outlet", "name": "TASM-Steckdose", "url": "Mqtt://<mqtt-host>:1883", "serialNumber": 1921611206, "manufacturer": "Nous", "modelName": "A1", "topics": { "getOnline": { "topic": "tele/tasmota_206/LWT", "apply": "return (JSON.parse(message).Power === \"Online\") ? true : false;" }, "getWatts": { "topic": "tele/tasmota_206/SENSOR", "apply": "return JSON.parse(message).ENERGY.Power.toFixed(2);" }, "getVolts": { "topic": "tele/tasmota_206/SENSOR", "apply": "return JSON.parse(message).ENERGY.Voltage.toFixed(2);" }, "getAmperes": { "topic": "tele/tasmota_206/SENSOR", "apply": "return JSON.parse(message).ENERGY.Current.toFixed(2);" }, "getTotalConsumption": { "topic": "tele/tasmota_206/SENSOR", "apply": "return JSON.parse(message).ENERGY.Total.toFixed(2);" }, "getInUse": { "topic": "tele/tasmota_206/SENSOR", "apply": "return (JSON.parse(message).ENERGY.Power.toFixed(2) > 0) ? true : false;" }, "getOn": { "topic": "tele/tasmota_206/STATE", "apply": "return (JSON.parse(message).POWER === \"ON\") ? true : false;" } }, "accessory": "mqttthing" },
- Konfiguration speichern und HomeBridge neu starten
- im HomeKit sollte jetzt in eurem Standardraum ein neues Device erscheinen
- wir switchen um auf ein IOS-Device und installieren falls noch nicht geschehen, die Eve-App aus dem App-Store
- in der Eve-App sollte dann im StandardRaum ( wenn ihr das Device im HomeKit nicht vorher verschoben habt) folgendes zu sehen sein:
- kleiner Tipp: die Default-Update-Rate in Tasmota kann bis auf min. alle 10 sec ‚heruntergedreht‘ werden um so fast in Realtime Änderungen zu verfolgen.
- einfach in der Console in der Tasmota WebUI folgendes eingeben:
- Backlog MqttRetry 10
- dies setzt das TelemetrieUpdate an den Mosquitto-Broker auf 10 Sekunden
- einfach in der Console in der Tasmota WebUI folgendes eingeben:
Das solls auch schon gewesen sein, ich hoffe ich konnte ein wenig weiterhelfen und wenn ja, freue ich mich wenn ihr das HowTo rated oder sogar nen Kommentar da lasst.