NEWS
S0 Stromzähler umrechnen in aktuelle Verbrauch
-
Hi,
ich habe einen S0 Stromzähler mit dem ich mir gerne den aktuellen Verbrauch in Vis anzeigen lassen würde.
Jetzt weiß ich aber nicht wie ich die Ipmulse die über die S0 Schnittstelle ausgegeben werden, so umrechnen kann das mir der aktuelle Stromverbrauch angezeigt wird (z.B. im 1minuten Takt?).
Hat jemand dafür ein Script oder ist das überhaupt nicht möglich?
Habe gesucht aber nichts gefunden was mir weiterhilft oder ich habe es nicht verstanden
Hoffe jemand kann mir helfen.
Gruß
Eddy
-
-
Hallo GoodOld
Ich habe meinen Stromzähler mit S0 über einen esp8266 geloggt und die Daten
Count
Timer
Total
in meinen Iobroker übertragen. Nun suche ich noch nach dem passenden Skript.
Hast Du mir das Skript als Blockly Export oder so dass ich es importieren kann.
Grus Hansi
-
Hi,
also ich habe das hier benutzt damit mir der aktuelle Wert angezeigt wird.
Hoffe es hilft dir weiter.
Du musst drei Variablen/Datenpunkte ändern bzw. deine eintragen. (EDIT:der Wert 1000 muss man auch noch abändern, je nachdem was für eine Auflösung der eigene Stromzähler hat, also wieviele x Impules sind 1 kW)
Den untersten Datenpunkt der bei mir "Stromverbrauch aktuell Küche" heist, den musst du dir manuell erstellen.
In diesen Datenpunkt wird dir dann der aktuelle Verbrauch angezeigt.
Gruß
Eddy
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="s4n}ce17BN(O_xkYAU0W" x="388" y="13"><field name="COMMENT">dein Datenpunkt vom esp Time</field></block> <block type="on_ext" id="ysdmc3`Gr[OlS6wX3zwn" x="63" y="38"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="g=PqAuIY6*91!SWub}aQ"><field name="oid">mqtt.0.StromzaehlerKueche.PulsKueche.Time</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="l+b)/1Oh=bK{OW)cHTi?"><field name="VAR">Wert</field> <value name="VALUE"><block type="math_arithmetic" id="Cr=Lo5i2kGjw31~IMD}Z"><field name="OP">DIVIDE</field> <value name="A"><shadow type="math_number" id="h5vLrf=_}6A)FIyY4iyR"><field name="NUM">1</field></shadow> <block type="get_value" id=")M7;?6gjE_kz.h[Gfe%4"><field name="ATTR">val</field> <field name="OID">mqtt.0.StromzaehlerKueche.PulsKueche.Time</field></block></value> <value name="B"><shadow type="math_number" id="CLnK.uIp+f_wBL]+41:e"><field name="NUM">1000</field></shadow></value></block></value> <next><block type="variables_set" id="#J1w5f46yGCvs`5;|l/|"><field name="VAR">Wert</field> <value name="VALUE"><block type="math_arithmetic" id="^B7%2v{!gu0EEl@k9FrK"><field name="OP">DIVIDE</field> <value name="A"><shadow type="math_number" id="h5vLrf=_}6A)FIyY4iyR"><field name="NUM">3600</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="variables_get" id="OQ3o_4[OzW+,pD{vi7=Q"><field name="VAR">Wert</field></block></value></block></value> <next><block type="control" id="=E0MGCLN./3sKFZkIOpb"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Stromverbrauch_aktuell_Küche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_round" id="HjaqaHU@h#wj6OM?j*+:"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="P=8-%G(uftUvKd|SikfY"><field name="NUM">3.1</field></shadow> <block type="variables_get" id="+bKXuN1/@*.aKYmp{10T"><field name="VAR">Wert</field></block></value></block></value></block></next></block></next></block></statement></block> <block type="comment" id="E:xfX+:#L%{HOOMyRlcS" x="538" y="88"><field name="COMMENT">dein Datenpunkt vom esp Time</field></block> <block type="comment" id="MQN523NR~EcmN:EiVuXR" x="162" y="163"><field name="COMMENT">dein Datenpunkt, musst du manuell erstellen</field></block></xml>
-
Hallo
Danke für die schnelle Antwort.
Ich werde es heute testen da ich krank bin und auch noch Sonntag ist
Ich schreib wenn ob es geklappt hat
Gruß Hansi
-
Hallo Eddy
Hat sofort geklappt. Was habe ich Stunden verbracht ohne Erfolg.
Danke Hansi
-
Moin,
ich denke da ist noch ein "kleiner" Fehler drin, bzw. ich Zähle den Verbrauch von einer Klimaanlage zusätzlich und wenn diese aus ist und der Wert Time = 0 ist dann kommt als verbrauch der Maximal Wert des Datenpunktes raus bei mir 9999.
Habe mal das Skript abgeändert da ich aber erst paar Tag mit ioBroker arbeite bin ich mir nicht sicher das es richtig ist, aber es scheint zu funktionieren.
Muss es im laufe des Tages noch testen.
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="0Sk;oHtQ6S:k07HPnW?7" x="63" y="88"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="L/T2y/92sL}W_HXn2T1~"><field name="oid">mqtt.0.StromzaehlerKlima.Pulszaehler.Time</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="iUaf[k~^|w),4x.){V+F"><value name="IF0"><block type="logic_compare" id="t[QH7N-2s/0#f()E*+TK"><field name="OP">GT</field> <value name="A"><block type="get_value" id="l,*,Z*N:qq6wgKXv[xRA"><field name="ATTR">val</field> <field name="OID">mqtt.0.StromzaehlerKlima.Pulszaehler.Time</field></block></value> <value name="B"><block type="math_number" id="12!)ey:4h!i1Vcpa_P/."><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="variables_set" id="We#NKwtz7+;Hz#jm.(;}"><field name="VAR">Wert</field> <value name="VALUE"><block type="math_arithmetic" id="ej+i[]|eM4x7k?O^x^E7"><field name="OP">DIVIDE</field> <value name="A"><shadow type="math_number" id="h5vLrf=_}6A)FIyY4iyR"><field name="NUM">1</field></shadow> <block type="get_value" id="l|suXsLX?BHmSza7l|iJ"><field name="ATTR">val</field> <field name="OID">mqtt.0.StromzaehlerKlima.Pulszaehler.Time</field></block></value> <value name="B"><shadow type="math_number" id="LM4@`W`A:}E8Y9it}x=+"><field name="NUM">1000</field></shadow></value></block></value> <next><block type="variables_set" id="~;[g2O3X(]AA,rIqaiF+"><field name="VAR">Wert</field> <value name="VALUE"><block type="math_arithmetic" id="8*o-g!6Okm;;z%}o*W65"><field name="OP">DIVIDE</field> <value name="A"><shadow type="math_number" id="I[7R;75:Lju`h(5wk]:}"><field name="NUM">3600</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="variables_get" id="/e/c.+=#@9#.ykM}aa+*"><field name="VAR">Wert</field></block></value></block></value> <next><block type="control" id="Op`JzD}_|;6;ql1k2ON9"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Stromverbrauch_aktuell_Klima</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_round" id="F=.oa5q#rl**.n0;FfkU"><field name="OP">ROUND</field> <value name="NUM"><shadow type="math_number" id="P=8-%G(uftUvKd|SikfY"><field name="NUM">3.1</field></shadow> <block type="variables_get" id="0{|G%xhtf5NW3jz4NXe="><field name="VAR">Wert</field></block></value></block></value></block></next></block></next></block></statement></block></statement></block></xml>
-
Eine Sache ganz vergessen, der Wert "1000" in dem Skript, muss man noch mit seinem Wert/Ausflösung/Impule vom seinem eigenen Stromzähler abändern.
D.h. wenn 2000 Impule = 1KW ist dann dort 2000 eintragen usw.
Gruß
Eddy
-
Hallo
Stimmt . Das habe ich nicht bedacht. Ich war so froh dass mal etwas funktioniert.
Meiner hat 800 Impuls für 1 Kw
Habs mal geändert.
Ist doch mal ne gute Basis.
Gruß Hansi
-
Hallo GoodOld,
erstmal muss ich sagen das dieses Script Wunderbar funktioniert.
Kann man das noch erweitern, so das man den Tages- Wochen- Monat- und Jahresverbrauch
anzeigen lassen kann.
Leider reichen meine Kenntnisse hierüber noch nicht aus.Liebe Grüße
Jörg -
@joewanne sagte:
Tages- Wochen- Monat- und Jahresverbrauch anzeigen lassen kann.
Dafür ist der Adapter SourceAnalytix gedacht.
-
@paul53 said in S0 Stromzähler umrechnen in aktuelle Verbrauch:
Dafür ist der Adapter SourceAnalytix gedacht.
Okay, danke schon mal für die schnelle Antwort, werde ich mir dann später noch anschauen
-
@GoodOld Hy Ich hoffe du bist noch aktiv
bin auch gerade neu in ioBroker angekommen und habe dein Script entdeckt.
Grundsätzlich funktioniert es wunderbar , nur wenn ich einen Verbrauch von mehr als 3600Watt habe zeigt es nicht mehr an.
habe ein Test mit 7KW last gemacht , leider zeigt das script nie mehr als ungefähr 3568watt an.
Zähler macht 1000imp/kWh , habe die 1000 Stehen lassen
irgendeine idee ?
gruß Benny
-
oder hat jemand anderes vieleicht eine idee dazu ?
-
niemand
-
@do4bmw sagte:
Test mit 7KW last gemacht , leider zeigt das script nie mehr als ungefähr 3568watt an.
Script ? Kommen ca. 2 Impulse pro s ?
-
@paul53 said in S0 Stromzähler umrechnen in aktuelle Verbrauch:
@do4bmw sagte:
Test mit 7KW last gemacht , leider zeigt das script nie mehr als ungefähr 3568watt an.
Script ? Kommen ca. 2 Impulse pro s ?
Hy
das script habe ich von @GoodOld übernommen, sieht bei mir derzeit so aus
und ja es kann schon sein das manchmal 2 impulse pro Sek kommen ... ist das dass problem ?
gerade dann wenn man halt viele KW zieht.<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Y*)uQOfA3A0pswm8w1GH">Wert</variable> </variables> <block type="on_ext" id="0Sk;oHtQ6S:k07HPnW?7" x="63" y="88"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="L/T2y/92sL}W_HXn2T1~"> <field name="oid">mqtt.0.DO4BMW_S0-1.Strom.Time</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="iUaf[k~^|w),4x.){V+F"> <value name="IF0"> <block type="logic_compare" id="t[QH7N-2s/0#f()E*+TK"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="l,*,Z*N:qq6wgKXv[xRA"> <field name="ATTR">val</field> <field name="OID">mqtt.0.DO4BMW_S0-1.Strom.Time</field> </block> </value> <value name="B"> <block type="math_number" id="12!)ey:4h!i1Vcpa_P/."> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="We#NKwtz7+;Hz#jm.(;}"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">Wert</field> <value name="VALUE"> <block type="math_arithmetic" id="ej+i[]|eM4x7k?O^x^E7"> <field name="OP">DIVIDE</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="h5vLrf=_}6A)FIyY4iyR"> <field name="NUM">1</field> </shadow> <block type="get_value" id="l|suXsLX?BHmSza7l|iJ"> <field name="ATTR">val</field> <field name="OID">mqtt.0.DO4BMW_S0-1.Strom.Time</field> </block> </value> <value name="B"> <shadow type="math_number" id="LM4@`W`A:}E8Y9it}x=+"> <field name="NUM">1000</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="~;[g2O3X(]AA,rIqaiF+"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">Wert</field> <value name="VALUE"> <block type="math_arithmetic" id="8*o-g!6Okm;;z%}o*W65"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="I[7R;75:Lju`h(5wk]:}"> <field name="NUM">3600</field> </shadow> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="d6ob|)J]{ekBQ]}g`P_4"> <field name="NUM">1000</field> </shadow> <block type="variables_get" id="/e/c.+=#@9#.ykM}aa+*"> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">Wert</field> </block> </value> </block> </value> <next> <block type="control" id="Op`JzD}_|;6;ql1k2ON9"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">mqtt.0.DO4BMW_S0-1.Strom.Watt2</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_round" id="F=.oa5q#rl**.n0;FfkU"> <field name="OP">ROUND</field> <value name="NUM"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="P=8-%G(uftUvKd|SikfY"> <field name="NUM">3.1</field> </shadow> <block type="variables_get" id="0{|G%xhtf5NW3jz4NXe="> <field name="VAR" id="Y*)uQOfA3A0pswm8w1GH">Wert</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
@do4bmw sagte:
manchmal 2 impulse pro Sek kommen ... ist das dass problem ?
Bei 7 kW müssen 2 Impulse pro Sekunde kommen. Das Skript wertet allerdings eine Zeit aus und enthält keine Begrenzung. Logge mal den Trigger-Wert, der bei 7 kW etwas über 500 enthalten muss.
-
@paul53 said in S0 Stromzähler umrechnen in aktuelle Verbrauch:
@do4bmw sagte:
manchmal 2 impulse pro Sek kommen ... ist das dass problem ?
Bei 7 kW müssen 2 Impulse pro Sekunde kommen. Das Skript wertet allerdings eine Zeit aus und enthält keine Begrenzung. Logge mal den Trigger-Wert, der bei 7 kW etwas über 500 enthalten muss.
bei 7.7KW kommt hier sehr häufig der wert 1014 durch
-
@do4bmw sagte:
bei 7.7KW kommt hier sehr häufig der wert 1014 durch
Der Wert ist falsch. Du musst also die Ursache an der Quelle suchen.