NEWS
Gaszähler BK-G4 auslesen mit Zigbee-Fensterkontakt
-
Inwiefern driftet es denn ab?
-
muss is open nicht true sein? Der Sensor sendet doch erst wenn true ist.
-
@cino Naja, der Zählerstand im iobroker ist immer höher als der tatsächliche Stand am Gaszähler
-
@cino Lasse mir nun 2 Werte durch 2 Skripte schreiben. Ob is open true oder false, macht keinen Unterschied
-
@cino Da bin ich nicht so der Spezialist. Ich hatte mich da an eine Anleitung (weiter oben) gehalten und bei mir hat es funktioniert. Natürlich kann man auch eine Entprellung im Skript durchführen.
Mein Script für die Erfassung des Zählerstandes sieht folgendermaßen aus:
Gelegentliche Abweichungen überwache ich durch regelmäßige Kontrolle und Korrektur.
-
@ralfth Wie sehen denn deine gelegentlichen Abweichungen aus? Bei mir sind es nach kurzer Zeit (wenn ich den richtigen Wert in iobroker eintippe) so ca. 2,5 - 3m³
-
@deejaydave könnte auch an einem schlecht platziertem Reed-Kontakt liegen. Hast du die Möglichkeit vor dem Zähler zu sitzen und parallel zu gucken was im iobroker ankommt?
-
@w00dst0ck Ich habe mir ja extra den "Metrix Impulsnehmer NI-3" dafür gekauft, der einen Reedkontakt hat und das Signal (grün/orange) an den Aqara sendet (angelötet).
Muss mich tatsächlich mal davor setzen und beobachten was passiert.....
-
@deejaydave bei mir sind es mal 0,2 m³ in 2 Wochen. Das passiert interessanterweise in den Sommermonaten vermehrt, als zur Heizperiode. Erklärung habe ich dafür keine.
-
uii. Bei mir sind es in 24 Stunden 5 Kubik. Ich hatte gestern geguckt und gerade nochmal.
Ich setze heute abend mal einen syslog server auf und in dem skript debugging. Irgendwo geht mir ja was verloren.
-
@cino Das hat vermutlich nichts mehr mit entprellen zu tun. Entweder ist dein Kontakt nicht einwandfrei am Gaszähler montiert, oder der Kontakt selbst ist zu unempfindlich. Der Magnet auf dem Rad des Gaszählers ist schließlich kein Schwergewicht.
Probiere deine Schaltung mal auf dem Tisch in einer Trockenübung. Nähere dich dem Kontakt mit einem kleinen Magnet und ermittle mal, ab wann dein Kontakt reagiert und so weiter. -
@ralfth Der Abnehmer ist ein originaler vom Hersteller. Nichts selbst gebasteltes.
-
Zum Thema Entprellen: Könnte man das nicht über den Zeitstempel zuverlässig realisieren...? Ich würde es zumindest so versuchen...
-
@cino Das sollte die nicht davon abhalten diesen Abnehmer einmal zu testen. Am besten nimmst du dazu verschieden starke Magnete und näherst dich dem Kontakt bis er schaltet. Das kannst du mit einem Messgerät prüfen, oder mit der ganzen Schaltung im ioBroker. Wenn du mit Influxdb oder History aufzeichnest siehst du auch gleich, ob die Schaltung/Meldung erfolgt oder nicht, ob es zu mehrfach "true" oder "false" kommt. Das sollte sowieso für den Datenpunkt des Aqara-Sensors aktiviert sein, wenn man solche Probleme hat. Ich glaube der heißt deconz.0.Sensors."X".open. Bei mir sieht das so aus:
-
Jetzt habe ich aber auch ein Verständnisproblem:
Ich habe einen Sensor (Aqara), der bei "is open" true oder false liefert. Diese Änderung bzw. der Wert false triggert mein Skript, bei dem der Wert in einen Datenpunkt geschrieben wird. Soweit alles gut.
Wenn ich diesen Datenpunkt dann per history oder influxdb logge, ist doch an dieser Stelle die Einstellung der Entprellzeit falsch?! Der Datenpunkt wird ja per Skript geschrieben... das Loggen ist doch dann nachgelagert.
-
@deejaydave mit der Entprellzeit im Historyadapter verfälscht du doch nur alles. Was in der History steht muss ja nicht das sein was der Skript verarbeitet. Im Skript sind die 500 ms Entprellzeit vom Historyadapter doch uninteressant.
Zudem ich mittlerweile der Meinung bin, das prellenede Schalter nur ein Problem sind wenn dahinter Zähler hängen. Die easyesp firmware hat ja counter devices, da müsste es dann auffallen wenn der Schalter prellt.
Ich habe das Teil nur als Schalter definiert und schicke den Wert über MQTT. -
@cino
Yo hab ich gemacht. kann ich den genau wie den reed kontakt an den nodemcu anschließen? -
@jmeister79 ja kannst du, gpio mit pullup auswählen und dann gegen Masse schalten. Noch einen debounce von 100 ms auswählen. Das alles als switch und per mqtt senden.
-
@cino also eine Seite an n gpio und die andere an g? Hans gerade Mal mit dem normalen counter probiert bevor du geantwortet hattest.
-
@jmeister79 Der Counter gibt eine Zahl ab. Dieser Skript hier rechnet mit true/false.