NEWS
Gelöst Velux Rolladensteuerung/ Homematic Fenstersensoren
-
habe mal die Koordinaten eingetragen. Wie sollte es den aussehen?
Habe iobroker nochmal neugestartet. Jetzt sieht es so aus. Denke mal das sind dann die richtigen Zeiten oder?
-
-
@Eagle_87 Die Einstellungen über die Koordinaten sind so richtig, ich meinte dass du die Zeiten über die Debug Ausgabe schreibst. Die erste Ausgabe in der Funktion ist "bin angekommen". Diese kommt aber erst nach der Abfrage auf "nicht zwischen". Dies würde ich nur überprüfen um das < oder <= eine Rolle spielen könnte.
-
@KaZim danke habe mal mehr debugs eingebaut nur heute war es leider zu spät.
Habe mal Bilder vom Log gemacht, leider noch mit den alten depug ausgaben. Bei uns wäre der Sonnenuntergang um 21:32Uhr.
Beim ersten Bild die Zeit 20:04Uhr , warum er da schon das Skript startet keine Ahnung....beim zweiten Bild gibt er um 21:33Uhr einen der depugs aus......
beim dritten Bild habe ich das Fenster geöffnet und wieder geschlossen........
Vlllt könnt Ihr mehr damit anfangen.
Die neuen Depug ausgaben sehen jetzt so aus:
und zu guter letzt hänge ich das Blockly mal an:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="J!j;{%1DMR`e}Q/$a`$0">sceneId</variable> <variable id="e;Q#WU%e9/C]8MrNM,O^">velux_gw_ip</variable> <variable id="Oq`eO:H3%D:`Y,/ZU!_G">velux_gw_passwd</variable> <variable id="B}3@?4~r7^3Sumiytc@5">Fenster</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="timeout" id="timeout2">timeout2</variable> </variables> <block type="procedures_defcustomnoreturn" id="D_v~=cD*P[U_,6`[2++#" x="-1188" y="-438"> <mutation statements="false"> <arg name="sceneId" varid="J!j;{%1DMR`e}Q/$a`$0"></arg> </mutation> <field name="NAME">activateScene</field> <field name="SCRIPT">J3VzZSBzdHJpY3QnOwp2YXIgdmVsdXggPSByZXF1aXJlKCd2ZWx1eC1rbGYyMDAtYXBpJyk7Cgp2ZWx1eC5jb25uZWN0KHZlbHV4X2d3X2lwLHt9KQoudGhlbigoKT0+ewogIHJldHVybiB2ZWx1eC5sb2dpbih2ZWx1eF9nd19wYXNzd2QpOwp9KQoudGhlbigoZGF0YSk9PnsKcmV0dXJuIHZlbHV4LnNlbmRDb21tYW5kKHsgYXBpOiB2ZWx1eC5BUEkuR1dfQ09NTUFORF9TRU5EX1JFUSwKCiAgICAgIGNvbW1hbmRPcmlnaW5hdG9yOiAxLAoKICAgICAgcHJpb3JpdHlMZXZlbDogMiwKCiAgICAgIHBhcmFtZXRlckFjdGl2ZTogMCwKCiAgICAgIGZ1bmN0aW9uYWxQYXJhbWV0ZXJNUDoge3ZhbHVlVHlwZTonUkVMQVRJVkUnLCB2YWx1ZTpzY2VuZUlkfSwKCiAgICAgIC8qIGZ1bmN0aW9uYWxQYXJhbWV0ZXJNUDogMTAwLCAqLwoKICAgICAgaW5kZXhBcnJheUNvdW50OiAxLAoKICAgICAgaW5kZXhBcnJheTogWzFdLAoKICAgICAgcHJpb3JpdHlMZXZlbExvY2s6IGZhbHNlLAoKICAgICAgbG9ja1RpbWU6IDAKCiAgfSkKfSkKLnRoZW4oKGRhdGEpPT57CiAgY29uc29sZS5sb2coZGF0YSk7CiAgcmV0dXJuIHZlbHV4LmVuZCgpOwp9KQouY2F0Y2goKGVycik9PnsKICBjb25zb2xlLmxvZyhlcnIpOwogIHJldHVybiB2ZWx1eC5lbmQoKTsKfSk7</field> <comment pinned="false" h="80" w="160">Activates a predefined scene on the Velux KLF200 interface</comment> </block> <block type="procedures_defnoreturn" id="fJd5gbH6H/~!9SKl@[Ii" x="-537" y="-437"> <field name="NAME">Rolladen</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="debug" id="%-FhWajQ/-F^TNa,$0C`"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=")615npXk~q!FfmciHb:#"> <field name="TEXT">Station1</field> </shadow> </value> <next> <block type="controls_if" id="u_fa!)|r*aF[TL(rUHID"> <value name="IF0"> <block type="logic_operation" id="dur0jaRT6~(Tz/,13WM0" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="time_compare_ex" id="~v`qNh~q^`SzWhr}:;Z3" inline="false"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true" actual_time="true"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">not between</field> <value name="START_TIME"> <shadow type="text" id="-$(MTBRDb#%G9oN6JHYN"> <field name="TEXT">12:00</field> </shadow> <block type="time_astro" id="0i}YE;8L~L8c,Nm0;W]H"> <field name="TYPE">sunrise</field> <field name="OFFSET">0</field> </block> </value> <value name="END_TIME"> <shadow type="text" id="#uPbZM*Wu)j1;ujnT!%7"> <field name="TEXT">18:00</field> </shadow> <block type="time_astro" id="u-]e?Yf2eu]0Ck2nY[7v"> <field name="TYPE">sunset</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="cMiTN0!;y[5P.kVq`A;@"> <value name="BOOL"> <block type="variables_get" id="G,[n`kWiggClT+Ox`%QJ"> <field name="VAR" id="B}3@?4~r7^3Sumiytc@5">Fenster</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="44zQ*XLSHtSp^Cb[;CqQ"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Bs8rP|S0]2m(D!FJ0A25"> <field name="TEXT">Station2</field> </shadow> </value> <next> <block type="toggle" id="`!zjgZ+M#QZ[O!V+LREL"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0189034.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <next> <block type="debug" id="+4-DdqXF^0b!;%o-};~g"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="[X:Rj^Mz)2sf)v9,`iex"> <field name="TEXT">Station3</field> </shadow> </value> <next> <block type="timeouts_settimeout" id="yMNf1$Fwa.v?Tv2U*!=;"> <field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="debug" id="vYyH4dhUx{Sn2bt4I.1e"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="%n~/4(ihMY8YdIuko~3P"> <field name="TEXT">Station4</field> </shadow> </value> <next> <block type="procedures_callcustomnoreturn" id="`HZIVMi#(qx7pg-H::f_"> <mutation name="activateScene"> <arg name="sceneId"></arg> </mutation> <value name="ARG0"> <block type="math_number" id="0ASb5Dau2i/*M3S1=khd"> <field name="NUM">100</field> </block> </value> <next> <block type="debug" id=";JPp+;**jmzI$k^`EEfg"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="SGojjpnWZ8Qccnm,w8pl"> <field name="TEXT">Station5</field> </shadow> </value> <next> <block type="comment" id=",k-!In_Wa2LN8b]U3k!_"> <field name="COMMENT">100 = Geschlossen</field> <next> <block type="comment" id="D!dIN}Q4`a53a2c|Mjmz"> <field name="COMMENT">Bei Sonnenuntergang wird der Status des Fensters abgefragt</field> <next> <block type="comment" id="YolE8s?T]qYzwqOoVy^S"> <field name="COMMENT">Fenster: 0 = Geschlossen , 1 = Offen</field> <next> <block type="timeouts_settimeout" id=".1($gt5EvHU4ANmtnIN0"> <field name="NAME">timeout2</field> <field name="DELAY">2</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="debug" id="m5Lp$9G:%D]hQVm-n0zd"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="MuM4G={-%)TB866x$Pl5"> <field name="TEXT">Station6</field> </shadow> </value> <next> <block type="toggle" id="8pcWtqobDYDbQk+zu6Dd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">hm-rpc.0.OEQ0189034.1.STATE</field> <field name="WITH_DELAY">FALSE</field> <next> <block type="debug" id="O#%aa5j2x6zReuyyDJOj"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="M=~{)kDc-y1Fm:TLI!wu"> <field name="TEXT">Station7</field> </shadow> </value> <next> <block type="comment" id="f/|*~jPUZ8V^#I|#xh~3"> <field name="COMMENT">Falls geschlossen Rolladen Runter</field> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id=".Nyn_P54E-5YN2D`sm%G"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="X_%+6E%#7fM1g33o*[p="> <field name="TEXT">Station8</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id="FBaUWS/P-bKSf@QUw*pn"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="+SHTEDLB!GiZnZvmk-jb"> <field name="TEXT">Station9</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id="ZL~RG?4~;SO/T,O(5-Nl"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="]LPSw{e-3@d(ev%4Le-w"> <field name="TEXT">Station10</field> </shadow> </value> </block> </next> </block> </next> </block> </statement> </block> <block type="comment" id="X|J3YT689(q(8APPIP0C" x="-1187" y="-387"> <field name="COMMENT">Dachfensterrollläden nach Astro auf/zu</field> <next> <block type="variables_set" id="@TTT{[).wNR@SPT?sS)Q"> <field name="VAR" id="e;Q#WU%e9/C]8MrNM,O^">velux_gw_ip</field> <value name="VALUE"> <block type="text" id="CJ+.(M:2e{irFzEOg}64"> <field name="TEXT">192.168.188.35</field> </block> </value> <next> <block type="variables_set" id="U)ex73Ldg3Dr}fA!yzbV"> <field name="VAR" id="Oq`eO:H3%D:`Y,/ZU!_G">velux_gw_passwd</field> <value name="VALUE"> <block type="text" id="lDo@3hvTzZ%i.kN/KMrA"> <field name="TEXT">ge47FXJPHu</field> </block> </value> <next> <block type="variables_set" id="WZLri!)SEBiJP_Q!sLTz"> <field name="VAR" id="B}3@?4~r7^3Sumiytc@5">Fenster</field> <value name="VALUE"> <block type="get_value" id="Amzh)Pa.#Z)1S{J]Q{tw"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.MEQ1483562.1.STATE</field> </block> </value> <next> <block type="debug" id="7t8p9@tV(Uu.h]9%F{xb"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id=")Ks~LEHDba7H.@oj8]R{"> <field name="TEXT">Trigger Start</field> </shadow> </value> <next> <block type="astro" id="Q2u8%Omb,.%)ZqeIZc*%"> <field name="TYPE">sunset</field> <field name="OFFSET">0</field> <statement name="STATEMENT"> <block type="debug" id="eltVg4V]nN6oD-:nO}}]"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="E1fI9m2iG$.;z@m16dYd"> <field name="TEXT">Trigger Sonnenuntergang</field> </shadow> </value> <next> <block type="procedures_callnoreturn" id="ZS,JFQc8Rh3GODI9E+Hy"> <mutation name="Rolladen"></mutation> </block> </next> </block> </statement> <next> <block type="debug" id="2.Q#|/SUIcH,5*k@-vUB"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="BrgTB*M+GDz5D-DPr@B}"> <field name="TEXT">Bin mit Sonnenuntergang durch</field> </shadow> </value> <next> <block type="on_ext" id="kY@~?Owj3{;F;9pw!wEF"> <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="gLXk5=g.N0dtEi|e/d0]"> <field name="oid">hm-rpc.0.MEQ1483562.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="debug" id="%Cp8dR_S|JYlGqC;fS0G"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="q`](S96h1rOk?4}kQqHR"> <field name="TEXT">Trigger Fenster</field> </shadow> </value> <next> <block type="variables_set" id="WsJ-EyK|27?$~zNo1e/P"> <field name="VAR" id="B}3@?4~r7^3Sumiytc@5">Fenster</field> <value name="VALUE"> <block type="on_source" id=")oTE~Od-|(`H~b{IxgQR"> <field name="ATTR">state.val</field> </block> </value> <next> <block type="procedures_callnoreturn" id="tbyw{kZF72XzKr|,(cu7"> <mutation name="Rolladen"></mutation> </block> </next> </block> </next> </block> </statement> <next> <block type="debug" id="up|_1AoRp`c!1gKQ*L2}"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="Z*f?sHaz8X{QilC=Jh/a"> <field name="TEXT">Bin mit Fensterwert durch</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Euch nochmals vielen dank & gute Nacht
-
@Eagle_87 sagte:
Beim ersten Bild die Zeit 20:04Uhr , warum er da schon das Skript startet keine Ahnung....
Das Skript wurde neu gestartet.
@Eagle_87 sagte in Velux Rolladensteuerung/ Homematic Fenstersensoren:
beim zweiten Bild gibt er um 21:33Uhr
Welcher Debug-Block gibt "Bin bei Rolladen und prüfe die Zeit" aus ?
Falls die Zeitspanne und der Zeitpunkt "Sonnenuntergang" grenzwertig sind, dann verwende mal beim Trigger einen Offset von 1 Minute.
-
Nur mal so ins Blaue. Ich habe mal testweise die Aktuelle Zeit und die Aktuelle Zeit von Sonnenuntergang bei mir ausgegeben. Sieht dann so aus:
Oben: Aktuelle Zeit, Unten: Sonnenuntergang
Könnte es wichtig sein, die Zeiten überall im Skript gleich zu formatieren??? Oder macht JS das dann immer automatisch richtig?
@Eagle_87 Das sähe dann so aus:
Zumindest für Menschen ist der Output dann lesbarer
-
@buggybeast sagte:
Oder macht JS das dann immer automatisch richtig?
Ohne Formatierung nimmt JS das Date Object bzw. die ms seit 1.1.1970.
Ich habe gerade eine Test-Script laufen, dass zu Mittag (ca. 13:06 Uhr) triggert und dann einen Vergleich mit "nicht zwischen" macht. Mal schauen, was passiert. -
@buggybeast
Der Test ergab: Ohne Offset funktioniert der Vergleich nicht wie erwartet:Mit Offset passt es:
Also verwende beim Trigger einen Offset von 1 Minute oder beim Vergleich "Sonnenuntergang -1 Minute".
-
@paul53
Das erscheint logisch. Mit Versatz ist man 100%ig nicht kleiner/gleich Sonnenuntergang. Und damit ist das falls Statement wahr. Man scheint die Formatierung Der Zeit explizit also nicht zu benötigen. Gut zu wissen
Tatsächlich erstaunlich finde ich dagegen, dass Es ohne Versatz Nicht geht. Vom Trigger bis zur Auswertung des falls Blockes vergehen ja auch Millisekunden, also müsste die aktuelle Zeit ja eigentlich größer als Sonnenuntergang sein, und somit auch wieder wahr. -
@buggybeast sagte:
also müsste die aktuelle Zeit ja eigentlich größer als Sonnenuntergang sein, und somit auch wieder wahr.
Dachte ich auch, ist aber offenbar nicht so, wie der Test zeigt.
-
Na besser mit Versatz und auf der sicheren Seite, sonst läuft es womöglich mal so, mal anders
-
@paul53 @buggybeast & @KaZim vielen vielen dank für eure Unterstützung bei dem Theama hier. Finde ich wirklich super. Habe jetzt im offset mal 1 min eingetragen und drücke die Daumen das es heute abend klappt. Werde dann natürlich bescheid
geben.
-
@paul53 @buggybeast & @KaZim
jap hat funktioniert. Vielen dank damit ist das Problem gelöst. -