Gaszähler mit WemosD1, GY-271 QMC5883 Magnetfeldmesser und Tasmota Mqtt

Begonnen von Klaus_R, 04 April 2022, 11:37:37

Vorheriges Thema - Nächstes Thema

Papa Romeo

Zitat von: Damian am 06 April 2022, 18:17:13
Update zum Thema siehe hier: https://forum.fhem.de/index.php/topic,97959.msg1217126.html#msg1217126

...auch o.k. 

... ich persönlich würde von dieser Lösung aber absehen, wenn ich andere Möglichkeiten zur Verfügung hätte, da der ESP während des Stromausfalls ständig erfolglos versucht seinen Ansprechpartner zu finden ... aber das liegt bei jedem selber ob das für ihn akzeptabel ist.

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

Damian

Zitat von: Papa Romeo am 06 April 2022, 20:49:27
...auch o.k. 

... ich persönlich würde von dieser Lösung aber absehen, wenn ich andere Möglichkeiten zur Verfügung hätte, da der ESP während des Stromausfalls ständig erfolglos versucht seinen Ansprechpartner zu finden ... aber das liegt bei jedem selber ob das für ihn akzeptabel ist.

LG
Papa Romeo

ja, da gibt es einige Alternativen, man muss für sich den Aufwand und den Nutzen abwägen, siehe: https://forum.fhem.de/index.php/topic,124838.msg1194082.html#msg1194082
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Zitat...da der ESP während des Stromausfalls ständig erfolglos versucht seinen Ansprechpartner zu finden ...

Ich habe mal mir auch diesen Fall angeschaut - ich sehe da kein Problem.

-Wenn Strom nur beim ESP ausfällt, ist das kein Problem - alles läuft weiter wie bisher

-Wenn Strom im ganzen Haus ausfällt, ist kein WLAN da, ESP probiert alle 7 Sekunden - das stört aber keinen, der Stromverbrauch des ESP ist etwas höher, aber ob der Akku 10 Stunden oder vielleicht 7 hält, ist hier unerheblich. Viel interessanter ist die Tatsache, dass Tasmota auch in diesem Zustand den Counter beim Verbrauch weiter zählt :)

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Klaus_R

Zitat von: Beta-User am 04 April 2022, 14:47:06
Na ja, vermutlich kann man das hier (unter den bereits abgeschichteten Vorbedingungen (!) ) auch als userReadings-Eintrag lösen:
attr Gaszaehler userReadings count_ticks:HMC5883L_MY_Axis:.* { return if ReadingsNum($name,'HMC5883L_MY_Axis',0) <100000;; ReadingsNum($name,'count_ticks',0)+1 }


So das hat auf Anhieb funktioniert! Zähler erhöht sich (leider :( ) fortlaufend. Danke!
Da eine Umdrehung 0,01 m³ entspricht habe ich jetzt noch (vorläufig) zusätzlich
attr Gaszaehler userReadings gas_kubmeter:HMC5883L_MY_Axis:.* { return if ReadingsNum($name,'HMC5883L_MY_Axis',0) <100000;; ReadingsNum($name,'gas_kubmeter',0)+0.01 }
angelegt und sollte somit gleich die verbrauchten m³ erhalten.
Ich vergleiche jetzt erstmal ein paar Tage die Werte.
Gruss Klaus
Linux Mint, Raspi-OSMC, Raspi-fhem, WemosD1, Shelly, CUL

Beta-User

Zitat von: Klaus_R am 07 April 2022, 08:48:15
So das hat auf Anhieb funktioniert!
:) Danke für die Rückmeldung. Bitte melden, falls Fragen zum Code sind. Der Groschen scheint aber (wie erwartet ;) ) gefallen zu sein...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Papa Romeo

Zitat von: Klaus_R am 07 April 2022, 08:48:15
Da eine Umdrehung 0,01 m³ entspricht ...

... wer´s eventuell genauer haben will wie 0.01 m³ ...

Ich messe die durchschnittliche Zeit zwischen zwei Impulsen des Gas-Zählers. Bei mir z.B. 16 bis 17 Sekunden. In dieser Zeit werden 0.01 m³ Gas verbraucht.
Als zweites Hilfssignal nutze ich das Ein- und Ausschalten des Magnetventil zur Zeitbestimmung wie lange Gas zugeführt wird.
Über diese beiden Zeiten kann ich dann den Gasverbrauch genau bestimmen.

... ist aber vielleicht eher ne "Spielerei" ...

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

Beta-User

[OT-Nachtrag zu]
Zitat von: Klaus_R am 07 April 2022, 09:43:57
Wollte in der Dusche Temperatur und Luftfeuchtigkeit über Fhem loggen.
Für so eine Aufgabe dann eine so stromhungrige Lösung wie einen ESP zu verwenden, ist m.E. nicht optimal (ganz abgesehen davon, dass "DHT" bei mir auch die Assoziation unzuverlässiges "Schätzeisen" weckt und ich für Basteleien eher zu einem BME280 greifen würde, (der "DHT22" mag gehen)).
Falls man mehrere braucht, würde ich einen ESP32 irgendwohin packen und das ganze via Bluetooth (mit "eckigen" Xiaomi+custom firmware) erfassen, falls es nur das eine ist und ZigBee sowieso da ist, käme z.B. auch ein ZigBee-Modell in Frage. (Es gibt sicher noch andere Varianten, kommt halt drauf an, was man schon hat).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Damian

Und weil es so einfach geht und fast nix kostet, habe ich mal eben noch einen vierten Zähler an den esp drangehängt. 100 KB Entprell-Widerstand zwischen A0 und D0 nicht vergessen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Klaus_R

Zitat von: Beta-User am 07 April 2022, 09:01:09
:) Danke für die Rückmeldung. Bitte melden, falls Fragen zum Code sind. Der Groschen scheint aber (wie erwartet ;) ) gefallen zu sein...

Naja "ein" Groschen. Da fehlen aber noch viele :(

Hab jetz mal ein eigenes Logfile angelegt in der Hoffnung es wird benötigt und hilft bei weiterem Vorgehen.
Sieht so aus:
2022-04-10_15:14:09 Gaszaehler gas_kubmeter: 855833.36
2022-04-10_15:14:19 Gaszaehler gas_kubmeter: 855833.37
2022-04-10_15:14:29 Gaszaehler gas_kubmeter: 855833.38
2022-04-10_15:14:39 Gaszaehler gas_kubmeter: 855833.39
2022-04-10_15:14:49 Gaszaehler gas_kubmeter: 855833.4
2022-04-10_15:14:59 Gaszaehler gas_kubmeter: 855833.41
2022-04-10_15:15:09 Gaszaehler gas_kubmeter: 855833.42
2022-04-10_15:15:19 Gaszaehler gas_kubmeter: 855833.43
2022-04-10_15:15:39 Gaszaehler gas_kubmeter: 855833.44
2022-04-10_15:15:59 Gaszaehler gas_kubmeter: 855833.45
2022-04-10_15:16:19 Gaszaehler gas_kubmeter: 855833.46
2022-04-10_15:16:39 Gaszaehler gas_kubmeter: 855833.47
2022-04-10_15:16:59 Gaszaehler gas_kubmeter: 855833.48
2022-04-10_15:17:19 Gaszaehler gas_kubmeter: 855833.49
2022-04-10_15:17:39 Gaszaehler gas_kubmeter: 855833.5
2022-04-10_15:17:49 Gaszaehler gas_kubmeter: 855833.51
2022-04-10_15:17:59 Gaszaehler gas_kubmeter: 855833.52
2022-04-10_15:18:09 Gaszaehler gas_kubmeter: 855833.53
2022-04-10_15:18:19 Gaszaehler gas_kubmeter: 855833.54
2022-04-10_15:18:29 Gaszaehler gas_kubmeter: 855833.55
2022-04-10_15:18:39 Gaszaehler gas_kubmeter: 855833.56
2022-04-10_15:18:49 Gaszaehler gas_kubmeter: 855833.57
2022-04-10_15:19:29 Gaszaehler gas_kubmeter: 855833.58
2022-04-10_15:19:49 Gaszaehler gas_kubmeter: 855833.59
2022-04-10_15:20:09 Gaszaehler gas_kubmeter: 855833.6
2022-04-10_15:20:19 Gaszaehler gas_kubmeter: 855833.61
2022-04-10_15:20:29 Gaszaehler gas_kubmeter: 855833.62
2022-04-10_15:20:39 Gaszaehler gas_kubmeter: 855833.63

gestartet bin ich natürlich mit dem aktuellen Zählerstand.
Wie bekomme ich jetzt daraus am elegantesten eine grafische Darstellung?. Müsste ja zuerst die Tageswerte errechnen (und diese auch wieder loggen??) und daraus die Grafik erzeugen (wie man Grafik aus Logdate erzeugt weiss ich bereits).

Gruss Klaus
Linux Mint, Raspi-OSMC, Raspi-fhem, WemosD1, Shelly, CUL

Klaus_R

Zitat von: Damian am 08 April 2022, 20:17:25
Und weil es so einfach geht und fast nix kostet, habe ich mal eben noch einen vierten Zähler an den esp drangehängt.
Ist das der TCRT 5000? Hab ich sogar hier liegen aber nur die Lichtschranke selbst. Das Modul ist besser oder?

Gruss Klaus
Linux Mint, Raspi-OSMC, Raspi-fhem, WemosD1, Shelly, CUL

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

fir3drag0n

@Klaus_R:

Wie hast du denn den GY-271 in Tasmota gebracht? was muss ich dafür anpassen?

Hackstall

Hi, warum macht Ihr es nicht optisch via OCR. Ich habe sehr viel probiert mitReed und Tasmota aber das Signalprellen lässt sich kaum abschalten auch via counter debounce command nicht wirklich.

Gleiches optisches Prinzip habe ich auch beim Wasserzaehler. Läuft super.
Stichwort Esp32-Cam

Papa Romeo

Zitat von: Hackstall am 15 Juni 2022, 11:17:49
Ich habe sehr viel probiert mitReed und Tasmota aber das Signalprellen lässt sich kaum abschalten auch via counter debounce command nicht wirklich.

also bei mir läuft´s auch mit REED. Der schaltet absolut sauber und ohne kontaktprellen.

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

Damian

Zitat von: Hackstall am 15 Juni 2022, 11:17:49
Hi, warum macht Ihr es nicht optisch via OCR. Ich habe sehr viel probiert mitReed und Tasmota aber das Signalprellen lässt sich kaum abschalten auch via counter debounce command nicht wirklich.

Gleiches optisches Prinzip habe ich auch beim Wasserzaehler. Läuft super.
Stichwort Esp32-Cam

Zum Entprellen reicht debounce manchmal alleine nicht aus, beim Wasserzähler musste ich ebenfalls CounterDebounceLow und CounterDebounceHigh entsprechend setzen, da der Übergang nicht sauber genug war.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF