NEWS
Adapter für Yellowstrom
-
Bist Du bei Deiner Suche weiter gekommen? Ich habe nämlich auch den Sparzähler von Yello.
-
Leider nicht.
Ich habe es zwar hinbekommen den aktuellen Wert mit dem Parser Adapter auszulesen. Allerdings hängt sich dieser öfters auf. Und mit sourceanalytics habe ich auch so meine Probleme.
-
Dann stehe ich jetzt auch auf dem Schlauch.
Ich versuche gerade die Werte meiner Solaranlage in iobroker zu bekommen und dann wäre es nützlich, wenn man ebenfalls die Daten von dem Yello Sparzähler bekommen würde.
Nunja, dann warte ich einfach ein weiteres Jahr ab
-
Ich habe es jetzt (mit super Hilfe hier im Forum) geschafft, zuverlässig die Werte vom Sparzähler in ioBroker zu bekommen.
Läuft ohne Probleme.
-
@hagst sagte in Adapter für Yellowstrom:
Ich habe es jetzt (mit super Hilfe hier im Forum) geschafft, zuverlässig die Werte vom Sparzähler in ioBroker zu bekommen.
Läuft ohne Probleme.
Magst du mir auch sagen wie ???
-
Einstellungen im Parser
Name = Yellostrom
URL = http://IP-SMARTZÄHLER/InstantView/request/getPowerProfile.html?n=1RegEx = v>(\d+)</v
Num = 0
Rolle = Wert
Typ = Num
Faktor = 1
Intervall = 3000So klappt es bei mir ohne Probleme, sag mal bescheid ob es bei Dir auch klappt.
-
Hi,
ja das hatte ich bereits. Allerdings hängt sich bei mir der Parser immer auf. Und leider hat man damit trotzdem nur den aktuellen Wert. HT und NT hat man leider immer noch nicht.
Dazu habe ich versuchr sourceanalytics zu nutzen. Aber auch das ist nur semi Gut.
-
@Hohenbostler da sich bei mir der Parser auch immer wieder aufhängt, habe ich mal ein Blockly geschrieben, dass die Zählerstände und den aktuellen Verbrauch abholt und in Datenpunkte unter 0.Userdata.0 schreibt...
Wer es testen möchte: einfach den Code in ein leeres Blockly kopieren, und danach in den neuen Datenpunkten die History aktivieren...
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id=":%?~Wi=}/GeeVoaZ02x]">Abfrage</variable> <variable type="" id="9*ipyK@~~ruR_xdJf)zp">IP-Zaehler</variable> <variable type="" id="p0.D7)tD-X!gN*NF8M8U">Liste</variable> <variable type="" id="hHofv(kQ(?X96~7G/vH8">result</variable> </variables> <block type="procedures_callcustomnoreturn" id="Uh!5WG%}f%AhF14@,spQ" x="38" y="37"> <mutation name="Datenpunkte erstellen"></mutation> <next> <block type="variables_set" id="qM:g-4kFu5%[-_JBJ4+U"> <field name="VAR" id="9*ipyK@~~ruR_xdJf)zp" variabletype="">IP-Zaehler</field> <value name="VALUE"> <block type="text" id="sN*Ldh?TlbUYi?-7zEBo"> <field name="TEXT">192.168.160.55</field> </block> </value> <next> <block type="schedule" id="@`D9cVruNzT(L}%oPyCH"> <field name="SCHEDULE">*/5 * * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="q*Iw=DmufU0(9NA!E*N3"> <mutation name="StromZählerstände"></mutation> </block> </statement> <next> <block type="schedule" id="8p1*/9b7wFY/M:E4JXKr"> <field name="SCHEDULE">*/10 * * * * *</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="eo2WC_E7~j{N9H]4dfF3"> <mutation name="aktueller Verbrauch"></mutation> </block> </statement> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defcustomreturn" id="19e0KmG0;)?(o)N=Hi(#" x="812" y="37"> <mutation statements="false"> <arg name="Abfrage" varid=":%?~Wi=}/GeeVoaZ02x]"></arg> </mutation> <field name="NAME">Parser Zählerstand</field> <field name="SCRIPT">Ly8gUGFyc2VuCgogCiBlcmdlYm5pc3NlID0gW107CiAKdmFyIG15UmVnZXhwID0gLyhcZCouXGQqIGtXaCkvZzsKbWF0Y2ggPSBteVJlZ2V4cC5leGVjKEFiZnJhZ2UpOwp3aGlsZSAobWF0Y2ggIT0gbnVsbCkgewogICAgZXJnZWJuaXNzZS5wdXNoKG1hdGNoWzBdLnJlcGxhY2UoIiBrV2giLCAiIikpOwogICAgbWF0Y2ggPSBteVJlZ2V4cC5leGVjKEFiZnJhZ2UpOwp9CgoKCiAKCi8vIEF1c2dhYmUKcmV0dXJuIGVyZ2Vibmlzc2U7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="nZrTf9nTHcgLPG[#KpKe" x="812" y="87"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte erstellen</field> <field name="SCRIPT">Ly8gIyMjIyMjIyMjIyMjIyMjIyMjIyBEYXRlbnB1bmt0ZSBmw7xyIEZlaGxlcmJlaGFuZGx1bmcNCmNyZWF0ZVVzZXJEYXRhU3RhdGUoJ1ZlcmJyYXVjaHN3ZXJ0ZS5TdHJvbS4wMV9aw6RobGVyc3RhbmQgSFQnLCB7J25hbWUnOidaw6RobGVyc3RhbmQgSFQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywgJ2RlZic6MX0pOw0KY3JlYXRlVXNlckRhdGFTdGF0ZSgnVmVyYnJhdWNoc3dlcnRlLlN0cm9tLjAyX1rDpGhsZXJzdGFuZCBOVCcsIHsnbmFtZSc6J1rDpGhsZXJzdGFuZCBOVCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAnZGVmJzoxfSk7DQpjcmVhdGVVc2VyRGF0YVN0YXRlKCdWZXJicmF1Y2hzd2VydGUuU3Ryb20uMDNfQWt0dWVsbGVyIFZlcmJyYXVjaCcsIHsnbmFtZSc6J2FrdHVlbGxlciBWZXJicmF1Y2gnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywgJ2RlZic6MX0pOw0KIA0KLyoqDQogKiBDcmVhdGVzIGEgc3RhdGUgdW5kZXIgMF91c2VyZGF0YS4wDQogKiBTb3VyY2U6IGh0dHBzOi8vZm9ydW0uaW9icm9rZXIubmV0L3RvcGljLzI2ODM5Lw0KICogVGhhbmtzIHRvIGlvQnJva2VyIGZvcnVtIHVzZXIgInBhdWw1MyIgZm9yIHRoZSBiYXNpcyBvZiB0aGlzIGZ1bmN0aW9uLg0KICogVmVyc2lvbjogMC4xIC0gTWljDQogKiBAcGFyYW0ge3N0cmluZ30gc3RhdGVJZCAgICAgICAgU3RhdGUgSUQgdG8gYmUgY3JlYXRlZCB1bmRlciAnMF91c2VyZGF0YS4wJywgbGlrZSAnTGl2aW5nUm9vbS5MaWdodHMuU2lkZWJvYXJkLkJyaWdodG5lc3MnDQogKiBAcGFyYW0ge29iamVjdH0gcGFyYW0gICAgICAgICAgT2JqZWN0IHdpdGggc3RhdGUgZGV0YWlscy4gVGVtcGxhdGU6IHsnbmFtZSc6J05BTUUnLCAndHlwZSc6J251bWJlcicsICd1bml0JzonVU5JVCcsICdtaW4nOk1JTiwgJ21heCc6TUFYLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J1JPTEUnLCAnZGVmJzpERUZBVUxUIH0NCiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3dhcm49ZmFsc2VdICBPcHRpb25hbC4gVGhyb3dzIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBpcyBhbHJlYWR5IGV4aXN0aW5nLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzDQogKi8NCmZ1bmN0aW9uIGNyZWF0ZVVzZXJEYXRhU3RhdGUoc3RhdGVJZCwgcGFyYW0sIHdhcm4pIHsNCiANCiAgICBpZiAod2FybiA9PT0gdW5kZWZpbmVkKSB3YXJuID0gZmFsc2U7DQogICAgY29uc3QgV0hFUkUgPSAnMF91c2VyZGF0YS4wJzsNCiAgICBzdGF0ZUlkID0gKHN0YXRlSWQuc3RhcnRzV2l0aChXSEVSRSkpID8gc3RhdGVJZC5zdWJzdHJpbmcoV0hFUkUubGVuZ3RoKSA6IHN0YXRlSWQ7IC8vIHJlbW92ZSBXSEVSRSBmcm9tIGJlZ2lubmluZyBvZiBzdHJpbmcNCiAgICBzdGF0ZUlkID0gKHN0YXRlSWQuc3RhcnRzV2l0aCgnLicpKSA/IHN0YXRlSWQuc3Vic3RyaW5nKDEpIDogc3RhdGVJZDsgLy8gcmVtb3ZlIGZpcnN0ICIuIg0KIA0KICAgIGNvbnN0IEZVTExfU1RBVEVfSUQgPSAoV0hFUkUuZW5kc1dpdGgoJy4nKSA/IFdIRVJFIDogV0hFUkUgKyAnLicpICsgc3RhdGVJZDsgLy8gRmluYWwgc3RhdGUNCiANCiAgICBpZigkKEZVTExfU1RBVEVfSUQpLmxlbmd0aCkgew0KICAgICAgICBpZih3YXJuKSBsb2coJ1N0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsNCiAgICAgICAgcmV0dXJuOw0KICAgIH0NCiANCiAgICBsZXQgb2JqID0ge307DQogICAgb2JqLnR5cGUgPSAnc3RhdGUnOw0KICAgIG9iai5jb21tb24gPSBwYXJhbTsNCiAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7DQogICAgICAgIGlmIChlcnIpIHsNCiAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycik7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7DQogICAgICAgICAgICBpZihwYXJhbS5kZWYgPT09IHVuZGVmaW5lZCkgew0KICAgICAgICAgICAgICAgIGlmKHBhcmFtLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsNCiAgICAgICAgICAgICAgICBpZihwYXJhbS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsNCiAgICAgICAgICAgICAgICBpZihwYXJhbS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICdub2NoIGxlZXInOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBpbml0ID0gcGFyYW0uZGVmOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgc2V0U3RhdGUoRlVMTF9TVEFURV9JRCwgaW5pdCwgdHJ1ZSk7IH0sIDEwMDApOyAvLyBzZWUgaHR0cHM6Ly9mb3J1bS5pb2Jyb2tlci5uZXQvcG9zdC8zMzQzMzENCiAgICAgICAgfQ0KICAgIH0pOw0KIA0KfQ==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defnoreturn" id="}NS+8O7a})pY^|i8zeZO" x="813" y="137"> <field name="NAME">StromZählerstände</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="request" id="0-nNJE|).pxjr5)HK`LG"> <mutation with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG">debug</field> <value name="URL"> <shadow type="text" id="B]LTI7Sf3jbGVd?^*uXy"> <field name="TEXT">http://192.168.160.55/?action=20</field> </shadow> <block type="text_join" id="Fm5#W6A_!x!0%ndN?ur_"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="=h6Ai=1tGm$dE]^lv|jX"> <field name="TEXT">http://</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="/t[-8xRCL7_u!!?gTH4H"> <field name="VAR" id="9*ipyK@~~ruR_xdJf)zp" variabletype="">IP-Zaehler</field> </block> </value> <value name="ADD2"> <block type="text" id="b0(apCM+5HyVbH-ya=8y"> <field name="TEXT">/?action=20</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="I|BQ8-[oQb6m`jb9]W?="> <value name="IF0"> <block type="logic_negate" id="GYSX+iOzx0PV{-}jA]Dr"> <value name="BOOL"> <block type="text_isEmpty" id=")gd@0iu|`;%lMJK#p:RY"> <value name="VALUE"> <shadow type="text" id="p^*?*Z2$O.DI7,`DImEa"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="8HEt7Xnc6twJ_e4}*_R1"> <field name="VAR" id="hHofv(kQ(?X96~7G/vH8" variabletype="">result</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="(BY+#^AF(yq/bMIWJMEV"> <field name="VAR" id="p0.D7)tD-X!gN*NF8M8U" variabletype="">Liste</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="F4]sspf)?0UJ*/8+9tk/"> <mutation name="Parser Zählerstand"> <arg name="Abfrage"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="ZdtfLs!ey)T[2,!yHeK#"> <field name="VAR" id="hHofv(kQ(?X96~7G/vH8" variabletype="">result</field> </block> </value> </block> </value> <next> <block type="update" id="lgzhr}z]=WE=@./k`#tA"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Verbrauchswerte.Strom.01_Zählerstand HT</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id="_BO;i.o/!V~/]?bn1c|;"> <value name="VALUE"> <block type="lists_getIndex" id="AF1_nn$c!:P!px6*Iimy"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="P5==C2x@a7fM`$LHlw@c"> <field name="VAR" id="p0.D7)tD-X!gN*NF8M8U" variabletype="">Liste</field> </block> </value> <value name="AT"> <block type="math_number" id="0hS:Q}qhs^n2Mgzflj~{"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="update" id="MLX9N`G{Rrs4^.5:Grf("> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Verbrauchswerte.Strom.02_Zählerstand NT</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_tonumber" id=".XOKu0B[zPPyEH7t]3Ek"> <value name="VALUE"> <block type="lists_getIndex" id="WQY+v]Al0+wI|7wzO$%R"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="Z(,m|5K!nuv@d*MPvIWS"> <field name="VAR" id="p0.D7)tD-X!gN*NF8M8U" variabletype="">Liste</field> </block> </value> <value name="AT"> <block type="math_number" id="@YR0R@bDE+AZ-AIm6K_+"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> <block type="procedures_defcustomreturn" id="OIAIo`-82yy*heuHF(Sy" x="812" y="187"> <mutation statements="false"> <arg name="Abfrage" varid=":%?~Wi=}/GeeVoaZ02x]"></arg> </mutation> <field name="NAME">Parser Verbrauch</field> <field name="SCRIPT">Ly8gUGFyc2VuCi8vY29uc29sZS5sb2coQWJmcmFnZSk7CiAKIAp2YXIgbXlSZWdleHAgPSAvPHY+KFxkKyk8XC92Pi9nOwptYXRjaCA9IG15UmVnZXhwLmV4ZWMoQWJmcmFnZSk7Cgp2YXIgbjsKaWYoIG1hdGNoICkgewogICAgbiA9IE51bWJlciggbWF0Y2hbMV0gKTsKfSBlbHNlIHsKICAgIC8vIGRvIGVycm9yIGhhbmRsaW5nIGhlcmUKfQoKCgovL2NvbnNvbGUubG9nKG1hdGNoKTsKCiAKCi8vIEF1c2dhYmUKcmV0dXJuIG47</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defnoreturn" id="/.Q#D)Ujda,}Yj[VCS8k" x="63" y="288"> <field name="NAME">aktueller Verbrauch</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="request" id="2Ng$Fp7/py#w]Ya~6B[6"> <mutation with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG">debug</field> <value name="URL"> <shadow type="text" id="B]LTI7Sf3jbGVd?^*uXy"> <field name="TEXT">http://192.168.160.55/?action=20</field> </shadow> <block type="text_join" id="dB;^6i1d$xIRoYADJ#$S"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="r?EB7_99WA]mQ8+{oN.I"> <field name="TEXT">http://</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="^{Mu7KV4%!r#[!#+L@Ib"> <field name="VAR" id="9*ipyK@~~ruR_xdJf)zp" variabletype="">IP-Zaehler</field> </block> </value> <value name="ADD2"> <block type="text" id="Hu^tV8~Mj[n^hW/|%6TY"> <field name="TEXT">/InstantView/request/getPowerProfile.html?n=1</field> </block> </value> </block> </value> <statement name="STATEMENT"> <block type="controls_if" id="uWI_Csn[/P.hCDQQ5M2^"> <value name="IF0"> <block type="logic_negate" id="p`{c4-]MM5R$cTUsJ;7)"> <value name="BOOL"> <block type="text_isEmpty" id="13enx(g.5gSRQ(glmDQ;"> <value name="VALUE"> <shadow type="text" id="p^*?*Z2$O.DI7,`DImEa"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="A18||*y{`n*4IZe30,c-"> <field name="VAR" id="hHofv(kQ(?X96~7G/vH8" variabletype="">result</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="Kx*ru1ay{jiq(Hy)Aal*"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Verbrauchswerte.Strom.03_Aktueller Verbrauch</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="*-CY}0,H$_25s(TAGY{e"> <mutation name="Parser Verbrauch"> <arg name="Abfrage"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="S{FTzaSWpdH(6:2zs;^L"> <field name="VAR" id="hHofv(kQ(?X96~7G/vH8" variabletype="">result</field> </block> </value> </block> </value> <next> <block type="debug" id="vq!ls+dl^nu.C`OqC67+" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="=uBf0N`Qr^(AIzs*-Jwi"> <field name="TEXT">test</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
-
Hallo @mameier1234 ,
vielen Dank für das Blockly. Es scheint zu funktionieren.
Jetzt mal ne blöde Frage ich habe mir in den eigenen Datenpunkten meine Kosten für HT und NT angelegt . Kannst du daraus dein Blockly noch erweitern und direkt Kosten in EUR ausrechnen ??
-
@Hohenbostler Das habe ich noch vor.. dauert aber ein bisschen. habe gerade noch ein anderes Projekt am laufen...
-
@mameier1234 ok super vielen Dank für die Info
-
Ich habe dein Blockly auch mal bei mir eingefügt. Der aktuelle Verbrauch wird schön in das user Objekt geschrieben. Leider bekomme ich keine Werte bei HT und NT... Gebe ich die URL: http://192.168.0.xxx/?action=20 in meinem Browser ein lande ich auf der Verbrauchsseite meines Zählers. Liegt das Problem vielleicht in der "Parser Zählerstand" Funktion?
-
@Janideluxe
Bei mir komme ich auf die geleiche Seite ...Und ich habe wunderbar alle Werte ....sprich die Parserfunktion funktioniert (bei mir ...)
-
ok dann liegt es schonmal nicht daran, wenn du das gleiche ENBW GUI hast wie ich hier.
Vielleicht ist bei dem import des blocklys irgendwas schief gegangen... Oder hast du eine Idee wie ich debuging betreiben könnte? -
Nunja.. lass Dir halt direkt nach dem Parser aufruf das Ergebniss ausgeben...
Dann die Funktion ohne timer ausführen, damit du sofort ein ergebniss im Log hast...
So muss das dann aussehen..
-
Danke für die Antwort. Habe den Fehler gefunden, der Aufruf der Parser Zählerstand Funktion ist beim import irgendwie verschwunden. Werte sind nun alle da Top!
-
oh ja.. sehe ich jetzt erst.. da hat doch tatsächlich etwas wichtiges bei dir gefehlt