NEWS
[gelöst] Aufzählung Fensterstatus - Anzeige in VIS
-
@amg_666
Meine Aufzählung schaut so aus
Hab ich da ggf ein Fehler? Also der Name in der Aufzählung kommt vom State door
-
@iced112 sagte: Hab ich da ggf ein Fehler? Also der Name in der Aufzählung kommt vom State door
Nein, das ist so in Ordnung. Es sind 12 Datenpunkte "door" zu functions=window zugeordnet.
-
@paul53 ok, Datenpunkt "door" sagte mir nix. Bei mir sieht das so aus und läuft wie gesagt:
und in der Aufzählung dann nur DP "State"
-
@amg_666
Das sind Sensoren von Shelly. Der Datenpunkt door gibt true oder flase aus wenn offen oder geschlossen.Ja, was mach ich denn falsch?
-
@iced112 dann poste doch mal bitte dein blockly, hast du da irgendwas modifiziert?
-
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="sa{l1~ORe0j$HLuZ5N%!">ids</variable> <variable id="kT%nX!]Jo^`}k%/`k?Gq">offen</variable> <variable id=":nd$CvGxF5#~Ll%,n#b2">id</variable> <variable id="xu-:vrDF`H;M_fGe2]b4">x</variable> </variables> <block type="variables_set" id="i(tPYLv;RbKHg~i@a0{/" x="-412" y="-237"> <field name="VAR" id="sa{l1~ORe0j$HLuZ5N%!">ids</field> <value name="VALUE"> <block type="selector" id="}ukVNv/ei7Qs4LavaT+0"> <field name="TEXT">*(functions=window)</field> </block> </value> <next> <block type="on_ext" id="Yr}xw(F4N,5fxKcZ:vaA"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="H6rjU$rO8@g6Lgk:jv9f"> <field name="oid">default</field> </shadow> <block type="variables_get" id="WDNWJnP.L:dRO2.H3gFM"> <field name="VAR" id="sa{l1~ORe0j$HLuZ5N%!">ids</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="fiT;40M9XwH-IB;dai$*"> <field name="VAR" id="kT%nX!]Jo^`}k%/`k?Gq">offen</field> <value name="VALUE"> <block type="logic_boolean" id="D}!bGj=1]X5!.KmIss,#"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="controls_forEach" id="hZm%QED(q{qqF9Qt_4zV"> <field name="VAR" id=":nd$CvGxF5#~Ll%,n#b2">id</field> <value name="LIST"> <block type="variables_get" id="W?h4_#I[DjCw!DD`F47g"> <field name="VAR" id="sa{l1~ORe0j$HLuZ5N%!">ids</field> </block> </value> <statement name="DO"> <block type="controls_if" id="z})86Cf$,3q!)/4/%c_V"> <value name="IF0"> <block type="get_value_var" id="A4]d*E-i6@qDI3SUpZqx"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="iJar`blbRA6G?|%Gx#Po"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="*JdI$y).=mPIbq)_%f@?"> <field name="VAR" id=":nd$CvGxF5#~Ll%,n#b2">id</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="Fq.`IT_ELmfwRP@:9=fo"> <field name="VAR" id="kT%nX!]Jo^`}k%/`k?Gq">offen</field> <value name="VALUE"> <block type="logic_boolean" id="XAR!D%*in|Fp8/pJ/8x?"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_flow_statements" id=":b34uz=#:?=ZHl=pLEUL"> <field name="FLOW">BREAK</field> </block> </next> </block> </statement> </block> </statement> <next> <block type="update" id="QKP7Y`XWPrhAR@*2qMM`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Routinen.Fenster_Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_compare" id="pK*Xb]J~V:d47jSa)5$b"> <field name="OP">GT</field> <value name="A"> <block type="variables_get" id="OIv|$ewMBS:u!+T72:D)"> <field name="VAR" id="xu-:vrDF`H;M_fGe2]b4">x</field> </block> </value> <value name="B"> <block type="math_number" id="Avy%3uPr5m{lU:pjUzqZ"> <field name="NUM">0</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </xml>
-
@iced112 Du verwendest das Blockly von @badsnoopy667 und hast die "Logikzeile" von @paul53 drangehängt.
Das kann nix werden, weil du in den Schleifen die Variable x überhaupt nicht verwendest, die du dann abprüfst...
Mach mal unten aktualisiere "Fenster Status" mit "offen". Oder du sparst dir die letzte Zeile und ersetzt im Blockly "offen" mit "Fenster Status" -
@iced112 sagte: was mach ich denn falsch?
Überprüfe, ob der Selektor funktioniert:
-
@paul53 said in Aufzählung Fensterstatus - Anzeige in VIS:
@iced112 sagte: was mach ich denn falsch?
So hatte ich es ja auch bereits versucht.
16.3.2022, 13:30:27.422 [info ]: javascript.0 (32658) Stop script script.js.Routinen.Fenster_Status 16.3.2022, 13:30:27.445 [info ]: javascript.0 (32658) Start javascript script.js.Routinen.Fenster_Status 16.3.2022, 13:30:27.537 [info ]: javascript.0 (32658) script.js.Routinen.Fenster_Status: registered 0 subscriptions and 0 schedules 16.3.2022, 13:31:16.091 [info ]: javascript.0 (32658) Stop script script.js.Routinen.Fenster_Status 16.3.2022, 13:31:18.043 [info ]: javascript.0 (32658) Start javascript script.js.Routinen.Fenster_Status 16.3.2022, 13:31:18.098 [info ]: javascript.0 (32658) script.js.Routinen.Fenster_Status: registered 0 subscriptions and 0 schedules 16.3.2022, 13:32:40.103 [info ]: javascript.0 (32658) Stop script script.js.Routinen.Fenster_Status 16.3.2022, 13:32:40.127 [info ]: javascript.0 (32658) Start javascript script.js.Routinen.Fenster_Status 16.3.2022, 13:32:40.168 [info ]: javascript.0 (32658) script.js.Routinen.Fenster_Status: registered 0 subscriptions and 0 schedules 16.3.2022, 13:33:04.268 [info ]: javascript.0 (32658) Stop script script.js.Routinen.Fenster_Status 16.3.2022, 13:33:04.279 [info ]: javascript.0 (32658) Start javascript script.js.Routinen.Fenster_Status 16.3.2022, 13:33:04.302 [info ]: javascript.0 (32658) script.js.Routinen.Fenster_Status: registered 0 subscriptions and 0 schedules 16.3.2022, 13:34:13.461 [info ]: javascript.0 (32658) Stop script script.js.Routinen.Fenster_Status 16.3.2022, 13:34:13.483 [info ]: javascript.0 (32658) Start javascript script.js.Routinen.Fenster_Status 16.3.2022, 13:34:13.551 [info ]: javascript.0 (32658) script.js.Routinen.Fenster_Status: [] 16.3.2022, 13:34:13.551 [info ]: javascript.0 (32658) script.js.Routinen.Fenster_Status: registered 0 subscriptions and 0 schedules
-
@iced112 sagte: script.js.Routinen.Fenster_Status: []
Der Selektor funktioniert nicht. Wurde nach dem Zuweisen der Datenpunkte zu "window" die Javascript-Instanz neu gestartet? Das ist erforderlich, um den Puffer zu synchronisieren.
-
@paul53
Ja, hab ich gesehen. Sorry wenn ich so dumm frage, Aber wenn ich die Variablen erstelle, ist es denn damit alleine getan? Ich verstehe nämlich nicht so recht, was da passiert so wie ich es im Blockly gebaut (sorry: rein kopiert habe )
Hab, wie gesagt, noch nie mit Variablen geabreitet und ich weis halt auch nicht was z.B. passiert in dem Block "setze offen auf wahr"... -
@paul53
ist das Sternchen im Selektor richtig und notwendig ?sein Selektor
Beispiel eines meiner Selektoren
-
@dslraser sagte: ist das Sternchen im Selektor richtig und notwendig ?
Kann sein, dass es nicht notwendig ist, es schadet aber auch nicht.
-
@iced112 sagte: ich weis halt auch nicht was z.B. passiert in dem Block "setze offen auf wahr"...
Wenn das erste offene Fenster gefunden wird, wird die Variable, die vor der Schleife auf false gesetzt wurde, auf true gesetzt.
Javascript-Instanz mal neu gestartet?
-
Soooo. Jetzt klappts
Aus dem Datenpunkt hab ich nochmal aus dem Indicator einen State gemacht. und so funktioniert die Anzeige in der VIS auch
Blockly schaut so aus