Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Rollläden per Astro steuern

    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

    Rollläden per Astro steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      hmip-smi ist der helligkeitssensensor ?

      due koenntest einen trigger block nemen mit 2 bedingungen, eine ist die astrozeit und die andere der helligkeits wert.

      Danach eine if afrage worin beide bedinungen erfuellt sein muessen. Der block triggert dan auf astro UND helligkeitswert, die if abfrage entscheidet was passieren soll

      ~Dutch

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

        @FredRatz:

        Die Logik soll so sein:

        Wenn

        "Astro-Sonnenaufgang" erreicht ist UND gleichzeitig mindestens Helligkeit XY erreicht ist sollen die Rollos hochfahren,

        andernfalls

        erst wenn Helligkeit XY erreicht ist. `
        Hallo FredRatz

        Du weist ja, dass in Deinem Beispiel der äußere Wertbaustein keine Funktion hat?

        Schau Dir mal den Beitrag an.

        http://forum.iobroker.net/viewtopic.php … tro#p48209

        Damit könntest Du einen Zeitbereich um die Astrozeit "herum" überwachen und die Helligkeit überprüfen.

        Grüße

        1 Reply Last reply Reply Quote 0
        • F
          FredRatz last edited by

          was haltet ihr davon ? Kann man erkennen was es geben soll ? 😉

          var schedule;
          
          if (compareTime("17:00", "null", ">=")) {
            schedule = schedule('* * * * *', function () {
              schedule({astro: "sunset", shift: 10}, function () {
                if (getState("hm-rpc.1.0009156996083E.1.ILLUMINATION").val <= 2) {
                  setState("fhem.0.EG_Rolladen_3.down"/*EG_Rolladen_3 down*/, 'true');
                  setState("fhem.0.EG_Rolladen_6.down"/*EG_Rolladen_6 down*/, 'true');
                  setState("fhem.0.EG_Rolladen_7.down"/*EG_Rolladen_7 down*/, 'true');
                } else {
                  if (getState("hm-rpc.1.0009156996083E.1.ILLUMINATION").val <= 2) {
                    setState("fhem.0.EG_Rolladen_3.down"/*EG_Rolladen_3 down*/, 'true');
                    setState("fhem.0.EG_Rolladen_6.down"/*EG_Rolladen_6 down*/, 'true');
                    setState("fhem.0.EG_Rolladen_7.down"/*EG_Rolladen_7 down*/, 'true');
                  }
                }
              });
            });
          }
          
          

          Blockly:
          3688_14.jpg

          1 Reply Last reply Reply Quote 0
          • AlCalzone
            AlCalzone Developer last edited by

            Ich übersetze mal:

            Wenn es beim Skriptstart später als 17 Uhr ist,

            registriere einen Schedule, der jede Minute ausgeführt wird

            und der bei jedem Aufruf einen weiteren Schedule für den Sonnenuntergang registriert.

            Ich befürchte das ist nicht ganz was du vor hattest.

            Tipp: Die roten Trigger-Blocks sollten ganz außen sein und nicht geschachtelt werden, sonst bekommst du ganz schnell ein Problem.

            1 Reply Last reply Reply Quote 0
            • F
              FredRatz last edited by

              Nun, die Idee war eigentlich dass ab 17.00h der Cron anläuft und minütlich abprüft ob jetzt "Sonnenuntergang+10 Minuten" ist. Falls ja, soll er prüfen ob es auch schon dunkel genug ist und, falls dies auch positiv, die Rolläden schliessen.

              Falls dies nicht zutrifft ( "Sonnenuntergang+10 Minuten" UND dunkel genug ) dann soll er nur prüfen ob dunkel genug und dann die Rollos schliessen.

              Wo liegt mein Denkfehler ?

              1 Reply Last reply Reply Quote 0
              • AlCalzone
                AlCalzone Developer last edited by

                Was in den Skripten auf oberster Ebene steht (in deinem Fall "falls Uhrzeit >= 17:00") wird nur bei Skriptstart einmalig ausgeführt und danach nicht mehr.

                Deswegen sollten hier Triggerblöcke (Farbe rot) stehen, die eben beim Skriptstart wiederkehrende Aktionen definieren oder Zeitpläne aufstellen. Triggerblöcke in Triggerblöcken sorgt dafür dass du ungewollt vielfache Instanzen eines Triggers definierst und beim Auslösen möglicherweise einen Befehl 100x ausführst.

                Die Abfragen im Inneren scheinen mir auch doppelt:

                Falls Helligkeit <= 2 schließe Rolladen
                sonst falls Helligkeit <= 2 schließe Rolladen
                

                > prüft ob jetzt "Sonnenuntergang+10 Minuten"
                Da hast du den falschen Block. Du hast einen, der einen Zeitplan setzt (rot!), dessen Inhalt bei Sonnenuntergang + 10 Minuten ausgeführt wird.

                Um zu prüfen, ob eine Bedingung wahr ist, brauchst du einen "falls"-Block (wie du im Inneren des Astro-Block) eingesetzt hast.

                Welcher der richtige ist, kann ich dir mangels iobroker-Zugriff gerade nicht sagen, aber folgende Logik solltest du umsetzen:

                Cron: * * * * *
                | Falls Uhrzeit >= 17 Uhr: (kann man evtl in den Cron integrieren mit geeigneter Cron-Syntax)
                | | Falls Weitere Prüfungen erfolgreich:
                | | | Rolladen schließen
                | | |_
                | |_
                |_
                
                

                Deine Logik mit Sonnenuntergang und dunkel scheint mir auch unnötig.

                Falls (nach Sonnenuntergang und dunkel) oder (dunkel) lässt sich doch reduzieren auf falls dunkel, oder?

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

                  @FredRatz:

                  Nun, die Idee war eigentlich dass ab 17.00h der Cron anläuft und minütlich abprüft ob jetzt "Sonnenuntergang+10 Minuten" ist. Falls ja, soll er prüfen ob es auch schon dunkel genug ist und, falls dies auch positiv, die Rolläden schliessen.

                  Falls dies nicht zutrifft ( "Sonnenuntergang+10 Minuten" UND dunkel genug ) dann soll er nur prüfen ob dunkel genug und dann die Rollos schliessen.

                  Wo liegt mein Denkfehler ? `
                  Nach 17 Uhr wird jede Minute ein "Sonnenuntergang+10" gestartet.

                  Sobald es 1x nach 17 Uhr war, wird IMMER JEDE MINUTE "Sonnenuntergang+10" gestartet!!!!!!

                  Da bricht Dein System relativ schnell zusammen.

                  Auch in Deinem "Falls…..sonst....." sehe ich keinen Unterschied bzw. Sinn.

                  Also der ganze Denkansatz ist falsch.

                  Falls Du Dir mal die Mühe gemacht hast und meinen verlinkten Beitrag gelesen hast.....

                  Hier ein schell zusammengeklicktes Beispiel, basierend auf den o.g. Beitrag.
                  147_beispiel.png

                  Hier der Export.

                  ! ````
                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="k=LtfYvNDe`(J%N5]sF5" x="88" y="-87"><field name="COMMENT">Variable initialisieren</field>
                  <next><block type="variables_set" id="VwPNSWgQz0b}#gUz;}u5"><field name="VAR">bereits_gestartet</field>
                  <value name="VALUE"><block type="logic_boolean" id="UgV1~LLb~%)Pa_19#8x]"><field name="BOOL">FALSE</field></block></value>
                  <next><block type="comment" id="[Z@oAB^F(}uykoUifNnn"><field name="COMMENT">Minuten SU triggern</field>
                  <next><block type="on_ext" id="(oVOmM!,;7%^]vT^AYu7"><mutation items="1"></mutation>
                  <field name="CONDITION">ne</field>

                              <value name="OID0"><shadow type="field_oid" id="n48g#XXq.r^6RR=f%OMb"><field name="oid">javascript.0.MinutenSU</field></shadow></value> 
                              <statement name="STATEMENT"><block type="comment" id=";3D9S2}Cy;#bHcXn@[`:"><field name="COMMENT">Ab 10 Minuten NACH Sonnenuntergang</field>
                                  <next><block type="controls_if" id="wbmg3;B5Z!+-b]%6iBmA"><mutation elseif="1"></mutation>
                                      <value name="IF0"><block type="logic_compare" id="6G3N!Pp7!B9P2G=^%6-v"><field name="OP">LTE</field>
                                          <value name="A"><block type="get_value" id="9:1CyygCawRkXExtBLy4"><field name="ATTR">val</field>
                                              <field name="OID">javascript.0.MinutenSU</field></block></value> 
                                          <value name="B"><block type="math_number" id="%;}F(+9B~2+7l@E!u00;"><field name="NUM">-10</field></block></value></block></value> 
                                      <statement name="DO0"><block type="comment" id="o?nNdN52MBcy!5MB1TSZ"><field name="COMMENT">Helligkeit prüfen</field>
                                          <next><block type="controls_if" id="3nm@L=P|{FUbrCnZp`~Z"><value name="IF0"><block type="logic_compare" id="5n:ykZT5]4j;w%bLm8P@"><field name="OP">LTE</field>
                                                  <value name="A"><block type="get_value" id="MyiPT/zuQgfGA0xwr4+U"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.LEQ0169150.1.BRIGHTNESS</field></block></value> 
                                                  <value name="B"><block type="math_number" id="R_Nw2NK}`@xqA/Ar,l^7"><field name="NUM">2</field></block></value></block></value> 
                                              <statement name="DO0"><block type="controls_if" id="!o9x6dgOo[L;UcMQ:X_W"><value name="IF0"><block type="logic_compare" id="N,@+T!KC_sk!7z_`Ar.^"><field name="OP">EQ</field>
                                                      <value name="A"><block type="variables_get" id="ffAnc9oIO?3PS!zPm}/!"><field name="VAR">bereits_gestartet</field></block></value> 
                                                      <value name="B"><block type="logic_boolean" id="*meG-Q|FnZ2%MPZSu5_h"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="comment" id="-:nf8=T?3i[|p,Z7g~Sx"><field name="COMMENT">Rollos runter</field>
                                                      <next><block type="variables_set" id=")uy`BScK,=,yQ*Ge*Am)"><field name="VAR">bereits_gestartet</field>
                                                          <value name="VALUE"><block type="logic_boolean" id="}gUrRzz9`T{MuBkT2O5F"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></statement></block></next></block></statement> 
                                      <value name="IF1"><block type="logic_compare" id="*WGJ6lSqIBr}]=:IQ;N^"><field name="OP">EQ</field>
                                          <value name="A"><block type="get_value" id="mk+W~n9%EJCRo`ej=wR6"><field name="ATTR">val</field>
                                              <field name="OID">javascript.0.MinutenSU</field></block></value> 
                                          <value name="B"><block type="math_number" id="0PotS.LEM(Hy:h+YF1Ma"><field name="NUM">999</field></block></value></block></value> 
                                      <statement name="DO1"><block type="comment" id="f`H01m{=ZlTQ(mmc^4ti"><field name="COMMENT">Vorbereitung nächster Sonnenuntergang</field>
                                          <next><block type="variables_set" id="O=0XKDJG;zkGh3p`+.;T"><field name="VAR">bereits_gestartet</field>
                                              <value name="VALUE"><block type="logic_boolean" id="#ddZ~mIf=V,wa!%=J2to"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></statement></block></next></block></next></block></next></block></xml> 
                  

                  ! ````

                  Grüße

                  1 Reply Last reply Reply Quote 0
                  • F
                    FredRatz last edited by

                    Sorry falls ich nerve 😉

                    ich habe mir natürlich Dein Herangehen angeschaut Rantanplan, versuche aber gerne auch die Dinge selbst zu entwickeln, so verstehe ich es am schnellsten. Ich habe vor ca. 30 Jahren Programmierung Cobol und PL/1 "gelernt", von dem her sind gewissen Grundkenntnisse noch vorhanden, aber eher rudimentär…

                    was haltet ihr von folgendem ?
                    3688_15.jpg

                    1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer last edited by

                      @FredRatz:

                      was haltet ihr von folgendem ? `
                      Jetzt musst du das Intervall nur noch stoppen, sobald die Bedingung zum Runterfahren erfüllt ist. Sonst siehts gut aus.

                      1 Reply Last reply Reply Quote 0
                      • F
                        FredRatz last edited by

                        so ? 😉
                        3688_zwischenablage01.jpg

                        1 Reply Last reply Reply Quote 0
                        • AlCalzone
                          AlCalzone Developer last edited by

                          Jup!

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

                            Hallo Belei,
                            @Belei:

                            Die Signale konnte ich schon mit dem RFLINK Adapter abgreifen und einbinden.

                            Sie werden z.b. als:

                            rflink.0.channels.BrelMotor_1.BLIND_08 mit True,False und einem Stop Button angelegt. `
                            Ich habe das gleiche mit Rohrmotor24 (ebenfalls BrelMotor) und RFLink vor. Die Objekte der Motoren werden wie bei dir erkannt. Ich scheitere jedoch an der Steuerung über VIS. Könntest du mir bitte mal zeigen, welche Widgets du verwendest, und welche Parameter du an die Objekte im RFLink schickst?

                            Recht herzlichen Dank.

                            1 Reply Last reply Reply Quote 0
                            • D
                              dos1973 last edited by

                              Hi,

                              ich habe auch den Bewgungsmelder "HmIP-SMI"

                              aber ich habe keine Datenpunkte für "Illumination"

                              weiß jemand warum?

                              EDIT:

                              weil, in Homematic ->Benutzerverwaltung folgendes angehakt war:

                              „Modus vereinfachte Verknüpfungskonfiguration aktivieren:

                              1 Reply Last reply Reply Quote 0
                              • V
                                veli @Belei last edited by

                                @Belei said in Rollläden per Astro steuern:

                                Hallo,

                                ich möchte gerne meine Rollläden von ioB steuern lassen.

                                Ich habe 433MHZ basierende Rollos. (Yooda)

                                Die Signale konnte ich schon mit dem RFLINK Adapter abgreifen und einbinden.

                                Sie werden z.b. als:

                                rflink.0.channels.BrelMotor_1.BLIND_08 mit True,False und einem Stop Button angelegt.

                                Was muss ich als nächstes machen? Eine Szenze ein Blocky gibts da irgentwie Vorlagen?

                                Hab jetzt mal paar Std. rumprobiert aber komme nicht weiter.

                                Ich möchte die Rollläden

                                • Astro gesteuert runterfahren lassen (ggf. mit grösserer Verzögerung in der dunklen Jahreszeit)

                                • Morgens zu einer festen Zeit hochfahren lassen (ggf. an Sonntagen 2 Stunden später)

                                • Bei einem Rollo in abhängigkeit einens Türkontakts erst runterfahren wenn dieser geschlossen wird.

                                • Alle Automatiken per Handy ein/aus schalten können

                                • Alle Rollos per Handy bedienen können

                                Hallo Belei,
                                ich wollte auch meine Rolladen über iobroker Steuern. Habe auch die Rolladen von Yooda
                                https://sukcesgroup.pl/sklep/de/yooda/unter-dem-schalter/177-centralka-1-kanalowa-nano.html

                                Habe leider kein RFlink Modul.
                                Habe als Hardware Raspberry pi 3.
                                Welche RFLink Modul kannst du empfehlen.

                                Danke

                                MfG

                                Veli

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate
                                FAQ Cloud / IOT
                                HowTo: Node.js-Update
                                HowTo: Backup/Restore
                                Downloads
                                BLOG

                                924
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                9
                                38
                                8449
                                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