NEWS
Smart Meter Zähler mit S0 Ausgang
-
Hallo,
Ich würde gerne meinen Smart Meter mit S0 Ausgang in meinen io brocker einbinden.
Im moment hab ich einen ESP32 mit der Firmware von ESPeasy am laufen und logge die Impulse mit.
Bei meinem Zähler entsprechen 1600imp / 1 KWh.
die Pulse werden schon an iobroker übertragen und dort geloggt.Wie schaffe ich es jetzt den Impulswert erstens in kWh umzurechnen ? Wie oder muss ich einen Datenpunkt erstellen.
Danke für eure hilfe.
-
@pmunz
Erstelle im Tab "Objekte" unter "0_userdata.0" einen Datenpunkt vom Typ "Zahl" mit der Einheit "kWh" für den Zählerstand und gebe den Anfangszählerstand ein. Mit einem kleinen Blockly-Skript kann dann weiter gezählt werden. -
@paul53
Danke für deine Hilfe, ich hab mir einen Datenpunkt wie du beschrieben hast erstellt aber irgendwie komm ich mit dem Blockly nicht in schuss.mein Blockly im moment:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Y*)uQOfA3A0pswm8w1GH">Wert</variable> </variables> <block type="variables_set" id="l+b)/1Oh=bK{OW)cHTi?" x="187" y="38"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">Wert</field> <value name="VALUE"> <block type="math_arithmetic" id="^B7%2v{!gu0EEl@k9FrK"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="h5vLrf=_}6A)FIyY4iyR"> <field name="NUM">1600</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="d6ob|)J]{ekBQ]}g`P_4"> <field name="NUM">1000</field> </shadow> <block type="get_value" id=")M7;?6gjE_kz.h[Gfe%4"> <field name="ATTR">val</field> <field name="OID">mqtt.0.ESP_ZaehlerkastenWHG.Strom_Hauptzaehler.Total</field> </block> </value> </block> </value> <next> <block type="on_ext" id="ysdmc3`Gr[OlS6wX3zwn"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="g=PqAuIY6*91!SWub}aQ"> <field name="oid">mqtt.0.ESP_ZaehlerkastenWHG.Strom_Hauptzaehler.Total</field> </shadow> </value> <statement name="STATEMENT"> <block type="math_change" id="J[INl;irhSMSyTHN::QR"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">Wert</field> <value name="DELTA"> <shadow type="math_number" id="Ose%bzsXA3)HbX}h^aUU"> <field name="NUM">1</field> </shadow> </value> <next> <block type="update" id="(B=+NHQ[WhJB9^`PyUYd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.ESP_HauptzählerWHG</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="FmVtkYMO!FT2*7~s,]5{"> <field name="n">3</field> <value name="x"> <shadow type="math_number" id="ebKRD:!RU^UU}v`Ox31t"> <field name="NUM">1600</field> </shadow> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </xml>
mein Impuls-Counter zeigt im Moment ca 360 an natürlich steigend.
was hab ich da wieder falsch gemacht ?
Danke
-
@pmunz du musst bei max natürlich einen ausreichend hohen Wert eintragen
-
@homoran sagte in Smart Meter Zähler mit S0 Ausgang:
@pmunz du musst bei max natürlich einen ausreichend hohen Wert eintragen
Ahh, vielen dank
und ist es auch möglich einen Anfangszählerstand zu hinterlegen?
wo kann ich diesen Wert eintragen?Danke
-
@pmunz
wie Paul schon schrieb@paul53 sagte in Smart Meter Zähler mit S0 Ausgang:
Erstelle im Tab "Objekte" unter "0_userdata.0" einen Datenpunkt vom Typ "Zahl" mit der Einheit "kWh" für den Zählerstand und gebe den Anfangszählerstand ein.
einfach eintragen
-
@pmunz sagte: mein Blockly im moment:
Du liest den falschen Datenpunkt bei Skriptstart ein. Verwende bitte nicht "Wert" für eine Variable, da es irritiert.
-
Danke für eure hilfe, ich werde das ganze Testen und mein ergebnis hier posten.
-
ich konnte das jetzt testen komm aber auf keinen grünen zweig, die Impulse meines Zählers kommen schön im iobroker an und werden hochgezählt seit gestern :
Mein Blockly das von euch Empfohlen läuft anscheinend aber die kWh werte in klarzext sind unverständlich, ich verstehe nicht wie er zu dieser summe bzw diesem kWh Wert kommt :
mein Blockly:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Y*)uQOfA3A0pswm8w1GH">cnt</variable> </variables> <block type="variables_set" id="l+b)/1Oh=bK{OW)cHTi?" x="-12" y="88"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">cnt</field> <value name="VALUE"> <block type="math_arithmetic" id="^B7%2v{!gu0EEl@k9FrK"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="h5vLrf=_}6A)FIyY4iyR"> <field name="NUM">1600</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="d6ob|)J]{ekBQ]}g`P_4"> <field name="NUM">0</field> </shadow> <block type="get_value_var" id="mjeW5(w8d[G;yoH+b*kr"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="03}}p#O0#`arH7eTt|1*"> <field name="TEXT">0_userdata.0.ESP_HauptzählerWHG</field> </shadow> </value> </block> </value> </block> </value> <next> <block type="on_ext" id="ysdmc3`Gr[OlS6wX3zwn"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="g=PqAuIY6*91!SWub}aQ"> <field name="oid">mqtt.0.ESP_ZaehlerkastenWHG.Strom_Hauptzaehler.Total</field> </shadow> </value> <statement name="STATEMENT"> <block type="math_change" id="J[INl;irhSMSyTHN::QR"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">cnt</field> <value name="DELTA"> <shadow type="math_number" id="Ose%bzsXA3)HbX}h^aUU"> <field name="NUM">1</field> </shadow> </value> <next> <block type="update" id="(B=+NHQ[WhJB9^`PyUYd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.ESP_HauptzählerWHG</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="FmVtkYMO!FT2*7~s,]5{"> <field name="n">2</field> <value name="x"> <shadow type="math_number" id="ebKRD:!RU^UU}v`Ox31t"> <field name="NUM">1600</field> </shadow> <block type="math_arithmetic" id="+kEi+?y3-h/RA~M-9^o["> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="wXRqTRp|GoRiiSBoX7M*"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="w_YkhGsd4.;vZfh_!U6@"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">cnt</field> </block> </value> <value name="B"> <shadow type="math_number" id="sDH~Nl)d;nN]Hh1eDyQS"> <field name="NUM">1600</field> </shadow> </value> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </xml>
Weiters meine Datenpunkt einstellung :
Danke nochmals!
-
@pmunz sagte in Smart Meter Zähler mit S0 Ausgang:
die Impulse meines Zählers kommen schön im iobroker an und werden hochgezählt seit gestern :
wo denn?
in welchem Datenpunkt?
count ist 0
Time dürfte die Zeit zwischen zwei Impulsen sein, oder?
welche Einheit?Total ist was?
Wie sieht denn jetzt dein Blockly aus?
Der Code nutzt mir mobil nichtsWie war denn der kWh Wert auf dem Zähler vor dem Start des Skripts und wie hoch ist er jetzt?
-
@pmunz sagte: mein Blockly:
Da auf 2 Nachkommastellen gerundet wird, wird die letzte Stelle des Wertes (entspricht 10 Wh) bei jedem 16. Impuls um 1 erhöht. Dieser Wert hat nichts mit dem Wert in "Total" zu tun, sondern soll von einem Anfangszählerstand (bitte Zähler ablesen) weiter zählen. Ich denke dass als Trigger-Datenpunkt "Count" besser geeignet ist als "Total". "Total" sollte aber gleichermaßen funktionieren, falls "Total" nicht irgendwann auf 0 zurück gesetzt wird (Überlauf).
@homoran sagte in Smart Meter Zähler mit S0 Ausgang:
Time dürfte die Zeit zwischen zwei Impulsen sein, oder?
Was nicht zu funktionieren scheint, da der Wert in allen 3 Bildern gleich ist. Das würde eine absolut konstante Leistung bedeuten.
-
@paul53 sagte in Smart Meter Zähler mit S0 Ausgang:
@pmunz sagte: mein Blockly:
Da auf 2 Nachkommastellen gerundet wird, wird die letzte Stelle des Wertes (entspricht 10 Wh) bei jedem 16. Impuls um 1 erhöht. Dieser Wert hat nichts mit dem Wert in "Total" zu tun, sondern soll von einem Anfangszählerstand (bitte Zähler ablesen) weiter zählen. Ich denke dass als Trigger-Datenpunkt "Count" besser geeignet ist als "Total".
Hallo,
der Count wird mir leider mit ESPeasy nicht ausgegeben , der Wert Total (ca 3095 ) sind die Echtzeit Impulse meines Zählers
der bei jedem 4ten Impuls eine Nachkommerstelle den Zählerstand erhöht , sprich 4 mal Blinken am Zähler ist eine Nachkommerstelle
der Echtzeit Zählerstand ist im Moment 000032,70 kWh.auf dem Zähler steht 400imp/kWh in der beschreibung allerdings 1600imp/kWh
Gestern beim Starten hatte ich am Zähler ca 27,00 kWh und es wurden bis heute ca 3095 impulse gezählt, aber der Wert im Datenpunkt ist komisch und ich weis nicht wo ich den derzeitigen Zählerstand reinschreiben muss um einfach weiter zu zählen vorausgesetzt das Blockly oder mein umrechnungs faktor passt.
Hab ich den Datenpunkt schon richtig eingestellt ?
Dankedas grafische Blockly im Moment:
-
@pmunz sagte: Hab ich den Datenpunkt schon richtig eingestellt ?
Der Datenpunkt passt.
@pmunz sagte in Smart Meter Zähler mit S0 Ausgang:
der Wert Total (ca 3030 ) sind die Echtzeit Impulse
Das sind die gezählten Impulse seit Inbetriebnahme des ESP.
@pmunz sagte in Smart Meter Zähler mit S0 Ausgang:
auf dem Zähler steht 400imp/kWh in der beschreibung allerdings 1600imp/kWh
Erhöhen sich die kWh im Datenpunkt zu langsam? Dann ändere den Faktor an beiden Stellen auf 400.
-
@paul53
Der Faktor 400 imp/kWh passt jetzt und der Datenpunktwert zählt jetzt richtig hoch.Wo kann ich jetzt noch den Echt Zählerstand Editieren oder eintragen damit der auch Zähler Syncron läuft ?
Wert Zähler gleich Wert Datenpunkt ?
Vielen Dank!
-
-
@pmunz sagte: Wert Zähler gleich Wert Datenpunkt ?
Ja, Zähler ablesen und Wert in Datenpunkt eingeben (Tab "Objekte").
-
@paul53 sagte in Smart Meter Zähler mit S0 Ausgang:
@pmunz sagte: Wert Zähler gleich Wert Datenpunkt ?
Ja, Zähler ablesen und Wert in Datenpunkt eingeben (Tab "Objekte").
ohh , zu blöd oder ich versteh da etwas nicht , egal welchen wert ich im Datenpunkt eingebe kommt 0 raus, wo sollte ich es den deiner meinung hinterlegen / eingeben ?
-
@pmunz sagte in Smart Meter Zähler mit S0 Ausgang:
oder ich versteh da etwas nicht
nicht den DP editieren sondern den Wert
-
@homoran sagte in Smart Meter Zähler mit S0 Ausgang:
nicht den DP editieren sondern den Wert
Ja das hab ich mir natürlich auch gedacht, nur sobald ein neuer impuls kommt wird wieder der alte Zählerstand angezeigt und mein neuer den ich gerade gesetzt hab überschrieben.
editiert hab ich hier :
-
@pmunz sagte in Smart Meter Zähler mit S0 Ausgang:
editiert hab ich hier :
einfach auf die Zahl geklickt?