NEWS
Hilfe bei Gaszähler > Reed > InfluxDB > Grafana
-
@seppele said in Hilfe bei Gaszähler > Reed > InfluxDB > Grafana:
Aktuell zähle ich leider doppelt da ich mit einem Blockly Script bei Änderung des Status eine Zählung mache
Ich habe das so gelöst, dass ich pro Impuls die Hälfte der eigentlichen Verbrauchszahl hinzuaddiere.
Ich greife also am Zähler (mit der Auflösung von 0,001 m3) die 2. Nachkommastelle ab (entspricht 10 L).
Dabei gibt es bei pro ganzer Umdrehung des Zählrades zwei Impulse. Diese addiere ich dann in Blockly mit jeweils dem Wert "0,005", sodass die zwei Impulse dann zusammen "0,01 m3" ergeben und zum bestehenden Verbrauch addiert werden. -
Danke euch zwei!
@martinp Verstehe ich nicht ich stelle ja immer zwischen ON und OFF hin und her und habe ja keinen Wert der sich erhöht oder kapiere ich die Funktion nicht?
@Markus-7 Ja verstehe jetzt dein vorgehen, ich glaube ich bleib aber vorerst mal bei meinem Wertvergleich gefällt mir irgendwie besser
-
@seppele Wenn ich Dir einen Tipp geben kann- lass es mit Reed- Näherungssensor oder IR- Sensor. Habe damit echt lange rumexperimentiert- frisst echt nur Zeit und Nerven. Es wir immer wieder mal zu Fehlzählungen kommen, und dann muss du wieder von Hand eingreifen und das korrigieren. Ich hab mich schließlich für die ESP-Cam entschieden mit Watermeter. Das funktioniert echt zuverlässig seit einem Jahr.
Ich habe mal ein Video darüber gemacht - https://www.youtube.com/watch?v=Rtp13A-BMxA&t=77s - schau es dir einfach mal an wenn du Lust hast. -
@seppele said in Hilfe bei Gaszähler > Reed > InfluxDB > Grafana:
Bevor ich das InfluxDB Problem weiter behandle muss ich noch die Falschzählungen des Reedkontakts lösen.
wie alle (oder fast alle) ist das Prellen des Reedkontakt problematisch. Ich hab da auch lange rum probiert. Letztendlich hab ich dann den Reedkontakt hardwareseitig mit einem retriggerbaren Monoflop ausgestattet. Dann war Ruhe. läuft jetzt ohne Falschimpulse seit einem Jahr.
-
So hab wieder getüftelt, leider hat meine Variante vom Blockly-Script nicht funktioniert, warum weis ich nicht, hab dann auf die variante von @Markus-7 zurück geändert und zähle jetzt mit 0,005 aber dafür On und Off damit ergibt sich dann wieder bei einem Durchgang 0,01
Jetzt wird wieder fleißig gezählt, heute morgen war aber leider der Status auf ON also hat das D1 nichtmehr zurückgestellt auf OFF und somit fehlt mit jetzt eine Zählung.
Wie muss ich mir denn das vorstellen mit dem Reedkontakt, der Magnet am Zählerrad dreht sich am Kontakt vorbei und schliesst den Schalter, erkennt der beim drehen den Anfangszeitpunkt wo der Schalter schliesst und den Endzeitpunkt wo der Schalter wieder öffnet?
Oder erkennt der nur einen Impuls beim schliessend und öffnet dann wenn der Magnet wieder außer Reichweite ist ohne einen Impuls und das Script sagt nach 1 Sekunde wieder zurückstellen auf OFF?Der erste Impuls wurde nämlich immer sauber übertragen, somit würde die Zählung stimmen wenn meine Variante vom Blockly Script funktioniert hätte,
@Springreiter Danke für die Info, aktuell macht mir das noch Spass das rumtüfteln, aber wenn das auf Dauer nicht sauber läuft dann muss ich mir was anderes Überlegen. Ich hab jedenfalls ein übriges ESP-Cam da liegen, daran scheiterst jedenfalls nicht
Schau mir dein Video aber heute Abend an.@ubecker Muss ich erst mal googeln was ein Monoflop ist aber danke für den Hinweis.
Jetzt zu InfluxDB:
Das Problem hab ich gelöst.
Hab einfach die 1.6.7 deinstalliert und eine 2.7 installiert, im Adapter habe ich nur auf v2 umstellen und das API Token eingeben müssen.
Leider hab ich meine bisherigen Daten verloren, hab zwar ein backup gemacht aber vermutlich passen die Strukturen nichtmehr mit der neuen Datenbank zusammen.
Mal sehen ob ich mir das antu und die Daten versuche zu importieren.Grafana:
Auch da hab ich ein Update von 9.x auf 10.x gemacht, jetzt bin ich überall wieder sauber.
Musste auch hier die Datenquell neu anlegen und das Token eingeben aber dann hat alles sofort funktioniert.
Hab auch schon ein paar Flux Querys gebastelt und dadurch schon Auswertungen gemacht.
Der Data Explorer von Influxdb2 ist sehr cool und Hilft mir sehr, auch gibts da ja sogar ein Dahsboard zum auswerten, wie Grafana für kleine Auswertungen.Es bleibt spannend durch eure Hilfe, mal sehen ob wir das hinbekommen mit dem Zählen.
-
@seppele said in Hilfe bei Gaszähler > Reed > InfluxDB > Grafana:
Verstehe ich nicht ich stelle ja immer zwischen ON und OFF hin und her und habe ja keinen Wert der sich erhöht oder kapiere ich die Funktion nicht?
Es werden in Programmiersprachen für möglichst viele Datentypen Sortier-Kriterien festgelegt...
Und bei Logikwerten ist true größer als false. Also wird bei "ist größer ..." der Übergang false->true ausgewertet, aber true -> false nicht ...
-
@martinp Danke martin, ich verstehe was du meinst, aber mein Status ist ja ON und OFF, das sind doch String Werte oder?
Kann ich den Wert On/OFF auf einen boolean prüfen?Wenn du sagst dass das geht dann probiere ich das heute Abend aus, dann müsste ich im Blockly aber prüfen auf Wahr oder?
-
@seppele sagte in Hilfe bei Gaszähler > Reed > InfluxDB > Grafana:
Jetzt wird wieder fleißig gezählt, heute morgen war aber leider der Status auf ON also hat das D1 nichtmehr zurückgestellt auf OFF und somit fehlt mit jetzt eine Zählung.
Wie muss ich mir denn das vorstellen mit dem Reedkontakt, der Magnet am Zählerrad dreht sich am Kontakt vorbei und schliesst den Schalter, erkennt der beim drehen den Anfangszeitpunkt wo der Schalter schliesst und den Endzeitpunkt wo der Schalter wieder öffnet?
Oder erkennt der nur einen Impuls beim schliessend und öffnet dann wenn der Magnet wieder außer Reichweite ist ohne einen Impuls und das Script sagt nach 1 Sekunde wieder zurückstellen auf OFF?Es ist noch ein wenig anders. Ja, der Magnet dreht sich am Reed-Kontakt vorbei. Solange der Magnet vor dem Reed-Kontakt steht, wird "ON" gesendet, ansonsten "OFF". Wenn nun der Gasbezug zufälliger Weise endet, während der Magnet vor dem Reed-Kontakt steht, bleibt der Status auf "ON". Ganz normal, aber kein Problem, dadurch geht ja kein Wert verloren.
-
@marc-berg danke marc, eigentlich logisch jetzt wo dus mir erklärt hast
Dann beobachte ich heute mal den Zählerstand.
-
@seppele Auch bei Strings gibt es Sortierkriterien, "OFF" ist in diesem Falle kleiner als "ON", da "F" weiter vorne im Alphabet liegt, als "N".
-
@seppele sagte in Hilfe bei Gaszähler > Reed > InfluxDB > Grafana:
Hab einfach die 1.6.7 deinstalliert und eine 2.7 installiert, im Adapter habe ich nur auf v2 umstellen und das API Token eingeben müssen.
Leider hab ich meine bisherigen Daten verloren, hab zwar ein backup gemacht aber vermutlich passen die Strukturen nichtmehr mit der neuen Datenbank zusammen.
Mal sehen ob ich mir das antu und die Daten versuche zu importieren.Mit dem Backup kannst du auf der 2.7 nichts anfangen. Der einfachste Weg wäre wohl gewesen, ein
influxd upgrade --config-file <path to v1 config file>
durchzuführen. Dazu müssten aber noch die alte Config (
influxdb.conf
) und die Datendateien der InfluxDB 1.x vorhanden sein. -
@marc-berg Hab natürlich ein komplettes Backup des Image vorher gemacht, also könnte ich wieder auf den Zustand vor dem deinstallieren zurück.
Neu installiert ist aber halt neu Installiert, da ist alles sauber, hab so viele Problemfälle gelesen beim Update und daher hab ichs gleich neu gemacht.Sind die Daten halt weg, waren ja nicht soooo wichtig, nur PV Daten.
-
@ubecker Hallo Udo, kannst du mir sagen was ich da genau brauchen würde, ist das dann nur hardwareseitig zusammen zu bauen oder muss ich da Softwaretechnisch auch noch was machen?
Wo sind solche Monoflops denn verbaut, hab massig Platinen hier liegen vielleicht kann ich da was auslöten?
Ansonsten würde ich dich bitte mir den Typ zu nennen den du selbst verbaut hast damit ich das mal googeln kann.Leider hab ich heute Nachmittag schon 6 Fehlzählungen.
Danke dir
-
Bei mir kommt es natürlich durch das Prellen auch zu (leichten) Abweichungen. Bevor ich per Kamera den Zählerstand ablese: Was wäre, wenn ich direkt nach meiner "Logge den Impuls vom Reedkontakt" eine ... meinetwegen 3-sekündige Pause im Blockly setze? Dann kann das Teil prellen so viel es will, der nächste Impuls wird erst nach 3 Sekunden erfasst. Und ja, das Rädchen mit dem Magnet benötigt natürlich länger für eine ganze Umdrehung. Oder ist das Quark, was ich da vorhabe?
-
@markus-7 Ich habe ähnliche Probleme zumindest minimieren können. Mein Zähler lässt sich nur mit einem induktiven Näherungsschalter auslesen, da kein Magnet, sondern ein nicht magnetisiertes Metallteil kreist um einen Drehpunkt.
Bei mir sind es ca 1 Fehlpuls alle 2...3 Tage..
Ich habe anhand der Brennerleistung von max 25 kW, dem Energiegehalt von gut 11 kWh/m³ und 1 Puls / 10 Liter folgendes berechnet
Maximaler Verbrauch pro Stunde 25 kWh => 25/11 = 2,273 m³
Also maximal 227 Impulse pro Stunde => 3600/227 = 15,9 Sekunden minimaler Impulsabstand.
Ich habe dann eine Sperrzeit von 10 Sekunden eingestellt
Realisiert habe ich das mit einer Zeitmessung. Der Timeout wird verlängert, wenn die Pulse fortwährend in kurzem Abstand aufeinander folgen.Da es aber eben trotzdem sporadisch zu Fehlpulsen kommt, habe ich mir eine relativ einfach durchzuführende Korrektur ausgedacht. Dazu muss ich nur den korrekten Zählerstand von Zähler selber ablesen und in ein Vis-Eingabefeld eintippen. Nach Absenden des Wertes führt ein Blockly eine Korrektur-Berechnung durch und trägt einen neuen "Null-Kubikmeter" Wert für den Zähler in einen Userdata-Datenpunkt ein... Ist zwar nervig, regelmäßig diese Korrekturen durchzuführen, aber das muss man ja nicht täglich machen, wenn ein Fehlpuls etwa 0,110 kWh entspricht ...
Vorher hatte ich die Idee, die Metallscheibe auf gegenüberliegenden Seiten ihrer Kreisbahn zweimal pro Umlauf zu detektieren. Hat aber nicht funktioniert, da die dazu nötigen dünneren Näherungssensoren zu unempfindlich waren.
Pulse wären nur gezählt worden, wenn streng abwechselnd beide Sensoren gefeuert hätten...
Sensor 1 ist nach einmaligem Feuern so lange gesperrt, bis Sensor 2 einmalig gefeuert hat, und umgekehrt ....
-
@springreiter ich habe deine Empfehlung nun umgesetzt.
Leider hat der Reed auf dauer viel zu viele Fehler (nicht gezählte Impulse)Da ich ein altes ESP32Cam da hatte hab ichs mal aufgesetzt und montiert, also die Erkennung ist echt fantastisch, wenn das auf Dauer so bleibt dann ist jede Minute die man in den Reed-Käse hineinbuttert umsonst.
Warte aktuell bis die Heizung einschaltet.