NEWS
updateslist aus "admin" auslesen und DP erstellen
-
Servus,
ich versuche, die Update-Liste unter "admin" in eine Liste auszulesen.
Ich möchte mir daraus temporär unter 0.userdata.0 je einen DP mit dem jeweiligen Namen des updatebaren Adapters ablegen.
Dieser wird abgefragt und in der Vis entsprechend verarbeitet.Nachdem die Updates abgeschlossen sind, können die DP wieder gelöscht werden.
Ich probier hier schon einige Zeit rum, komm aber zu keinem Ergebnis:
<block xmlns="https://developers.google.com/blockly/xml" type="schedule" id="0EfFkjo6wt5,|d=Z/:No" x="538" y="-37"> <field name="SCHEDULE">* * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="Y$$_I.UB_+Fh887Wxa6n"> <field name="VAR" id="RCRwTg*R%6@Ag/oN[$-^">Anzahl</field> <value name="VALUE"> <block type="convert_tonumber" id="`v-%`{L:IZm-W/BZuwTS"> <value name="VALUE"> <block type="get_value" id="9Xk.ky~M`,CpL5JHo!aR"> <field name="ATTR">val</field> <field name="OID">admin.0.info.updatesNumber</field> </block> </value> </block> </value> <next> <block type="variables_set" id="-/B=QLvw3xJN#dNa:L9M"> <field name="VAR" id="6y0%+%e,3HR1/O~8r*8{">Update-Liste</field> <value name="VALUE"> <block type="lists_create_with" id="cu^s^gcBzl*i]tRm[;b["> <mutation items="0"></mutation> </block> </value> <next> <block type="controls_forEach" id="9@MUf{?ckIoE!%?aIbPe"> <field name="VAR" id="SZlfo*;YV0qc|RdH79%q">j</field> <value name="LIST"> <block type="get_value" id="p.,|6L#)FhOVUp4t}#o{"> <field name="ATTR">val</field> <field name="OID">admin.0.info.updatesList</field> </block> </value> <statement name="DO"> <block type="lists_setIndex" id="_j#0{kt_{`*hB7v,$|oZ" inline="false"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="?h-^7[Aweux%YKA_y*Sp"> <field name="VAR" id="6y0%+%e,3HR1/O~8r*8{">Update-Liste</field> </block> </value> <value name="TO"> <block type="lists_create_with" id="C6s-8_Bb`4WpEYR)zF_E"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="4$K4}qd#*)%y{$,qaoD5"> <field name="VAR" id="`nY22;a9$kjP@Md6EPP_">i</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="Yuv:w=jS?/?b?p0ytfYy"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="FfUf0ZV]OGC_ix;xA1o5"> <field name="VAR" id="`nY22;a9$kjP@Md6EPP_">i</field> </block> </value> </block> </value> </block> </value> </block> </statement> <next> <block type="debug" id="#ehGb/Cn?N[`VPTs1+I~"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="+?:ExF4JuYJKcDjEEpD;"> <field name="VAR" id="RCRwTg*R%6@Ag/oN[$-^">Anzahl</field> </block> </value> <next> <block type="debug" id="3,2N3Jm+o$KQ4Tf]U_-b"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="f+MyL9!0Vgqzcu3cURe/"> <field name="VAR" id="6y0%+%e,3HR1/O~8r*8{">Update-Liste</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block>
Das erste debug output liefert noch die Anzahl der Updates.
Das zweite liefert aber:javascript.0 (30996) script.js.IT.Update_Iobroker: [[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null],[null,null]]
Wie bekomm ich die Adpater-Namen der Updateliste ausgelesen?
-
@hausbaer die Variable in der Schleife sollte "i" sein, bei Dir ist es "j"
-
@hausbaer sagte: Wie bekomm ich die Adpater-Namen der Updateliste ausgelesen?
Der Datenpunkt "List of adapters to update" enthält keine Liste, sondern einen Komma+Leerzeichen separierten String, der erst in eine Liste gewandelt werden muss. Was soll "Wert von Objekt Adaptername" ergeben?
-
@hausbaer Das habe ich in meinem Fall ohne Blockly gelöst und zwar direkt in der VIS
HTML-Widget und dort dann als Binding folgendes eingetragen:
{state:admin.0.info.updatesList;n1=state.toString();n2=n1.replace(/,/g, "<br>");n2}
So wird jeder Apdater mit Updatemöglichkeit in einer separaten Zeile angezeigt.
-
@djmarc75 sagte: HTML-Widget und dort dann als Binding folgendes eingetragen:
Etwas einfacher:
{state:admin.0.info.updatesList;state.replace(/, /g, "<br>")}
-
-
@paul53 sagte in updateslist aus "admin" auslesen und DP erstellen:
@hausbaer sagte: Wie bekomm ich die Adpater-Namen der Updateliste ausgelesen?
Der Datenpunkt "List of adapters to update" enthält keine Liste, sondern einen Komma+Leerzeichen separierten String, der erst in eine Liste gewandelt werden muss.
Genau das wars. Danke
Was soll "Wert von Objekt Adaptername" ergeben?
Eigentlich will ich den Namen des Adapters temporär als DP gespeichert haben. Ich frage dann ab, ob ein Adapter X vorhanden ist und färbe ihn dann ein - oder schreib was dazu, oder......