NEWS
Gaszähler mit ESPEasy und Honeywell IN-Z65
-
@oberfragger Da ich aktuell kein ESPEasy nutze kann ich da auch nicht richtig hilfreich sein, aber schau dir mal die "rules" an.
Die Syntax ist in etwa Trigger --> tue etwas
Hier wird GPIO 14 überwacht und GPIO 2 (z.B. angeschlossene LED) auf High/Low geschaltet:on System#Boot do Monitor GPIO,14 endon on GPIO#14=1 do GPIO,2,1 endon on GPIO#14=0 do GPIO,2,0 endon
-
@SBorg Also Du hast "irgendeinen Arduino-Kram" direkt drauf?
Dann via Funk/ MQTT an den IO-Broker? -
@oberfragger Jepp, entweder Tasmota (sonoff), direkt shelly oder eigener Sketch und dann alles per MQTT an den ioB.
-
@SBorg Aha. Mit Tasmota. Werde den zweiten NodeMCU mal umflashen, da ich eh Tasmota auf den Sonoffs drauf habe. Habe aber gerade gesehen- in EspEasy gibts eine Rules Section... Gleiche Syntax! Sollte dann vermutlich gleich sein. Da teste ich mal. So langsam wird das was.
Nutzt hier jemand die Spiffs zum Zwischenspeichern des Zählerstandes...?
-
@oberfragger sagte in Gaszähler mit ESPEasy und Honeywell IN-Z65:
Nutzt hier jemand die Spiffs zum Zwischenspeichern des Zählerstandes...?
Würde ich nicht unbedingt empfehlen. Spiffs ist nur ein Teil des normalen Flashspeichers und der hat nur eine sehr begrenzte Lebenszeit was Schreibzyklen betrifft. Da du jeden Impuls sowieso an den ioB schickst, würde ich den Zählerstand auch dort erfassen/speichern. Du wirst ja wohl kaum eine (VIS-)Anzeige haben/möchten ala 14526 Impulse, sondern eher Gesamt 4345,533 m³, Verbrauch heute, gestern, Woche, Monat, Jahr...
-
@SBorg Danke läuft.
Musste den Code Umdrehen- nun leuchtet die LED so lange der Reed-Kontakt ausgelöst ist. Wenn ich ehrlich bin... ist die LED nur zur Kontrolle da und macht auf Dauer mal garkeinen Sinn. Eigentlich sieht man das ja via MQTT viel besser... Jedanfalls werde ich der Leuchtdiode noch einen Timer mitgeben, falls der Zähler mal auf der "0" stehen bleibt.
In ESPEasy-Mega (also die 2.0er Version) hat man dann ein extra Register mit "Rules". Bei Tasmota gibt man das ja soweit ich gesehen habe via Commando-Zeile ein.
Wenn man weiss wie es geht- echt einfach Nun muss ich nur noch das ioBroker-Script ergänzen. Dann gibts eine Anleitung....
Werden echt heiss die NodeMCUs mit Stromversorgung via USB-Port.
-
@oberfragger sagte in Gaszähler mit ESPEasy und Honeywell IN-Z65:
Musste den Code Umdrehen
Ist halt abhängig davon ob du den GPIO per Reedkontakt auf High setzt (dafür ist obige rule), oder den GPIO mit dem Kontakt auf Low ziehst.
@oberfragger sagte in Gaszähler mit ESPEasy und Honeywell IN-Z65:
ist die LED nur zur Kontrolle da und macht auf Dauer mal garkeinen Sinn.
Zumindest siehst du ob das Teil noch "lebt". Ich gehe auch öfters soweit, dass ich sie im Minutentakt bspw. für 2 Sekunden blinken lasse, oder 3x schnell... So sehe ich schon optisch nach spätestens 1 Minute, dass der ESP noch lebt. Auf das blinken eines Impulses wartet man uU. ziemlich lang
@oberfragger sagte in Gaszähler mit ESPEasy und Honeywell IN-Z65:
Werden echt heiss die NodeMCUs mit Stromversorgung via USB-Port.
Ist auch "normal", da die ESP-Chips mit 3.3V laufen. Die überschüssigen 1.7V (5V USB - 3.3V ESP) müssen "verbraten" werden = in Wärme umgesetzt.
-
@SBorg said in Gaszähler mit ESPEasy und Honeywell IN-Z65:
Zumindest siehst du ob das Teil noch "lebt". Ich gehe auch öfters soweit, dass ich sie im Minutentakt bspw. für 2 Sekunden blinken lasse, oder 3x schnell... So sehe ich schon optisch nach spätestens 1 Minute, dass der ESP noch lebt. Auf das blinken eines Impulses wartet man uU. ziemlich lang
Auch eine gute Idee!
-
@SBorg Hi, Danke für Deine Hilfe. Es läuft jetzt soweit alles.
Wie versprochen habe ich ganz Änfängerfreundlich mal eine ausführliche Doku geschrieben.
https://forum.iobroker.net/topic/27923/anleitung-gaszähler-mit-nodemcu-espeasy -
@GeorgS Hi Georg,
es ist bei Dir zwar schon einige Zeit her. Leider läuft mein "Minimal"-Blockly welches auf den Delta-Wert setzt nicht so wie ich es mir gedacht habe. Deshalb versuche ich Deine fertige und funktionierende Lösung zu durchdringen bzw. umzusetzen (da ist ja bereits alles/ sehr viel drin).
Welches Delay hast Du bei Dir im ESP gesetzt. Auch 300 wie in der Anleitung? Ich bin mir unsicher ob es am Script oder ESP liegt. Ebend ist der Gaszähler von 994,58 auf 994,59 umgesprungen und der Absolut-Wert um 2 gestiegen.
Welche Debounce-Time hast Du gesetzt? Ich versteh das gerade nicht was die Hardware macht...Im Moment bin ich unsicher wo der Wurm drin ist.
Ich verstehe Deine Variablen noch nicht (ist ja nicht so klein das Script).
IBrennwert, iGrundGebuehr, iArbeitspreis sind die Werte aus Deiner Rechnung damit Du den Preis errechnen kannst.
Via MQTT wird ja Delta, Total und Zeit übertragen. Ich vermute iTotal entspricht dem ""Total"-Wert aus MQTT.
Was sind die "liMQTT" und "LiTotal"-Werte?Das Delta benötigst Du garnicht? Der Rest sind selbst errechnete Datenpunkte? Was ist bei Stromausfall/ Neustart des ESP? Musst Du dann den Zählerstand neu abgleichen?
Ich versuche mir das nun gerade Schritt für Schritt herzuleiten damit ich das besser nachvollziehen und verstehen kann.
-
Hallo @oberfragger, ja es ist bei mir schon lange her, und es läuft auch ganz gut habe schon lange nicht mehr geschaut
Also bei mir ist es so wenn der Strom weg ist verbrauche ich auch kein Gas. Daher brauche ich auch keine Zählerstände abgleichen Solltest du trotzdem einen Gas verbrauch haben musst du natürich den Zählerstand abgleichen.
Das Delta kommt aus der MCU? also bei mir wird das Delta berechnet aus LiMQTT - LiTotall. Wenn du es aus der MCU bekommst brauchst du das nicht, du willst ja nur die gezählten Impluse (Totall) haben...
LiMQTT und LiTotall sind die gespeicherten Weten aus der NodeMCU, denn die MCU fängt ja bei 0 an nach einem Stromausfall. Die Werte werdenn dann einfach vergleichen und dann richtig gesetzte
-
@GeorgS Danke für die Info. Kannst Du mal bitte die Werte aus Deiner MCU posten...? Also Delay, Debounce etc.? Bei mir scheint ab und an der Wechsel doppelt gezählt zu werden.
-> Doch ab und an ist das DIng stromlos- jedes Mal wenn ich den Rasp (andem die Node hängt) durchstarte. Momentan ist das noch oft, da ich noch daran bin alles einzurichten.
-
@GeorgS
Hallo Georg,bin gerade dabei dein script umzusetzen und habe noch einige Fragen..
Bezieht sich Arbeitspreis auf €/kwh pro Monat? Bezieht sich die Grundgebühr auf Monat oder Jahr? Soll die Zustandszahl im Datenpunkt Brennwert einfliessen? Was bedeutet impuls?
-
@GeorgS
Ha ich wollte mir das gerade nachbauen, aber leider hat mein Gaswerk schon einen Impulszähler dranmontiert inkl. einem Sender.
Die fahren dann mit dem Auto in die Nähe und empfangen die aufgezeichneten Zähler.Machen also nichts anderes eigentlich. Schade, dass ich da nicht den IOBroker dranhängen kann...!
-
@efxz
Hallo sorry das ich mich erst jetzt melde, war viel Beruflich unterwegs...Der Arbeitspreis bezieht sich wie du geschrieben hast auf €/kWh
Die Grundgebühr ist z.B. Gaszählerkosten usw.
Der Brennwert wird benötigt um zu wissen wie viel kWh du verbraucht hast da jedes Gas einen anderen Brennwert hat.Der Impuls sind die gezählten Impulse des Redkontakts
@dominic-reber
Da müsstest du mal mit dem Versorger reden über was die Daten übermittelt werden... -
Bei dem genannten Zähler BK-G4MT und baugleichen können wir den magnetischen Impuls auch ohne ein IN-Z62 auslesen. Der einfachste Weg ist über ein Fenster- oder Türkontakt mit eingebautem Reed-Schalter. Je nach Baugröße passt der Kontakt in die Aussparung des Gaszählers und registriert über Öffnung und Schließung jeweils einen Nulldurchgang. Aus unserer Erfahrung liegt die Ungenauigkeit im niedrigen einstelligen Prozentbereich. (Einen Artikel dazu habe ich hier geschrieben)
-
@dominic-reber said in Gaszähler mit ESPEasy und Honeywell IN-Z65:
Ha ich wollte mir das gerade nachbauen, aber leider hat mein Gaswerk schon einen Impulszähler dranmontiert inkl. einem Sender.
Die fahren dann mit dem Auto in die Nähe und empfangen die aufgezeichneten Zähler.Vor gut 1/2 Jahr habe ich meinen Gaszähler auch smart gemacht mit Wemos D1, einem Magnetkontakt für ~4€ (es tut auch fast jeder Reedschalter) und einer dazwischen geschaltete auf Lochraster aufgebauten eigenen Elektronik mit RC Filter und Schmitt-Trigger (74G14) (siehe Bild). Letztere hat den Effekt gebracht, dass ich die letzten 300m³ Gasverbrauch keine Impulsdifferenz mehr habe.
Wenn der Platz für den Impulszähler schon belegt ist kann man den Reed Schalter auch mit z.B. Tesafilm auf die Ziffernanzeige kleben. Habe es gerade wie im Bild ausprobiert. -
@tobi19
Gute Lösung, den Reedkontakt direkt auf das Display zu "kleben"! Das "Verlängern" des Kontakts aus handelsüblichen Tür- und Fenstersensoren ist ja eigentlich auch problemlos möglich.