Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
public:2r-stromzaehler [2025/05/28 06:27]
admin angelegt
public:2r-stromzaehler [2025/06/03 13:51] (aktuell)
admin
Zeile 1: Zeile 1:
 ===== MQTT 2R-Stromzähler (Zweirichtung) / Verbrauchsmessung eines Ferraris-Stromzählers ===== ===== MQTT 2R-Stromzähler (Zweirichtung) / Verbrauchsmessung eines Ferraris-Stromzählers =====
 +In einigen Haushalten findet sich noch ein Ferraris-Stromzählers,​ welcher bei verwendung eines Balkonkraftwerkes oder eine Mini-PV-Analage auch mal rückwärts laufen kann.\\
 +Dies führt in der Regel zu einer Verfälschung der Verbrauchsanzeige. Dieser 2R-Stromzähler hat zwei Sensoren und kann durch das intelligente Script erkennen, in welche Richtung der Zähler dreht.\\
 +Bitte beachten, dass hier ein anlaloges Zählwerk in eine digetale Anzeige mit Hilfe von IR-Sonsoren gewandelt wird. Es kann immer mal zu Abweichungen kommen. Bedeutet, dass man gelegntlich den Wert des Zählerstandes auch mal anpassen muss.\\
 +\\
 +\\
 +
 +{{:​public:​verdrathung.jpg?​400|}}
 +
 +
 +=== Grundeinstellungen ===
 +Folgende Grundeinstellungen sind bereit bei Auslieferung vorgenommen.\\
 +**TelePeriod** = Intervall für das Senden von MQTT-Nachrichten\\
 +**CounterDebounce** = Zeit in Millisekunden,​ die vergehen müssen, um ein Prellen der Sensoren zu verhindern.\\
 +<​code>​
 +TelePeriod 60
 +CounterDebounce 600
 +</​code>​
 +
 +=== Konsolen Script ===
 +In folgenden, auf dem Zähler bereits vorhandenen Script (Konsolen > Script konfigurieren) sind folgende Variablenwerte anzupassen.\\
 +Und zwar die Zählerkonstante (zk), welche am Stromzähler aufgedruckt und mit der Einheit (U/kWh) angegegben ist und die Mindestumlaufzeit (mu) der Aluminium-Drehscheibe.\\
 +
 +  - zk (Zählerkonstante)
 +  - mu (Mindest Umlaufzeit der Scheibe)
 +  - latitude ​
 +  - longitude
 +\\
 +Für **zk** ist standardmäßig ein Wert von 75 U/kWh hinterlegt. Bitte diesen Wert mit der Angabe auf dem eigenen Stromzähler abgleichen.\\
 +Für **mu** ist ein Standardwert von 10 Sekunden voreingestellt.\\
 +Für **latitude** Ist der Breitengrad des Standortes anzugeben.\\
 +Für **longitude** Ist der Längengrad des Standortes anzugeben.\\
 +
 +\\
 +Der Wert für mu kann zunächst beibehalten werden. Wer eine genauere Einstellung wünscht, kann einen oder mehrere starke Verbraucher (z. B. Wasserkocher,​ Föhn) einschalten und mit einer Stoppuhr messen, wie viele Sekunden die Aluminium-Drehscheibe für eine vollständige Umdrehung benötigt. Dieser gemessene Wert – oder etwas weniger – sollte dann als mu verwendet werden.\\
 +:!: Hinweis: Danach unbedingt prüfen, ob der Wert für CounterDebounce noch passend ist.\\
 +Der Wert **mu** beeinflusst maßgeblich die Berechnung der aktuellen Leistung und die Erkennung der Zählrichtung (vorwärts oder rückwärts). Dennoch kann der voreingestellte Wert mu = 10 für den Anfang problemlos verwendet werden.\\
 +
 <​code>​ <​code>​
 >D >D
Zeile 10: Zeile 47:
 fl2=0 fl2=0
 rt="​unbekannt"​ rt="​unbekannt"​
 +ph="​unbekannt"​
 c1=0 c1=0
 c2=0 c2=0
Zeile 19: Zeile 57:
 c2tsold=0 c2tsold=0
 zk=75 zk=75
-mu=10+mu=12
 hr=0 hr=0
 dy=0 dy=0
Zeile 29: Zeile 67:
 >B >B
 =>​sensor53 l255 =>​sensor53 l255
 +latitude 50.0555
 +longitude 8.8008
  
 >F >F
 h1=zs-s1 h1=zs-s1
 e1=h1/​(2*zk) e1=h1/​(2*zk)
 +
 +if sunrise>​0 ​
 +   and sunset>​0 ​
 +   and time>​sunrise ​
 +   and time<​sunset
 +   then
 +     ​ph="​Tag"​
 +   else
 +     ​ph="​Nacht"​
 +     fl2=0
 +endif
  
 if fl1==1  ​ if fl1==1  ​
Zeile 50: Zeile 101:
 if c1!=c1old if c1!=c1old
    ​then ​    ​then ​
-    fl1=1 
     c1ts=upsecs     c1ts=upsecs
     if fl2==1     if fl2==1
 +       and time>​sunrise ​
 +       and time<​sunset
        then        then
         zs=zs-1         zs=zs-1
-        rt="​rückwärts"​+        rt="← rückwärts"​
         fl2=0         fl2=0
-        ​fl1=0+       ​else 
 +        ​fl1=1
    ​endif ​    ​endif ​
 endif endif
Zeile 64: Zeile 117:
 if c2!=c2old if c2!=c2old
    ​then ​    ​then ​
-    fl2=1 
     c2ts=upsecs     c2ts=upsecs
     if fl1==1     if fl1==1
        then        then
         zs=zs+1         zs=zs+1
-        rt="​vorwärts"​+        rt="​vorwärts ​"
         fl1=0         fl1=0
-        ​fl2=0+       ​else 
 +        ​fl2=1
     endif     endif
 endif endif
Zeile 77: Zeile 130:
  
 ' Aktuelle Leistung ' Aktuelle Leistung
-c1ts=upsecs +if c1>c1old  
-if c1>​c1old +   ​and ​upsecs>​(c1tsold+mu)
-   ​and ​c1ts>​(c1tsold+mu)+
    then    then
-   ​sec=c1ts-c1tsold +    c1ts=upsecs 
-   ​power=3600000/​(sec*zk) +    ​sec=c1ts-c1tsold 
-   ​c1tsold=c1ts+    if sec>0 
 +      then  
 +        ​power=3600000/​(sec*zk) 
 +      else  
 +        power=0 
 +    endif 
 +    ​c1tsold=c1ts
 endif endif
  
Zeile 101: Zeile 159:
 if chg[hr]>​0 if chg[hr]>​0
  and hr==0  and hr==0
 + and min==0 ​
 + and sec<2
   then   then
    s1=zs    s1=zs
    e3=e2    e3=e2
    e2=e1    e2=e1
 +   svars
 endif endif
  
Zeile 124: Zeile 185:
  
 >W >W
 +ZS: {m} %0zs%
 Zählerstand:​ {m} %total% kWh Zählerstand:​ {m} %total% kWh
 Richtung: {m} %rt% Richtung: {m} %rt%
Zeile 129: Zeile 191:
 Sensor L: {m} %0fl1% Sensor L: {m} %0fl1%
 Sensor R: {m} %0fl2% Sensor R: {m} %0fl2%
-============+Phase   : {m} %ph% 
 +=========
 Verbrauch: Verbrauch:
 Heute     : {m} %2e1% kWh Heute     : {m} %2e1% kWh
 Gestern ​  : {m} %2e2% kWh Gestern ​  : {m} %2e2% kWh
 Vorgestern: {m} %2e3% kWh Vorgestern: {m} %2e3% kWh
 +</​code>​
 +
 +=== Zählerstand einstellen ===
 +Der auf dem Stromzähler bereits erfasste Zählerstand wird folgendermaßen in TASMOTA per Konsole übertragen:​\\
 +Kommando: **script >zs= (ZS x ZK)**\\
 +
 +Die Berechnung richtet sich nach der im Skript definierten Zählerkonstante (zk), die angibt, wie viele Zählerumdrehungen einer verbrauchten Kilowattstunde entsprechen.\\
 +\\
 +//ZS = Zählerstand (kWh)//\\
 +//ZK = Zählerkonstante (U/kWh)//\\
 +\\
 +Beispiel: 44717,3 kWH * 75
 +<​code>​
 +script >​zs=3353797,​5
 </​code>​ </​code>​

Navigation
Eigene Werkzeuge