FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: mrbreil am 14 November 2019, 08:47:02

Titel: IN-Z62 zählt zuviel
Beitrag von: mrbreil am 14 November 2019, 08:47:02
Habe mir einen IN-Z62 und einen NodeMCU gekauft um dem Gaszähler/Gasverbrauch auszuwerten.
Auf dem NodeMCU habe ich ESPeasy geflasht.

Unter "Hardware" habe ich beim ESPeasy Pin mode GPIO-2 (D4) auf INPUT

Unter "Devices"

Device:                       Generic - Pulse counter
Enabled:                        True
GPIO ← Pulse:                GPIO-4 (D2)
Debounce Time (mSec):  250
Counter Type:                Delta/Total/Time
Mode Type:                    Falling
Send to Controller         True
Intervall                         60


Habe dan den ESPBridge in Fhem definiert.
defmod ESP_Bridge ESPEasy bridge 8383
attr ESP_Bridge authentication 0
attr ESP_Bridge combineDevices 0
attr ESP_Bridge group ESPEasy Bridge
attr ESP_Bridge room ESPEasy

setstate ESP_Bridge 2019-11-12 09:18:09 state Initialized


Dann den Pulscounter eingebunden
defmod ESPEasy_ESP_Therme_Gastherme ESPEasy 192.168.6.233 80 ESP_Bridge ESP_Therme_Gastherme
attr ESPEasy_ESP_Therme_Gastherme IODev ESP_Bridge
attr ESPEasy_ESP_Therme_Gastherme Interval 300
attr ESPEasy_ESP_Therme_Gastherme disable 0
attr ESPEasy_ESP_Therme_Gastherme group ESPEasy Device
attr ESPEasy_ESP_Therme_Gastherme presenceCheck 1
attr ESPEasy_ESP_Therme_Gastherme readingSwitchText 1
attr ESPEasy_ESP_Therme_Gastherme room ESPEasy
attr ESPEasy_ESP_Therme_Gastherme setState 3
attr ESPEasy_ESP_Therme_Gastherme userReadings Total_Speicher monotonic {ReadingsVal("ESPEasy_ESP_Therme_Gastherme","Total",0)}

setstate ESPEasy_ESP_Therme_Gastherme Cou: 2 Tim: 25553 Tot: 621
setstate ESPEasy_ESP_Therme_Gastherme 2019-11-14 08:37:56 Count 2
setstate ESPEasy_ESP_Therme_Gastherme 2019-11-14 08:37:56 Time 25553
setstate ESPEasy_ESP_Therme_Gastherme 2019-11-14 08:37:56 Total 621
setstate ESPEasy_ESP_Therme_Gastherme 2019-11-14 08:37:56 Total_Speicher 621
setstate ESPEasy_ESP_Therme_Gastherme 2019-11-14 08:34:25 presence present
setstate ESPEasy_ESP_Therme_Gastherme 2019-11-14 08:37:56 state Cou: 2 Tim: 25553 Tot: 621


Um den Zähler nach einem Reboot des Nodemcu zu sischern habe ich das Userreading Total_Speicher erstellt.
attr ESPEasy_ESP_Therme_Gastherme userReadings Total_Speicher monotonic {ReadingsVal("ESPEasy_ESP_Therme_Gastherme","Total",0)}

Mein Gascalculator sieht so aus.
defmod Gaszaehler GasCalculator ESPEasy_ESP_Therme_Gastherme:Total_Speicher.*
attr Gaszaehler BasicPricePerAnnum 0
attr Gaszaehler Currency €;
attr Gaszaehler GasCounterOffset 25482.86
attr Gaszaehler GasCubicPerCounts 0.01
attr Gaszaehler GasNominalHeatingValue 10
attr Gaszaehler GasPricePerKWh 0.0654
attr Gaszaehler GaszValue 1
attr Gaszaehler MonthOfAnnualReading 5
attr Gaszaehler MonthlyPayment 0
attr Gaszaehler ReadingDestination CalculatorDevice
attr Gaszaehler SiPrefixPower W
attr Gaszaehler Volume m³;
attr Gaszaehler room ESPEasy

setstate Gaszaehler active
setstate Gaszaehler 2019-11-14 08:39:56 .ESPEasy_ESP_Therme_Gastherme_Total_Speicher_LastDV 0.000
setstate Gaszaehler 2019-11-14 08:39:56 .ESPEasy_ESP_Therme_Gastherme_Total_Speicher_LastDt 30
setstate Gaszaehler 2019-11-14 08:39:56 .ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PowerDayCount 613
setstate Gaszaehler 2019-11-14 08:39:56 .ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PowerDaySum 4216.594
setstate Gaszaehler 2019-11-14 08:39:56 .ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PrevRead 25489.070
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyCostDay 2.289
setstate Gaszaehler 2019-11-14 00:00:30 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyCostDayLast 2.498
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyCostMeter 4.794
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyCostMonth 4.794
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyCostYear 4.794
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyDay 35.000
setstate Gaszaehler 2019-11-14 00:00:30 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyDayLast 38.200
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyMeter 73.300
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyMonth 73.300
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_EnergyYear 73.300
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_FinanceReserve -4.794
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_Meter 25489.070
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_MonthMeterReading 7
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PowerCurrent 0.000
setstate Gaszaehler 2019-11-14 08:39:56 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PowerDayAver 6.879
setstate Gaszaehler 2019-11-14 04:27:30 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PowerDayMax 684.000
setstate Gaszaehler 2019-11-14 00:01:30 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_PowerDayMin 0
setstate Gaszaehler 2019-11-14 00:00:30 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_Vol1stDay 25485.57
setstate Gaszaehler 2019-11-13 12:13:18 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_Vol1stMeter 25481.74
setstate Gaszaehler 2019-11-13 12:13:18 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_Vol1stMonth 25481.74
setstate Gaszaehler 2019-11-13 12:13:18 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_Vol1stYear 25481.74
setstate Gaszaehler 2019-11-14 00:00:30 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_VolLastDay 25485.560
setstate Gaszaehler 2019-11-13 12:13:18 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_VolLastMeter 25481.740
setstate Gaszaehler 2019-11-13 12:13:18 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_VolLastMonth 25481.740
setstate Gaszaehler 2019-11-13 12:13:18 ESPEasy_ESP_Therme_Gastherme_Total_Speicher_VolLastYear 25481.740



GasCounterOffset und GasCubicPerCounts eingestellt.

Erst jetzt habe ich angefangen impulse zu erfassen damit der Counter im Nodemcu nicht schon was gezählt hat.

Soweit funktioniert das auch, aber nach einiger Zeit, weichen der Zählerstand am Gaszähler ESPEasy_ESP_Therme_Gastherme_Total_Speicher_Meter von einander ab.
Fhem hat mehr auf der Uhr als der Gaszähler. Habe auch schon eine Entprellzeit von bis zu 10.000 mSec ausprobiert, wird aber auch nicht besser.
Vielleicht liest das hier jemand der das auch einsetzt und mir seine Einstellungen mitteilen kann.
Bin auch für jede andere Idee dankbar.

Gruß Christian
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Pfriemler am 14 November 2019, 16:00:24
Ich versuche ähnliches gerade mit meinem Wasserzähler und habe daher zuvor mit einem kleinen alten Taster viel in ESPeasy experimentiert. Mein Fazit ist, das beim PulseCounter in der aktuellen Version das Debouncing eigentlich überhaupt nicht funktioniert, völlig egal was man einstellt, egal ob man mit dem Taster nach + oder GND tastet und RISING, FALLING oder CHANGE einstellt (LOW funktioniert überhaupt nicht). Besonders beim Loslassen des (schlechten) Tasters werden Geisterimpulse gezählt. Aber nicht mal CHANGE (also gezielte Auswertung beider Flanken) arbeitet sauber.

Mein stattdessen verwendeter Test-Reed prellt glücklicherweise so gut wie gar nicht. Weitere Erkenntniss habe ich noch keine, derzeit nutze ich ein Homematic-Kontaktinterface - bei 10l/imp ist das selten genug. Sollte es beim Umstieg auf ESPeasy wieder prellen, werde ich ein Hardwaredebouncing einbauen, eine kleine R-C-Kombination sollte dafür reichen.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: majorshark am 14 November 2019, 17:11:22
Ich habe den gleichen Kontakt an meiner Gasuhr. Allerdings benutze ich eine etwas ältere Version von ESPEasy (V1 Build 147). Daher kann ich nicht genau sagen ob das Software Debounce in der von Dir benutzten Version richtig funktioniert. Allerdings stelle ich auf meinem Blog fest das die meisten Probleme durch viel zu lange Leitungen zu den ESP's entstehen. Ich habe ein ESP direkt in den IN-Z62 eingebaut, ohne jegliche Hardwarefilter. Das funktioniert mit der oben genannte Firmware einwandfrei.   
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 14 November 2019, 23:24:22
Habe ähnliches Problem - ebenfalls R147. Habe schon sehr kurze Leitung (ca. 50cm), 100ms Debounce Time und 10k pull-up am gpio-4 von der nodeMCU. Vermute auch daß der debounce time Parameter ignoriert wird.
Bei Dir fällt mir noch auf, daß Du 60s Intervall auf dem esp hast und 300s für den Counter.
Geht das?
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: majorshark am 15 November 2019, 08:40:50
Ich würde auch mal das attr ESPEasy_ESP_Therme_Gastherme Interval 300 auf Null setzen. Also kein Polling. Es reicht wenn der ESP die Daten aller 60 Sekunden sendet.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Pfriemler am 15 November 2019, 10:31:03
Zitat von: majorshark am 15 November 2019, 08:40:50
Ich würde auch mal das attr ESPEasy_ESP_Therme_Gastherme Interval 300 auf Null setzen. Also kein Polling. Es reicht wenn der ESP die Daten aller 60 Sekunden sendet.

Meines Wissens gehört Interval zu presenceCheck: kommt innerhalb von 5min kein Wert, wird auf absent erkannt. Macht mehr bei Sensoren Sinn. Gepollt wird doch so oder so nicht?
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mrbreil am 15 November 2019, 12:50:28
@majorshark Stimmem bei dir beide Zähler zu 100 % Prozent überein?
Eine ältere Version zu nutzen wäre ja nun nicht das Problem.

Ist das dein Blog http://www.frank-schuetz.de/index.php/1-gaszaehler-mit-espeasy-und-fhem ?

Auf deinen Bildern sehe ich gar keine Einstellungsmöglichkeit für den Mode-Typ, spielt das nicht eine Rolle was ich zähle?
Entschuldigt wenn das eine Dumme Frage ist, aber bin in so was wirklich nicht fit.

Aber danke das ihr euch meiner annehmt  :)

Gruß Christian 
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Pfriemler am 15 November 2019, 19:44:14
Die ESPeasy 1.xx kennen die Typeinstellung noch nicht. Dafür gibt es in 2.xx kein Delay mehr. Wann sich also Count zurücksetzt, ist mehr oder weniger Glückssache.
In jedem Fall ist für mich der Pulse Counter bestenfalls Alphastadium. Eine Formel, die bei mir Time in Sekunden umrechnen soll (%value%/1000) wird zwar bei der Übermittlung an FHEM berücksichtig, nicht aber in der Device-Ansicht im Webinterface.
Aber meckern ist nicht angesagt - besser machen.

Nachtrag: Die Frage ist, ob es ein einfacher Switch und eine direkt eventbasierte Auswertung in FHEM nicht sinnvoller ist bei so relativ langsamen Events (gut - kommt drauf an wie oft Impulse kommen - bei meinem Wasserzähler maximal 3 pro Minute. Für S0-Ausgänge an Zählern bleibt der Counter natürlich erste Wahl...
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 15 November 2019, 21:47:42
@mbreil: Nochmal - gab es einen Grund für die 60 (delay) - 300 (interval) Einstellung?
Ich habe die ESPEasy interval Einstellung auf 0 gesetzt und bekomme jetzt korrekte log Daten alle 5 min so wie im ESP eingestellt. (Vorher liefen da auch zwischendurch falsche Werte ein.)
Ob da meine Differenz zwischen Zähler und fhem Anzeige sich auflöst kann ich erst morgen sehen.
Gruß,
Dietmar
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: majorshark am 16 November 2019, 11:32:24
100% tig stimmen meine Zählerstände auch nicht überein. Seit meiner letzten Kontrolle habe ich ca. 500 Impulse mehr auf der Uhr als in FHEM. Leider weiß ich nicht wann ich das das letzte mal abgeglichen habe. Das kann schon 1,5 bis 2 Jahre her sein. Das die Bastellösung den einen oder andere Impuls verschluckt kann ich tolerieren.

Ja das ist mein Block. Und wie Dietmar schreibt scheint es doch einen Zusammenhang mit dem Intervall und den mehrfachen Log Einträgen zu geben. Nach Kontrolle meiner DbLog kann ich sagen, dass ich keine doppelten Einträge mit den Einstellungen von meinem Blog habe.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 16 November 2019, 22:21:40
Es werden noch immer zuviel Pulse vom nodeMCU (50cm Kabel an GPIO-4, 10k pull-up an 3,3V) an den fhem Server übertragen.
Ich habe jetzt einen Osci im segmented mode laufen lassen und sehe bei den low-high Flanken erhebliches Prellen.
Ca. jeder 10. Impuls weist Prellen auf. Die high-low Flanken sind in Ordnung. Leider wirkt, wie hier schon gesagt, debouncing überhaupt nicht und man kann mit der Release 147 nicht auf fallende Flanke stellen.
Werde morgen mal eine RC-Kombi parallel schalten.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Knallfrosch am 17 November 2019, 09:34:23
Hallo,

das Thema interessiert mich auch.
Ich habe mit der Zählung auch so meine liebe Mühe.

Ich hatte bisher nur einen einfachen Reedkontakt am Gaszähler. Der verschluckte aber viele Signale.
Nun setze ich so etwas https://www.amazon.de/HALJIA-Reed-Sensor-Modul-Magnetron-Modul-Reed-Schalter-Magswitch/dp/B07548RZW5/ref=sr_1_6?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=5Y12T66RSFPU&keywords=reedkontakt+arduino&qid=1573979399&sprefix=Reedkontakt+ar%2Caps%2C178&sr=8-6 ein.

Hilfreich, da man über die LED´s (Power/Impuls) gut die Funktion erkennt.
Mit diesem Sensor werden nun aber über ein kurze Zeit schon zu viele Imp. gezählt. (Mit der Imp-LED nicht zu erkennen)

Eine geringe Abweichung wäre sicherlich zu verschmerzen, aber bei mir sind es nach 1-2h teilweise schon mehr als 0,5m³.

Ich benutze v2.0.0-dev12_dev auf dem NodeMCU.

Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 17 November 2019, 22:47:19
Ich glaube die LED Versionen sind "nice to see" - aber helfen für das Prellproblem nicht wirklich weiter.
Aber eine Frage: Du hast ja eine neuere ESP Firmware Version. Kannst Du da den debounce Parameter einstellen und vor allen Dingen  - hat er Wirkung? Z.B. 200ms.
Gruß,
Dietmar
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Pfriemler am 18 November 2019, 00:48:16
da melde ich mich auch kurz ... mit der Version kann ich nichts anfangen - ich habe einen nigthly 20191104 aufm Wemos D1 laufen und da kann ich mit dem Debouncing absolut nichts anfangen. Es gibt diverse Beschwerden im Netz darüber dass es nicht funktioniert, ich mag nicht glauben, dass das Problem noch immer ungelöst ist, ich übersehe irgendwas.

Edit: https://github.com/letscontrolit/ESPEasy/issues/2366
Das Problem wird dort anschaulich erklärt, gilt ab Mitte Mai als gefixt, der Fix wurde aber wieder zurückgestellt wegen irgendwelcher Interrupt-Probleme und möglicherweise bis jetzt nicht reaktiviert?

Ob das verlinkte Reed-Modul überhaupt irgendwas hilft? Ist das nicht der allgegenwärtige Komparator für analoge Eingangsgrößen, praktisch völlig sinnfrei für einen digitalen Sensor wie einen Reedkontakt? Gut, jetzt noch einen Kondensator statt des Reed und den den Reed mit einem Serienwiderstand dazu parallel (1k), so dass das Eingangssignal anständig verschliffen wird, und den Komparator mittig eingestellt - der richtet es dann wieder und das sollte das Prellen schon verhindern. Größe kommt auf die genaue Schaltung an. Muss ich mal ausprobieren ...
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: majorshark am 18 November 2019, 06:11:22
Ich habe jetzt auch noch einmal genau nachgesehen. Auf meinem ESP werkelt ein R142'er ESP-Easy. Damit habe ich tatsächlich keine Probleme bezüglich zu vieler Impulse. Eher zu wenig wie oben schon beschrieben. Aber das schreibe ich den Neustarts, Stromausfällen etc. zu.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 18 November 2019, 18:12:41
Hallo,
ich habe jetzt im IN-Z62 Gehäuse einen RC Tiefpass mit Tau=2.2ms untergebracht sowie den externen Pull-Up von 10k direkt auf den Reed. Das Prellen ist jetzt nachweislich bei beiden Flanken weg.
Was mir noch aufgefallen ist bei der genutzten ESPEasy R147, ist das man GPIO-4 (D2) zwar als Input konfigurieren konnte, es allerdings wohl nicht, auch nach Booten, eintrat. Die IO Stufe liefert Strom wenn 0 anliegt, der Lowpegel wird infolge des 1k Widerstandes leicht angehoben.
Vielleicht sollte man doch mal eine Version 2.x.x. ausprobieren.
Auch scheint die Versorgung aus einem Handynetzteil zu Masseproblemen zu führen. Schalten von Verbrauchern im gleichen Raum führen teilweise zu Störungen mit Fehlimpulsen.
Bei gleichzeitiger Beobachtung von Oszi, Gasuhr und ESP device sieht man daß der count pro Pulse um 2 erhöht wird - bei jeder Flanke um 1. Und das bei der Einstellung Pulse Counter! Untersucht R120 und R147.
Edit:
Auch mit der neuesten ESPEasy v2. release mega-20191116 wird bei jeder Flanke der count um 1 erhöht. Egal wie der mode ist - rising, falling oder change.
@Pfriemler: Wie sind Deine Einstellungen zum Generic Pulse Counter?
@majorshark: Wenn es so ist, scheint Deine Version R142 die einzige zu sein, die richtig zählt. Frage: Wenn Du neben dem Gaszähler stehst und die 2. Kommastelle schlägt um, erhöht sich der Count (oder bei Dir Differenz) im ESP um 1, richtig? Und kurz danach (etwa bei X,xx1) geht der Magnet ja vorbei, geht da der Count nochmals hoch? Ich kann es nicht glauben, was ich hierzu im Netz gelesen habe.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mrbreil am 19 November 2019, 08:07:09
@majorshark Wo finde ich den die Version 142 ? Hast du Vielleicht einen Link für mich?

Klingt zwar böse, aber es beruhigt mich erstmal ungemein das es hier auch bei anderen nicht klappt, die von der Materie Ahnung haben  ;D .
Leider kann ich nicht viel beisteuern, außer testen.

Gruß Christian
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 19 November 2019, 09:36:02
Habe jetzt mit der R142 gecheckt - gleiches Problem bei mir: Jede Flanke setzt den Count um 1 höher. D.h. doppelte Zählung, und zwar sehr präzise.
Edit: Nach "ESPeasy_R142_RC5.zip" suchen. Aber wie gesagt - identisches Verhalten.
Gruß,
Dietmar
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Pfriemler am 19 November 2019, 23:49:41
Zitat von: mirror am 18 November 2019, 18:12:41
@Pfriemler: Wie sind Deine Einstellungen zum Generic Pulse Counter?
GPIO13(D7), Couner Delta/Total/Time, Mode Type FALLING, Debounce 200 ms, Interval 10s

Der Eingang ist zusätzlich mit einem Widerstand (~5k?)  und einer (low current)LED gegen 3,3V beschaltet, der Kontakt schließt gegen Masse. So habe ich eine Funktionskontrolle. Das Prellen sieht man sogar manchmal an der LED.

Ich habe auch einen zweiten Eingang (GPIO12(D6)) "andersrum" beschaltet: Widerstand/LED gegen GND, Taster gegen 3,3V, Konfiguration wie oben, jetzt aber RISING. Hier wird es völlig abstrus: Diese Beschaltung wird in vielen Beiträgen im Internet sogar empfohlen, und sie funktionier auch hier. Allerdings scheint hier ein Fehler mit einem internen Pull-Up vorzuliegen: Insbesondere bei ein paar schnelleren Tastendrücken schaltet sich offenbar intern ein Pull-up zu, d.h. die beschaltete LED leuchtet ganz leicht weiter. Das geht irgendwann nach langer Zeit von allein aus, meist jedoch unmittelbar nach der nächsten Tasterbetätigung.
Ändert man hier auf CHANGE, dann wird logischerweise auch die irgendwann vom ESP vollzogene Abschaltung des Pull-Ups als Impuls gezählt.

Ich bleibe dabei: Pulse Counter im ESPeasy ist zumindest derzeit grauenhaft buggy und praktisch unbenutzbar.

Und zuguterletzt hat sich heute Nacht mein FHEM aufgehängt, musste den Pi neustarten. ESPeasy hat sich nicht wieder reconnected, ich hatte den ganzen Tag keine Messwerte. So eine Raffelscheiße taugt doch allenfalls für Experimente.

Das Thema Wassercounter am ESP hat sich für mich jetzt erledigt. Den Kontaktwechsel übermittelt weiterhin, zuverlässig und prellfrei, ein modifizierter Homematic-Fensterkontakt (der hier übrig war). Ich bin hier raus. Viel Erfolg weiterhin.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Knallfrosch am 20 November 2019, 07:31:22
Moin,

aktuell scheint es ganz gut zu funktionieren.
Seit 48h habe ich keine falschen oder fehlende Zählungen.
Ich hatte die ganze Zeit aber auch den Mode Type auf Change  ::)
Nun auf Falling und Debounce auf 20000

Nur die Befestigung muss ich dringend ändern.
Mal schauen ob ich ein passendes Gehäuse drucken kann.
Aber ich werde das die nächsten Tag erst noch etwas beobachten.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 20 November 2019, 15:38:13
Hallo,
im Wesentlichen stimme ich Pfriemler zu, der Puls Counter scheint noch sehr Buggy zu sein. Nachdem ich jetzt die Entprellzeitkonstante auf 100us verkleinert habe sowie folgende Einstellungen am ESPEasy vorgenommen habe, läuft der Zähler so einigermaßen plausibel.
Einstellungen:
ESPEasy v2. release mega-20191116
GPIO12(D6) auf Input, Counter Delta/Total/Time, Mode Type Rising, Debounce 200 ms, Interval 300s

Alle anderen Mode Einstellungen führen zu Doppelzählungen, weil jede Flanke erhöht.
Rising ist natürlich etwas unlogisch, aber wie gesagt bei mir die sichere Einstellung.

Das Attribut beim fhem (!) device ESPEasy_Counter_Gas habe ich auf 0 gesetzt um doppelte Einträge im FileLog zu verhindern.

Die Zeitkonstante 100us ist grenzwertig, wenn ich von meinen Oszi Beobachtungen ausgehe. Vielleicht solltem das R noch von 1k auf 2k erhöhen. Mehr geht nicht, da Low Pegel ansteigt. Internen Pull-Up kann man nicht abschalten. Das C erhöhen geht auch nicht, da zu großer Strom zum Funkenflug im Reed führt.

Letzter Punkt bei ist noch bei mir die Stromversorgung. Die nodeMCU ist sehr empfindlich auf Störungen über Power Netz. Das "elegante" alte Nokia Netzteil bringt es wohl nicht.

Edit: Nachdem gestern mit obiger Einstellung das Zählen nach ca. 6h plötzlich falsch wurde (nach jedem Counter Reset auf 0 machte er Anfangs eine Doppelzählung, also kamen dann 7 statt richtig 6 Counts) habe ich mich auch zu dem Trick von Pfriemler und Knallfrosch mit langer Debounce Time (die im ESP wohl funktioniert) entschieden. Also jetzt "Falling" und "20000". Dies passt zu meinen Verbrauchsgrenzwerten von 4 ... 20kW und der Gasuhr BK-G2,5.

Gruß,
Dietmar
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Knallfrosch am 21 November 2019, 22:33:30
Ich kann euch jedenfalls den Magnetsensor und "meine" ESPEasy Version empfehlen. (Infos weiter vorne)

Seit ziemlich genau Uptime: 3 days 3 hours 5 minutes und 3643 Counts später, kein Count zu viel oder zu wenig.


Grüße


Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 22 November 2019, 09:52:14
@Knallfrosch: Da muß ich aber nochmal hinterfragen. Hast Dun Hinweise (z.B. aus den Release Notes) oder durch Test mit anderen Versionen, daß diese v2.0.0-dev12_dev Version stabiler ist. Hast Du andere Versionen verglichen? Oder ist das jetzt mehr zufällig, oder historisch bedingt. Weil die schon drauf war.
Wenn ich Deine Berichte hier verfolge, kam der Erfolg erst mit der Nutzung des anderen Sensors, oder?
Danke,
Dietmar
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Knallfrosch am 22 November 2019, 10:04:49
Der "Erfolg" war zufällig.

Ich hatte bis vor einiger Zeit einen einfachen Reed-Kontakt an den GPIO eines Raspberry mit FEHM2FHEM in Betrieb.

Der Reedkontakt war von heute auf morgen jedoch am Gaszähler nicht mehr schaltwillig.
Da ich den Raspberry sowieso ersetzen wollte bin ich auf ein NODEMCU mit ESPeasy umgestiegen.

Ich hatte mir also einfach die erst beste ESPeasy Version heruntergeladen, zum testen aufgespielt und den Magnetsensor zum basteln bestellt.
Das ganze lief also nach Versuch und Irrtum.

Es funktioniert und das ist mir am wichtigsten.
Ob es mit "eurer" Version bei mir auch nicht funktioniert, werde ich daher nicht prüfen.  ;D

Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mrbreil am 26 November 2019, 07:46:21
@mirror  wie hast du den Wiederstand angeschlossen? Zwischen d6 und ground?

Gruß Christian

Gesendet von meinem EML-L29 mit Tapatalk

Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 26 November 2019, 16:58:06
Anbei meine simple Testschaltung: 3-adriges Kabel, Rpu ist der interne pull-up des ESP's, Cp parasitäre Kapazität.
2 Widerstände: 1 externer Pull-up 10k und der Entprellwiderstand 1k.
So habe ich es gemacht. Ganz zufrieden bin ich noch nicht, ab und zu fehlen 2-4 Impulse pro Tag. Nochmal Kabel kürzen und oder ev. den 10k R verkleinern.
Gruß,
Dietmar
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Nobbynews am 02 Dezember 2019, 16:29:55
Hallo zusammen,

ich erfasse meinen Gaszähler mit einem simplen Reed-Kontakt und ebenfalls über Pulse-Counter von ESPEasy.
Anfangs hatte ich vergleichare Probleme wie hier in mehreren Mails geschrieben.
Das Prellen des Reed-Kontaktes habe ich mit einem Schmitt-Trigger gut in den Griff bekommen (siehe z.B. hier: https://www.marco-bastelt.de/tools/schaltungen/basics/taster-entprellen/ ). Wichtig dabei war bei mir allerdings die Ausrichtung der Kontaktfahnen rechtwinklig und horizontal zum Zählwerk.
ESPEasy habe ich auf einem Wemos D1 Mini installiert und zwar aktuell in der Version 20104 - Mega bzw. mega-20191103.
Der Pulse-Counter ist mit einen Debounce von 15ms und auf fallende Flanke konfiguriert.
Wg. der Invertierung des 74HC14 habe ich zwei Gatter in Reihe geschaltet und damit wieder das ursprüngliche Signal.
Die Auswerung in FEHM erfolgt dann mittels GasCalculator.

Norbert
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 04 Dezember 2019, 18:36:57
Ich habe letztlich doch auch zu der etwas aufwändigen Lösung mit dem Modul https://www.makershop.de/sensoren/bewegung/reed-sensor-modul/ (https://www.makershop.de/sensoren/bewegung/reed-sensor-modul/) gegriffen. Der enthaltenen Komparator verhindert scheinbar, daß ungünstige Flanken (Vermutung: Wirkung der esp internen Pull-Ups) zu Fehlzählungen führen. Seit 5 Tagen ist der Count im Gaszählermodule in Übereinstimmung mit dem Gaszähler.
Wer es selber zusammenlöten will - anbei die im Modul enthaltene Schaltung.
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Dracolein am 01 März 2020, 09:08:41
Guten Morgen zusammen,

auch bei mir gab es Startschwierigkeiten mit dem Pulse Counter in ESPeasy.

Hardware:
ESP8266 nodeMCU
Git Build:⋄   mega-20200204
GPIO4: input
simpler Reedkontakt am gpio4 mit pulldown Widerstand zw. Pin und GND

Konfig:
Debounce time: 20.000 msec
mode: rising
type: delta/total/time
interval: 30 s

Die spätere Auswertung erfolgt mittels dem Modul GasCalculator.
Ebenfalls hatte ich das hier beschriebene Problem des doppelten Zählens einer Zählerumdrehung. Erst mit diesem sehr großen debounce Wert scheint es zuverlässig zu funktionieren.  Ich kann erst auf wenige Tage zurückblicken, in denen ich regelmäßig den Gaszählerstand mit dem FHEM-Zählerstand verglichen habe, aber immerhin liegt meine derzeitige Genauigkeit bei >99% was ich für rein informative Zwecke als völlig ausreichend erachte.

Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: mirror am 01 März 2020, 16:12:51
Wirklich pulldown Widerstand an GPIO4? Oder nur verschrieben? Ist es ein pullup?
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Dracolein am 01 März 2020, 16:19:25
Kein Schreibfehler. Ich habe den GPIO Pin über Widerstand auf 0V gezogen --> PullDown
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: sledge am 06 Dezember 2020, 18:05:12
Hi,

da ich unter dem gleichen Problem "litt", habe ich nach einer alternativen Lösung gesucht, denn - wie bereits von einigen hier festgehalten - ESPEasy zählt nicht genau.

Daher einfach mal Tasmota geflasht, den entsprechenden GPIO auf "Counter" gesetzt und in der Console

CounterDebounce 150
CounterType1 0


eingegeben.

Vorteile:


Vielleicht hilft es ja jemandem. Habe des jetzt auch nur mit dem internen Pullup gelöst (durch Auswahl von Counter wird die Version mit int. Pullup gewählt, ansonsten muss man Counter_n wählen).

Einfacher geht es nicht.

Vielleicht hilft es ja jemandem.

Gruß,

Tom
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: newby am 10 Februar 2021, 07:57:33
Hallo sledge,

ich habe bei ESPEasy das Problem gehabt, dass, egal was ich eingestellt habe , jede Änderung des Zustands gezählt wurde.
Jetzt bin ich voller Hoffnung auf Tasmota umgestiegen und habe es wie von dir beschrieben eingestellt.
ZitatDaher einfach mal Tasmota geflasht, den entsprechenden GPIO auf "Counter" gesetzt und in der Console
CounterDebounce 150
CounterType1 0
eingegeben.
Leider wird auch hier bei einem Signal 2 mal gezählt.
Hast du eine Idee wie ich das in den Griff bekomme?
Oder ist das "normal" und ich habs noch nicht gecheckt wie ich das in FHEM dann richtig umsetze?

Danke und Gruß

Sven
Titel: Antw:IN-Z62 zählt zuviel
Beitrag von: Pfriemler am 10 Februar 2021, 15:20:29
ne, normal ist das nicht.
Bin inzwischen von ESPeasy über HM zu Tasmota gewechselt. Das zählt im Prinzip richtig (und läuft vor allem stabil wie man das erwartet), aber irgendwie rutschen mir auch hier doppelte Impulse durch, allerdings fehlt mir die Langzeitbeobachtung dazu. Teilweise werden bis 25% zuviel Impulse gezählt.
Ich könnte nun auch vermuten, dass es ein Problem mit dem Aufnehmer gibt, aber eine direkte Zustandsübermittlung via Homematic (wofür ich zwischenzeitlich einen HM-Mod-EM-8-Kanal im switch-Mode nutzte - übermittelt wie Fensterkontakt open/close) ergab nur marginale Abweichungen nach unten - hier vermute ich schlicht verlorengegangene Funktelegramme oder Auswerteblindheit durch ein temporär heruntergefahrenes FHEM.

Inzwischen bin ich dazu übergegangen, das Ganze als eine unkontrollierbare Einheit mit amüsantem Eigencharakter zu sehen. Es ist doch zum Piepen: Ein Wasserzähler mit Magnet im 10-Liter-Rad, ein Reed-Kontakt, der zu ca. 3/10 der Umdrehung schließt (also wirklich alles andere als knapp), und drei verschiedene Lösungsansätze liefern vollständig unterschiedliche Ergebnisse. Da vergeht einem echt jede Lust auf weitere Bastelei.