Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Alles was mit der Solaranzeige Image Installation und Betrieb zu tun hat. Einfache Konfiguration mit einem Gerät.

Moderator: Ulrich

Anton996
Beiträge: 23
Registriert: Mo 10. Aug 2020, 08:52
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von Anton996 »

Nachtrag:

Mit dem Befehl :

mosquitto_sub -h localhost -v -t "+/#"
sonoff/tele/LWT Offline
Sonoff/tele/LWT Offline
tele/sonoff/LWT Online
tasmota/discovery/ECFABC506AE3/config {"ip":"192.168.21.69","dn":"Tasmota","fn":["Tasmota",null,null,null,null,null,null,null],"hn":"sonoff-2787","mac":"ECFABC506AE3","md":"Sonoff Pow R2","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"9.3.1.1","t":"sonoff","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0],"swc":[-1,-1,-1,-1,-1,-1,-1,-1],"swn":[null,null,null,null,null,null,null,null],"btn":[0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":0,"82":0,"114":0,"117":0},"lk":1,"lt_st":0,"sho":[0,0,0,0],"ver":1}
tasmota/discovery/ECFABC506AE3/sensors {"sn":{"Time":"2021-03-04T17:02:59","ENERGY":{"TotalStartTime":"2021-03-02T16:08:44","Total":0.041,"Yesterday":0.000,"Today":0.040,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":240,"Current":0.000}},"ver":1}

Benutzeravatar
Ulrich
Administrator
Beiträge: 5503
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 152 Mal
Danksagung erhalten: 875 Mal
Kontaktdaten:

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von Ulrich »

Anton996 hat geschrieben:
Fr 5. Mär 2021, 09:18
mein POW R2 sendet daten in mqtt die kann ich auch sehen, soweit gut.
tele/sonoff/STATE {"Time":"2021-03-04T23:47:55","Uptime":"0T06:45:12","UptimeSec":24312,"Heap":27,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":2,"POWER":"ON","Wifi":{"AP":1,"SSId":"Formel 1","BSSId":"5C:49:79:23:49:6F","Channel":12,"RSSI":88,"Signal":-56,"LinkCount":1,"Downtime":"0T00:00:05"}}
tele/sonoff/SENSOR {"Time":"2021-03-04T23:47:55","ENERGY":{"TotalStartTime":"2021-03-02T16:08:44","Total":0.041,"Yesterday":0.000,"Today":0.040,"Period":0,"Power":0,"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":240,"Current":0.000}}

Was ich nicht hinbekomme das ganze in Influx zu schreiben oder auszulesen.

Dazu stelle ich mir selbst einige Fragen.
1: Sendet mqtt daten an influx oder fragt Influx mqtt ab.
2: brauche ich eine eigene Datenbank in Influx, finde dazu nichts konkretes.
aus den Infos die hier meine Vorredner schreiben werde ich leider nicht schlau :-(

Zur Info System neu aufgesetzt
Bitte lese die Installationsanleitung. Dort steht alles Schritt für Schritt drin. (ca. Seite 10)
viewtopic.php?f=13&t=161
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Anton996
Beiträge: 23
Registriert: Mo 10. Aug 2020, 08:52
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von Anton996 »

Das habe ich soweit alles gelesen.
Hänge aber fest.

in der user.config.php habe ich den Wechselrichter (AX Serie eingetragen) das funktioniert alles bestens.
für den POW R2 habe ich nur den punkt $Topic = "sonoff"; drinnen.
bekomme ja Daten von POW in die mqtt nur in der Influx Datenbank sehe ich nichts.
Deshalb auch die fragen zu meinem Verständnis.

Sorry für den Aufwand :-)

LG Erich

Benutzeravatar
Ulrich
Administrator
Beiträge: 5503
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 152 Mal
Danksagung erhalten: 875 Mal
Kontaktdaten:

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von Ulrich »

Um 2 Geräte aus zu lesen muss man die Multi-Regler-Version konfigurieren. Auch dazu gibt es ein Dokument.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

sirathan
Beiträge: 19
Registriert: Di 12. Okt 2021, 19:31
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von sirathan »

Ich frage hier auch noch nach. Habe schon die Multi-Regler Version und hab aber noch einige Sonoff POW R2 mit Tasmota welche ich auslesen möchte. Diese senden per MQTT an den Broker der Solaranzeige. Irgendwie schaffen sie es aber nicht in die DB.
Ich habe nun einen POW R2 mit dem Topic "sonoff" konfiguriert und in der 1.user.config.php $Topic = "sonoff" eingetragen (alles klein geschrieben). Müsste jetzt nicht in meiner DB welche ich in der 1.user.config.php angegeben habe unter dem Measurement MQTT die Werte des POW R2 erscheinen?

Benutzeravatar
Ulrich
Administrator
Beiträge: 5503
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 152 Mal
Danksagung erhalten: 875 Mal
Kontaktdaten:

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von Ulrich »

Was steht den in den LOG Dateien?
/var/www/log/solaranzeige.log
/var/www/log/php.log
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

Bogeyof
Beiträge: 1100
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 23 Mal
Danksagung erhalten: 160 Mal

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von Bogeyof »

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, 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) 272-mal heruntergeladen

sirathan
Beiträge: 19
Registriert: Di 12. Okt 2021, 19:31
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von sirathan »

Cool. Danke dir, kuck ich mir später an

jkie
Beiträge: 9
Registriert: Mo 24. Aug 2020, 21:17
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: Sonoff (Tasmota) MQTT Daten in influxdb Datenbank schreiben

Beitrag von jkie »

Ich habe mir auch einige Zeit die Zähne an dem Thema ausgebissen und hatte es schon fast aufgegeben. Dann bin ich hier im Forum über die Anmerkung von Bogeyof gestoßen und habe einen letzten Versuch gewagt ... und war erfolgreich. Ich denke, wie viele andere auch, bin ich dem Denkfehler aufgesessen, dass man MQTT zu einem bestehenden Regler "einfach" mit dazunehmen kann. Nachdem ich einen weiteren Regler in meiner Multi-User-Konfiguration nur für MQTT angelegt hatte, ging es problemlos.

Konkret habe ich einen SO-Zähler der Firma SMS-Guard über WLAN eingebunden. Der Zähler kann 2 getrennte S0 -Signale auswerten und soll in naher Zukunft meine Werte von Gas- und Wasserzähler in der Solaranzeige bzw. in Grafana mit visualisieren. Da es das Gerät in Ulrich's Regler-Liste so erst einmal nicht gibt, ich aber nur Daten auslesen und nicht senden möchte, habe ich als Regler "Sonoff" eingetragen. Funktioniert!

In dem Zusammenhang möchte ich mich noch einmal bei Ulrich und dem Forum bedanken. Ich habe vor 2 Jahren als kompletter Neuling die "irrwitzige" Idee gehabt, meinen ersten PI zu kaufen und Solaranzeige darauf zu installieren und laufen zu lassen. Und das ohne jegliche Programmiererfahrung. 2 Mal habe ich alles in die Ecke geschmissen, weil ich kein Stück weiterkam. ABER: wenn man sich die Zeit nimmt und die Anleitungen von Ulrich durchliest, ist es auch für komplette Neueinsteiger Schritt-für-Schritt machbar. Und für viele Spezialthemen findet man auch mit etwas Suchen hier im Forum eine passende Lösung oder zumindest einen neuen Denkanstoß. DANKE!

Antworten

Zurück zu „Image Installation [ Single-Regler Version ]“