Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
public:stromzaehler [2024/05/17 10:16]
admin [Konfiguration Home Assistant]
public:stromzaehler [2025/05/20 07:15] (aktuell)
admin [Troubleshooting]
Zeile 76: Zeile 76:
 === Sonstige Konfiguration === === Sonstige Konfiguration ===
 {{:​public:​stromzaehler_12.jpg?​400|}}\\ {{:​public:​stromzaehler_12.jpg?​400|}}\\
 +\\
 +Desweiteren sollte man als Datenschutz die Weboberfläche mit einem kryptischen Passwort schützen:​\\
 +Der Benutzername lautet: **admin**\\
 +**Beispiel:​**\\
 +{{:​public:​tasmota-password.jpg?​400|}}
 \\ \\
 \\ \\
Zeile 115: Zeile 120:
 === Konsolen Script === === Konsolen Script ===
 In folgendem Script (Konsolen > Script konfigurieren) sind drei Variablenwerte zu ersetzen.\\ In folgendem Script (Konsolen > Script konfigurieren) sind drei Variablenwerte zu ersetzen.\\
-Der Strompreis, die Zählerkonstante,​ welche am Stromzähler aufgedruckt und mit der Einheit (U/kWh) angegegben ist und die Mindestumlaufzeit der Aliminium-Drehscheibe.\\+Der Strompreis, die Zählerkonstante,​ welche am Stromzähler aufgedruckt und mit der Einheit (U/kWh) angegegben ist und die Mindestumlaufzeit der Aluminium-Drehscheibe.\\
  
   - sp (Strompreis in Cent)   - sp (Strompreis in Cent)
Zeile 123: Zeile 128:
 Für den Wert **mu** am Besten einen oder mehrere hohe Verbraucher (Wasserkocher,​ Fön, etc.) einschalten und mit der Stoppuhr messen, wieviele Sekunden die Aluminium-Drehscheibe benötigt um eine Umdrehung zu erreichen.\\ Für den Wert **mu** am Besten einen oder mehrere hohe Verbraucher (Wasserkocher,​ Fön, etc.) einschalten und mit der Stoppuhr messen, wieviele Sekunden die Aluminium-Drehscheibe benötigt um eine Umdrehung zu erreichen.\\
 Dieser Wert oder ggf. etwas weniger, ist für **mu** anzusetzen. :!: Nochmal kontrollieren,​ ob **CounterDebounce** noch passt.\\ Dieser Wert oder ggf. etwas weniger, ist für **mu** anzusetzen. :!: Nochmal kontrollieren,​ ob **CounterDebounce** noch passt.\\
-Der Default Wert ist **mu=10** also 10 Sekunden für einen Umlauf. Das sind bereits 4800W Leistung. Alles was größert ​gemessen wird, bleibt unberücksichtigt und reduziert die Fehlmeldungen.\\+Der Default Wert ist **mu=10** also 10 Sekunden für einen Umlauf. Das sind bereits 4800W Leistung. Alles was größer ​gemessen wird, bleibt unberücksichtigt und reduziert die Fehlmeldungen.\\
  
 <​code>​ <​code>​
Zeile 136: Zeile 141:
 p:power=0 p:power=0
 p:c1old=0 p:c1old=0
-sp=52.15+p:c1=0 
 +sp=27.59
 zk=75 zk=75
 mu=10 mu=10
-c1=0 
 c1ts=0 c1ts=0
 c1oldts=0 c1oldts=0
Zeile 189: Zeile 194:
     c1old=c1     c1old=c1
 endif endif
 +
  
 ' Historische Werte ' Historische Werte
Zeile 214: Zeile 220:
 if upsecs%tper==0{ if upsecs%tper==0{
 =>​Publish tasmota/​%topic%/​main/​zk %zk% =>​Publish tasmota/​%topic%/​main/​zk %zk%
-=>​Publish tasmota/​%topic%/​main/​electric_price %2sp+=>​Publish tasmota/​%topic%/​main/​electric_price %sp
-=>​Publish tele/​%topic%/​main/​today_kwh %2e1%+=>​Publish tele/​%topic%/​main/​today_kwh %3e1%
 =>​Publish tele/​%topic%/​main/​today_money %2sph1% =>​Publish tele/​%topic%/​main/​today_money %2sph1%
-=>​Publish tele/​%topic%/​main/​yd_kwh %2e2%+=>​Publish tele/​%topic%/​main/​yd_kwh %3e2%
 =>​Publish tele/​%topic%/​main/​yd_money %2spg1% =>​Publish tele/​%topic%/​main/​yd_money %2spg1%
-=>​Publish tele/​%topic%/​main/​dbyd_kwh %2e3%+=>​Publish tele/​%topic%/​main/​dbyd_kwh %3e3%
 =>​Publish tele/​%topic%/​main/​dbyd_money %2spg2% =>​Publish tele/​%topic%/​main/​dbyd_money %2spg2%
-=>​Publish tele/​%topic%/​main/​value %2c1% 
 =>​Publish tele/​%topic%/​main/​actpower %0power% =>​Publish tele/​%topic%/​main/​actpower %0power%
-=>​Publish tele/​%topic%/​main/​energytotal %2total+=>​Publish tele/​%topic%/​main/​energytotal %total
-=>​Publish tele/​%topic%/​json {"​energytotal":​ "%2total%",​ "​value":​ "%2c1%", "​today_kwh":​ "%2e1%", "​today_money":​ "​%2sph1%",​ "​yd_kwh":​ "%2e2%", "​yd_money":​ "​%2spg1%",​ "​dbyd_kwh":​ "%2e2%", "​dbyd_money":​ "​%2spg2%",​ "​zk":​ "%zk%, "​electric_price":​ "%2sp%", "​actpower":​ "​%0power%"​}+=>​Publish tele/​%topic%/​json {"​energytotal":​ "%total%", "​today_kwh":​ "%3e1%", "​today_money":​ "​%2sph1%",​ "​yd_kwh":​ "%3e2%", "​yd_money":​ "​%2spg1%",​ "​dbyd_kwh":​ "%3e3%", "​dbyd_money":​ "​%2spg2%",​ "​zk":​ "%zk%", "​electric_price":​ "%sp%", "​actpower":​ "​%0power%"​}
 } }
  
Zeile 335: Zeile 340:
 Notification:​ Notification:​
 <​code>​ <​code>​
-defmod StromverbrauchNoti notify MQTT2_DVES_BE3FE3:​value.* {\+defmod StromverbrauchNoti notify MQTT2_DVES_BE3FE3:​energytotal.* {\
 my $Zaehlerstand=round(ReadingsNum("​MQTT2_DVES_BE3FE3","​energytotal","​0"​),​0);;​\ my $Zaehlerstand=round(ReadingsNum("​MQTT2_DVES_BE3FE3","​energytotal","​0"​),​0);;​\
 my $ZaehlerStandLetzteAbrechnung=round(ReadingsNum("​ZaehlerStandLetzteAbrechnung","​state","​0"​),​0);;​\ my $ZaehlerStandLetzteAbrechnung=round(ReadingsNum("​ZaehlerStandLetzteAbrechnung","​state","​0"​),​0);;​\
Zeile 379: Zeile 384:
  
 ===== Konfiguration Home Assistant ===== ===== Konfiguration Home Assistant =====
-Bitte die Konfiguration ​In Anlehnung an die des Gaszählers vornehmen.\\+Bitte die Konfiguration ​in Anlehnung an die des Gaszählers vornehmen.\\
 [[https://​wiki.gorjup.de/​doku.php?​id=public:​gaszaehler#​konfiguration_im_home_assistant]] [[https://​wiki.gorjup.de/​doku.php?​id=public:​gaszaehler#​konfiguration_im_home_assistant]]
  
Zeile 399: Zeile 404:
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.electric_price }}'       value_template:​ '{{ value_json.electric_price }}'
-      unit_of_measurement:​ 'EUR'+      unit_of_measurement:​ 'Cent/kWh'
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
       payload_not_available:​ "​Offline"​       payload_not_available:​ "​Offline"​
-      device_class: ​energy +      device_class: ​monetary 
-      state_class:​ "total_increasing"+      state_class:​ "total"
     - name: "​Stromzähler Aktuelle Leistung"​     - name: "​Stromzähler Aktuelle Leistung"​
-      unique_id: sensor.stromzaehler_aktuelle_leistung ​+      unique_id: sensor.stromzaehler_aktuelle_leistung
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.actpower }}'       value_template:​ '{{ value_json.actpower }}'
-      unit_of_measurement:​ 'kWh'+      unit_of_measurement:​ 'W'
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
       payload_not_available:​ "​Offline"​       payload_not_available:​ "​Offline"​
-      device_class: ​energy +      device_class: ​power 
-      state_class:​ "total_increasing"+      state_class:​ "measurement"
     - name: "​Stromzähler Verbrauch Energie heute"     - name: "​Stromzähler Verbrauch Energie heute"
       unique_id: sensor.stromzaehler_verbrauch_energie_heute       unique_id: sensor.stromzaehler_verbrauch_energie_heute
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.today_kwh }}'       value_template:​ '{{ value_json.today_kwh }}'
-      unit_of_measurement:​ ''+      unit_of_measurement:​ 'kWh'
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
       payload_not_available:​ "​Offline"​       payload_not_available:​ "​Offline"​
Zeile 429: Zeile 434:
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
       payload_not_available:​ "​Offline"​       payload_not_available:​ "​Offline"​
-      device_class: ​energy +      device_class: ​monetary 
-      state_class:​ "total_increasing"+      state_class:​ "total"
     - name: "​Stromzähler Verbrauch Energie gestern"​     - name: "​Stromzähler Verbrauch Energie gestern"​
       unique_id: sensor.stromzaehler_verbrauch_energie_gestern       unique_id: sensor.stromzaehler_verbrauch_energie_gestern
Zeile 447: Zeile 452:
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
       payload_not_available:​ "​Offline"​       payload_not_available:​ "​Offline"​
-      device_class: ​energy +      device_class: ​monetary 
-      state_class:​ "total_increasing"+      state_class:​ "total"
     - name: "​Stromzähler Verbrauch Energie vorgestern"​     - name: "​Stromzähler Verbrauch Energie vorgestern"​
       unique_id: sensor.stromzaehler_verbrauch_energie_vorgestern       unique_id: sensor.stromzaehler_verbrauch_energie_vorgestern
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
-      value_template:​ '{{ value_json.db_dbyd_kwh ​}}'+      value_template:​ '{{ value_json.dbyd_kwh ​}}'
       unit_of_measurement:​ '​kWh'​       unit_of_measurement:​ '​kWh'​
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
Zeile 461: Zeile 466:
       unique_id: sensor.stromzaehler_verbrauch_kosten_vorgestern       unique_id: sensor.stromzaehler_verbrauch_kosten_vorgestern
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
-      value_template:​ '{{ value_json.db_dbyd_money ​}}'+      value_template:​ '{{ value_json.dbyd_money ​}}'
       unit_of_measurement:​ '​EUR'​       unit_of_measurement:​ '​EUR'​
       payload_available:​ "​Online"​       payload_available:​ "​Online"​
       payload_not_available:​ "​Offline"​       payload_not_available:​ "​Offline"​
-      device_class: ​energy+      device_class: ​monetary 
 +      state_class:​ "​total"​ 
 +    - name: "​Stromzähler Zählerkonstante"​ 
 +      unique_id: sensor.stromzaehler_konstante 
 +      state_topic:​ "​tele/​Stromzaehler/​json"​ 
 +      value_template:​ '{{ value_json.db_zk }}' 
 +      unit_of_measurement:​ '​U/​kWh'​ 
 +      payload_available:​ "​Online"​ 
 +      payload_not_available:​ "​Offline"​
       state_class:​ "​total_increasing"​       state_class:​ "​total_increasing"​
 </​code>​ </​code>​
 +
 +{{:​public:​mqtt-stromzaehler_ha.jpg?​400|}}
 ===== Neue TASMOTA Firmware für den MQTT Stromzähler ===== ===== Neue TASMOTA Firmware für den MQTT Stromzä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 Stromzähler]] [[https://​nextcloud.gorjup.de/​nextcloud/​index.php/​s/​T4C9CWWrqWYA7rT|Download TASMOTA Releases für Stromzähler]]
  
 +===== Verwendung der APP für Smartphone/​Tablet =====
 +Man kann für Smartphones und Tablets auch die App **Tasmotrol** verwenden, mit der man alle seine Tasmota Geräte verwalten kann.\\
 +Hier die Webseite: [[https://​www.tasmotrol.com/​de/​]]\\
 +\\
 +Für ein Gerät ist Tasmotrol kostenlos, falls man mehrere Geräte verwalten möchte, muss man die Pro Version mit einmaligem Kauf erwerben.
 +\\
 +Die App ist eigentlich selbsterklärend. Mit dem **+** Button fügt man ein neues Gerät hinzu, indem man entweder **Netzwerk durchsuchen** oder **Manuell hinzufügen** auswählt.\\
 +Anschließend sieht das ganze in etwa so aus:\\
 +\\
 +{{:​public:​tasmotrol.jpg?​400|}}
 ===== Troubleshooting ===== ===== Troubleshooting =====
 === Es wurde eine Standard TASMOTA Firmware auf den MQTT-Stromzähler geflashed/​geupdated === === Es wurde eine Standard TASMOTA Firmware auf den MQTT-Stromzä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"​).\\
 +\\
 +Hier geht's zur STEP-BY-STEP Anleitung für das Neuflashen des Zähler: [[public:​ESP-Flashen|STEP-BY-STEP-FLASHEN]]\\
 \\ \\
 \\ \\
Zeile 483: Zeile 510:
 Im Zweifelsfall bitte den Deckel öffen, den D1 Wemos Mini heraus nehmen und nochmal das Kabel einstecken. Wenn er sich immer noch nicht meldet, scheint die TASMOTA Software nicht geflashed oder korrupt zu sein.\\ Im Zweifelsfall bitte den Deckel öffen, den D1 Wemos Mini heraus nehmen und nochmal das Kabel einstecken. Wenn er sich immer noch nicht meldet, scheint die TASMOTA Software nicht geflashed oder korrupt zu sein.\\
 Es kann auch sein, dass bei der WLAN Verbindung ein falsches Passwort eingegeben wurde und das Gerät jetzt permanent versucht sich mit falschem Passwort zu verbinden.\\ Es kann auch sein, dass bei der WLAN Verbindung ein falsches Passwort eingegeben wurde und das Gerät jetzt permanent versucht sich mit falschem Passwort zu verbinden.\\
-In diesem Fall muss das Gerät ​neu geflashed werden. ​Zuerst ​mit dem **blank_1MB.bin** und anschließend mit der **scripting_tasmota_xxx.bin**. (Siehe ​"​Neue ​TASMOTA ​Firmware für den MQTT Stromzähler"​).\\ + 
-Danach muss eine komplette Neukonfiguration gemäß dieser Wiki Anleitung durchgeführt werden.\\+In diesem Fall muss der Zähler auf Werkseinstellung gesetzt oder neu geflashed werden.\\ 
 +**Um die Werkseinstellung ohne Webinterface zu aktivieren, muss man das USB-Kabel 6x hintereinander im Abstand von ca. 3 Sek. ein/aus stecken und beim 7. mal gesteckt lassen.**\\ 
 +Dann meldet sich der Zähler mit tasmota-XXXXXX-XXXX und man kann wie oben in diesem Wiki beschrieben die Konfiguration händisch nachziehen.\\ 
 +Sollte das nicht funktionieren,​ muss man das Gerät neu flashen.\\ 
 + 
 +Um das Gerät neu zu flashen, muss es zuerst ​mit dem **blank_1MB.bin** und anschließend mit der **scripting_tasmota_xxx.bin** ​geflashed werden. (Siehe ​[[http://​wiki.gorjup.de/​doku.php?​id=public:​gaszaehler#​neue_tasmota_firmware_fuer_den_mqtt_gaszaehler|Download ​TASMOTA ​Release]]).\\ 
 +Danach muss ebenso ​eine komplette Neukonfiguration gemäß dieser Wiki Anleitung durchgeführt werden.\\ 
 +\\ 
 +Hier geht's zur STEP-BY-STEP Anleitung für das Neuflashen des Zähler: [[public:​ESP-Flashen|STEP-BY-STEP-FLASHEN]]\\
 \\ \\
 \\ \\
 === MQTT-Stromzähler wird am USB-Port nicht erkannt === === MQTT-Stromzähler wird am USB-Port nicht erkannt ===
-In diesem Fall handelt es sich bei dem verwendeten Kabel evtl. nur um ein reines Stromkabel und nicht um ein Datenkabel. Bitte ein anderes ​Micro-USB-Kabel verwenden.\\+In diesem Fall handelt es sich bei dem verwendeten Kabel evtl. nur um ein reines Stromkabel und nicht um ein Datenkabel. Bitte ein anderes USB-Kabel verwenden.\\
 Meistens ist beim Einstecken des MQTT-Stomzählers in den Computer-USB Port bei Verwendung eines Datenkabels ein Windows-Sound zu hören (Windows 10 oder höher).\\ Meistens ist beim Einstecken des MQTT-Stomzählers in den Computer-USB Port bei Verwendung eines Datenkabels ein Windows-Sound zu hören (Windows 10 oder höher).\\
 \\ \\
 +\\
 +=== MQTT-Stromzähler verhält sich seltsam und geht aus, wenn der Poti auf Anschlag gedreht wird ===
 +In diesem Fall liegen vermutlich die Lötpunkte des IR-Sensor blank auf dem Metallgehäuse (Chip) des D1-Mini und verursachen einen Kurzschluß.\\
 +Bitte daruf achten, dass die Rückseite des IR-Sensor mit Klebeband beklebt ist und somit kein Kurzschluß entstehen kann.\\
 +\\
 +
 \\ \\
 === MQTT-Stromzähler zählt nicht / LED leuchtet dauerhaft grün === === MQTT-Stromzähler zählt nicht / LED leuchtet dauerhaft grün ===
Zeile 497: Zeile 538:
 \\ \\
 Um die Funktion generell zu testen, kann man mit dem Finger oder einen Stift vorne vorbeistreichen um zu sehen, ob die die LED erlischt. Wenn ja, ist der Sensor generell in Ordnung.\\ Um die Funktion generell zu testen, kann man mit dem Finger oder einen Stift vorne vorbeistreichen um zu sehen, ob die die LED erlischt. Wenn ja, ist der Sensor generell in Ordnung.\\
 +
 +\\
 +
 +=== MQTT-Stromzähler zählt zu viel ===
 +Wenn der MQTT-Zähler zuviel zählt. Also so ziemlich doppel soviel als er sollte, dann kann es sein, dass der Sensor nicht wie vorgesehen zweimal beim Vorbeilaufen der roten Markierung zählt, sondern nur einmal.\\
 +Das kann durch die Beschaffenheit der Drehscheibe passieren. Dann wird die Flanke nur einmal registriert. In diesem Fall bitte im Script die Zeile:\\
 +<​code>​
 +total=c1/​(2*zk)+strominit
 +</​code>​
 +ersetzen durch:\\
 +<​code>​
 +total=c1/​zk+strominit
 +</​code>​
 +
 +
 +\\
 +=== 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**.
 +\\

Navigation
Eigene Werkzeuge