Sonoff POW R2 mit Tasmota Firmware als Messstelle
Moderator: Ulrich
-
- Beiträge: 19
- Registriert: Di 12. Okt 2021, 19:31
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
Hallo
Kann ich eigentlich auch nicht mehr als 6 MQTT Geräte (Sender) haben? Z.B. wenn ich 10 Sonoff R2 habe und die senden per MQTT an die Solaranzeige.
Gibt es da irgend einen Weg? Danke
Kann ich eigentlich auch nicht mehr als 6 MQTT Geräte (Sender) haben? Z.B. wenn ich 10 Sonoff R2 habe und die senden per MQTT an die Solaranzeige.
Gibt es da irgend einen Weg? Danke
-
- Beiträge: 1076
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 148 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
Nicht über die normale Multi Regler Funktion, da ist bei 6 Geräten Schluss. Wenn du aber über eine _math.php einfach weitere SonOffs ausliest und die Werte in der Datenbank speicherst, dann schon. Dazu musst du aber etwas PHP Code erstellen. Alternativ findest du hier im Forum Beiträge über eigene_werte.php welche ebenfalls beliebige selbst ausgelesene Werte speichert. Leider wieder PHP Skript erforderlich.
Ich habe z.B. 12 Tasmota Geräte und 9 Thermostate zusätzlich zu meinen 4 offiziellen Solaranzeige Geräten in den Datenbanken...
Ich habe z.B. 12 Tasmota Geräte und 9 Thermostate zusätzlich zu meinen 4 offiziellen Solaranzeige Geräten in den Datenbanken...
-
- Beiträge: 19
- Registriert: Di 12. Okt 2021, 19:31
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
Hallo
Das wäre genau mein Case. Ich habe einige Sonoff POWR2 die ich auslesen möchte und in eine DB schreiben möchte. Z.B. hängt einer am Trockner und ein anderer an der Waschmaschine. Ich habe bereits 5 der 6 "Regler" genutzt. Wie bist du vorgegangen?
hast du für den ersten Sonoff eine x.user.config.php erstellt und dann alle Sonoff's in der selben _math ausgelesen?
hast du alle in die selbe DB geschrieben?
hast du irgendwo noch den code, den du in der _math verwendet hast?
merci
Das wäre genau mein Case. Ich habe einige Sonoff POWR2 die ich auslesen möchte und in eine DB schreiben möchte. Z.B. hängt einer am Trockner und ein anderer an der Waschmaschine. Ich habe bereits 5 der 6 "Regler" genutzt. Wie bist du vorgegangen?
hast du für den ersten Sonoff eine x.user.config.php erstellt und dann alle Sonoff's in der selben _math ausgelesen?
hast du alle in die selbe DB geschrieben?
hast du irgendwo noch den code, den du in der _math verwendet hast?
merci
-
- Beiträge: 1076
- Registriert: Mi 13. Mai 2020, 10:04
- Hat sich bedankt: 22 Mal
- Danksagung erhalten: 148 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
Am Problem mit MQTT bin ich auch gescheitert. Ich denke, hier liegt ein Missverständnis vor, welches in der Anleitung nicht ausreichend beschrieben wird. Die Topics für MQTT in der x.user.config.php sind Einzelwerte, d.h. es wird davon ausgegangen, dass z.B. ein Homeserver einzelne Daten je Feldname schickt. Die SonOff (bzw. alle Tasmotas) schicken aber ganze JSON-Strings als Nachrichten, die noch zerlegt werden müssten. Dies tut aber die einfache MQTT-Routine nicht. Daher gibt es einzelne Geräte-Skripte wie shelly.php oder sonoff_mqtt.phh, die genau dieses extra durchführen.
Man kann also Tasmota-Geräte nicht einfach mit Topics in der x.user.config.php aufführen und dann hoffen, die Daten landen in der Datenbank. Man müsste sie daher als einzelne Geräte einbinden, soweit sie von den vorhandenen Skripten überhaupt unterstützt werden. Leider kann man aber auch nur insgesamt 6 Geräte definieren, was für viele Tasmota Schalter natürlich auch zu wenig ist.
Ich bin daher den Weg über eine eigene Ausleseroutine gegangen, welche (bei mir) derzeit 10 Tasmota Schalter in die Datenbank schreibt. Ich habe mich dabei auf die für mich interessanten Werte wie Leistung Current, Today und Total beschränkt, natürlich können alle weiteren Werte auf diese Art auch ausgelesen werden. Ich nutze auch nicht MQTT, sondern einfach die WEB-API Schnittstelle.
Im Anhang eine beispiel_math.php, welche einen Tasmota-Schalter ausliest, die 3 Leistungswerte werden dann in der Datenbank des Gerätes gespeichert, welche die _math.php dann ausführt. Zu finden im Measurement Energy. Falls das Auslesen nicht klappt (Tasmota nicht erreichbar, Stromausfall...) wird der bisherige Total-Wert aus der Datenbank ausgelesen und fortgeschrieben, die anderen Werte auf 0 gesetzt. Es muss natürlich die entsprechende IP für das gewünschte Tasmota-Gerät im Skript eingetragen werden.
Die Erweiterung für x weitere Tasmotas wäre einfach, nur den Anteil des Auslesens vervielfältigen, IP anpassen, die Bezeichnung der Datenfelder anpassen, die Zusatzquery anpassen/erweitern und fertig. Die Durchlaufzeiten liegen hier auch bei 10 Tasmotas unter 3 Sekunden...
Man kann also Tasmota-Geräte nicht einfach mit Topics in der x.user.config.php aufführen und dann hoffen, die Daten landen in der Datenbank. Man müsste sie daher als einzelne Geräte einbinden, soweit sie von den vorhandenen Skripten überhaupt unterstützt werden. Leider kann man aber auch nur insgesamt 6 Geräte definieren, was für viele Tasmota Schalter natürlich auch zu wenig ist.
Ich bin daher den Weg über eine eigene Ausleseroutine gegangen, welche (bei mir) derzeit 10 Tasmota Schalter in die Datenbank schreibt. Ich habe mich dabei auf die für mich interessanten Werte wie Leistung Current, Today und Total beschränkt, natürlich können alle weiteren Werte auf diese Art auch ausgelesen werden. Ich nutze auch nicht MQTT, sondern einfach die WEB-API Schnittstelle.
Im Anhang eine beispiel_math.php, welche einen Tasmota-Schalter ausliest, die 3 Leistungswerte werden dann in der Datenbank des Gerätes gespeichert, welche die _math.php dann ausführt. Zu finden im Measurement Energy. Falls das Auslesen nicht klappt (Tasmota nicht erreichbar, Stromausfall...) wird der bisherige Total-Wert aus der Datenbank ausgelesen und fortgeschrieben, die anderen Werte auf 0 gesetzt. Es muss natürlich die entsprechende IP für das gewünschte Tasmota-Gerät im Skript eingetragen werden.
Die Erweiterung für x weitere Tasmotas wäre einfach, nur den Anteil des Auslesens vervielfältigen, IP anpassen, die Bezeichnung der Datenfelder anpassen, die Zusatzquery anpassen/erweitern und fertig. Die Durchlaufzeiten liegen hier auch bei 10 Tasmotas unter 3 Sekunden...
- Dateianhänge
-
- beispiel_math.php
- (1.92 KiB) 211-mal heruntergeladen
-
- Beiträge: 19
- Registriert: Di 12. Okt 2021, 19:31
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 1 Mal
Re: Sonoff POW R2 mit Tasmota Firmware als Messstelle
So, nun habe ich es hingekriegt. Vielen Dank. Musste noch etwas üben, anfangs wurden die Daten nicht ins Zusatz Query übernommen.
Problem war, dass bei dir die Variable $daten anstelle $aktuelleDaten hiess. Aber nun geht es!!
Problem war, dass bei dir die Variable $daten anstelle $aktuelleDaten hiess. Aber nun geht es!!
Code: Alles auswählen
$aktuelleDaten["ZusatzQuery"] = "Energy ";
$aktuelleDaten["ZusatzQuery"] .= "WaschmaschineToday=" . $aktuelleDaten["WaschmaschineToday"];
$aktuelleDaten["ZusatzQuery"] .= ",WaschmaschineTotal=" . $aktuelleDaten["WaschmaschineTotal"];
$aktuelleDaten["ZusatzQuery"] .= ",WaschmaschineCur=" . $aktuelleDaten["WaschmaschineCur"];
$aktuelleDaten["ZusatzQuery"] .= " ".$aktuelleDaten["zentralerTimestamp"];