Messwerte mit 8266 an InfluxDB übertragen

OP #7886019
Lesenswert?

Ich habe vor Messwerte die über eine TTL Schnittstelle reinkommen alle paar Sekunden über einen 8266 an InfluxDB(2) zu übertragen. Mir ist nur nicht ganz klar wie ich das mit dem Timestamp handeln soll. Ich will zB dass das ganze auch ohne Internet funktioniert, daher ist die Frage muss der 8266 überhaupt die Zeit wissen? Wenn man beim schreiben in InfluxDB keinen Zeitstempel mitgibt wird einfach die Zeit benutzt die der Server grad hat wenn die Daten reinkommen.

Beim 8266 hätte ich sonst ein weiteres Gerät was irgendwie die Zeit bekommen muss. Oder kann man das besser lösen?

#7886063
Lesenswert?

Wenn du die keine Messwerte verlieren darfst, musst du diese im ESP zwischenspeichern. Dann ist es aber auch erforderlich, dass du die Timestamp ebenfalls speicherst. Wenn es jedoch "Verluste" geben darf, würde ich den einfachsten Weg gehen und mich auf die Serverzeit verlassen. So musst du nicht sicherstellen, dass alle Messstellen eine korrekte Zeit haben.

Ich betreibe in meinem Smarthome auch etliche Sensoren. Ich sende die Daten jedoch zuerst an einen MQTT-Server. Ein NodeRED abonniert die Messwerte und schiebt diese dann in die InfluxDB. Der Vorteil hier ist, dass ich auch von anderen Systemen die aktuellen Messwerte abgreifen kann.

#7886070
Lesenswert?

Christian H. schrieb:

Ich sende die Daten jedoch zuerst an einen MQTT-Server. Ein NodeRED abonniert die Messwerte und schiebt diese dann in die InfluxDB

Ich mache das ähnlich, verwende aber Telegraf:

Tasmota - MQTT - Telegraf - InfluxDb.

Und dahinter hängt dann Grafana.

NodeRED zwackt zwar auch noch ein paar Daten ab. z. B. Stromverbrauch der Waschmaschine und schickt mir eine Meldung wenn diese fertig ist.

Falls du auch Tasmota verwenden willst, musst du ggf das Telemetrie-Intervall erhöhen, da die Sensorwerte im Standard nur alle 30 s übertragen werden.

LG Roland

#7886138
Lesenswert?

Ob verschiedene Topics gehen, kann ich dir auf Anhieb nicht sagen.

ich bekomme periodisch über "tele/tasmota_XXXXXX/SENSOR" eine MQTT Nachricht mit allen konfigurierten Sensoren (Bei Steckdosen sind das die Energiewerte, an einem anderen ESP sind das die SML Werte von 3 Stromzählern)

Bei Lichtschaltern kommt beim Tastendruck eine entsprechende cmnd/... Meldung.

https://tasmota.github.io/docs/MQTT/#fulltopic

Etliche DS1820 sowie Wechselrichter habe ich noch an einem AVR (Pollin AVR-NET-IO) in meiner HA. Diese senden ebenfalls über ethersex MQTT Nachrichten (https://github.com/rPraml/ethersex)

Bei Tasmota ist ziemlich viel "on board" bist aber relativ "starr" - habe mir da auch selber ein Image für die Stromzähler compiliert.

Arduino ist einfach zum "zusammenstöpseln", sobald man aber mehr als einen Service (in deinem Beispiel MQTT + NTP + Wifi-AutoConfig + OTA + ...) will, wirds vielleicht kompliziert. EspHome kenne ich nicht, dürfte aber in eine ähnliche Kerbe wie Tasmota schlagen...

Welche Sensoren willst du genau anschließen?

Gruß Roland

Gast #7886803
Lesenswert?

Andy K. schrieb:

Mir ist nur nicht ganz klar wie ich das mit dem Timestamp handeln soll. Ich will zB dass das ganze auch ohne Internet funktioniert, daher ist die Frage muss der 8266 überhaupt die Zeit wissen?

Für InfluxDB -- Nein.

Siehe: https://docs.influxdata.com/influxdb/v2/reference/syntax/line-protocol/

Das Line-Protocol ist trivial, Timestamp ist optional. Es wird die Server-Zeit statt dessen verwendet.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren