Forum: Haus & Smart Home Stromzähler lesen mit TCRT500, ESPEasy und NodeRed


von Johannes S. (Gast)



Lesenswert?

So ein Projekt habe ich endlich angefangen und ich möchte das als 
Anregung kurz vorstellen.
Zur Speicherung der Daten in DB Tabellen hätte ich noch Fragen wie ihr 
verschiedene Sensordaten ablegt. Da würde ich jetzt die Daten 
(Temperaturen, Luftfeuchte, Stromverbrauch, u.a.) alle in eine Tabelle 
feuern und über einen NodeId als Key indizieren. DB ist aktuell eine 
InfluxDB, die habe ich schon ein halbes Jahr laufen und da viele 
Erdfeuchte Daten reingeschrieben. Mit 5s Zyklus zwar etwas übertrieben, 
aber als Test ganz gut und InfluxDB hat keine Probleme damit. Über eine 
retention policy kann Influx ältere Daten ja noch selber verdichten, das 
scheint mir daher eine gute Wahl zu sein.
Gibt es jetzt gebräuchliche Standard Schemata für die DB damit das auch 
mal mit anderen HA Softwarelösungen harmoniert? Ich habe mir die grossen 
nur Oberflächlich angesehen, wie die ihre Daten speichern noch nicht im 
Detail.

Wenn das bis hierher interessant war, so sieht die Lösung zum loggen 
jetzt aus:
Die Zähler werden über fertige TCRT5000 IR-Reflexlichtschranken Module 
ausgelesen, Beispiel: 
https://de.aliexpress.com/item/Free-shipping-TCRT5000-infrared-reflectance-sensor-Obstacle-avoidance-module-tracing-sensor-tracing-module/32703689686.html
Gehäuse zum 3D drucken findet man auf Thingiverse unter 'TCRT5000', ich 
habe das hier
https://www.thingiverse.com/thing:2668168
ist etwas knapp, diese sind besser:
https://www.thingiverse.com/thing:2969084

Der erste Versuch war enttäuschend, die Lichtschranken haben geprellt 
und pro Umdrehung viele Impulse erzeugt, das haben auch andere 
berichtet. Ich habe aber einen Hinweis im FHEM Forum gefunden das die 
Auswerteschaltung schlecht ist und einfach verbessert werden kann: 
https://forum.fhem.de/index.php/topic,54408.msg459962.html (das Bild im 
ersten Post sieht man leider nur wenn man da angemeldet ist).
Mit der Modifikation zählt das jetzt seit einer Woche synchron mit dem 
Ferrariszähler.

Der Digitalausgang von dem Modul geht auf einen ESP8266 der mit ESPEasy 
läuft und für diese Aufgabe nur konfiguriert werden muss.
Vom ESP geht es per MQTT in den mosquitto broker der zur Zeit noch auf 
einem Raspberry läuft.
Die MQTT Messages werden mit NodeRed auswertet und in eine InfluxDB 
geschrieben. Zur Zeit jede Minute der Momentanverbrauch. Der 
Gesamtzählerstand wird in ESPEasy auch gezählt, aber der fällt bei 
Neustart auf 0. Da fehlt mir in NodeRed noch das Summieren der Deltas 
und speichern der Summe. Wie macht man das am besten in NodeRed? Da bin 
ich noch Anfänger, aber ich denke man kann eine globale Parameterdatei 
erzeugen und die zyklisch speichern.
Für die Anzeige der Werte muss ich noch eine Seite mit Grafana 
erstellen, das hatte ich schon für die Erdfeuchtemessung gemacht und 
geht recht einfach.
Anregungen und Verbesserungsvorschläge sind willkommen.

Noch ein Nachtrag:
https://github.com/CymaticLabs/InfluxDBStudio
ist eine einfache Windows Oberfläche zur Ansicht der InfluxDB 
Datenbanken/Tabellen.

von Peter (Gast)


Lesenswert?

Hallo Johannes,

sehr interessant! Wie läuft dein Projekt seitdem? Hast du die Auswertung 
noch verändert? Kannst du genauer auf deine Konfiguration von EspEasy 
eingehen?

Grüße,
Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.