NEWS
Stromzähler über S0-Schnittstelle
-
Moin, ich habe einen D1mini V3 mit ESP Easy Mega an meinen Zähler mit S0-Schnittstelle angeschlossen. GND an S0- und D5 an S0+.
Es wird mir auch alles in iobroker angezeigt. Das Skript habe ich aus dem Internet aus einem Video übernommen. Soweit funktioniert das auch. Nun habe ich aber differenzen innerhalb 24std. Der Zählerstand beträgt 3636,91 und der Wert in iobroker beträgt 3636,944.
Impl/kwh sind 1000.Auch wird "Time" im ESP nicht gespeicht und somit auch nicht in iobroker. Woran kann das liegen?
MfG Jan
-
@jan201 sagte in Stromzähler über S0-Schnittstelle:
Auch wird "Time" im ESP nicht gespeicht und somit auch nicht in iobroker. Woran kann das liegen?
Ich mache das per IR mit 'nem ESP.
Time ist immer nur kurz zu sehen und enthält auch keinen Zeitstempel![Edit]
Das Ganze halbwegs stabil hinzukriegen war etwas Fummelei.
Ich habe es jetzt auf "PULSE High" mit 100 ms Debounce eingestellt und bin recht zufrieden.Bei mir sind's übrigens 96 Imp./kWh.
Also erhöhe ich den Zählerstand bei jedem Impuls um 1/96.
Die Abweichung dürfte aus Rundungsdifferenzen resultieren. -
-
@jan201 sagte: Das Skript habe ich aus dem Internet aus einem Video übernommen.
So sieht es auch aus.
Versuche es mal mit diesem Skript. Es ist an 1000 Impulse / kWh angepasst. -
@codierknecht sagte: Ich habe es jetzt auf "PULSE High" mit 100 ms Debounce eingestellt und bin recht zufrieden.
Bei mir sind's übrigens 96 Imp./kWh.100 ms Debounce könnte bei 1000 Imp./kWh zu lang sein. 20 ms passt schon.
"Rising" = steigende Flanke sollte auch nur die Zahl der Impulse liefern. Bei @k0s funktioniert es damit offenbar. -
@paul53 Vielen Dank erstmal dafür. Was Blocky angeht bin ich ein anfänger. Ich finde das "Geteiltzeichen" vor 360000 nicht. Außerdem wo muss ich denn meinen Anfangszählerstand eintragen? Oder ist das der "Zähler_kWh"?
-
@jan201 sagte: Ich finde das "Geteiltzeichen" vor 360000 nicht.
Das ist Division mit: Mauszeiger über dem Block, rechte Maustaste und "externe Eingänge" auswählen. Der Faktor ist 3600000.
@jan201 sagte in Stromzähler über S0-Schnittstelle:
wo muss ich denn meinen Anfangszählerstand eintragen?
In den Datenpunkt, der vom Blockly mit dem Zählerstand aktualisiert wird. Er sollte unter "0_userdata.0" erstellt werden.
-
@paul53 Danke dafür erstmal. Nun habe ich ganz utopische Werte. Auf dem Zähler sind 2100Watt und in iobroker zwischen 3600 und 7100. Der Zählerstand wird garnicht aktualisiert
-
@jan201 sagte: Der Zählerstand wird garnicht aktualisiert
Du verwendest auch den Anfangszählerstand anstatt den aktuellen Zählerstand. Ein Datenpunkt für den Anfangszählerstand wird nicht benötigt.
Fehler: "erhöhe diff um diff"
Richtig: "erhöhe impulse um diff"Bei 3 Nachkommastellen braucht man nicht runden, da
impulse
einen Integer-Wert enthält.@jan201 sagte in Stromzähler über S0-Schnittstelle:
Watt und in iobroker zwischen 3600 und 7100.
Ich sehe 239 W. Weshalb rundest Du die Leistung ab?
Du solltest in den Datenpunkten noch common.unit ergänzen:
- Zählerstand: "kWh"
- Stromverbrauch: "W"
-
@paul53 Ich hatte ein falsches Bild geöffnet, das war meine Schuld. Nun kommt es mit dem Zählerstand unter Belastung hin. Ich beobachte das nun nochmal unter hoher Stromabnahme wie sich die Werte Verhalten.
-
@jan201 said in Stromzähler über S0-Schnittstelle:
@paul53 Ich hatte ein falsches Bild geöffnet, das war meine Schuld. Nun kommt es mit dem Zählerstand unter Belastung hin. Ich beobachte das nun nochmal unter hoher Stromabnahme wie sich die Werte Verhalten.
Edit: Bei einem Verbrauch von 4.6kw laut Zähler schwankt der Wert in iobroker zwischen 3600 - 7200. Bei einer last von ca 80-90Watt am Zähler zeigt iobroker einen Wert von 95an. Das wurde ja passen.
-
@jan201 said in Stromzähler über S0-Schnittstelle:
@jan201 said in Stromzähler über S0-Schnittstelle:
@paul53 Ich hatte ein falsches Bild geöffnet, das war meine Schuld. Nun kommt es mit dem Zählerstand unter Belastung hin. Ich beobachte das nun nochmal unter hoher Stromabnahme wie sich die Werte Verhalten.
Edit: Bei einem Verbrauch von 4.6kw laut Zähler schwankt der Wert in iobroker zwischen 3600 - 7200. Bei einer last von ca 80-90Watt am Zähler zeigt iobroker einen Wert von 95an. Das wurde ja passen.
-
@jan201 sagte: Bei einem Verbrauch von 4.6kw laut Zähler schwankt der Wert in iobroker zwischen 3600 - 7200
Die Zykluszeit beträgt 2 s. Rechne selbst aus, wieviel Impulse bei 4,6 kW in dieser Zeit kommen.
Der Datenpunkt "Time" liefert wirklich keine Werte?
-
@paul53 said in Stromzähler über S0-Schnittstelle:
@jan201 sagte: Bei einem Verbrauch von 4.6kw laut Zähler schwankt der Wert in iobroker zwischen 3600 - 7200
Die Zykluszeit beträgt 2 s. Rechne selbst aus, wieviel Impulse bei 4,6 kW in dieser Zeit kommen.
Das vertstehe ich gerade nicht. Würde sich das quasi ändern wenn ich den Intervall im ESP von derzeit 1sec. auf 10sec. setzen würde?
Der Datenpunkt "Time" setzt kurz einen Wert und dann verschwindet er wieder.
-
@jan201 sagte: Intervall im ESP von derzeit 1sec. auf 10sec. setzen würde?
Ja, die Schwankungen um den tatsächlichen Wert wären geringer.
@jan201 sagte in Stromzähler über S0-Schnittstelle:
Der Datenpunkt "Time" setzt kurz einen Wert und dann verschwindet er wieder.
Logge den Wert mal in einem Trigger auf "wurde aktualisiert" und poste das Ergebnis in Code tags.
Was heißt, er verschwindet wieder? Zeigt er dann (null) oder 0? -
@paul53 said in Stromzähler über S0-Schnittstelle:
@jan201 sagte: Intervall im ESP von derzeit 1sec. auf 10sec. setzen würde?
Ja, die Schwankungen um den tatsächlichen Wert wären geringer.
@jan201 sagte in Stromzähler über S0-Schnittstelle:
Der Datenpunkt "Time" setzt kurz einen Wert und dann verschwindet er wieder.
Logge den Wert mal in einem Trigger auf "wurde aktualisiert" und poste das Ergebnis in Code tags.
Habe das nun so gemacht, aber der Wert verschwindet genauso schnell wie der andere auch wieder. Somit wird dann "0" angezeigt wie es im ESP auch drin steht. Der intervall im ESP steht derzeit noch auf 1sec.
-
@jan201 sagte: Habe das nun so gemacht,
Nein, bitte so und die Ausgabe unter dem Editorfenster in Code tags posten:
-
@paul53 said in Stromzähler über S0-Schnittstelle:
@jan201 sagte: Habe das nun so gemacht,
Nein, bitte so und die Ausgabe unter dem Editorfenster in Code tags posten:
Das sind die Werte
18:14:04.322 info javascript.0 (35100) script.js.common.Strom_Log_Time: 29395.9 18:14:05.365 info javascript.0 (35100) script.js.common.Strom_Log_Time: 0 18:14:33.326 info javascript.0 (35100) script.js.common.Strom_Log_Time: 29244.12 18:14:34.355 info javascript.0 (35100) script.js.common.Strom_Log_Time: 0 18:15:03.337 info javascript.0 (35100) script.js.common.Strom_Log_Time: 29356.98 18:15:04.377 info javascript.0 (35100) script.js.common.Strom_Log_Time: 0
-
@jan201 sagte: Das sind die Werte
Danke. Der Wert geht nach ca. 1 s wieder auf 0. Dann kann man den Datenpunkt so verwenden:
Ist das Intervall jetzt 30 s? Wenn das so funktioniert, kann es sicherlich auf 2 s runter gesetzt werden.
-
@paul53 said in Stromzähler über S0-Schnittstelle:
@jan201 sagte: Das sind die Werte
Danke. Der Wert geht nach ca. 1 s wieder auf 0. Dann kann man den Datenpunkt so verwenden:
Ist das Intervall jetzt 30 s? Wenn das so funktioniert, kann es sicherlich auf 2 s runter gesetzt werden.
Nein der Intervall läuft gerade auf 4 sec. ich schaue morgen mal wie es funktionier.