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:20]
admin [Konfiguration Home Assistant]
public:stromzaehler [2025/03/10 11:02] (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:​\\
 +**Beispiel:​**\\
 +{{:​public:​tasmota-password.jpg?​400|}}
 \\ \\
 \\ \\
Zeile 115: Zeile 119:
 === 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 127:
 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 140:
 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 193:
     c1old=c1     c1old=c1
 endif endif
 +
  
 ' Historische Werte ' Historische Werte
Zeile 214: Zeile 219:
 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 339:
 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 383:
  
 ===== 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 387: Zeile 391:
   sensor:   sensor:
     - name: "​Stromzähler Zählerstand"​     - name: "​Stromzähler Zählerstand"​
-      unique_id: sensor.stromzahler_zaehlerstand+      unique_id: sensor.stromzaehler_zaehlerstand
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.energytotal }}'       value_template:​ '{{ value_json.energytotal }}'
Zeile 396: Zeile 400:
       state_class:​ "​total_increasing"​       state_class:​ "​total_increasing"​
     - name: "​Stromzähler Strompreis"​     - name: "​Stromzähler Strompreis"​
-      unique_id: sensor.stromzahler_strompreis+      unique_id: sensor.stromzaehler_strompreis
       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_increasing"​
     - name: "​Stromzähler Aktuelle Leistung"​     - name: "​Stromzähler Aktuelle Leistung"​
-      unique_id: sensor.stromzahler_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 }}'
Zeile 414: Zeile 418:
       state_class:​ "​total_increasing"​       state_class:​ "​total_increasing"​
     - name: "​Stromzähler Verbrauch Energie heute"     - name: "​Stromzähler Verbrauch Energie heute"
-      unique_id: sensor.stromzahler_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 423: Zeile 427:
       state_class:​ "​total_increasing"​       state_class:​ "​total_increasing"​
     - name: "​Stromzähler Verbrauch Kosten heute"     - name: "​Stromzähler Verbrauch Kosten heute"
-      unique_id: sensor.stromzahler_verbrauch_kosten_heute+      unique_id: sensor.stromzaehler_verbrauch_kosten_heute
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.today_money }}'       value_template:​ '{{ value_json.today_money }}'
Zeile 429: Zeile 433:
       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_increasing"​
     - name: "​Stromzähler Verbrauch Energie gestern"​     - name: "​Stromzähler Verbrauch Energie gestern"​
-      unique_id: sensor.stromzahler_verbrauch_energie_gestern+      unique_id: sensor.stromzaehler_verbrauch_energie_gestern
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.yd_kwh }}'       value_template:​ '{{ value_json.yd_kwh }}'
Zeile 441: Zeile 445:
       state_class:​ "​total_increasing"​       state_class:​ "​total_increasing"​
     - name: "​Stromzähler Verbrauch Kosten gestern"​     - name: "​Stromzähler Verbrauch Kosten gestern"​
-      unique_id: sensor.stromzahler_verbrauch_kosten_gestern+      unique_id: sensor.stromzaehler_verbrauch_kosten_gestern
       state_topic:​ "​tele/​Stromzaehler/​json"​       state_topic:​ "​tele/​Stromzaehler/​json"​
       value_template:​ '{{ value_json.yd_money }}'       value_template:​ '{{ value_json.yd_money }}'
Zeile 447: Zeile 451:
       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_increasing"​
     - name: "​Stromzähler Verbrauch Energie vorgestern"​     - name: "​Stromzähler Verbrauch Energie vorgestern"​
-      unique_id: sensor.stromzahler_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 459: Zeile 463:
       state_class:​ "​total_increasing"​       state_class:​ "​total_increasing"​
     - name: "​Stromzähler Verbrauch Kosten vorgestern"​     - name: "​Stromzähler Verbrauch Kosten vorgestern"​
-      unique_id: sensor.stromzahler_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_increasing"​       state_class:​ "​total_increasing"​
 +    - 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"​
 +
 </​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"​**)\\
Zeile 476: Zeile 491:
 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 485: Zeile 502:
 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"​).\\ 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.\\ Danach muss 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 522:
 \\ \\
 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.\\
 +
 +\\
 +
 +\\
 +=== 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