NEWS
Blockly Astro-Rolladensteuerung
-
Guten Morgen Matze,
habe es gleich importiert und meinen Rolladen eingebunden. der DP wurde auch erstellt.
Ich denke das ist genau das was ich gesucht habe
Eine Frage habe ich noch zum Verständnis, es wird jetzt immer um 0:10 Uhr der Status beim Arbeitstag auf true oder false gestellt und der bleibt solange gleich bis er überschrieben wird?
Und den Baustein "Zustand erzeugen" könnte ich jetzt theoretisch aus dem Script löschen da er ja schon erstellt ist, oder macht es Sinn ihn dauerhaft so stehen zu lassen?
Nochmal vielen herzlichen Dank und schöne Feiertage!!
-
Hi,
Eine Frage habe ich noch zum Verständnis, es wird jetzt immer um 0:10 Uhr der Status beim Arbeitstag auf true oder false gestellt und der bleibt solange gleich bis er überschrieben wird?
Ja, richtig. Das ganze geht bestimmt eleganter, so ist es aber grade für den Anfang am besten verständlich.
Und den Baustein "Zustand erzeugen" könnte ich jetzt theoretisch aus dem Script löschen da er ja schon erstellt ist, oder macht es Sinn ihn dauerhaft so stehen zu lassen?
Der kann theoretisch raus. Vorteil den dazulassen: wenn du die Scripte exportierst und neu / woanders einbindest ( Systemcrash oder ähnliches ) werden die benötigten Datenpunkte automatisch neu erzeugt.
Nochmal vielen herzlichen Dank und schöne Feiertage!!
Dir auch ein frohes Fest!
Matze
-
Als Idee einer sinnvollen Erweiterung. Es gibt bei sowas natürlich noch die dynamische Komponente Urlaub
Dafür könnte man einen weiteren DP benutzen, der von Hand gesetzt wird ( über VIS z.B. )
Den müsste man dann im ersten Zeitplan mit dem Datenpunkt Feiertage "oder" -Verknüpfen.
-
Ja das wird mein Ziel auch sein. Ich habe ioBroker seit ca. 2 Wochen am laufen und bin gerade dabei einige neue Komponenten zu installieren und einzurichten. VIS habe ich schon ausprobiert, aber tue mich da noch etwas schwer.
Außerdem würde ich auch gerne von außerhalb auf einige Funktionen zugreifen können, aber ich habe leider eine Conect Box von Unitymedia die das nicht gerade auf leichte Weise unterstützt. z.B. kein VPN.
Ist es möglich auch nur auf VIS von extern zuzugreifen ohne großen Aufwand?
-
Ist es möglich auch nur auf VIS von extern zuzugreifen ohne großen Aufwand? `
Ja, mit der ioBroker cloud oder iobroker Cloud proGruß
Rainer
-
Hallo Rainer,
Cloud Adapter habe ich installiert und nutze diesen bisher für Alexa.
Kannst du mir erklären wie ich den Zugriff von extern mit einer sicheren Verbindung herstelllen kann? Habe gesehen du hast zu diesem Thema schon mehreren Usern geholfen
Vielen Dank für deine Antwort!
-
Du gehst auf https://iobroker.net und meldest dich da an.
Anschließend müsste dein Zugang zu vis (sofern im cloudadapter die web-Instanz korrekt konfiguriert ist) von dort möglich sein.
Ich nutze selber die pro-Version, kann zur Standardversion nichts sagen
Bei der pro Version kann man dann auch direkt die Android vis app unterwegs nutzen
Gruß
Rainer
-
Hallo Rainer,
der Zugriff von extern funktioniert jetzt soweit. Ist es auch mit der iOS App "Vis Viewer" möglich direkt auf die Cloud zuzugreifen?
Danke für deine Antwort!
-
Hallo Rainer,
der Zugriff von extern funktioniert jetzt soweit. Ist es auch mit der iOS App "Vis Viewer" möglich direkt auf die Cloud zuzugreifen?
Danke für deine Antwort! `
Jup, url für externen Zugang eingeben
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201712 ... 2bdb83.jpg">https://uploads.tapatalk-cdn.com/20171225/421a08674fd8d3b3451a7149232bdb83.jpg</link_text>" />
( Bzw .Net )
–-----------------------
Send from mobile device
Das schöne ios hat Auto Korrektur zum k****
Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community~~
-
Moin,
so aus der Hüfte geschossen
blockly.PNG
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="MsAHg|-SMIE?C4%@l)c_" type="comment" x="-762" y="-538"><field name="COMMENT">Datenpunkt Arbeitstag erzeugen und steuern</field>
<next><block id="fKbG^ef?ge+bD23ROlf" type="create"><field name="NAME">javascript.0.Arbeitstag</field> <statement name="STATEMENT"><block id="l{SFGs+WCkKfk]I?nQid" type="schedule"><field name="SCHEDULE">10 0 * * 1-5</field> <statement name="STATEMENT"><block id="GTBmlGoD+mF{uN^i:i4V" type="controls_if"><mutation else="1"></mutation> <value name="IF0"><block id="Bk1((q9.{m
?2D#:wO]" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="YKXKBU5X7P8ild)BWaI+" type="get_value"><field name="ATTR">val</field>
<field name="OID">feiertage.0.heute.boolean</field></block></value>
<value name="B"><block id="dt{TWgosb4Diz!(qeI1" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block id="!u95_2T_@PdN4n{GM2?T" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="NHduq8fQCRwTX?x.7t*f" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement> <statement name="ELSE"><block id="?-YG*FP)3]HF{x2u%HVt" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="WsSH0Dy9q}tluW/wFAFg" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> <next><block id="S3.5)f@HcWyub7GG0(cA" type="schedule"><field name="SCHEDULE">10 0 * * 0,6</field> <statement name="STATEMENT"><block id="~vrPk6G_TI6}FQp2BvsB" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="xI/OunMJWyNJvF1i:^9O" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement> <next><block id="Xs[[*.g#rH]Nh(Z4PtS4" type="comment"><field name="COMMENT">An Arbeitstagen Rolladen per Astro hochfahren</field> <next><block id="xfv(ji1U?E,R!9Y]t@-2" type="astro"><field name="TYPE">dawn</field> <field name="OFFSET">0</field> <statement name="STATEMENT"><block id="){@oj.HqG@hvL()56?|z" type="controls_if"><value name="IF0"><block id="1-OKfhJ7lwB2dXKpsm.i" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id=".{_6BdJ%IY0X5{6+vjS;" type="get_value"><field name="ATTR">val</field> <field name="OID">javascript.0.Arbeitstag</field></block></value> <value name="B"><block id="Ymm)MK=7IO+)v2?7UgCt" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block id="^:N]aah_A(L9ax7e
!Kh" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="!P{e,/-KLR:sph3|]%Kf" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement>
<next><block id=".}r,GY08l9I1?`j[gJa{" type="comment"><field name="COMMENT">Rolladen per Astro runterfahren</field>
<next><block id=")N.~NDUYGw0OUCaA32j" type="astro"><field name="TYPE">dusk</field>
<field name="OFFSET">0</field>
<statement name="STATEMENT"><block id="21lB?rY!QC/qYj4(#RVW" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="GuSZVGRsau7@Lm-JNGb" type="math_number"><field name="NUM">0</field></block></value></block></statement>
<next><block id="1%3VuHS51x{J7,o2j;NV" type="comment"><field name="COMMENT">um 10:30 prüfen ob Arbeitstag, wenn nicht Rolladen hochfahren</field>
<next><block id="woA/oQE.;aTbOF6]1WD_" type="schedule"><field name="SCHEDULE">30 10 * * </field>
<statement name="STATEMENT"><block id="x=nehu7R;Ruo{6[Mul2" type="controls_if"><value name="IF0"><block id="BwTuqT7E5SQw]v;Z]31{" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="7UB]6Q{AyaJVxAU7CZ{" type="get_value"><field name="ATTR">val</field>
<field name="OID">javascript.0.Arbeitstag</field></block></value>
<value name="B"><block id="9R.RqKWqkCZBsg:cW_gf" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value>
<statement name="DO0"><block id="|BCpJ_OE#Lo?h.BaJL4r" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="~0SND8aJshFeV-ZO-@+@" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>Du kannst den Code bei dir ja mal importieren und damit mal testen. Die Datenpunkte von deinen Rolläden müssen natürlich noch eingesetzt werden. Als Hinweis: der Trigger gehört bei Blockly IMMER nach Außen. Auch Trigger in Trigger funktioniert nicht. Ausnahme hier "Zustand erzeugen". Das kann irgendwo verbaut werden. Gruß Matze `
Hallo ,
ich würde hier gerne nochmal auf das Thema zurückkommen…
Zuerst: Coole Lösung mit dem Überprüfen des Arbeitstages..
Aber: Falls ein Arbeitstag ist, und es ist Sommer.... Dann geht doch so möglicherweise der Rolladen morgens um 4 (Morgendämmerung) hoch, oder ?
Wie könnte man das denn auf frühestens 7.00 einstellen ?
Gruß
Martin
-
Moin Martin,
das wäre dann so ( auch aus der Hüfte ohne Garantie
Um 07:00 Uhr wird geprüft, ob die aktuelle Zeit ( hier dann 07:00 ) gleich oder größer als Astrozeit ist. Wenn ja -> auf
Zur Astrozeit wird geprüft, ob die aktuelle Zeit > 07:00 ist, wenn ja -> auf, wenn nein -> nix.
Als Ergebnis sollte dabei herauskommen: die Dinger fahren um 07:00 auf, es sei denn Astro ist später. Dann verzögert sich das hochfahren nach hinten. Probiere das mal so aus.
Gruß
Matze
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="MsAHg|-SMIE?C4%@l)c_" type="comment" x="-1338" y="-737"><field name="COMMENT">Datenpunkt Arbeitstag erzeugen und steuern</field>
<next><block id="fKbG^ef?ge+bD23ROlf" type="create"><field name="NAME">javascript.0.Arbeitstag</field> <statement name="STATEMENT"><block id="l{SFGs+WCkKfk]I?nQid" type="schedule"><field name="SCHEDULE">10 0 * * 1-5</field> <statement name="STATEMENT"><block id="GTBmlGoD+mF{uN^i:i4V" type="controls_if"><mutation else="1"></mutation> <value name="IF0"><block id="Bk1((q9.{m
?2D#:wO]" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="YKXKBU5X7P8ild)BWaI+" type="get_value"><field name="ATTR">val</field>
<field name="OID">feiertage.0.heute.boolean</field></block></value>
<value name="B"><block id="dt{TWgosb4Diz!(qeI1" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block id="!u95_2T_@PdN4n{GM2?T" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="NHduq8fQCRwTX?x.7t*f" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement> <statement name="ELSE"><block id="?-YG*FP)3]HF{x2u%HVt" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="WsSH0Dy9q}tluW/wFAFg" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> <next><block id="S3.5)f@HcWyub7GG0(cA" type="schedule"><field name="SCHEDULE">10 0 * * 0,6</field> <statement name="STATEMENT"><block id="~vrPk6G_TI6}FQp2BvsB" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="xI/OunMJWyNJvF1i:^9O" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement> <next><block id="Xs[[*.g#rH]Nh(Z4PtS4" type="comment"><field name="COMMENT">An Arbeitstagen Rolladen per Astro hochfahren</field> <next><block id="xfv(ji1U?E,R!9Y]t@-2" type="astro"><field name="TYPE">dawn</field> <field name="OFFSET">0</field> <statement name="STATEMENT"><block id="){@oj.HqG@hvL()56?|z" type="controls_if"><value name="IF0"><block id="HnSlD0hdDq(h+X=%cr6," type="logic_operation"><field name="OP">AND</field> <value name="A"><block id="1-OKfhJ7lwB2dXKpsm.i" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id=".{_6BdJ%IY0X5{6+vjS;" type="get_value"><field name="ATTR">val</field> <field name="OID">javascript.0.Arbeitstag</field></block></value> <value name="B"><block id="Ymm)MK=7IO+)v2?7UgCt" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block id="uiBRI?z*ecm)78rKne1z" type="time_compare_ex"><mutation actual_time="true" end_time="false"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">></field> <value name="START_TIME"><shadow id="%/Jn.*cHP^zls4QruA,A" type="text"><field name="TEXT">07:00</field></shadow></value></block></value></block></value> <statement name="DO0"><block id="^:N]aah_A(L9ax7e
!Kh" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="!P{e,/-KLR:sph3|]%Kf" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement>
<next><block id="vEsrm5{a4^?IezE(Lrc%" type="comment"><field name="COMMENT">um 07:00 prüfen ob Arbeitstag, wenn ja Rolladen hochfahren sofern noch unten</field>
<next><block id="++=KE?/vi84:1AFR{q,j" type="schedule"><field name="SCHEDULE">0 7 * * </field>
<statement name="STATEMENT"><block id="9})%KkNDO~@EpVe^1y;s" type="controls_if"><value name="IF0"><block id=":^rdihf{wmn!V|ATR,=" type="logic_operation"><field name="OP">AND</field> <value name="A"><block id="%Ma[M?ecw|YEsN^YF2-Z" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="G56h5PO:PfU+9wP
N.bY" type="get_value"><field name="ATTR">val</field>
<field name="OID">javascript.0.Arbeitstag</field></block></value>
<value name="B"><block id="yT?iE39EVd|L+FGXF^x" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block id="^oj,UpLvt+*5)*1,r9(_" type="time_compare_ex"><mutation actual_time="true" end_time="false"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">>=</field> <value name="START_TIME"><shadow id=";yd6a-hY|t{/{t5TX**v" type="text"><field name="TEXT">12:00</field></shadow> <block id="YlHiO{zol0}iw5!)U8+." type="time_astro"><field name="TYPE">dawn</field> <field name="OFFSET">0</field></block></value></block></value></block></value> <statement name="DO0"><block id="P]@R])qVf}n!.sds[twB" type="control"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="}{%(O}@BDtL;t^;Og;2{" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement> <next><block id=".}r,GY08l9I1?
j[gJa{" type="comment"><field name="COMMENT">Rolladen per Astro runterfahren</field>
<next><block id=")N.~NDUYGw0OUCaA32j" type="astro"><field name="TYPE">dusk</field>
<field name="OFFSET">0</field>
<statement name="STATEMENT"><block id="21lB?rY!QC/qYj4(#RVW" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="GuSZVGRsau7@Lm-JNGb" type="math_number"><field name="NUM">0</field></block></value></block></statement>
<next><block id="1%3VuHS51x{J7,o2j;NV" type="comment"><field name="COMMENT">um 10:30 prüfen ob Arbeitstag, wenn nicht Rolladen hochfahren</field>
<next><block id="woA/oQE.;aTbOF6]1WD_" type="schedule"><field name="SCHEDULE">30 10 * * </field>
<statement name="STATEMENT"><block id="x=nehu7R;Ruo{6[Mul2" type="controls_if"><value name="IF0"><block id="BwTuqT7E5SQw]v;Z]31{" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="7UB]6Q{Ay*aJVxAU7CZ{" type="get_value"><field name="ATTR">val</field>
<field name="OID">javascript.0.Arbeitstag</field></block></value>
<value name="B"><block id="9R.RqKWqkCZBsg:cW_gf" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value>
<statement name="DO0"><block id="|BCpJ_OE#Lo?h.BaJL4r" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="~0SND8aJshFeV-ZO-@+@" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>EDIT: ersetze bitte im 07:00Uhr Trigger "gleich oder größer" durch "gleich oder kleiner"
-
Ja… das sieht gut aus..
Danke.. durch deine Beispiele kann ich viel lernen..
Jetzt muss ich nur noch einbauen, dass ich die Automatik über einen Schalter in einer Vis-View abschalten kann, meine Kinder steuern können, dass sie länger schlafen wolllen und und und....
-
Moin Martin,
bitte meinen Edit beachten.
Deine erstere Anforderung ist total easy. Du kannst das ganze Script über VIS an oder aus schalten. Der Datenpunkt dazu befindet sich unter:
Objekte -> Javascript.Instanznummer -> ScriptEnabled -> Scriptname
Für die Kinder wirds natürlich schwieriger, du musst die Rolladen vielleicht gruppieren, über ICAL einen Ferienkalender einbauen, wie sollen die Kinder das steuern? Fragen über Fragen
Matze
-
.. nunja… die "Kinder" sind schon etwas größer.. 18 und 20... (und ich kann euch sagen, die haben ein schönes Leben so mit Uni und so... )
Die würden es auch schaffen auf nem Tablet ihren Status zu pflegen..
Ich denke, mann müsste im Script noch ne Variable schaffen / prüfen, die über VIS auf false / oder true geschaltet werden kann ?
Ich lass mir da mal noch was einfallen... muss ja auch verbesserungsfähig sein
-
Moin Martin,
das wäre dann so ( auch aus der Hüfte ohne Garantie
blockly.PNG
Um 07:00 Uhr wird geprüft, ob die aktuelle Zeit ( hier dann 07:00 ) gleich oder größer als Astrozeit ist. Wenn ja -> auf
Zur Astrozeit wird geprüft, ob die aktuelle Zeit > 07:00 ist, wenn ja -> auf, wenn nein -> nix.
Als Ergebnis sollte dabei herauskommen: die Dinger fahren um 07:00 auf, es sei denn Astro ist später. Dann verzögert sich das hochfahren nach hinten. Probiere das mal so aus.
Gruß
Matze
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block id="MsAHg|-SMIE?C4%@l)c_" type="comment" x="-1338" y="-737"><field name="COMMENT">Datenpunkt Arbeitstag erzeugen und steuern</field>
<next><block id="fKbG^ef?ge+bD23ROlf" type="create"><field name="NAME">javascript.0.Arbeitstag</field> <statement name="STATEMENT"><block id="l{SFGs+WCkKfk]I?nQid" type="schedule"><field name="SCHEDULE">10 0 * * 1-5</field> <statement name="STATEMENT"><block id="GTBmlGoD+mF{uN^i:i4V" type="controls_if"><mutation else="1"></mutation> <value name="IF0"><block id="Bk1((q9.{m
?2D#:wO]" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="YKXKBU5X7P8ild)BWaI+" type="get_value"><field name="ATTR">val</field>
<field name="OID">feiertage.0.heute.boolean</field></block></value>
<value name="B"><block id="dt{TWgosb4Diz!(qeI1" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block id="!u95_2T_@PdN4n{GM2?T" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="NHduq8fQCRwTX?x.7t*f" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement> <statement name="ELSE"><block id="?-YG*FP)3]HF{x2u%HVt" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="WsSH0Dy9q}tluW/wFAFg" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> <next><block id="S3.5)f@HcWyub7GG0(cA" type="schedule"><field name="SCHEDULE">10 0 * * 0,6</field> <statement name="STATEMENT"><block id="~vrPk6G_TI6}FQp2BvsB" type="control"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Arbeitstag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="xI/OunMJWyNJvF1i:^9O" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement> <next><block id="Xs[[*.g#rH]Nh(Z4PtS4" type="comment"><field name="COMMENT">An Arbeitstagen Rolladen per Astro hochfahren</field> <next><block id="xfv(ji1U?E,R!9Y]t@-2" type="astro"><field name="TYPE">dawn</field> <field name="OFFSET">0</field> <statement name="STATEMENT"><block id="){@oj.HqG@hvL()56?|z" type="controls_if"><value name="IF0"><block id="HnSlD0hdDq(h+X=%cr6," type="logic_operation"><field name="OP">AND</field> <value name="A"><block id="1-OKfhJ7lwB2dXKpsm.i" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id=".{_6BdJ%IY0X5{6+vjS;" type="get_value"><field name="ATTR">val</field> <field name="OID">javascript.0.Arbeitstag</field></block></value> <value name="B"><block id="Ymm)MK=7IO+)v2?7UgCt" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block id="uiBRI?z*ecm)78rKne1z" type="time_compare_ex"><mutation actual_time="true" end_time="false"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">></field> <value name="START_TIME"><shadow id="%/Jn.*cHP^zls4QruA,A" type="text"><field name="TEXT">07:00</field></shadow></value></block></value></block></value> <statement name="DO0"><block id="^:N]aah_A(L9ax7e
!Kh" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="!P{e,/-KLR:sph3|]%Kf" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement>
<next><block id="vEsrm5{a4^?IezE(Lrc%" type="comment"><field name="COMMENT">um 07:00 prüfen ob Arbeitstag, wenn ja Rolladen hochfahren sofern noch unten</field>
<next><block id="++=KE?/vi84:1AFR{q,j" type="schedule"><field name="SCHEDULE">0 7 * * </field>
<statement name="STATEMENT"><block id="9})%KkNDO~@EpVe^1y;s" type="controls_if"><value name="IF0"><block id=":^rdihf{wmn!V|ATR,=" type="logic_operation"><field name="OP">AND</field> <value name="A"><block id="%Ma[M?ecw|YEsN^YF2-Z" type="logic_compare"><field name="OP">EQ</field> <value name="A"><block id="G56h5PO:PfU+9wP
N.bY" type="get_value"><field name="ATTR">val</field>
<field name="OID">javascript.0.Arbeitstag</field></block></value>
<value name="B"><block id="yT?iE39EVd|L+FGXF^x" type="logic_boolean"><field name="BOOL">TRUE</field></block></value></block></value> <value name="B"><block id="^oj,UpLvt+*5)*1,r9(_" type="time_compare_ex"><mutation actual_time="true" end_time="false"></mutation> <field name="USE_ACTUAL_TIME">TRUE</field> <field name="OPTION">>=</field> <value name="START_TIME"><shadow id=";yd6a-hY|t{/{t5TX**v" type="text"><field name="TEXT">12:00</field></shadow> <block id="YlHiO{zol0}iw5!)U8+." type="time_astro"><field name="TYPE">dawn</field> <field name="OFFSET">0</field></block></value></block></value></block></value> <statement name="DO0"><block id="P]@R])qVf}n!.sds[twB" type="control"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block id="}{%(O}@BDtL;t^;Og;2{" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement> <next><block id=".}r,GY08l9I1?
j[gJa{" type="comment"><field name="COMMENT">Rolladen per Astro runterfahren</field>
<next><block id=")N.~NDUYGw0OUCaA32j" type="astro"><field name="TYPE">dusk</field>
<field name="OFFSET">0</field>
<statement name="STATEMENT"><block id="21lB?rY!QC/qYj4(#RVW" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="GuSZVGRsau7@Lm-JNGb" type="math_number"><field name="NUM">0</field></block></value></block></statement>
<next><block id="1%3VuHS51x{J7,o2j;NV" type="comment"><field name="COMMENT">um 10:30 prüfen ob Arbeitstag, wenn nicht Rolladen hochfahren</field>
<next><block id="woA/oQE.;aTbOF6]1WD_" type="schedule"><field name="SCHEDULE">30 10 * * </field>
<statement name="STATEMENT"><block id="x=nehu7R;Ruo{6[Mul2" type="controls_if"><value name="IF0"><block id="BwTuqT7E5SQw]v;Z]31{" type="logic_compare"><field name="OP">EQ</field>
<value name="A"><block id="7UB]6Q{Ay*aJVxAU7CZ{" type="get_value"><field name="ATTR">val</field>
<field name="OID">javascript.0.Arbeitstag</field></block></value>
<value name="B"><block id="9R.RqKWqkCZBsg:cW_gf" type="logic_boolean"><field name="BOOL">FALSE</field></block></value></block></value>
<statement name="DO0"><block id="|BCpJ_OE#Lo?h.BaJL4r" type="control"><mutation delay_input="false"></mutation>
<field name="OID">Object ID</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE"><block id="~0SND8aJshFeV-ZO-@+@" type="math_number"><field name="NUM">100</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>EDIT: ersetze bitte im 07:00Uhr Trigger "gleich oder größer" durch "gleich oder kleiner" `
OK.. das verstehe ich jetzt nicht ganz…. So wird doch nur um 7:00 der Rollo hochgefahren, falls die Morgendämmerung schon da ist, oder ?
Was ist dann aber im Winter, wenn es um Sieben eben noch Dunkel ist ? Dann läuft doch diese Prüfung ins leere ?
Ich stelle mir vor, dass die Rollos eben frühestens um 7:00 hochgehen, aber eben doch mit der Dämmerung, also im Winter möglicherweise erst um 8:30.
Edit: ok... habs verstanden
Edit 2: ich denke der Trigger muss doch "gleich oder größer" sein... Um 7:00, wenn die aktuelle Zeit (7:00) gleich 7:00 oder größer als die Morgendämmerung (z.B. 4:00) ist, dann Rollo hoch. oder ?
-
.. nunja… die "Kinder" sind schon etwas größer.. 18 und 20... (und ich kann euch sagen, die haben ein schönes Leben so mit Uni und so... )
Die würden es auch schaffen auf nem Tablet ihren Status zu pflegen..
Ich denke, mann müsste im Script noch ne Variable schaffen / prüfen, die über VIS auf false / oder true geschaltet werden kann ?
Ich lass mir da mal noch was einfallen... muss ja auch verbesserungsfähig sein `
Entweder das oder die Kinder da ganz rausnehmen. Müssen halt einen Schalter drücken wenn sie um 13:00Uhr aufstehen :lol:
Matze <- hat selber 5
-
na dann weiste ja Bescheid.. Wenn ich die Kinder da rausnehme, dann gehen deren Rollos nie wieder hoch
-
Dein Edit2…..ja, da hast du recht. Hab inzwischen einen Knoten im Kopf.
Gruß
Matze
-
Na Super. Danke erstmal…
Hab das nun mal nachgebaut und lasse mich erstmal ein paar Tage per Telegramm informieren , anstatt zu schalten.. (zum Testen )
-
Hallo zusammen,
diese Posts hier haben mich animiert meine bisher nur auf in der CCU2 laufenden einfachen Wenn/Danns in etwas komplexeres zu ändern. Ich hänge mich hier mal an, weil es ganz gut passt und ich auf "Eurer" Lösung aufbaue.
Es ist so, dass ich Fensterkontakte (FT) einsetze. Wir haben Drehfenster in der Wohnung. Wenn die Fenster offen gekippt sind, dürfen die Rollos nicht herunterfahren, weil sie auf die Fenster aufsetzen würden und ich möchte nicht wissen, was im Rollokasten los ist, wenn der Motor oben munter weiter dreht, wenn es unten nicht weiter abwärts geht. Einen Sensor haben die Rolladenmotoren keinen.
Also dürfen die Rolladen nur herunterfahren, wenn das jeweilige Fenster zu ist.
Hochfahren dürfen die aber immer - denn man kann das Fenster bei geschlossenen Rollos nicht öffnen - ein Nachteil dieser Drehfenster, die nun mal in der Wohnung sind. Es gibt auch Feste Fensterflächen ohne Tür/Fenster und in der Küche gibt es eine herkömmliche Tür, die noch keinen FT (Fenster-/Türkontakt hat)
Im ersten Ansatz war es Spaghetti-Code, war unschön anzusehen und schwer zu lesen. Dann habe ich Teile in Funktionen ausgelagert und die Variablen lesbar benannt und jetzt bin ich eigentlich schon ganz zufrieden damit. Wie immer wird die Zeit zeigen ob es praktikabel so ist oder ob weitere Features hinzukommen.
Fragen habe ich eigentlich keine - wollte nur zeigen, was ich aus Eurer Anregung gemacht habe. Vielleicht hilft es ja jemandem auch weiter.
Zudem wollte ich nochmal schnell DANKE sagen, der Post hat mir viel gebracht und ich konnte wieder einiges lernen.
Lange Rede kurzer Sinn: Es ist mein zweiter Post und ich hoffe den Code hier richtig einzufügen…
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="yPv@sLdCvYt%k}Gz#l0a" x="-1337" y="-762"><field name="COMMENT">Grundlage war eine ioBroker-Forumantwort von Matzebhv;http://forum.iobroker.net/viewtopic.php … =20</field>
! <next><block type="comment" id="MsAHg|-SMIE?C4%@l)c_"><field name="COMMENT">Datenpunkt Arbeitstag erzeugen und steuern</field>
! <next><block type="create" id="fKbG^ef?ge+bD23ROlf"><field name="NAME">javascript.0.Arbeitstag</field> ! <statement name="STATEMENT"><block type="schedule" id="l{SFGs+WCkKfk]I?nQid"><field name="SCHEDULE">10 0 * * 1-5</field> ! <statement name="STATEMENT"><block type="controls_if" id="GTBmlGoD+mF{uN^i:i4V"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="Bk1((q9.{m
?2D#:wO]"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="YKXKBU5X7P8ild)BWaI+"><field name="ATTR">val</field>
! <field name="OID">feiertage.0.heute.boolean</field></block></value>
! <value name="B"><block type="logic_boolean" id="dt{TWgosb4Diz!(qeI1"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="!u95_2T_@PdN4n{GM2?T"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Arbeitstag</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="NHduq8fQCRwTX?x.7t*f"><field name="BOOL">FALSE</field></block></value> ! <next><block type="debug" id="/xzf?=ad~/a^)Mk2xXg/" inline="true"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id=";P]fO@jF0ymifaTeI9fS"><field name="TEXT">Feiertag erkannt!</field></shadow></value></block></next></block></statement> ! <statement name="ELSE"><block type="control" id="?-YG*FP)3]HF{x2u%HVt"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.Arbeitstag</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="WsSH0Dy9q}tluW/wFAFg"><field name="BOOL">TRUE</field></block></value> ! <next><block type="debug" id=")OUFaUv-)pty*/N[um52" inline="true"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="(v}}V?lri
vlf3Tl!,_h"><field name="TEXT">Arbeitstag erkannt!</field></shadow></value></block></next></block></statement></block></statement>
! <next><block type="schedule" id="S3.5)f@HcWyub7GG0(cA"><field name="SCHEDULE">10 0 * * 0,6</field>
! <statement name="STATEMENT"><block type="control" id="~vrPk6G_TI6}FQp2BvsB"><mutation delay_input="false"></mutation>
! <field name="OID">javascript.0.Arbeitstag</field>
! <field name="WITH_DELAY">FALSE</field>
! <value name="VALUE"><block type="logic_boolean" id="xI/OunMJWyNJvF1i:^9O"><field name="BOOL">FALSE</field></block></value>
! <next><block type="debug" id=":N@b%SszHQuWO}J+O4PM" inline="true"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="6Q6%/42j[-#=]?,]gcK"><field name="TEXT">Wochenende erkannt!</field></shadow></value></block></next></block></statement></block></next></block></statement> ! <next><block type="comment" id="Xs[[*.g#rH]Nh(Z4PtS4"><field name="COMMENT">An Arbeitstagen Rolladen per Astro hochfahren</field> ! <next><block type="astro" id="xfv(ji1U?E,R!9Y]t@-2"><field name="TYPE">nauticalDawn</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="controls_if" id="){@oj.HqG@hvL()56?|z"><value name="IF0"><block type="logic_operation" id="HnSlD0hdDq(h+X=%cr6,"><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="1-OKfhJ7lwB2dXKpsm.i"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id=".{_6BdJ%IY0X5{6+vjS;"><field name="ATTR">val</field> ! <field name="OID">javascript.0.Arbeitstag</field></block></value> ! <value name="B"><block type="logic_boolean" id="Ymm)MK=7IO+)v2?7UgCt"><field name="BOOL">TRUE</field></block></value></block></value> ! <value name="B"><block type="time_compare_ex" id="uiBRI?z*ecm)78rKne1z"><mutation end_time="false" actual_time="true"></mutation> ! <field name="USE_ACTUAL_TIME">TRUE</field> ! <field name="OPTION">></field> ! <value name="START_TIME"><shadow type="text" id="%/Jn.*cHP^zls4QruA,A"><field name="TEXT">07:00</field></shadow></value></block></value></block></value> ! <statement name="DO0"><block type="debug" id="^KK2%T|E|O0IzO:A#L[t" inline="true"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="YN=K1%rLEI%_h?t.V/m?"><field name="TEXT">An Arbeitstagen per Astro hochfahren</field></shadow></value> ! <next><block type="procedures_callnoreturn" id="Seitu/:?WF?S~5loIu
Y" inline="true"><mutation name="RolloFahrt"><arg name="SollProzent"></arg></mutation>
! <value name="ARG0"><block type="math_number" id="FYY45OVD3/(nrJSI4/V6"><field name="NUM">100</field></block></value></block></next></block></statement></block></statement>
! <next><block type="comment" id="vEsrm5{a4^?IezE(Lrc%"><field name="COMMENT">um 07:00 prüfen ob Arbeitstag, wenn ja Rolladen hochfahren sofern noch unten</field>
! <next><block type="schedule" id="++=KE?/vi84:1AFR{q,j"><field name="SCHEDULE">0 7 * * </field>
! <statement name="STATEMENT"><block type="controls_if" id="9})%KkNDO~@EpVe^1y;s"><value name="IF0"><block type="logic_operation" id=":^rdihf{wmn!V|ATR,="><field name="OP">AND</field> ! <value name="A"><block type="logic_compare" id="%Ma[M?ecw|YEsN^YF2-Z"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="G56h5PO:PfU+9wP
N.bY"><field name="ATTR">val</field>
! <field name="OID">javascript.0.Arbeitstag</field></block></value>
! <value name="B"><block type="logic_boolean" id="yT?iE39EVd|L+FGXF^x"><field name="BOOL">TRUE</field></block></value></block></value> ! <value name="B"><block type="time_compare_ex" id="^oj,UpLvt+*5)*1,r9(_"><mutation end_time="false" actual_time="true"></mutation> ! <field name="USE_ACTUAL_TIME">TRUE</field> ! <field name="OPTION">>=</field> ! <value name="START_TIME"><shadow id=";yd6a-hY|t{/{t5TX**v" type="text"><field name="TEXT">12:00</field></shadow> ! <block type="time_astro" id="YlHiO{zol0}iw5!)U8+."><field name="TYPE">nauticalDawn</field> ! <field name="OFFSET">0</field></block></value></block></value></block></value> ! <statement name="DO0"><block type="debug" id="A,;8bpzyNjplk[m?N4-v" inline="true"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="|dtPYec#UnXk,1onzcG["><field name="TEXT">07:00 Uhr normaler Arbeitstag, Rollos hoch, wenn schon hell!</field></shadow></value> ! <next><block type="procedures_callnoreturn" id="+=Z[ve5a7(@_UXbi[H!h" inline="true"><mutation name="RolloFahrt"><arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="math_number" id="ukmfG=
Q[1uHk%(Bm8-"><field name="NUM">100</field></block></value></block></next></block></statement></block></statement>
! <next><block type="comment" id="1%3VuHS51x{J7,o2j;NV"><field name="COMMENT">um 10:30 prüfen ob Freiertag, dann Rolladen hochfahren</field>
! <next><block type="schedule" id="woA/oQE.;aTbOF6]1WD"><field name="SCHEDULE">30 10 * * </field>
! <statement name="STATEMENT"><block type="controls_if" id="x=nehu7R;Ruo{6[Mul2"><value name="IF0"><block type="logic_compare" id="BwTuqT7E5SQw]v;Z]31{"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="7UB]6Q{AyaJVxAU7CZ{"><field name="ATTR">val</field>
! <field name="OID">javascript.0.Arbeitstag</field></block></value>
! <value name="B"><block type="logic_boolean" id="9R.RqKWqkCZBsg:cW_gf"><field name="BOOL">FALSE</field></block></value></block></value>
! <statement name="DO0"><block type="debug" id="n?dR[~I8x/,Il3w}-8nM" inline="true"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="Ef+FM3_jusY-E4#]|/ro"><field name="TEXT">Ein Freier Tag wurde erkannt! Alle Rolladen hochfahren!</field></shadow></value>
! <next><block type="procedures_callnoreturn" id="yzw=%i+lUgr8rp)LU+To" inline="true"><mutation name="RolloFahrt"><arg name="SollProzent"></arg></mutation>
! <value name="ARG0"><block type="math_number" id="(b/BA,3FMi+e-(poc!@;"><field name="NUM">100</field></block></value></block></next></block></statement></block></statement>
! <next><block type="comment" id=".}r,GY08l9I1?j[gJa{"><field name="COMMENT">Rolladen per Astro runterfahren</field> ! <next><block type="astro" id=")N.~NDUYGw0OUC*aA32j"><field name="TYPE">sunset</field> ! <field name="OFFSET">0</field> ! <statement name="STATEMENT"><block type="debug" id="?/]b[I^u]nv/Ld0;lt+3" inline="true"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="0.vVDqC)u(_:wQR.+*2e"><field name="TEXT">Rollos runterfahren!</field></shadow></value> ! <next><block type="procedures_callnoreturn" id="-6TP43c]qFU)rmN0o8-o" inline="true"><mutation name="RolloFahrt"><arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="math_number" id="zC+VDHidE7;n5BR1u]5#"><field name="NUM">0</field></block></value></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></field></block> ! <block type="procedures_defnoreturn" id="-q3Z9)p/fFoVzqUaZ7_-" x="-1337" y="538"><mutation><arg name="SollProzent"></arg></mutation> ! <field name="NAME">RolloFahrt</field> ! <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> ! <statement name="STACK"><block type="debug" id="jLaU~0C%kHTE+S~j3_jL"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="ZY=*r*_S]BLl|EscmhBb"><field name="TEXT">Funktion Rollofahrt ist fertig</field></shadow></value> ! <next><block type="comment" id="vPOr/Wfo(II)uU)m@TO!"><field name="COMMENT">Fenster zu = False unwahr / offen = True wahr</field> ! <next><block type="procedures_callnoreturn" id=".awGwQpZSLp40-j1h{G6" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg> ! <arg name="FensterAuf"></arg> ! <arg name="IstProzent"></arg> ! <arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="field_oid" id="KxekC+tDGVd/94
fF9R6"><field name="oid">hm-rpc.0.OEQ0893618.1.LEVEL</field></block></value>
! <value name="ARG1"><block type="logic_boolean" id="NO6yYnZWYRy#(.2EvC"><field name="BOOL">FALSE</field></block></value>
! <value name="ARG2"><block type="get_value" id="o@V(c;/cvx?q6wGx7+9m"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.OEQ0893618.1.LEVEL</field></block></value>
! <value name="ARG3"><block type="variables_get" id="9cIFt^4-x{U|zJj%lh8L"><field name="VAR">SollProzent</field></block></value>
! <next><block type="procedures_callnoreturn" id=";u1:?@Rwo?S4:)7K(~" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg> ! <arg name="FensterAuf"></arg> ! <arg name="IstProzent"></arg> ! <arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="field_oid" id="IuCs;YEJ8%dzBa=;rWS7"><field name="oid">hm-rpc.0.OEQ0893582.1.LEVEL</field></block></value> ! <value name="ARG1"><block type="get_value" id=".G%//#DTF7?u2@ZI6w|W"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0807458.1.STATE</field></block></value> ! <value name="ARG2"><block type="get_value" id="Mh^lHRG*ImbpaxQGr
Ht"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.OEQ0893582.1.LEVEL</field></block></value>
! <value name="ARG3"><block type="variables_get" id="G4USJ*;S-s9GO{l[Y-nh"><field name="VAR">SollProzent</field></block></value>
! <next><block type="procedures_callnoreturn" id="J(f^t]Y-n~2@GhWyd;k" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg>
! <arg name="FensterAuf"></arg>
! <arg name="IstProzent"></arg>
! <arg name="SollProzent"></arg></mutation>
! <value name="ARG0"><block type="field_oid" id="/j8IX%)ze)erM*S6[F3"><field name="oid">hm-rpc.0.OEQ0889964.1.LEVEL</field></block></value> ! <value name="ARG1"><block type="logic_boolean" id=",ZQMkw.uq4]NbmU}Gdwi"><field name="BOOL">FALSE</field></block></value> ! <value name="ARG2"><block type="get_value" id="#=|R=
kfIWeW7^iFqj;"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.OEQ0889964.1.LEVEL</field></block></value>
! <value name="ARG3"><block type="variables_get" id="4bEoT@,BT-5n]ydO+^{T"><field name="VAR">SollProzent</field></block></value>
! <next><block type="procedures_callnoreturn" id="e.J|3ZwQntYmeJPiQ8*" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg> ! <arg name="FensterAuf"></arg> ! <arg name="IstProzent"></arg> ! <arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="field_oid" id="m3R#5ObCD4BU-_V}VzL9"><field name="oid">hm-rpc.0.OEQ0893559.1.LEVEL</field></block></value> ! <value name="ARG1"><block type="logic_boolean" id="m?w+FU{j?^9o=K!c)7x#"><field name="BOOL">FALSE</field></block></value> ! <value name="ARG2"><block type="get_value" id="Cx+HU+fA;@yAx}.S9n+f"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0893559.1.LEVEL</field></block></value> ! <value name="ARG3"><block type="variables_get" id="/Y;9lNMS39Bh0)BKtLr~"><field name="VAR">SollProzent</field></block></value> ! <next><block type="procedures_callnoreturn" id="O,UoX)yZh)yQR*3gvA8E" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg> ! <arg name="FensterAuf"></arg> ! <arg name="IstProzent"></arg> ! <arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="field_oid" id="l1]g^.zgC..cTzR/~l.*"><field name="oid">hm-rpc.0.OEQ0893612.1.LEVEL</field></block></value> ! <value name="ARG1"><block type="get_value" id="rq80~UkJOqHNBwMwb|/h"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0807024.1.STATE</field></block></value> ! <value name="ARG2"><block type="get_value" id=":0!XZlO[lnkuc:f.gU?!"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0893612.1.LEVEL</field></block></value> ! <value name="ARG3"><block type="variables_get" id="
J4r~?Shq(kEpGfKnTMV"><field name="VAR">SollProzent</field></block></value>
! <next><block type="procedures_callnoreturn" id="zK/z,E|~OhWA^1l**Can" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg>
! <arg name="FensterAuf"></arg>
! <arg name="IstProzent"></arg>
! <arg name="SollProzent"></arg></mutation>
! <value name="ARG0"><block type="field_oid" id="yWBw~x~:3Pdd.:O9]AP6"><field name="oid">hm-rpc.0.OEQ0893381.1.LEVEL</field></block></value>
! <value name="ARG1"><block type="get_value" id="-FL~O]K#wNQ?he8X}Edh"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.OEQ0804507.1.STATE</field></block></value>
! <value name="ARG2"><block type="get_value" id="8}:ee@#yzp}d{v;8!9XX"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.OEQ0893381.1.LEVEL</field></block></value>
! <value name="ARG3"><block type="variables_get" id="9ErXHK80p{+%.{YXOh]2"><field name="VAR">SollProzent</field></block></value>
! <next><block type="procedures_callnoreturn" id="A{o{IbGYWm]jl!yAjb|" inline="true"><mutation name="Rollade"><arg name="ObjektIDRollo"></arg> ! <arg name="FensterAuf"></arg> ! <arg name="IstProzent"></arg> ! <arg name="SollProzent"></arg></mutation> ! <value name="ARG0"><block type="field_oid" id="32?%#|JVjEGtKX5?Am!j"><field name="oid">hm-rpc.0.OEQ0888682.1.LEVEL</field></block></value> ! <value name="ARG1"><block type="get_value" id=")YXt2?yNMV}5KEeEJ(Ke"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0392298.1.STATE</field></block></value> ! <value name="ARG2"><block type="get_value" id="=E{NTjvDMG[wOv2rl-D["><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0888682.1.LEVEL</field></block></value> ! <value name="ARG3"><block type="variables_get" id="8aL8]h(MpOdF@{o6{__l"><field name="VAR">SollProzent</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block> ! <block type="procedures_defnoreturn" id="
]Hgi=Ihf7x+)dJb{ZlE" x="-1337" y="938"><mutation><arg name="ObjektIDRollo"></arg>
! <arg name="FensterAuf"></arg>
! <arg name="IstProzent"></arg>
! <arg name="SollProzent"></arg></mutation>
! <field name="NAME">Rollade</field>
! <comment pinned="false" h="80" w="160">Lässt die Rollos fahren.
! Runter nur, wenn Fenster zu</comment>
! <statement name="STACK"><block type="variables_set" id=":9b~fS6P{4+{/uMevV_I"><field name="VAR">RolloFahrt</field>
! <comment pinned="false" h="80" w="160">Initialisieren mit False, damit erstmal gar nix gemacht wird.</comment>
! <value name="VALUE"><block type="logic_boolean" id="EH_n=WA?J4rthqXam{H/"><field name="BOOL">FALSE</field></block></value>
! <next><block type="debug" id="^er5aUz?:9TrtYFLq9P" inline="true"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="7LD{N!!E}?t9RlZ%Rbl}"><field name="TEXT">Starte mit Skript</field></shadow> ! <block type="text_join" id="I;Z;n%s4ztAScJGjVtRx" inline="true"><mutation items="7"></mutation> ! <value name="ADD0"><block type="variables_get" id="^l}HnDsdo^K:~-RoO_A/"><field name="VAR">ObjektIDRollo</field></block></value> ! <value name="ADD1"><block type="text" id="|XoGZYiYhy|8N6il{b0{"><field name="TEXT">//</field></block></value> ! <value name="ADD2"><block type="variables_get" id="c8]|K:qk;4;42+Lx?)#i"><field name="VAR">FensterAuf</field></block></value> ! <value name="ADD3"><block type="text" id="UMt++nR)pi8Lzc+rY^dK"><field name="TEXT">//</field></block></value> ! <value name="ADD4"><block type="variables_get" id=":63O_Jb}J={dH:(
2V6*"><field name="VAR">IstProzent</field></block></value>
! <value name="ADD5"><block type="text" id=")Rf9[,KZDAi5(T1(]NB-"><field name="TEXT">//</field></block></value>
! <value name="ADD6"><block type="variables_get" id="?I9BrU(=Rdym
dn3zF+"><field name="VAR">SollProzent</field></block></value></block></value>
! <next><block type="controls_if" id="CREv)ujN]bkvb;V9Lm/"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_operation" id=".KWXw^Y(4k0?/.8
9{Dy"><field name="OP">AND</field>
! <comment pinned="false" h="80" w="160">Falls Fenster auf und das Rollo hochgefahren werden soll…</comment>
! <value name="A"><block type="logic_compare" id="{RLH3-C)=dTX@TvRRWT+"><field name="OP">EQ</field>
! <value name="A"><block type="variables_get" id="#HjJoXxeG[{;S=.,bwhP"><field name="VAR">FensterAuf</field></block></value>
! <value name="B"><block type="logic_boolean" id="W7J9WUJ_6q5X[ac8p_)5"><field name="BOOL">TRUE</field></block></value></block></value>
! <value name="B"><block type="logic_compare" id="N-aYTm6WZqW#B^xBtNc;"><field name="OP">GT</field>
! <value name="A"><block type="variables_get" id="eHjT,.hV}Ka0Gz:+I-["><field name="VAR">SollProzent</field></block></value> ! <value name="B"><block type="variables_get" id="ntu+(D!dLM5ZKBa!t,QP"><field name="VAR">IstProzent</field></block></value></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="Pv~fU7k!}K_DfW%d-eDc"><field name="VAR">RolloFahrt</field> ! <value name="VALUE"><block type="logic_boolean" id="M%;jB;EbQayV!:9F}cp7"><field name="BOOL">TRUE</field></block></value></block></statement> ! <value name="IF1"><block type="logic_compare" id="|
PUFkc]foySwZRs;j{Q"><field name="OP">EQ</field>
! <comment pinned="false" h="80" w="160">Wenn das Fenster zu ist, dann kann ohnehin gefahren werden und die Richtung ist egal.</comment>
! <value name="A"><block type="get_value" id="CM}eaMzvyO-({s6ll/w1"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.OEQ0392298.1.STATE</field></block></value>
! <value name="B"><block type="logic_boolean" id="C|Vf4x*A]6Nla;jfAyP0"><field name="BOOL">FALSE</field></block></value></block></value>
! <statement name="DO1"><block type="variables_set" id="b.N)x/HwtC}ULrOXLQr"><field name="VAR">RolloFahrt</field> ! <value name="VALUE"><block type="logic_boolean" id="Uc6YaL7Rw_t/I;g!saNe"><field name="BOOL">TRUE</field></block></value></block></statement> ! <next><block type="controls_if" id="Oee/-ieNU[QJ[
#(?(7b"><value name="IF0"><block type="logic_compare" id="ndCa~6/e5.qOQE|x5+a}"><field name="OP">EQ</field>
! <value name="A"><block type="variables_get" id="1nBnMqRb=2|*jFO3EwNk"><field name="VAR">RolloFahrt</field></block></value>
! <value name="B"><block type="logic_boolean" id="!N@Oj[,]9a2gSGMQff:U"><field name="BOOL">TRUE</field></block></value></block></value>
! <statement name="DO0"><block type="control_ex" id="m5l|,]RWE4!jPeEpLH@;" inline="true"><field name="TYPE">false</field>
! <field name="CLEAR_RUNNING">FALSE</field>
! <value name="OID"><shadow type="field_oid" id="oCkB}}#xEI9@_N2:VQf7"><field name="oid">Object ID</field></shadow>
! <block type="variables_get" id="4P5:}:9R5ixH:AVUb3dB"><field name="VAR">ObjektIDRollo</field></block></value>
! <value name="VALUE"><shadow type="logic_boolean" id="2Z@Qu/=W;X:hNj+nLsD="><field name="BOOL">TRUE</field></shadow>
! <block type="variables_get" id="cswez;YD9-SrzJ8;qE,"><field name="VAR">SollProzent</field></block></value> ! <value name="DELAY_MS"><shadow type="math_number" id="G#]7.=S5Jvdxdc
Ivk.n"><field name="NUM">0</field></shadow></value></block></statement></block></next></block></next></block></next></block></statement></block></xml>Merci!
Änderung: (Bild eingefügt 08.02.18/iku)
#Rollade #Astro #Fenster #Tür #Kontakt #Blockly #Funktion #Parameter
#ObjektID übergeben