Arktis G4 RF1 Gaszähler mit Reedkontakt und ESP "auslesen"

Begonnen von _Niemand_, 01 Februar 2021, 15:36:29

Vorheriges Thema - Nächstes Thema

_Niemand_

Hallo liebe FHEM-Gemeinde,

wie schon öfter hier im Forum diskutiert, besteht ja die Möglichkeit gängige "dumme" alte Gaszähler mit Hilfe eines Reedkontakts "smart" zu machen und mittels ESP8266 die Werte zu erfassen und in FHEM einzuspeisen.

Vor ca. zwei Wochen lachten mich auf meinen Schreibtisch ein ESP8266 (D1 min pro) und ein Reedkontaktschalter (Noname) an und forderten mich auf auch unseren Arktis G4 RF1 Gaszähler auf die Finger zu schauen.

So las ich in diversen Foren von den verschiedenen Gaszählertypen, welche die z.B. wohl der G4 RF1c, die nicht per Reed ausgelesen werden können (sondern nur per Hallsensor), oder eben vom G4 RF1-Typen, die entweder alle 0,1m3 oder alle 0,01m3 einen magnetischen Impuls abgeben.
Je nach dem hängt der Magnet wohl auf der letzten (von links gesehen) beim 0,01m3 oder auf der vorletzten Zahlenrolle (beim 0,1m3).

Soweit so gut, zum Testen hatte ich mir ein kleines ESP-Programm geschrieben, welches in kurzen Abständen den GIO -D3 abfragt (beim ESP8266 D1 mini ist dort gleich der 10kOhm-Widerstand mit "Onboard").
(Wer auch erst mal nur "rumspielen" will, ein sehr schönes Beispiel gibts auch von Jens Fleischer https://fipsok.de/Projekt/gaszaehler-esp8266-nodemcu)
Aber egal wohin ich auch den Reedkontakt legte, nie kam es zu "zählbaren" Input >:( - der Gegenversuch mit einen vorbeigezogenen Magnet funktionierte auch aus 2-3 cm Abstand prima).

Da ich annehme, dass es schon ein paar Leute hier im Forum geben sollte, die es tatsächlich geschafft haben einen Arktis G4 RF1 (mit 0,1m3 Zählung) mittels Reedkontakt und ESP8266 auszulesen, wäre ich sehr dankbar um ein konkretes "Einbaubeispiel" (gerne als Foto) als Spickvorlage für mich (und sicher auch andere interessierte Bastler).

Vielen Dank schon Mal...

gadget

#1
Hallo,

Siehe Bild im Anhang. Ich verwende einen MS-332-3, der z.B. hier https://www.conrad.de/de/p/pic-ms-332-3-reed-kontakt-1-schliesser-200-v-dc-140-v-ac-1-a-10-w-503544.html erhältlich ist.

Wenn der Zähler zählt hört man auch den Reed-Kontakt ganz leise klacken, zur Kontrolle reicht also auch erstmal das Gehör.

Der Wemos D1 läuft bei mir mit ESPEasy und in fhem habe ich auf das ESPEasy-Device noch ein fhem-GasCalculator Modul draufgesetzt.

Hilfreich ist auch ein userreading für die übermittelten Pulse (bei mir: Total) mit "monotonic", damit man bei ESP-Reboot nicht wieder bei 0 anfängt.

attr ESPEasy_wemos1_gasverbrauch userReadings Totalmonotonic monotonic {ReadingsVal($name,"Total",0)}, Zaehlerstand {ReadingsVal($name,"Totalmonotonic",0)/100.0}, state {ReadingsVal($name,"Zaehlerstand","")}



Grüße, gadget

_Niemand_

Hallo gadget,

vielen Dank für die schnelle, interessante und hilfreiche Antwort. :)

Wie ich sehe hast Du die 0,01m3 Variante des Gaszählers - d.h. für meinen 0,1m3-Zähler müsste ich wohl den Kontakt etwas nach links rutschen?
Ich wüsste aber gerne:
Hat es auch schon jemand mit der 0,1m3-Zählervariante mit Reedkontakt zum Laufen gebracht?

Ich versuchs solange einfach nochmal... wenns wieder nichts wird, probiere ich vielleicht mal Deine Reedkontakt-Empfehlung aus.

Besten Dank...

steffen83

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

steffen83

Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

hErMeS

Dieser Zähler sollte an der Front eine cyble Schnittstelle haben (die runde Erhebung), die sich im einfachsten Falle mit einem induktiven Näherungsschalter zum Rand des Runden Ringes erfassen lassen sollte (metallische Nadel hinter der Abdeckung)

Somit fallen störanfällige Optiken weg. Nur die dauerhafte Positionierung ist hier mehr das Problem.
Wenn ich hier einen ini nehmen würde, wäre ich bei einem 8mm. Evtl würden hier 4mm reichen.

(Nur Mal ein doofer Gedanke, Hall Sensor am inneren Rand vom cyble und ein Magnet neben dem Hall Sensor, das Plättchen könnte doch hier für ausreichend erfassbare Änderungen sorgen können?)

Schonmal die Miniatur Reed Schalter (Glasröhrchen) für Modellbahnen getestet?

_Niemand_

Hallo steffen83 und hErMeS,
vielen Dank auch für eure Tipps. Das mit der "optischen Auslesevariante" hatte ich mir auch schon angesehen, aber für den Moment noch hinten angestellt.

Stattdessen hatte mir in der Tat schon Miniatur-Reed-Schalter (1,8x7mm) besorgt und letzte Woche "eingebaut". Die Messung mit diesen Reed-Schaltern und den "Generic Pulse Counter"-Module von ESPeasy meldete auch ganz vernünftige Werte bei den Counts.  :D
Deshalb hatte ich gestern anstatt des ESP8266-Controllers, der dafür testweise über eine Powerbar direkt am Gaszähler hing (also eine nur wenige Zentimeter lange "Zuleitung" zum Reedkontakt hatte), auf einen anderen ESP8266-Controller umgestellt (der sowieso auf den Elektroschaltschrank in ca. 3 Meter-Entfernung sitzt und bislang nur fürs Auslesen der Modbus-Stromzähler zuständig ist).

Leider gibt es jetzt viele "Fehlzählungen" beim Pulse-Counter. Wahrscheinlich koppelt da auf der längeren Zuleitung (geschirmte Telefonleitung) doch etwas ein.
Ich hatte auch schon mit der "Debounce Time" bei den ESP-Settings fürs PulseCounter-PlugIn herumgespielt (Einstellungen zwischen 1000msec bis 30000msec), konnte aber leider keine echte Verbesserung sehen. Was ich aber eigentlich schon erwartet hätte - bei den Entwicklern von ESPeasy gabs dazu auch eine ähnliche Diskussion in deren Forum - aber ohne das ich dort bis jetzt eine Lösung hätte finden können - außer den nachfolgend beschriebenen, möglichen Workaround).

Jetzt bin ich gerade am Testen, anstatt des Pulse-Counters das "Switch"-PlugIn von ESPeasy zu verwenden. Dort gibt es halt dann in meinen Fall ca. 80 Sekunden "On" und 100 Sekunden"Off" für jeden 0,1m3-Zählimplus (wenn der Brenner durchläuft). Ob das stabil funktioniert werde ich hoffentlich die Tage sehen können....

hErMeS

Erfasse doch Mal die Zeitstempel der Zustandsänderungen vom Reed und schau dir das im Nachgang händisch an. Vielleicht muss auch nur der Reed Schalter einen Millimeter verrückt werdend da evtl durch den Magnet Durchlauf dieser mehrfach auslösen könnte. Der darf nicht mittig zum Magneten positioniert werden.

Bei mir habe ich keine Fehlauslösungen (über ca 8m EIB Leitung direkt an einen digitalen Eingang meines Hauptmodules hängend)
Dieses nimmt vor einem 6,4kOhm Widerstand zu GND den High/Low Schaltpegel. Schonmal den pull down Widerstand aktiv geschaltet im ESP? (falls die firmwares das nicht selber machen)

Am Anfang hatte ich einen Reed von einem Fahrradcomputer, der funktionierte mehr schlecht als Recht.

Papa Romeo

#8
Zitat von: hErMeS am 07 Februar 2021, 20:58:30
Schonmal den pull down Widerstand aktiv geschaltet im ESP? (falls die firmwares das nicht selber machen)

...nur GPIO16 hat nen Pulldown...GPIO 0 bis 15 haben nen internen Pullup

Hier gibt´s auch ne Diskussion bezüglich solchen Fehlimpulsen

https://forum.fhem.de/index.php/topic,116386.msg1106619.html#msg1106619

LG
Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

GeZi3560

Zitat von: _Niemand_ am 07 Februar 2021, 14:39:52
Hallo steffen83 und hErMeS,
vielen Dank auch für eure Tipps. Das mit der "optischen Auslesevariante" hatte ich mir auch schon angesehen, aber für den Moment noch hinten angestellt.

Stattdessen hatte mir in der Tat schon Miniatur-Reed-Schalter (1,8x7mm) besorgt und letzte Woche "eingebaut". Die Messung mit diesen Reed-Schaltern und den "Generic Pulse Counter"-Module von ESPeasy meldete auch ganz vernünftige Werte bei den Counts.  :D
Deshalb hatte ich gestern anstatt des ESP8266-Controllers, der dafür testweise über eine Powerbar direkt am Gaszähler hing (also eine nur wenige Zentimeter lange "Zuleitung" zum Reedkontakt hatte), auf einen anderen ESP8266-Controller umgestellt (der sowieso auf den Elektroschaltschrank in ca. 3 Meter-Entfernung sitzt und bislang nur fürs Auslesen der Modbus-Stromzähler zuständig ist).

Leider gibt es jetzt viele "Fehlzählungen" beim Pulse-Counter. Wahrscheinlich koppelt da auf der längeren Zuleitung (geschirmte Telefonleitung) doch etwas ein.
Ich hatte auch schon mit der "Debounce Time" bei den ESP-Settings fürs PulseCounter-PlugIn herumgespielt (Einstellungen zwischen 1000msec bis 30000msec), konnte aber leider keine echte Verbesserung sehen. Was ich aber eigentlich schon erwartet hätte - bei den Entwicklern von ESPeasy gabs dazu auch eine ähnliche Diskussion in deren Forum - aber ohne das ich dort bis jetzt eine Lösung hätte finden können - außer den nachfolgend beschriebenen, möglichen Workaround).

Jetzt bin ich gerade am Testen, anstatt des Pulse-Counters das "Switch"-PlugIn von ESPeasy zu verwenden. Dort gibt es halt dann in meinen Fall ca. 80 Sekunden "On" und 100 Sekunden"Off" für jeden 0,1m3-Zählimplus (wenn der Brenner durchläuft). Ob das stabil funktioniert werde ich hoffentlich die Tage sehen können....

Hast du eine Lösung gefunden zu dem falschen Impulsen beim ESPeasy Pulsconter?
Ich habe an einem D1 GPIO12 ein Reed mit 10K pull down:
Esp ist konfiguriert mit  1. Switch und auch 2. dem Counter.
Der Counter zählt Impulse die der Switch nicht hat.
Als Referenz habe ich einen zweiten reed der einen Zwave Fenstersensor triggert, der liefert die gleichen Werte wie der Switch.
Hätte aber lieber die Variante mit dem Counter genutzt, nur wenn die nicht zuverlässig ist..

Gruss Gerd
Raspberry Pi 4 4GB, MariaDB,2 Cul V3 868 ,1 Cul V3, 433, Zwave-USB, Conbee2, DeConz, MAX WT und Ventile,HM, Somfy, Fibaro, Shellys, Tradfri, Lidl Zigbee

jans84

Mein Gaszähler ist von der SWM (München) und ist ein Gaszähler G4-RF1 aber es steht ACTARIS drauf und nicht Pipersberg. Deshalb war ich lange verunsichert welche Art der Ablesung ich brauche.
Dies hat etwas geholfen: http://www.flogiston.hu/downloads/products/163/rf1g4_rf1g6__d.pdf
Allerdings ist auch hier, wie in vielen Bildern, der Zähler mit 0,1m³ abgebildet und einer eingekreisten 2. Ich habe die 0,01m³-Variante und eine eingekreiste 1.

Ich habe auch lange mit dem Reedkontakt (mk 471 b) probiert und war verzweifelt.
Ich hatte mein Setup (Details siehe unten) soweit, dass es mit einem Magneten ging, aber nicht am Gaszähler. Der Trick war die Positionierung des Reedkontakts zu ändern.
Es hat funktioniert, als ich den Kontakt mit dem Kabel zum Betrachter über die letzte Rolle (weil 0,01) gelegt habe. Die "Vorderseite" des Kontakts nach unten, so dass die Bohrlöcher des Kontakts in der Luft hängen und nach links zeigen. Dann habe ich ihn bis hinten durchgeschoben und einfach mit etwas Papier festgeklemmt. Der Kontakt schließt wenn die 9 vorne ist und öffnet wieder wenn die 0 vorne ist. Ich hoffe das kann noch jemandem helfen!
Du darfst diesen Dateianhang nicht ansehen.

Danke an für Inspiration zur Grundlage meines Setups (ESP8622 + 10k Widerstand + Reed mk 471 b)
https://raphalang.de/blog/technik/esphome-gaszaehler/
Da ich noch nie gelötet habe, habe ich das ganze nur zusammengesteckt und die ersten Tage hält es bereits. Vielleicht treffe ich noch wen, der mir das richtig macht.
Danke an "Tristan's Smartes Heim" auf youtube "Gaszähler mit Aqara Melder bzw. Impulssensor smart machen" & "Antworten auf eure Fragen zum smarten DIY Gaszähler"  https://www.youtube.com/watch?v=PX2CsRs42dc
Auf Grund des Hinweises von Jens Schröder mache ich die Umrechung *0,01 auf dem Pi und nicht auf dem ESP.

swiegmann

#11
Hallo zusammen,

Danke für diesen Thread.
Ich war schon am verzweifeln aber inzwischen funktioniert bei mir folgendes Setup:

Gaszähler ist
  • Actaris G4 RF1
  • Baujahr 2005
  • 0,1 m3 Impuls

Aufbau::
  • ESP8266
  • 10k Widerstand
  • MK 471B Reed-Sensor
Zusammenbau ganz einfach wie von RaphaLang beschrieben

Ein kleines 3d gedrucktes Teil um den Reed direkt über der vorletzten Rolle (weil 0.1 und nicht 0.01 m3 Impuls) in Position zu halten (und etwas profesioneller sieht es auch aus  ;D )
Siehe Foto.

Der Trick ist, dass sich bei meinem Zähler der Impuls des Magneten abgreifen lässt, wenn die Ziffer "7" vorne ist.  ???
Ich habe ewig "an der 9" getestet und dachte schon, der Zähler hat keinen Magneten.

Aber der Reedkontakt schließt problemlos nur eben nicht bei der "9".


Viele grüße,
Sascha