FHEM Forum

Verschiedenes => Bastelecke => Thema gestartet von: Samsi am 11 Februar 2015, 16:31:05

Titel: Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 11 Februar 2015, 16:31:05
Hallo,

für alle die noch daran denken Ihren Zählerstand vom Gaszähler auszulesen, wollte ich kurz meine Version vorstellen, da diese sehr einfach aufgebaut ist und deutlich billiger als die Homematic lsöung. Außerdem kann man das noch erweitern, z.B. wenn man mit einem Phototransistor für 2€ den Lichtimpuls von einem Stromzähler auslesen möchte, falls dieser in der nähe zum Gaszähler steht ;)

Benötigt:
1xReedKontakt ca. 1€
1x5V Arduino  ca. 2€
1x5V Usb Netzteil ca. 5€
1x HLK-RM04 Serial-to-WiFi Module  ca. 12€

Mein Gaszähler ist ein BK G4 , da hab ich ein Reedkontakt reingebaut, so ähnlich wie hier:

http://onecable.net/Handbuch/anwendungsbeispiele_s0_counter_uebersicht.htm

Als Reedkontakt habe ich einfach einen MEDER aus einem Homatic Fensterkontakt genommen. Es gehen natürlich auch beliebige andere Reedkontakte. Die Positionierung ist etwas schwierig, wenn man aber die Richtige Position hat geht es zuverlässig. Am besten, man dreht den Gashahn zu während die letzte Stelle zwischen 9 und 0 anzeigt.  Messen kann man es dann z.B. mit einem am Reedkontakt angeschlossenem Multimeter (Durchgangsprüfer) .

Man sollte den Reedkontakt am besten auf ein Stück Lochrasterplatine löten. Die Lochrasterplatine so wählen, das sie die Ganze breite der Aussparung im Zähler einnimmt aber der Länge nach unter dem Zählwerk nach links und rechts verschiebbar ist. Am Ende hab ich dann etwas Heißkleber rund um die Platine gemacht damit ich die Platine dann in die Aussparung an die richtige Position unter Zählwerk klemmen kann und auch problemlos wieder rausbekomme.

Den Reedkontakt habe ich an den Pin 5 des Arduino angeschlossen und an GND. Siehe auch den Sketch.


Dann Habe ich einfach für  2-3€ einen 5V Arduino genommen (z.B.  Arduino Nano mit USB) und einen kleinen Sketch erstellt, der den Reedkontakt entprellt und bei Jeder Umdrehung GASVALUE: 0.01 auf die Serielle ausgibt. 0.01 Kubikmeter Gas  ist der Wert der einer ganzen Umdrehung der letzten Stelle des Gaszählers entspricht. Könnte bei eurem Gaszähler anderes sein.


Dann habe ich den Arduino wie hier zu sehen mit dem HLK-RM04 Serial-to-WiFi Module verbunden:

http://rayshobby.net/first-impression-on-hlk-rm04-serial-to-wifi-module/

Da sind auch Screnshots von dem Webinterfaces des HLK-RM04.
Wenn es neu ist, meldet es sich beim Einschalten erst mal als Accesspoint. Damit muss man sich erst mal verbinden, dann kann man es als Client in sein Netzwerk einbinden.

Dann kann man sich zum testen mit telnet (z.B. putty) mit dem Wifimodul verbinden und bekommt alle seriellen Ausgaben des Arduino angezeigt. Umgekehrt werden alle eingaben in telnet an den Arduino geschickt.

Um es dann in FHEM einzubinden erstellt man dann einfach ein ECDM device mit telnet auf den HLK-RM04:

define HLK-RM04  ECMD telnet <IPAddress:8080>

und ein weiteres Device:

define <name> ECMDDevice


Edit:

Hier der Inhalt der KellerSensor.classdef:

reading GasValue match "GASVALUE:.*\r\n"
reading GasValue  postproc {GasValue("%NAME",$_);}

Dadurch wird bei jedem GASVALUE der vom Arduino gesendet wird die Funktion GasValue aufgerufen (siehe weiter unten)


Definition ECMD:

define KellerSensor ECMD telnet 192.168.0.244:8080
attr KellerSensor classdefs KellerSensorClass=/opt/fhem/KellerSensor.classdef


Definition ECMDDevice:

define Gaszaehler ECMDDevice
attr Gaszaehler IODev KellerSensor
attr Gaszaehler class KellerSensorClass


Dazu habe ich mir noch einen Dummy gemacht:

define Gasverbrauch dummy

Der Dummy muss dann einmal mit eurem  Zählerstand initialisiert werden:
set Gasverbrauch 3345.341


Und eine Funktion die in 99_MyUtils.pm kommt und den Dummy hochzählt:

sub GasValue($$)
{
my ($device,$reading) = @_;

fhem "set Gasverbrauch " . (ReadingsVal('Gasverbrauch','state',"off")  + 0.01);
my ($key,$result) = split(" ",$reading);
return $result;
}


Grüße
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 11 Februar 2015, 17:21:24
Sehr genial, vielen Dank fürs Vorstellen.
So etwas suche ich schon länger.

Werde gleich mal die Teile ordern und würde mich über Deinen Sketch und Code sehr freuen.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: schka17 am 11 Februar 2015, 19:32:13
so etwas habe ich auch schon gesucht, hast du vielleicht eine Bezugsquelle für HLK-RM04?

Gruß

Karl 
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 11 Februar 2015, 20:10:15
Ich habe den Beitrag oben geändert und u.a. die Dateien hinzugefüügt.

Bestellt hatte ich hier: www.ebay.de/itm/251595357260

Da war auch eine einfache Klebeantenne mit Pigtail anschluss dabei.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 12 Februar 2015, 09:08:06
Hab mir gestern mal meine Zähler angeschaut und bin nicht sicher, ob das bei meinem alten Stück auch geht.
Kennt den jemand und kann was dazu sagen (Bild im Anahang)?
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Carsten am 12 Februar 2015, 09:52:57
Zitat von: Mitch am 12 Februar 2015, 09:08:06
Hab mir gestern mal meine Zähler angeschaut und bin nicht sicher, ob das bei meinem alten Stück auch geht.
Kennt den jemand und kann was dazu sagen (Bild im Anahang)?

Hallo,
diese Aussparung über dem Zähler ist normalerweise für den Reedkontakt gedacht. Wo genau der Magnet sitzt, muss man ausprobieren. Vermutlich an der 9 einer der letzten drei Ziffern.

tl;dr: Sollte gehen
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Franz Tenbrock am 12 Februar 2015, 10:02:36
Hallo
das geht scheinbar in die Richtung von mysensors, nur hier wifi Modul was natürlich die Sache einfacher macht, nicht noch ein Empfänger...
Hab leider nicht so viel Ahnung von Ardunio und co, aber ich vermute das man so was dann auch anschließen könnte ...
http://www.ebay.de/itm/DYP-ME007Y-Ultrasonic-Non-contact-Distance-Measuring-Sensor-Module-Board-DC-5V/130705092780?_trksid=p2045573.c100033.m2042&_trkparms=aid%3D111001%26algo%3DREC.SEED%26ao%3D1%26asc%3D20131017132637%26meid%3D057e2270e44a48b5a812192837137060%26pid%3D100033%26rk%3D3%26rkt%3D4%26sd%3D251595357260

und viele andere Sensoren dann auch wohl....
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 12 Februar 2015, 10:24:00
Hallo,

leider muss ich feststellen, dass das WLAN Modul möglicherweise nicht stabil läuft. Gestern hat FHEM die Verbindung verloren das WLAN Modul noch erreichbar war und auch Daten lieferte.

Heute ist das WLAN Modul nicht mehr erreichbar gewesen. Möglicherweise Empfangsprobleme. Bei mir ist der Empfang im Keller nicht so gut.   Ich werde es mal mit einer anderen Antenne und Position probieren.

Störend ist auch, das FHEM nicht zuverlässig eine getrennte Verbindung anzeigt und ich dann manuelle ein Reopen machen muss. Ich werde es mal etwas modifizieren, das ich evtl. einen Heartbeat einbaue um zuverlässig zu erkennen wenn es nicht erreichbar ist.

Schade, leider doch nicht so einfach wie gedacht.

@Franz Tenbrock
Ja, deshalb habe ich es auch mit WiFi probiert. Kein zusätzlicher Empfänger. Und den Distanssensor kann man sicher auch anschließen.
Ich habe allerdings diesen hier probiert:

http://www.ebay.de/itm/Ultrasonic-Module-HC-SR04-Distance-Measuring-Transducer-Sensor-for-Arduino-UNO-/190954006895?pt=Wissenschaftliche_Ger%C3%A4te&hash=item2c75bee96f

Da gibt es auf jeden Fall eine Arduino Library für.  Und dann muss man nur noch die Daten auf die Serielle schreiben.

Wenn das ESP8266 Wifi Modul endlich mal hier eintrifft, werde ich das auch mal testen. Nur ist das etwas schwieriger zu konfigurieren, weil es kein WebInterface hat und die Transparente Serielle Bridge funktioniert da nur mit einer alternativen Firmware, wenn ich das richtig interpretiert habe.

Grüße


Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Franz Tenbrock am 12 Februar 2015, 10:44:08
Hallo
Problem bei diesem US Empfänger wird sein das er nicht gegen Feuchtigkeit geschützt ist, Mein ungeschützter hat sich nach einem Jahr im Dom der Zisterne verabschiedet, denke es lag an der Feuchtigkeit, daher würde ich lieber einen nehmen der für solche Verhältnisse konstruiert ist, beim Auto halten die Dinger ja auch
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 12 Februar 2015, 10:46:10
So, habe mal alles nötige bestellt.

Wo wird denn der Reedkontakt angeschlossen?
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Wzut am 12 Februar 2015, 11:19:17
Zitat von: Samsi am 12 Februar 2015, 10:24:00
und die Transparente Serielle Bridge funktioniert da nur mit einer alternativen Firmware

nein, dafür hat die normale Firmware auch ein AT Kommando , nur hatte ich wie im anderen Thread erwähnt ewig danach gesucht und damals nichts gefunden. Inzwischen kenne ich es aber. 
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 12 Februar 2015, 11:42:26
Aslo das habe ich AT Kommando habe ich auch gesehen beim ESP 8266,  allerdings verstehe ich nicht warum es das hier gibt:

https://github.com/beckdac/ESP8266-transparent-bridge

Also ich bin da noch nicht sicher solange ich die nicht hier selbst mal ausprobiert habe ;)


@Franz Tenbrock
Mein Keller ist nicht feucht ;) Schon gar nicht wie eine Zisterne und das Modul ist keine 3 Monate alt. Im übrigen musste ich es auch nicht ausschalten. Ich hab kurz an der Antenne hantiert und dann war er auch wieder erreichbar ohne Neustart. Allerdings habe ich dann im Webfrontend auch gesehen, das er seit 12 Stunden an ist. Also musst er sich gestern um 22 Uhr neu gestartet haben. Im moment gehe ich von schlechter WLAN verbindung aus. Die Signalstärke ist bei mir nur "Weak" die Qulität schwank zwischen "Good" und "Normal"


@Mitch
den Reedkontakt habe ich an den Pin 5 des Arduino angeschlossen und an GND. Siehe auch den Sketch. Pin 5 habe ich per internen Pullup auf High, so das er durch den Reedkontakt kurz auf low geschaltet wird.






Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 18 April 2015, 20:08:22
So, habe nun endlich alle Teile aus Asien erhalten.

Leider funktioniert es nicht  :-[

Ich habe den WLAN Adapter umkonfiguriert und in mein Netzwerk gebracht.
fhem meldet auch open, das passt also.

Leider sehe ich in Telnet gar nichts und in fhem wird auch nichts angezeigt, wenn ich den Reed mit einem Magnet ein paar mal schalten lasse.

Du schreibst, Du hast den Reed an Pin 5. Was meinst Du genau, den Pin A5, also Pin 24?

Folgendes habe ich im telnet:
MitchBook-Pro:~ mitch$ telnet 192.168.0.58 8080
Trying 192.168.0.58...
Connected to 192.168.0.58.
Escape character is '^]'.


Drücke in den Knopf am Arduino kommt:
??????`f????f???~??????怘???????`f????f~???????????f~f??怘?

das "Gaszaehler" device in fhem zeigt immer STATE ? ? ?

Muss ich am WLAN Module noch etwas für die serielle Kommunikation einstellen?
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 18 April 2015, 21:43:08
Hi,

im sketch ist der Pin 5 referenziert:

const int REED_RELAY = 5;

Ich hatte einen Arduino Nano. Du kannst aber auch einen anderen Digitalen Pin nehmen, musst ja nur den Sketch umarbeiten.


??????`f????f???~??????怘???????`f????f~???????????f~f??怘?

Sieht nach falscher Baudrate aus. Im Sketch ist Serial.begin(57600)  eingestellt.

Das Musst Du auch im dem WLAN Modul einstellen, sonst kann das Modul auch nicht mit dem Arduino kommunizieren.

Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 19 April 2015, 11:04:23
Danke, die Übertragungsgeschwindigkeit wars:

Trying 192.168.0.58...
Connected to 192.168.0.58.
Escape character is '^]'.
Initialising...
Initialisation complete.


Allerdings immer noch keine Reaktion auf den Reedkontakt.

Ich habe ihn an Pin 5 (D2) und PIN 4 (GND)
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 19 April 2015, 19:58:17
Min Pin 5 meinte ich den digitalen Pin 5 welcher beim Nano der Physische pin 9 ist.
Wenn Du den digitalen pin 2 genommen hast, ändere das doch einfach im Sketch auf 2.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 19 April 2015, 20:32:26
Super, Danke, jetzt geht es!!

Allerdings ist der WLAN Empfang von diesem Modul ziemlich schlecht  :-\
Hast Du eine externe Antenne dran?

Überlege, eine Antenne aus einem Laptop anzuschliessen.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Samsi am 19 April 2015, 20:59:48
Nur die die dabei war. Bei mir war so eine 5cm lange Platinen-Antenne mit Pigtail Anschluss dabei. Reicht bei mir auch so gerade 5m durch eine Betondecke.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 19 April 2015, 21:03:36
Oh, bei mir war leider gar nichts dabei  >:(
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: John am 19 April 2015, 21:41:19
Warum nimmst du eigentlich nicht einfach den ESP8266-01.

Damit reduziert sich die Bauteilliste:

1xReedKontakt ca. 1€
1x3.3V Netzteil ??
1x ESP8266-01     2,70€

Dieser wird auch unter der Arduino IDE programmiert.

Ich habe hier mit einem ESP
http://forum.fhem.de/index.php/topic,35572.msg283927.html#msg283927 (http://forum.fhem.de/index.php/topic,35572.msg283927.html#msg283927)
einen DHT22 und ein Relais damit angesteuert.

Ein normaler digitaler Eingang ist als kein Problem.

John
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 20 April 2015, 08:39:07
Gute Idee, Danke.

Kann ich denn einen Reed, oder Regensensor direkt an das ESP8266 Modul anstecken?
Hab ich das richtig verstanden, dass der Arduino dann wegfällt?

Wäre genial für meinen geplanten Bodenfeuchtesensor.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: John am 20 April 2015, 08:50:32
ZitatKann ich denn einen Reed, oder Regensensor direkt an das ESP8266 Modul anstecken?
Hab ich das richtig verstanden, dass der Arduino dann wegfällt?

Der ESP8266-01 hat 2 GPIOs für digitale Signale.
ESP8266-03 bietet hier deutlich mehr Möglichkeiten.

Richtig, der Arduino selbst entfällt und der ESP wird mit der Arduino-IDE programmiert.


John
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Mitch am 20 April 2015, 09:02:52
Sehr schön, Danke.

Gerade mal einen zum Testen bestellt.
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Franz Tenbrock am 27 Mai 2015, 12:50:25
und schon fertig ?
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: Cruiser79 am 10 Februar 2016, 08:11:52
Yo, der Thread ist alt, aber ich benötige Langzeitinformation.
Ich habe den Sketch auch einmal mit einem ESP8266 ausprobiert, generell funktioniert er. Aber ich habe das Problem, das die Entprellfunktionalität wohl nicht korrekt zu funktionieren scheint. Ich habe pro Tag 0,01 mehr auf meinem ESP Zähler stehen, als auf dem Gaszähler. Hattet/Habt ihr diese Probleme auch gehabt?

Gruß,
Tim
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: GT2006 am 27 Februar 2018, 16:35:41
Hat diese gute Idee bereits jemand in Homematic einbinden können ?

Gruss
Jan
Titel: Antw:Günstiger, einfacher WLAN Impulsnhemer für Gaszähler
Beitrag von: cs-online am 20 November 2020, 20:35:49
Hallo,

ich habe seit ein paar Jahren einen ESP8266 (Whittyboard) und einen Reedkontakt, einen kleinen 100nF (soweit ich mich erinnere) mit ESPeasy im Einsatz und das läuft super.

Grüße

Christian