FHEM Forum

Verschiedenes => Bastelecke => ESP Familie => Thema gestartet von: Dracolein am 18 Februar 2020, 08:52:26

Titel: Gaszähler smart machen & Auswertung
Beitrag von: Dracolein am 18 Februar 2020, 08:52:26
Guten morgen zusammen,

ich verfolge derzeit das Ziel, eine schöne jährliche Gasverbrauchsanzeige in einem Balkendiagramm auf meinem FHEM Dashboard zu realisieren.
Dass meine persönlichen Skills bei Weitem nicht ausreichen werden, ist mir bewusst, aber man wächst (hoffentlich) mit den Aufgaben  8)
Diverse Projekte, die das bereits erfolgreich umgesetzt haben, fand ich - auch hier im Forum - schon einiges.

Ausgangslage:
1x Reedkontakt
1x ESP8266 auf nodeMCU
1x WLAN im Keller

Das ganze Projekt inkl. Hard & Software ist für mich Neuland. Zunächst habe ich gestern erfolgreich ESP Easy geflasht und die kleine Platine erfolgreich mit fester IP-Adresse und dem Wireless LAN im Keller verbunden. Somit befindet sich das Dingen bereits im Netzwerk. Das ging einfach und schnell. 
Danach ging es an einen Testaufbau, um einen Reedkontakt per "Pulse Counter" zum laufen zu bekommen. Als dies halbwegs zuverlässig funktionierte, verbrachte ich weitere 2 Stunden damit, eine vernünftige Position an unserem Gaszähler zu finden; letztlich auch mit Erfolg.

Ein erstes Problem, für das ich trotz trial & error keine Lösung finde: (wobei ich auch nicht weiß, ob es überhaupt ein Problem im weiteren Verlauf wird...)
Der Zählvorgang erfolgt derzeit auf "Total". Gestern im Testbetrieb erfolgte dies auf "Count". Dazwischen lag lediglich 1-2 Neustarts des ESP8266. Egal welche Einstellungen ich im Setup tätige, es hat irgendwie keinen Einfluss auf die Ausgabe.
Seither wird jeder Kontakt zwar zuverlässig mitgezählt, aber ausschließlich auf "Total".

Warum ist das so?



Danke vorab für Eure Hilfe.




Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Nobbynews am 18 Februar 2020, 09:26:04
Das ist normal.
Unter Count werden nur die Impulse bis zur nächsten Übermittlung an FHEM gezählt und dann wieder auf Null gesetzt, bei Dir also gemäß Angabe Interval alle 60 Sekunden.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Dracolein am 18 Februar 2020, 09:45:48
Herzlichen Dank, das erklärt es natürlich.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Dracolein am 02 März 2020, 21:23:14
Ich hätte noch eine Anschlussfrage aus aktuellem Anlass:

Die Zählwerte des ESP8266 werden im 30-Sek-Takt zu FHEM übertragen und dort in folgendem Device gezählt. Nun habe ich die vergangenen Tage regelmäßig alle Zählstände händisch notiert, um Abweichungen zu finden und Optimierungen durchzuführen.
Heute abend ist mir der FHEM-Rechner kurzzeitig abgestürzt und nach dem Restart war der Zählwert dieses unten genannten Devices anstelle von ca. 12.000 bei den hier gezeigten Total=9341 Inits.

Meine Frage(n):
- Wird dieser Zähler irgendwie "ausfallsicher" zwischengespeichert?
- Und falls (vermiutlich) nicht: besteht eine Möglichkeit dazu?
- Angenommen es gab keine Zwischenspeicherung o.ä., weshalb startete FHEM nicht mit u.g. Total = 0, sondern mit Total = 9341 ?


Zitat
Internals:
   DEF        192.168.178.100 80 ESP_Bridge ESP_Easy1_reedkontakt
   ESP_BUILD  20104
   ESP_BUILD_GIT mega-20200204
   ESP_BUILD_NOTES  - Mega
   ESP_Bridge_MSGCNT 136
   ESP_Bridge_TIME 2020-03-02 21:18:32
   ESP_NODE_TYPE_ID ESP Easy Mega
   ESP_SLEEP  0
   ESP_UNIT   ESP Easy
   ESP_VERSION 2
   FUUID      5e4b9e12-f33f-4dec-70a4-577ccbaeae8b3b8d
   HOST       192.168.178.100
   IDENT      ESP_Easy1_reedkontakt
   INTERVAL   300
   IODev      ESP_Bridge
   LASTInputDev ESP_Bridge
   MAX_CMD_DURATION 1
   MSGCNT     136
   NAME       ESPEasy_ESP_Easy1_reedkontakt
   NOTIFYDEV  global
   NR         86
   NTFY_ORDER 50-ESPEasy_ESP_Easy1_reedkontakt
   PORT       80
   STATE      ree: 0 ree: 72571 ree: 2217
   SUBTYPE    device
   TYPE       ESPEasy
   VERSION    2.18
   READINGS:
     2020-03-02 21:18:32   Total           9341
     2020-03-02 21:16:22   presence        present
     2020-03-02 21:18:32   reedkontakt_Count 0
     2020-03-02 21:18:32   reedkontakt_Time 72571
     2020-03-02 21:18:32   reedkontakt_Total 2217
     2020-03-02 21:18:32   state           ree: 0 ree: 72571 ree: 2217
   helper:
     fpc        1583176248
     pm:
       Encode     1
       JSON       1
     received:
       reedkontakt_Count 1583180312
       reedkontakt_Time 1583180312
       reedkontakt_Total 1583180312
   sec:
     admpwd     
Attributes:
   IODev      ESP_Bridge
   Interval   300
   alias      Gaszaehler_Hardware
   group      ESPEasy Device
   presenceCheck 1
   readingSwitchText 1
   room       ESPEasy
   setState   3
   userReadings Total monotonic {ReadingsVal("ESPEasy_ESP_Easy1_reedkontakt","reedkontakt_Total",0)}
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: kabanett am 02 März 2020, 21:41:06
Hallo Dracolein,
wäre es nicht sinnvoll das Device mit dem GasCalculator- Modul zu verarbeiten? Dann hättest du auch automatisch alle möglichen Auswertungen für dein Diagramm.

Gruß
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Dracolein am 02 März 2020, 21:46:45
Oh das tue ich bereits. Das hier gezeigte Device ist der Zähler, auf welches das Modul zurückgreift.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Nobbynews am 03 März 2020, 09:08:03
Das sollte eigentlich schon über Dein userReading Total erfolgen.
userReadings Total monotonic {ReadingsVal("ESPEasy_ESP_Easy1_reedkontakt","reedkontakt_Total",0)}

Allerdings scheint mir das userreading nicht korrekt zu sein.
Es müsste mMn so lauten:
userReading Total:reedkontakt_Total.* monotonic {ReadingsVal("ESPEasy_ESP_Easy1_reedkontakt","reedkontakt_Total",0)}
Damit bleibt der Wert von Total erhalten, auch wenn reedkontakt_Total wieder auf einen anderen Wert zurückfällt. Es wird ja nur die Differenz des Reading reedkontakt_Total zwischen neuem und alten Wert auf das neue Reading Total aufsummiert.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Beta-User am 03 März 2020, 09:55:15
Der Hinweis auf trigger ist zwar (auch) wichtig, was die Frage nach dem Zählerstand angeht, ist hier aber das "Problem", dass FHEM zwischendurch abgeschmiert war - daher wurde der Readingwert nicht in der statefile gespeichert, sondern beim Start dann der letzte dort zu findende Wert genommen, und der war eben veraltet.

Um die durch sowas entstehenden Differenzen zu verringern, kann man nur zwischendurch "save" durchführen (bei einem shutdown (+restart) wird das automatisch gemacht), oder die statefile mittels "WriteStatefile()"-Aufruf separat abspeichern (kann aber zu Logmeldungen führen wenn cfg und statefile nicht zusammenpassen). Besser wäre es allerdings, die Absturzursache zu finden, normal ist das nämlich nicht...
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 07 März 2020, 18:56:57
ZitatAls dies halbwegs zuverlässig funktionierte, verbrachte ich weitere 2 Stunden damit, eine vernünftige Position an unserem Gaszähler zu finden; letztlich auch mit Erfolg.

Hallo Dracolein,

ich hab leider erfolglos versucht einen Reedkontakt am Gaszähler zu plazieren.
Da du 2 Stunden gebrauchst hast, muss es wohl einen besondernen Trick geben - willst du mir den verraten, bzw. wie du vorgegangen bist?

Viele​ Grüße​ Gisbert​
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 07 März 2020, 19:01:44
Hallo Gisbert,

ich hab´s damals auch vergeblich mit einem Reed-Kontakt versucht.
Mit nem Hall-Sensor hat´s dann schlußendlich funktioniert...
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 07 März 2020, 19:23:25
Zitat von: Papa Romeo am 07 März 2020, 19:01:44
Hallo Gisbert,

ich hab´s damals auch vergeblich mit einem Reed-Kontakt versucht.
Mit nem Hall-Sensor hat´s dann schlußendlich funktioniert...

Hallo Papa Romeo,
das ist ja interessant, Hall-Sensoren hatte ich mir damals auch besorgt, dann aber nicht weitergemacht, da ich damals nicht wußte, wie ich die softwareseitig einbinden könnte; mit ESPs hatte ich da noch nichts gemacht.
Dann werde ich mich mal einlesen und einen Testaufbau realisieren. Ich hab die Siemens TLE 4905 L, hoffentlich sind die geeignet.

Viele​ Grüße​ Gisbert​
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Dracolein am 07 März 2020, 20:14:13
Zitat von: Gisbert am 07 März 2020, 18:56:57
Hallo Dracolein,

ich hab leider erfolglos versucht einen Reedkontakt am Gaszähler zu plazieren.
Da du 2 Stunden gebrauchst hast, muss es wohl einen besondernen Trick geben - willst du mir den verraten, bzw. wie du vorgegangen bist?

Viele​ Grüße​ Gisbert​

Leider gibt es da keinen Trick, den ich Dir mitteilen könnte. Man sieht halt als Laie von aussen schlecht, wo der Magnetkontakt seine Runden dreht im Zählwerk. Weiterhin wusste ich auch nicht den maximal möglichen Abstand des Reedkontakts, bei dem selbiger noch zuverlässig schaltet.
Kurzum, es war try and error.

Aber Du kannst gern mal ein Foto von Deinem Zähler hier reinstellen, vielleicht können wir Dir einen Tip geben.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 07 März 2020, 22:08:18
Zitat von: Gisbert am 07 März 2020, 19:23:25
Ich hab die Siemens TLE 4905 L, hoffentlich sind die geeignet.

..soviel ich mich erinnern kann, hab ich den auch.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 07 März 2020, 23:18:19
Zitat von: Papa Romeo am 07 März 2020, 22:08:18
..soviel ich mich erinnern kann, hab ich den auch.
Hallo Papa Romeo,

ich hab mal etwas mit dem nackten TLE4905L auf einem Breadboard rumprobiert. Je nach eingesetztem Widerstand und Messort kann man eine Spannung bzw. nahezu keine Spannung bei Ännäherung eines Magneten registrieren. Das funktioniert schon mal soweit, dass ich mit diesem Testaufbau dem Gaszähler auf den Leib rücken werde, um zu sehen, ob es vom Prinzip her funktioniert.

Jetzt kommt aber ein größeres ABER.
Der Hall-Sensor muss mit größer 3.8V betrieben werden, kein Problem ich hab ja 5V. Die Digitalein/ausgänge bei ESP8266 vertragen das aber nicht so doll. Ich bin mir unsicher, wo ich welchen Widerstand anbringen muss, welches V+ an den Ausgang des TLE4905L gehört, etc., damit der ESP überlebt. Meinst du, dass du mir eine Skizze anfertigen kannst, wie der TLE4905L und Widerstand verdrahtet und an den ESP8266 angeschlossen werden? Ich hab versucht das zu googlen und das Datenblatt zum TLE4905L zu verstehen, schaffe es aber nicht alleine. Im Datenblatt unter "Figure 8 Application Circuit" sind auch noch 2 Kondensatoren eingezeichnet, braucht man die wirklich?

Viele Grüße Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Dracolein am 08 März 2020, 08:19:39
Ich habe gestern auch ein 12V Signal am ESP8266 GPIO anschließen müssen und kurzerhand einen Spannungsteiler aus 2 Widerständen gebastelt ,um das Signal auf 3V zu reduzieren.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 08 März 2020, 13:18:17
Zitat von: Gisbert am 07 März 2020, 23:18:19
Meinst du, dass du mir eine Skizze anfertigen kannst...

Hallo Gisbert,

klar doch, look like this...
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 08 März 2020, 18:17:36
Hallo Papa Romeo,
die Schaltung funktioniert schon mal. Ich bekomme ~3.2V ohne Magnet und einige mV bei Annäherung eines Magneten.
Dieser Teil wäre dann schon mal geschafft.

Hallo Dracolein,
der schwierigere Part ist die Positionierung des Hall-Sensors. Ich habe einen Pipersberg G4 RF1c, siehe Bild und Datenblatt.
Wo um Himmelswillen positioniert man den Winzling von Hall-Sensor, und in welcher Frequenz läuft der Magnet einmal rum. Wenn es ein Umlauf bei der 3. Nachkommastelle ist, dann kann man es vielleicht durch Probieren rausbekommen. Wenn es die 1. Nachkommastelle ist, dann brauch ich ein Feldbett neben dem Gaszähler, und bei der 1. Vorkommastelle gebe ich auf. Bis jetzt habe ich ziemlich wahllos an verschiedenen Stellen probiert, jeweils mit mindestens einer Drehung der 3. Nachkommastelle. Nach 5 Minuten habe ich erstmal aufgegeben und hoffe hier auf Unterstützung.
Noch ein Hinweis die 6 der 3. Nachkommastelle hat eine Reflexionsschicht aufgeklebt.

Viele Grüße Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 08 März 2020, 18:36:57
Hallo Papa Romeo und Dracolein,

googlen nach dem besagten Gaszähler führt zu dieser (https://www.symcon.de/forum/threads/40408-Anleitung-Pipersberg-G4-RF1-c-Gasz%C3%A4hler-an-ip-Symcon) Seite, in der gesagt wird, dass dieser Typ nicht per Reedkontakt ausgelesen werden kann. Angehängt ist noch eine weitere Beschreibung des Gaszählers mit den verschiedenen Typen "e" wie elektronisch, "o" mit Reedkontakt und "c" mit was anderem.

Auf der oben verlinkten Webseite wird gesagt, dass es mit einem induktiven Näherungsschalter funktioniert.
Ich werden diesen Weg mal beschreiten.

Viele Grüße Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 08 März 2020, 18:55:55
Hallo Gisbert,

normal ist es die 3. Nachkommastelle (0.01 m3). Zumindest ist es bei mir so.
Kannst mal schauen, ob du zwischen der 6 und 7 der dritten Nachkommastell auch eine kleine Spiegelfläche hast.
Dann könntest du auch eine Reflexlichtschranke, wie z.B. 

https://www.ebay.de/i/223898051348?chn=ps&norover=1&mkevt=1&mkrid=707-134425-41852-0&mkcid=2&itemid=223898051348&targetid=860476825588&device=c&mktype=pla&googleloc=9042127&poi=&campaignid=7219685408&mkgroupid=90355299118&rlsatarget=pla-860476825588&abcId=1139166&merchantid=112038509&gclid=CjwKCAiAzJLzBRAZEiwAmZb0aiv9O_LFQPJb48xsmYXAqk9HSSKJMQynBRljUd131ITYyLK8I6OYihoChRoQAvD_BwE

als Impulsgeber einsetzen.

Hab ich mal bei einem Wasserzähler so realisiert.

LG

Papa Romeo
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 08 März 2020, 19:55:10
Hallo Papa Romeo,

ich bin eine großen Schritt weitergekommen.
Ich hatte noch einen induktiven Näherungssensor LJ12A3-4-Z/BJ in meiner Sammlung. Der liefert auch noch mit 5.0V Versorgungsspannung ein eindeutiges Signal auf der Signalleitung bei Annäherung von Metall; man bekommt dann ca. 4.5V in der Spitze, die sich bei 4.38V einpendelt. Ohne Annäherung an Metall ist die Spannung < 1mV.

Jetzt kommt natürlich die unvermeidbare Bitte nach einem Schaltplan zum Anschluss an einem GPIO eines ESP8266.
Mindestens ein Spannungsteiler ist notwendig, um die Spannung auf ca. 3.3V zu bekommen.
Die meiste Zeit registriert der Näherungssensor kein Metall, dann liegen ca. 0V am GPIO an, es sei denn das Drehrad bleibt genau dann stehen, wenn der Näherungssensor ein Signal bekommt - dann würden die 4.5 bis 4.38V anliegen.
Könntest du mir nochmals eine Skizze machen (oder beschreiben), wie ich die Signalleitung an einen GPIO des ESP8266 anschließen muss?
Versorgungsspannung und GND sind mir klar.
Ist es elektrisch egal, ob die meiste Zeit 0V oder die runtergeregelte 3.3V am GPIO anliegen? Mit meiner Frage siehst du, auf welchem Niveau wir uns bewegen 8)

Bis hierher schon mal vielen Dank für deine großartige Unterstützung.
Viele Grüße
Gisbert

PS: Die Position am Gaszähler ist anhand des Datenblattes super leicht zu finden; d.h. dieser Teil der Aktion kann auch als erldigt betrachtet werden.
PPS: Das Datenblatt des Näherungssensors sagt, dass der Outputstrom 300 mA beträgt, das dürfte eindeutig zuviel für einen GPIO sein. Gemessen habe ich mit den oben beschriebenen Bedingungen (5V Versorungsspannung) ca. 67 mA, auch noch viel zuviel für einen GPIO.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 08 März 2020, 21:28:56
Hallo Gisbert,

der Ausgangsstrom des Sensor´s spielt hier keine Rolle. Die Dinger sind auch dazu gedacht direkt eine Relais anzusteuern deswegen der hohe mögliche Ausgangsstrom. In der Anwendung wie du ihn nutzen willst, fließt nicht einmal annähernd soviel Strom.

Bei der Version 1 (Anhang) fließt der Strom, den der interne Pullup zulässt (nicht vergessen Diesen im Sketch zu aktivieren).

Funktioniert wie folgt: Stehen am Ausgang des Sensor´s 4.5 Volt an, ist die Diode in Sperrichtung und am GPIO stehen, durch den internen Pullup
oder wenn gewünscht auch durch einen externen Pullup (z.B. 10 kOhm), 3.3 Volt an. Geht der Ausgang des Sensor´s auf LOW, ist die Diode in
Durchlassrichtung und am GPIO verbleiben etwa 0.5 bis 0.7 Volt.

Bei der Version 2 (Anhang) fliessen 0,1 mA (12/33 kOhm) bzw. 1 mA (1.2/3.3 kOhm). Ob ständig 0 oder 3.3 Volt an GPIO liegen spielt keine Rolle.
Funktioniert nach dem normalen Spannungsteiler-Gesetz. Ua = Uges * Ra / Rv + Ra --> Ua = 4.5 * 33 / 12 + 33

Ich hoffe du kommst klar damit.

LG

Papa Romeo
Titel: Gaszähler smart machen & Auswertung
Beitrag von: andies am 08 März 2020, 21:29:52
Den Strom vom Sensor brauchst du ja nicht am GPIO, den musst du nur von der Stromversorgung her bereitstellen. Eigentlich verträgt wohl der Esp an den GPIOs 5V, ich habe in einem anderen Thread dazu Links. Wenn du das nicht riskieren willst, dann eben per Spannungsteiler.

<edit> papa romeo war wieder mal schneller [emoji41]

Gesendet von iPad mit Tapatalk Pro
Titel: Gaszähler smart machen & Auswertung
Beitrag von: HomeAuto_User am 09 März 2020, 02:18:01
Hallo,
ich habe mal den Faden überflogen.

Gern kannst du deinen ESP auch mit dem Projekt von hier

https://github.com/elektron-bbs/ESP-Gaszaehler-GZ16

flashen. Somit hast du direkt die Diagramme zum aufrufen und parallel auch eine MQTT Anbindung zu FHEM.

Ich habe somit sämtliche Statistiken.

Liebe Grüße

BeispielScreens anbei
(https://uploads.tapatalk-cdn.com/20200309/0aa77253143ce3df49cfa7eba9fd5e80.jpg)

(https://uploads.tapatalk-cdn.com/20200309/e54e6d487d7558fd26a9eb64943fcc35.jpg)

(https://uploads.tapatalk-cdn.com/20200309/a48f59c9c7740b310e1a972f711f56de.jpg)

Gesendet von iPhone mit Tapatalk Pro
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 28 März 2020, 13:25:17
Zitat von: Papa Romeo am 08 März 2020, 21:28:56
Hallo Gisbert,

der Ausgangsstrom des Sensor´s spielt hier keine Rolle. Die Dinger sind auch dazu gedacht direkt eine Relais anzusteuern deswegen der hohe mögliche Ausgangsstrom. In der Anwendung wie du ihn nutzen willst, fließt nicht einmal annähernd soviel Strom.

Bei der Version 1 (Anhang) fließt der Strom, den der interne Pullup zulässt (nicht vergessen Diesen im Sketch zu aktivieren).

Funktioniert wie folgt: Stehen am Ausgang des Sensor´s 4.5 Volt an, ist die Diode in Sperrichtung und am GPIO stehen, durch den internen Pullup
oder wenn gewünscht auch durch einen externen Pullup (z.B. 10 kOhm), 3.3 Volt an. Geht der Ausgang des Sensor´s auf LOW, ist die Diode in
Durchlassrichtung und am GPIO verbleiben etwa 0.5 bis 0.7 Volt.

Bei der Version 2 (Anhang) fliessen 0,1 mA (12/33 kOhm) bzw. 1 mA (1.2/3.3 kOhm). Ob ständig 0 oder 3.3 Volt an GPIO liegen spielt keine Rolle.
Funktioniert nach dem normalen Spannungsteiler-Gesetz. Ua = Uges * Ra / Rv + Ra --> Ua = 4.5 * 33 / 12 + 33

Ich hoffe du kommst klar damit.

LG

Papa Romeo

Hallo Papa Romeo,

ich hab mich entschlossen den induktiven Näherungssensor mit 12V zu betreiben.
Ich hab mittlerweile auch den Adapter per 3D-Druck zur Montage am Gaszähler; das passt alles perfekt und der Sensor mit seiner LED leuchtet.

Bei letscontrolit.com (hier (https://www.letscontrolit.com/wiki/index.php/LJ12A3)) wir die im Bild angehängte Schaltung vorgeschlagen. Diese ähnelt zumindest deinem Vorschlag 1.
Von den Bauteilen habe ich alle bis auf den BC-547, ich hätte aber den BC-337 - vom Datenblatt her sind die sich ziemlich ähnlich.

Wie ist deine Meinung zur Lösung bei letscontrolit.com unter der Prämisse, dass ich den Sensor mit 12V betreibe, und kann ich den BC-337 statt des BC-547 einsetzen?
Brauch ich dann auch den pull-up-Widerstand am GPIO?

Viele Grüße und bleib gesund
Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 28 März 2020, 19:59:15
Hallo Gisbert,

den BC337 kannste auch verwenden. Er verträgt einfach nur etwas mehr Leistung wie der BC547.

Die 12 Volt können auf Grund der Diode (ist in Sperrrichtung für die 12 Volt) nicht auf den GPIO
wirken. Wenn Du also den Pullup nicht softwäremäßig setzt oder setzen kannst, solltest du ihn schon einbauen,
damit der GPIO seinen definierten 3.3 Volt HIGH-Pegel bekommt, wenn der Transistor nicht geschaltet hat.

Gruß und coronafreie Zeit

Papa Romeo
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 29 März 2020, 11:50:53
Hallo Papa Romeo,

im Testaufbau (ohne ESP) funktioniert es mit dem Schaltplan von letscontrolit.com (BC337 statt BC547) und dem pull-up mit 10 kOhm wie folgt:
Lasse ich den pull-up-Widerstand weg bekomme ich folgendes:

Auch wenn ich den negativen Spannungswert nicht verstehe, so überzeugt mich die Funktion des pull-up-Widerstands.
Jetzt muss ich das ganze noch zusammen"fummeln" und an einen bestehenden KANNIX anflanschen.

Viele Grüße, stay save and healthy
Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 29 März 2020, 14:25:52
Zitat von: Gisbert am 29 März 2020, 11:50:53
Auch wenn ich den negativen Spannungswert nicht verstehe, so überzeugt mich die Funktion des pull-up-Widerstands.

Hallo Gisbert,

ohne Pullup hat dein ESp eine Open-Kollektor. D.h. idealerweise einen unendlichen Widerstand.
Störspannungen die nun auf den 12 Volt liegen können, gelangen über den 10 k Widerstand
an die Diode, die dann wie ein Gleichrichter wirkt. Aber eben für negative Spannungen, weil sie
für diese in Richtung hochohmigem GPIO in Durchlassrichtung geschaltet ist.

LG

Papa Romeo
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 30 März 2020, 20:11:07
Hallo Dracolein,
hallo Papa Romeo,

das war mal wieder eine Mordsaktion für mich. Zunächst hatte ich den Aufbau wie bei letscontrolit.com realisiert, indem ich die Bauteile aneinander gelötet hatte und mit Schrumpfschläuchen geschützt hatte. Nachdem ich die Schaltung an einen existierenden KANNIX (wegen der Spannungsversorgung) und an einen vorhandenen Wemos D1 Mini (wegen freien GPIOs) verbunden hatte, und den Näherungsschalter mit externen 12V versorgt hatte, hatte ich kein Ergebnis in ESPEasy - Frust.

Ich hab mich dann entschlossen, den Näherungsschalter mit 5V vom KANNIX zu versorgen. Außerdem habe ich die Schaltung auf einem Löt-Breadboard/Platine (habe im Moment keine deutsche Bezeichnung parat) aufgebaut, das war schon mal viel übersichtlicher. Leider habe ich die Anschlüsse als Drähte ausgebildet, was wiederrum sehr fummelig war. Mir ist zu spät eingefallen, dass ich Jumper-Buchsen hätte einlöten können, was einen viel einfacheren Abschluss bei der Platine und Anschluss per Jumperkabel an die vorhandenen Controller bedeutet hätte. Aber letztlich funktioniert es, und ich bekomme in ESPEasy Werte beim Device Generic - Pulse counter rein.

Die Readings Count, Total und Time bekomme ich auch in ein Fhem-Device  rein - soweit so gut.

Ich bin natürlich auf das GasCalculator-Modul gestoßen, aber dieses Modul überfordert mich heute abend noch leicht (um nicht zu sagen deutlich).

Wie wertet ihr die Count-, bzw. Total-Readings aus? Falls ihr mit dem GasCalculator arbeitet, dann wäre ich für einen Schubs, bzw. Idee für die Definition dankbar.

Viele​ Grüße​ Gisbert​
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: PeMue am 30 März 2020, 20:31:33
Zitat von: Gisbert am 30 März 2020, 20:11:07
... auf einem Löt-Breadboard/Platine (habe im Moment keine deutsche Bezeichnung parat) ...
Steckbrett ;)

Leider kann ich Dir mit Deiner Schaltung nicht weiterhelfen, sorry.

Gruß Peter
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 30 März 2020, 21:53:14
Hallo Peter,

die Hardware und die Übertragung nach Fhem per MQTT funktioniert.
Ich bekomme die readings Count, Total und Time, die ich in einem Fhem-Device subskribiere.

Meine Frage bzw. Hilferuf ging in die Richtung, wie ich diese Information jetzt sinnvoll auswerte.
Das Modul GasCalculator ist wahrscheinlich eine gute Wahl, aber der Thread im Forum und der Beitrag im Wiki haben mich erstmal ein wenig erschreckt.
Ich habe noch keine Ahnung, wie ich da konkret mit der Definition eines Devices anfangen soll.
Für heute wir das eh nix mehr, zu spät, aber wenn mir jemand unter die Arme greifen möchte, dann ist Hilfe willkommen.

Vielen Dank und viele Grüße
Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: andies am 30 März 2020, 22:16:21
Ich weiss jetzt nicht, wie das bei Dir aufgebaut ist. Bei mir wird der Gaszähler aus einem HTTPMOD ausgelesen. Entscheidend ist das Reading Gas des Devices Heizungskeller, also [Heizungskeller:Gas] enthält den Zählerstand (wobei ich auf 1/1000 Kubikmeter ausgeben lasse). Und dann einfach das hier probieren:
defmod Gasrechner GasCalculator Heizungskeller:Gas.*
attr Gasrechner BasicPricePerAnnum 191.4
attr Gasrechner Currency €;
attr Gasrechner DecimalPlace 3
attr Gasrechner GasCounterOffset 0
attr Gasrechner GasCubicPerCounts 0.01
attr Gasrechner GasNominalHeatingValue 10.8570475
attr Gasrechner GasPricePerKWh 0.0512
attr Gasrechner GaszValue 1
attr Gasrechner MonthOfAnnualReading 10
attr Gasrechner MonthlyPayment 205
attr Gasrechner ReadingDestination CalculatorDevice
attr Gasrechner SiPrefixPower W
attr Gasrechner Volume m³;
attr Gasrechner stateFormat {substr(ReadingsVal($name, "Heizungskeller_Gas_EnergyCostDayLast", "0"), 0, 4) . " €  <font color=\"gray\"> (Mittel ".ReadingsVal($name, "Normverbrauch", "0")." €)</font>"}

In der Definition steht der Verweis auf die Zahlen des Zählers, dann: Grundpreis 191.4,  Währung Euro, drei Dezimalstellen, beginnt bei O, alle zehn Werte ein Durchlauf, Heizwert meines Gases (steht auf der Rechnung), Gaspreis, Abrechnung im Oktober, Monatsrate 205€ usw.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 30 März 2020, 23:03:03
Hallo andies,

auf diese Definition, bzw. vergleichbar bin ich mittlerweile auch gestoßen (auf dem Handy war es dann doch zu mühsam); das hat mir tatsächlich im GasCalculator-Wiki und -Thread als Orientierung gefehlt.
defmod Gasrechner GasCalculator Heizungskeller:Gas.*
Ich glaube, dass ich mit deinen Erklärungen schon weiterkomme.

Vielen Dank Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 15 April 2020, 18:04:09
Hallo andies und alle anderen smarten Gaszähler ;D 8),

ich hoffe, dass ich nicht der einzige mit folgendem Problem bin.

Nachdem ich erst einzelne Fehlmessungen, zumindest glaube ich, dass es sich um solche handelt, gesehen habe, ergab sich gestern zwischen ca. 16:00 und 20:00 eine ganze Reihe von kurzen Impulsen, die auf Fehlmessungen hindeuten. Das GasCalculator-Modul verarbeitet die Daten aus einem anderen Fhem-Device, weshalb ich die Ursache eher dort sehe, bzw. in der zugrunde liegenden Hardware (induktiver Näherungssensor, ESP8266 mit ESPEasy und Puls Counter).

Nach 10 Tagen hat der GasCalculator 1.43 cbm mehr auf dem Zähler als der mechanische. Überwiegend war in dieser Zeit nur der WW-Speicher in Betrieb, was vermutlich das Risiko für Fehlmessungen erhöht. Die Differenz kam nicht auf einen Schlag sondern nach und nach. Das erste Mal ist es mir aufgefallen, als die Differenz bei 0.5 cbm lag.

Die Ursache wäre damit eingegrenzt auf die Messung. Ich benutze ESPEasy, GIT version: mega-20190202, Pulse Counter, Debounce Time 1000 ms, Mode type FALLING zum Auslesen des induktiven Näherungssensors.

Gibt es bessere Einstellungen bei ESPEasy, andere Software oder zusätzliche elektronische Filter, z.B. Schmitt-Trigger, um dieses Problem in den Griff zu bekommen?

Viele Grüße Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: andies am 15 April 2020, 19:16:14
Der Sensor meldet Impulse, wenn keine da sind? Anders kann ich mir das jetzt nicht erklären. Wäre die Frage, wann er das macht. Ich hatte mich damals daneben gesetzt und festgestellt, dass mein optischer Sensor nur Unsinn misst. Hier muss das Problem diffiziler sein.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Nobbynews am 15 April 2020, 19:51:06
Wenn ich mir die beiden Grafiken ansehe, fällt mir auf, dass der Temperaturverlauf im betreffenden Zeitraum sich nicht vom Rest großartig unterscheidet.
Stellt sich also die Frage, was in diesem Zeitraum anders war, also evtl. externe Störquellen aktiv waren.
Meinen Gaszähler erfasse ich über einen Reedkontakt. Zunächst noch ohne Pull-Up/Down Widerstand hat schon das Einschalten des Lichts zu Fehlimpulsen geführt.
Zum Entprellen des Reed-Kontaktes habe ich hier etwas geschrieben:
https://forum.fhem.de/index.php/topic,105348.msg998556.html#msg998556 (https://forum.fhem.de/index.php/topic,105348.msg998556.html#msg998556)
Welchen GPIO benutzt Du? GPIO 16/D0 soll lt.ESpEasy nicht verwendet werden.

Norbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 15 April 2020, 20:11:05
Gisbert, wie "sauber" sind deine 12 Volt.
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 15 April 2020, 20:28:07
Hallo zusammen,

zuerstmal vielen lieben Dank, dass ihr gleich mit Vorschlägen bzw. Anregungen geantwortet habt.

Ich nutze die Schaltung, die bei letscontrolit.com wiedergegeben wird. allerdings mit 2 Änderungen:
Der Näherungssensor ist mit 6-36V spezifiziert, vielleicht sind die 5V vom KANNIX einfach grenzwertig. Ich hatte vor, allerdings ist das Teil noch nicht eingetroffen, die 5V vom KANNIX auf 12V zu erhöhen, es handelt sich um diese (https://www.ebay.de/itm/Boost-Charger-Buck-DC-Step-Up-Down-Converter-XL6009-Module-Voltage-for-Mobile/153156371923?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649).

Viele Grüße Gisbert
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Papa Romeo am 15 April 2020, 21:32:38
Hallo Gisbert,

ich für meinen Teil würde sagen..... Fehler gefunden. 5 Volt sind dann doch etwas knapp und ich denke du tust gut daran den Step-Up einzubauen.

Mir ging es bei meiner Flaschenfüllanlage ähnlich. Wollte den im Anhang zu sehenden Hallsensor als Endkontakt für den Schrittmotor einsetzen.
Spezifikation: 6 - 36 Volt. Betriebsspannung auch über den Kannix: 5 Volt.

Ging 15 bis 20 mal gut... der Motor blieb stehen wo er sollte und auf einmal lief er zwischendurch wieder mal auf Anschlag.

Das Oszi zeigt dann, dass der Hall-Sensor keine sauberen Schaltschwellen lieferte. Durch eine externe Spannung von 9 Volt für den Sensor konnte
der Fehler behoben werden.


Gruß

Papa Romeo
Titel: Antw:Gaszähler smart machen & Auswertung
Beitrag von: Gisbert am 16 April 2020, 08:18:30
Hallo Papa Romeo,

vielen Dank für den Lösungsvorschlag und die Erklärung. Mir dämmerte schon im Unterbewussten, dass ich hier ein einzigartiges Problem kreiert habe, da ich von solch einem Fehlerbild im Forum nichts gelesen habe. Sobald das Step-up-Modul da ist, werde ich es einsetzen und später darüber berichten.

Viele​ Grüße​ Gisbert​