Zuletzt angesehen:
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
public:wasserzaehler [2025/01/20 13:23] admin [Konfiguration] |
public:wasserzaehler [2025/03/25 07:38] (aktuell) admin [MQTT-Wasserzähler / Verbrauchsmessung eines Wasserzählers] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== MQTT Wasserzähler / Verbrauchsmessung eines Zenner-Wasserzählers ===== | + | ===== MQTT-Wasserzähler / Verbrauchsmessung eines Wasserzählers ===== |
=== Beschreibung === | === Beschreibung === | ||
- | Ein Zenner MNK Wasserzähler ist werksseitig mit einem Reed-Kontakt Aufnehmer ausgestattet und kann demzufolge mit einfachen Maßnahmen Smart gemacht werden.\\ | + | Einige Wasserzähler sind werksseitig mit einem Reed-Kontakt Aufnehmer ausgestattet und können demzufolge mit einfachen Maßnahmen Smart gemacht werden.\\ |
- | Der separat, erhältlichew Reed-Kontaktgeber, erfasst das umlaufene Flügelrad des Zählers und gibt das Signal an die Zählereinheit (MQTT-Wasserzähler) weiter, welche die Auswertung übernimmt.\\ | + | Der meist separat, erhältlichew Reed-Kontaktgeber, erfasst das umlaufene Flügelrad des Zählers und gibt das Signal an die Zählereinheit (MQTT-Wasserzähler) weiter, welche die Auswertung übernimmt.\\ |
\\ | \\ | ||
\\ | \\ | ||
Zeile 29: | Zeile 29: | ||
\\ | \\ | ||
Kabel durch das Loch seitlich des Gehäuses einfädeln, verlöten, einsetzen, mit Deckel verschließen.\\ | Kabel durch das Loch seitlich des Gehäuses einfädeln, verlöten, einsetzen, mit Deckel verschließen.\\ | ||
+ | GGf. den D1-Mini an der hinteren Seite (aufgedruckte Antenne) etwas runter feilen, damit er besser ins Gehäuse gleitet.\\ | ||
\\ | \\ | ||
{{:public:wasser_gehaeuse_3.jpg?300|}} | {{:public:wasser_gehaeuse_3.jpg?300|}} | ||
Zeile 88: | Zeile 89: | ||
\\ | \\ | ||
=== Konsolen Script === | === Konsolen Script === | ||
- | In folgendem Script (Konsolen > Script konfigurieren) ist eine Variablenwerte zu ersetzen.\\ | + | In folgendem Script (Konsolen > Script konfigurieren) ist eine Variablenwerte zu ersetzen. Immer mit PUNKT nicht mit KOMMA !!\\ |
- wp (Wasserpreis in EUR) z.B. 1.81 | - wp (Wasserpreis in EUR) z.B. 1.81 | ||
Zeile 198: | Zeile 199: | ||
\\ | \\ | ||
=== Sonstige Konfiguration === | === Sonstige Konfiguration === | ||
- | MTT gegenfalls aktivieren (für Hausautomation) und zum Datenschutz sollte man die Weboberfläche mit einem kryptischen Passwort schützen:\\ | + | Fall noch nicht vordefiniert, muss Pin D5 für den Counter konfiguriert werden, da der Reedkontaktgeber zwischen GND und D5 eingelötet ist.\\ |
+ | {{:public:gaszaehler_7.jpg?400|}}\\ | ||
+ | \\ | ||
+ | MQTT gegebenfalls aktivieren (für Hausautomation) und zum Datenschutz sollte man die Weboberfläche mit einem kryptischen Passwort schützen:\\ | ||
{{:public:wz-weitere-einstellungen.jpg?400|}} | {{:public:wz-weitere-einstellungen.jpg?400|}} | ||
\\ | \\ | ||
Zeile 236: | Zeile 240: | ||
script >m1=0 | script >m1=0 | ||
</code> | </code> | ||
+ | |||
+ | === Impuls Anpassung === | ||
+ | Per default geht das Script von 10 Liter pro Impuls aus.\\ | ||
+ | Falls der Wasserzähler andere Impulse liefert, aslo 1L/imp oder 100L/imp, muss das script angepasst werden.\\ | ||
+ | \\ | ||
+ | z.B. bei 1L/imp (1 Liter pro Impuls)\\ | ||
+ | <code> | ||
+ | s1=Counter#C1/1000 | ||
+ | c1=Counter#C1 | ||
+ | wtotal=(c1/1000) | ||
+ | </code> | ||
+ | |||
+ | z.B. bei 1L/imp (100 Liter pro Impuls)\\ | ||
+ | <code> | ||
+ | s1=Counter#C1/10 | ||
+ | c1=Counter#C1 | ||
+ | wtotal=(c1/10) | ||
+ | </code> | ||
+ | |||
+ | Um die Kommastellen der Bildschirmausgabe von 2 Stellen auf 3 Stellen zu erweitern, muss im Script %2 durch %3 ersetzt werden.\\ | ||
+ | |||
+ | <code> | ||
+ | Zählerstand: {m} %3wtotal% m³ | ||
+ | </code> | ||
+ | |||
+ | === Debounce/Prellen === | ||
+ | Es ist normal, dass ein Reedkontakt manchmal doppelt zähler. Dies nennt man **Prellen** und es kommt vor, wenn der Magnet längere Zeit über den Reedkontakt steht.\\ | ||
+ | Um dies zu verhindern oder zumindest zu minimieren, kann per Konsole ein Kommandoe **CounterDebounce** eingegeben werden.\\ | ||
+ | Der Wert kann von 0-32000 gewählt werden und spiegelt Millisekunden da, welche vergehen müssen, bis eine erneute Zählung zugelassen wird.\\ | ||
+ | Man sollte mir einem Wert von 1000 anfangen und das Verhalten beobachten. Wenn der Reedkontakt immer noch prellt, dann um 500 bis 1000 erhöhen.\\ | ||
+ | <code> | ||
+ | CounterDebounce 1000 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
===== Konfiguration in FHEM ===== | ===== Konfiguration in FHEM ===== | ||
Zeile 352: | Zeile 396: | ||
payload_available: "Online" | payload_available: "Online" | ||
payload_not_available: "Offline" | payload_not_available: "Offline" | ||
- | device_class: water | + | device_class: monetary |
- | state_class: "total_increasing" | + | state_class: "total" |
- name: "Wasserzähler Verbrauch heute" | - name: "Wasserzähler Verbrauch heute" | ||
unique_id: sensor.wasserzaehler_verbrauch_heute | unique_id: sensor.wasserzaehler_verbrauch_heute | ||
Zeile 370: | Zeile 414: | ||
payload_available: "Online" | payload_available: "Online" | ||
payload_not_available: "Offline" | payload_not_available: "Offline" | ||
- | device_class: water | + | device_class: monetary |
- | state_class: "total_increasing" | + | state_class: "total" |
- name: "Wasserzähler Verbrauch gestern" | - name: "Wasserzähler Verbrauch gestern" | ||
unique_id: sensor.wasserzaehler_verbrauch_gestern | unique_id: sensor.wasserzaehler_verbrauch_gestern | ||
Zeile 388: | Zeile 432: | ||
payload_available: "Online" | payload_available: "Online" | ||
payload_not_available: "Offline" | payload_not_available: "Offline" | ||
- | device_class: water | + | device_class: monetary |
- | state_class: "total_increasing" | + | state_class: "total" |
- name: "Wasserzähler Verbrauch vorgestern" | - name: "Wasserzähler Verbrauch vorgestern" | ||
unique_id: sensor.wasserzaehler_verbrauch_vorgestern | unique_id: sensor.wasserzaehler_verbrauch_vorgestern | ||
Zeile 406: | Zeile 450: | ||
payload_available: "Online" | payload_available: "Online" | ||
payload_not_available: "Offline" | payload_not_available: "Offline" | ||
- | device_class: water | + | device_class: monetary |
- | state_class: "total_increasing" | + | state_class: "total" |
</code> | </code> | ||
Zeile 416: | Zeile 460: | ||
**Energy-Board:** (Beispielhaft sind alle drei angebotenen Zähler dargestellt)\\ | **Energy-Board:** (Beispielhaft sind alle drei angebotenen Zähler dargestellt)\\ | ||
{{:public:ha-energy.jpg?400|}}\\ | {{:public:ha-energy.jpg?400|}}\\ | ||
- | ===== Neue TASMOTA Firmware für den MQTT Stromzähler ===== | + | ===== Neue TASMOTA Firmware für den MQTT-Wasserzähler ===== |
Neue TASMOTA Releases stehen zum Download unter folgendem Link zur Verfügung (Passwort = 10 stellige, aphanumerische Nummer auf dem Gerätelabel **"unterste Zeile"**)\\ | Neue TASMOTA Releases stehen zum Download unter folgendem Link zur Verfügung (Passwort = 10 stellige, aphanumerische Nummer auf dem Gerätelabel **"unterste Zeile"**)\\ | ||
[[https://nextcloud.gorjup.de/nextcloud/index.php/s/T4C9CWWrqWYA7rT|Download TASMOTA Releases für MQTT-Zähler]] | [[https://nextcloud.gorjup.de/nextcloud/index.php/s/T4C9CWWrqWYA7rT|Download TASMOTA Releases für MQTT-Zähler]] | ||
Zeile 424: | Zeile 468: | ||
===== Troubleshooting ===== | ===== Troubleshooting ===== | ||
- | === Es wurde eine Standard TASMOTA Firmware auf den MQTT-Stromzähler geflashed/geupdated === | + | === Es wurde eine Standard TASMOTA Firmware auf den MQTT-Wasserzähler geflashed/geupdated === |
Solange kein blank_1MB.bin Image geflashed wurde, sind die Einstellungen noch vorhanden, aber das Script funktioniert nicht mehr.\\ | Solange kein blank_1MB.bin Image geflashed wurde, sind die Einstellungen noch vorhanden, aber das Script funktioniert nicht mehr.\\ | ||
In diesem Fall muss zuerst die **tasmota-minimal_xxx.bin** Firmware und anschließend wieder die ** scripting_tasmota_xxx.bin** Firmware über das Webinterface geflashed werden. (Siehe "Neue TASMOTA Firmware für den MQTT Stromzähler").\\ | In diesem Fall muss zuerst die **tasmota-minimal_xxx.bin** Firmware und anschließend wieder die ** scripting_tasmota_xxx.bin** Firmware über das Webinterface geflashed werden. (Siehe "Neue TASMOTA Firmware für den MQTT Stromzähler").\\ | ||
Zeile 445: | Zeile 489: | ||
\\ | \\ | ||
\\ | \\ | ||
+ | === Seit HomeAssistant Update 2025.3.1 werden Fehler in MQTT angzeigt === | ||
+ | {{:public:mqtt_ungueltig.jpg?600|}} | ||
+ | |||
+ | HomeAssistant hat mit dem Release 2025.3.1 die **device_class** und **unit_of_measurement** Einstellungen verschäft. | ||
+ | Somit ist z.B. die Kombination aus "water" + "EUR" nicht mehr zulässig. In obigem Script sind die **device_class** Werte beeits korrigiert. Bitte diese entsprechend im File Editor ändern.\\ | ||
+ | Aus **water** wird z.B. **monetary**. | ||
+ | \\ | ||