Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly Astro-Rolladensteuerung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Astro-Rolladensteuerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Laudes last edited by

      Hallo Zusammen,

      ich bin noch ein ziemlicher Anfänger in iOBroker und möchte meinen Rolladen wie folgt steuern:

      Unter der Woche soll der Rolladen zum Sonnenaufgang hochfahren und zum Sonnenuntergang runterfahren. Das habe ich bisher auch so hibekommen. Am Wochenende und an Feiertagen soll der Rolladen aber erst um 10.30 Uhr hochfahren. Das habe ich bisher nicht zum laufen bekommen. Vll. kann mir einer von Euch weiterhelfen!

      Vielen Dank!!
      4707_datei_001.png

      1 Reply Last reply Reply Quote 0
      • Matzebhv
        Matzebhv last edited by

        Moin,

        das ginge mit einem Hilfsdatenpunkt, z.B. Arbeitstag.

        Den kannst du mit weiteren Scripten setzen, mit cron als Trigger relativ einfach die Wochenenden. Weiterhin gibt es hier irgendwo einen Feiertagskalender. Da lässt sich dann sicherlich auch was bauen.

        Der DP steht dann an Arbeitstagen auf true.

        Du erweiterst dein Blockly also um falls - mache -> falls Wert von Arbeitstag = true -> Rolladen hochfahren

        So läuft die Astrofunktion fürs hochfahren nur an Arbeitstagen.

        Jetzt kannst du ein weiteres Script mit Cron triggern jeden Tag 10:30Uhr falls Wert von Arbeitstag = false -> Rolladen hochfahren

        Gruß

        Matze

        EDIT: Oh man, für die Feiertage gibt es sogar einen Adapter. Der setzt z.B. feiertage.0.heute.boolean auf true, sobald ein Feiertag ist.

        Also einfach machbar.

        Frag wenn du mit meinem Geschreibsel nix anfangen kannst.

        1 Reply Last reply Reply Quote 0
        • L
          Laudes last edited by

          Hallo Matze, schon mal vielen Dank für deine schnelle Antwort.

          Den Feiertag-Adapter habe ich gleich installiert und versucht einzubinden.

          Allerdings habe ich noch nicht ganz verstanden wie du das mit dem CRON-Trigger meinst um das mit den Arbeitstagen einzubinden :roll:

          Vll. kannst du mir ja das kurz einen Screenshot vom Grundgerüst schicken, das wäre super.

          Vielen Dank nochmal für deine Unterstützung!
          4707_blockly.png

          1 Reply Last reply Reply Quote 0
          • Matzebhv
            Matzebhv last edited by

            Moin,

            so aus der Hüfte geschossen 😄

            3514_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.~NDUYGw0OUC
            aA32j" 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></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
            1 Reply Last reply Reply Quote 0
            • L
              Laudes last edited by

              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!!

              1 Reply Last reply Reply Quote 0
              • Matzebhv
                Matzebhv last edited by

                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

                1 Reply Last reply Reply Quote 0
                • Matzebhv
                  Matzebhv last edited by

                  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.

                  1 Reply Last reply Reply Quote 0
                  • L
                    Laudes last edited by

                    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?

                    1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators last edited by

                      @Laudes:

                      Ist es möglich auch nur auf VIS von extern zuzugreifen ohne großen Aufwand? `
                      Ja, mit der ioBroker cloud oder iobroker Cloud pro

                      Gruß

                      Rainer

                      1 Reply Last reply Reply Quote 0
                      • L
                        Laudes last edited by

                        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!

                        1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • L
                            Laudes last edited by

                            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!

                            1 Reply Last reply Reply Quote 0
                            • Dutchman
                              Dutchman Developer Most Active Administrators last edited by

                              @Laudes:

                              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~~

                              1 Reply Last reply Reply Quote 0
                              • M
                                mameier1234 last edited by

                                @Matzebhv:

                                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.~NDUYGw0OUC
                                aA32j" 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></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

                                1 Reply Last reply Reply Quote 0
                                • Matzebhv
                                  Matzebhv last edited by

                                  Moin Martin,

                                  das wäre dann so ( auch aus der Hüfte ohne Garantie 😞

                                  3514_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+9wPN.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.~NDUYGw0OUC
                                  aA32j" 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="GuS
                                  ZVGRsau7@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"
                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    mameier1234 last edited by

                                    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....

                                    1 Reply Last reply Reply Quote 0
                                    • Matzebhv
                                      Matzebhv last edited by

                                      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

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mameier1234 last edited by

                                        .. 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 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • M
                                          mameier1234 last edited by

                                          @Matzebhv:

                                          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+9wPN.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.~NDUYGw0OUC
                                          aA32j" 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="GuS
                                          ZVGRsau7@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 ?

                                          1 Reply Last reply Reply Quote 0
                                          • Matzebhv
                                            Matzebhv last edited by

                                            @mameier1234:

                                            .. 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

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            828
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            11
                                            42
                                            10904
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo