Das Programm "Gas Meter" mit node-RED läuft schon sehr gut !
Aktueller Tagesverbrauch auf die erste Seite.
Alle Funktionen in der Benutzeroberfläche so gut erklären, daß keine weiteren Erläuterungen nötig sind ! (wie z.B. "Simu").
In den Zeitdiagrammen (4h, 24h, ...) auch noch das aktuelle Datum in der Überschrift angeben.
Im Diagramm Tagesverbrauch den aktuellen Tag rechts ans Ende der Abzisse setzen. Bei der jetzigen Darstellung muss man den den aktuellen Tag im Diagramm suchen.
Gasverbrauch auch in die "offizielle" Energie-Anzeige "Energie" von Home-Assistant einbinden. Eventuell einfach durch einen Namen wie "Gas_Total_Energy" ? Jetzt werden die m3 Gas schon in der Oberfläche angezeigt. Aber leider läßt sie sich diese Anzeige nicht in den "Energie"-Tab einbinden. Da muß wohl noch mehr Info her ...
Einbuchen ins WLAN per WPS ermöglichen. Entweder generisch durch eine Raspi-Funktion, oder auf node-RED Ebene.
Bei "Reset" auch die Variable "Minimum_Zeit_ms" zurücksetzen.
Zählerstand regelmäßig sichern, z.B. jede Stunde oder bei jedem Sichern der Logging-Datei, nicht nur Mitternacht. Gut bei Stromausfall oder Neustart.
Eine "Uptime" Anzeige, oder Zeitpunkt letzter Start.
Bei jedem Start einen Datumsstempel in eine Datei (gestartet.txt). Das zeigt auch, wie oft neu gestartet wurde.
Versionsinfo ergänzen (@).
Die detaillierten Logging Dateien pro Monat erstellen und entsprechend benamsen (.._2022_01.txt), statt einer Riesen Logging Datei.
Programm fit machen, um die Werte generell per WEB abzuholen (wget).
Leistungsangaben auch in m3 Gas oder kW, statt jetzt nur in %. Beide Diagramme können dann in Einstellungen ein- und ausgeschaltet werden.
Optional : Verbrauch in kWh oder m3 Gas. Oder beides wählbar ? Braucht man ja eigentlich nicht. Denn ein m3 Gas ist circa 10 kWh. Mal etwas mehr, mal etwas weniger, abhängig vom eingespeisten Gas.
Umrechnungsfaktor m3 Gas zu kWh auf die Setup-Seite. Sollte ca. 10 kWh per m3 Gas sein.
Knöpfe Laden/Speichern neu arrangieren.
Die Diagramme weiter optimieren.
Einige Konstante optional per Einlesen aus Datei, äquivalent zur einer Ini Datei, und änderbar über die /ui. So, wie das jetzt schon mit dem Zählerstand passiert.
Beim Start den letzten Zählerstand aus Protokolldatei lesen, nicht aus einer speziellen Datei.
Die 4 Protokolldateien nur wahlweise schreiben, um die SD-Karte zu schonen. Dann lebt sie länger.
Das Protokoll wahlweise direkt auf ein NAS schreiben.
Diagramm-Breiten besser an iPhone und iPad anpassen.
Datei mit äquidistanten Messwerten wahlweise, Aufzeichnungsstop nach 20 Minuten Leerlauf.
Git auch lokal benutzen : https://nodered.org/docs/user-guide/projects/
Mqtt ( https://de.wikipedia.org/wiki/MQTT ) ?
Lorawan ( https://www.lora-wan.de/ ) ?
Welche Auswerte Software ?
Zur Bestimmung der Leistung beide Flanken des Zählsensors auswerten. Bringt vielleicht mehr Präzision ?
Ausprobieren : Uni- and Bipolar Hall IC Switches for Magnetic Field Applications, als Alternative zu einem Reedkontakt : APS11205 (funktioniert !), ( vielleicht TLE4945L, TLE4945-2L, TLE4905L, TLE 4935L).
Analogen Magnetsensor mit I2C Interface (QMC5883 Magnetometer oder so) ?
Korrekte Platzierung der /ui Elemente nach Neuinstallation überprüfen.
Bei Neustart : die Logdateien "durchorgeln", um sofort nette Diagramme zu haben.
Uhrzeit Aktualisierung : zur Zeit bei 5 Sekunden. Immer noch böse Effekte bei sekündlichem Update ? Hilfsweise nur "glatte" Sekunden anzeigen.
Eine RAM-Disk anlegen. Von der SD-Karte wird nur gestartet. Danach wird die SD-Karte nicht mehr "angefasst". Dann kann auch beliebig geloggt werden.
Jetziger "Rückfall" auf 0% Leistung erfolgt fest nach 12 Minuten ohne Aktivität. Das sollte dynamisch optimiert werden !
Im Tab "Einstellungen" zusätzlich vorsehen :
wahlweise Vorgabe Wert für eine feste Skalierung,
Angabe des geringsten Durchflußes. Daraus den Abfall auf Null ableiten.
Adresse eines NAS für Protokolldateien, Checkbox für externes Speichern.
Protokolldateien einzeln ein-/ausschaltbar.
Fehlersimulationen (Keine Verbindung zum Home Assistant, Home Assistant Nodes nicht geladen, ...).
Wlan Probleme untersuchen und verstehen.
Ein kleines Platinchen zum Aufstecken auf die Raspi Kontakte entwerfen und in China bestellen. Das sollte für ca. 5 Euro zu machen sein.
Programm so erweitern, daß der Zählerstand von Home Assistant aus nicht nur gelesen, sondern auch gesetzt (geschrieben) werden kann.
Den Wert für "Tagesverbrauch" etc. aufräumen. Zur Zeit sind Teile in Funktion "gaszaehler" und im 00:01h Timer Zweig.
InfluxDB als Datenbank mal ausprobieren : https://www.heise.de/ratgeber/InfluxDB-Spezialisierte-Datenbank-fuer-Messwerte-und-Logging-4314271.html . Zunächst höchste Auflösung abspeichern. Dann alte Werte zusammenfassen, sodaß alle Werte in die Datenbank "passen". Als Alternative zum Abspeichern in textuelle Monatsdateien.
Vorschläge, Erweiterungen und Verfeinerungen des Codes werden gerne entgegengenommen ("pull request") und eingebaut ("git merge") !
Im Netz (Google : "gaszähler auslesen") gibt es noch viele andere Anregungen für eine Erfassung des Zählerstandes, unter anderem :
https://www.stall.biz/project/wiffi-count-2fach-zaehler-fuer-strom-gas-wasser-und-solar
https://www.symcon.de/forum/threads/13085-Gasz%C3%83%C2%A4hlerprojekt/page2
http://www.kabza.de/MyHome/GasMeter.html
https://www.kompf.de/tech/gascountmag.html
https://github.com/hacki11/qmc5883-gas-meter
https://rutg3r.com/watermeter-reading-with-inductive-proximity-sensor/
http://blog.bubux.de/gaszaehler-auslesen/
https://www.niklas-menke.de/projekte/gaszaehler-auslesen/