NEWS
Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt
-
@benziman Bin mir nicht sicher, ob ich dich richtige verstehe, aber hier der Versuch einer Erklärung.
Der Fenster-/Türkontakt kennt zwei Zustände, offen und geschlossen. Der DP "Open" nimmt entsprechend den booleschen Wert true oder false an. Bei true ist der Magnet nicht in der Nähe des Reedkontakt und bei false ist er es. Der Reedkontakt ist ein Schließer.Beim Gaszähler sitzt ein Magnet auf einer Walze und dieser kommt alle 0,1 m³ an deinem Kontakt vorbei und schließt diesen. (zweite Walze hinter dem Komma)
Im Idealfall und die genaue Positionierung des Kontaktes vorausgesetzt siehst du immer einen schönen Wechsel zwischen true und false. Falls das nicht der Fall ist musst du ggf. den Kontakt entprellen über die Einstellungen in der influx.db
-
vielen Dank für die Erklärung! Was ist Entprellen?
-
@benziman Als prellen bezeichnet man den Zustand, wo der Kontakt mehrfach öffnet und schließt. Das passiert, wenn z.B. die Anzugskräfte für den Kontakt nicht ausreichend sind. Das führt zur fehlerhaften Erfassung des Wertes und in der Folge zur Abweichung des errechneten Zählerstandes vom tatsächlichen Zählerstand. Entprellt wird über Influx.
-
welches Objekt ist das denn bei Gasverbrauch.open bei dir? das fehlt mir noch. Hätte jetzt gedacht contact event oder opened beim Aquarasensor.
-
@benziman Moin, Ich habe meine Aquara-Geräte über den deconz-Adapter eingerichtet. Es kann aber auch der Zigbee-Adapter sein.
Ich habe mir für diesen Datenpunkt einen Alias angelegt. Hier das Origial:
Und hier der Alias:
Das Skript verwendet den Alias. Falls jetzt die Hardware getauscht wird o.ä. muss ich nur im Alias die Referenz zum Datenpunkt anpassen und sonst nichts. Früher musste man im Fall der Fälle das komplette Skript anpassen und das kann sehr schnell komplex werden.
Näheres findest du in einem Thread zu Aliases. -
danke, kannte ich noch nicht! Alias ist erstellt und nach ein paar Problemen schreibt er auch den Wert vom Aquara in den Alias.
so wie ich das Script verstehe hast du deinen Aquaraadapter nur an zwei Stellen (also den Alias) eingebunden:
hier kann ich doch auch einfach den Aquarasensor state opened nehmen bei beiden oder?Verstehe nicht so ganz wozu man dann einen Alias braucht anstatt einfach den opened DP vom Aquarasensor zu nehmen. Selbst wenn du den Sensor mal tauschen musst, muss doch im Script nur dieser eine Punkt geändert werden oder täusche ich mich da? Weil du oben meintest "Früher musste man im Fall der Fälle das komplette Skript anpassen und das kann sehr schnell komplex werden."
sieht jetzt so bei mir aus und müsste funktionieren oder?
auf jeden Fall danke für die Unterstützung! -
@benziman In diesem Skript ist das nicht so problematisch, allerdings habe ich das aus Gründen der Gleichheit überall gemacht. Stell dir vor zu musst mal etwas ändern und suchtst dann den Alias und findest ihn nicht oder umgekehrt. Ich hatte beispielsweise ein Termometer im Einsatz, dessen Wert kam in x-verschiedenen Skripten vor. Nun musste ich das Termometer tauschen und alle Skripte anpassen. Beim Alias hätte ich nur den Verweis zum originalen Datenpunkt anpassen müssen und gut wars.
Das sieht alles gut aus so weit. Jetzt musst du noch testen, ob der Reedkontakt jede Änderung zuverlässig erfasst. -
ah ok, ja das macht natürlich Sinn. Also wenn ich mit dem Aquaragegenstück an den Gaszähler gehe, zuckt die letzte Zählrolle. Leider konnte ich bisher noch keinen Reedkontakt feststellen. Der Gasverbauch ist aktuell so minimal, das ich noch nicht so frequent testen kann wo die richtige Stelle ist.
Danke bis hierhin, ich melde mich wieder wenn sich das ändert.
-
hatte jetzt endlich Reedkontakt. Irgendwas stimmt aber in dem Script anscheinend nicht da mein Wer für Verbrauch_Abrechnungsjahr -59977 anzeigt.
auch andere Werte stimmen nicht siehe rot markiert. Hab ich da was falsch gemacht? -
@benziman Schau mal nach dem DP "Zählerstand Abrechnungsbeginn" Da sollte der Zählerstsnd aus der letzten Abrechnung eingetragen sein. Das ist einer der Bezugspunkte für die Berechnungen. Zählerstand Monatsanfang ist auch so ein Bezugspunkt. Du kannst diesen ja mal schätzen und eintragen.
Im Skript kann man das alles recht schön in den Funktionen nachvollziehen. Die zwei Cron-Jobs zur Aktualisierung der Zählerstände sind eigentlich auch selbsterklärend. -
wieso setzt ihr eigentlich so viele custom Datenpunkte (z.B. Tagesverbrauch, Wochenverbrauch). Könnt ihr dies nicht genauso gut via influxDB und Grafana ermitteln?
-
@thomas-w sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Könnt ihr dies nicht genauso gut via influxDB und Grafana ermitteln?
Vermutlich, weil nicht jeder Grafana verwendet.
-
@w00dst0ck sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
@thomas-w sagte in Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt:
Könnt ihr dies nicht genauso gut via influxDB und Grafana ermitteln?
Vermutlich, weil nicht jeder Grafana verwendet.
Und wenn ich den Wert z.B. mit telegram verschicken will, brauch ich den doch dort.
-
Hallo,
vielen Dank für das Script und die Infos, läuft aus der Tüte soweit.
Hat vielleicht jemand die Daten schön in Vis o.ä. visualisiert? -
@frank-zoellner mit Grafana gemacht
-
@kukoratsch nice, magst Du das Dashboard teilen ?
-
@ralfth Hallo, ich glaube bei dem Blockly muss der "Verbrauch heute" noch um 00:00h wieder auf Null gesetzt werden. Wenn die Gasuhr nicht mehr läuft behält der Datenpunkt "Verbrauch heute" ansonsten den letzten Stand.
-
@booleeny Hallo, vielen Dank für den Hinweis. Durch meinen Heizungsumbau verbrauche ich seit Anfang August bis jetzt kein Gas. In diesem Zusammenhang ist mir das auch aufgefallen. Ich habe die Aktualisierung jetzt in jeden Block eingebaut.
-
-
@kukoratsch Moin, ich klinke mich mal ein weil mir dein Layout sehr gut gefällt und ich gerade selbst eines in Grafana erstelle.
In deinem Post mit dem Bild hast du angegeben, dass du das Dashboard mit Grafana gemacht hast. Deine Textdatei verweist im Namen auf VIS?!
Außerdem fehlen gewisse Schlüsselworte, wie ich sie in meinem Grafana-JSON finde. Ich arbeite mit der Grafana-Version 9.1.6
Mach ich da einen Denkfehler?