Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Gelöst] Szenen Adapter - Programme der CCU auslagern

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Szenen Adapter - Programme der CCU auslagern

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

      @Dutchman:

      @Stefan1984:

      Über die CCU steuere ich unter anderem Rollos und Licht mit der Astrofunktion. Andere Programme laufen zeitabhängig.

      Wie kann ich solche Programme/Szenen mit ioBroker umsetzen? `

      soweit mir bekannt gibt es die astro nur in Scripten (blockly oder javascript).

      Man koennte dan entweder die logic da bauen (blockly z.b. is vergelichbar) oder man setzt einen wert (object) der durch astro angesteuert wird und macht den rest in scenen.

      Scene wird in diesem fall getriggerd durch den anderen wert. `
      Es gibt noch ein Zwischending:

      DU kannst in Javascript die Trigger bauen und direkt die Szene auslösen

      Beispiel für einen Wandtaster (Achtung! Bei batteriegespeisten Homematic-Tastern vorher ein Dummy Programm in der CCU anlegen -> Suche nach Dummy hier im Forum)

      on({id: 'HM-Wandtaster-Datenpunkt.PRESS_SHORT', val: true}, function(data) {
          setState('scene.0.LICHT_AN_SZENE', true);
      });
      
      

      Viele Grüße

      Pix

      1 Reply Last reply Reply Quote 0
      • S
        Stefan1984 last edited by

        Von der Sache her, finde ich Blocky sehr gut, da es gewissen Ähnlichkeiten mit den Programmen der CCU hat. Zusätzlich kann man gut sehen, was man kombinieren kann.

        Nichts desto trotz brauche ich anfänglich hier und da mal Hilfe. Dann arbeite ich mich hoffentlich gut ein. [emoji854] Ansonsten weiß ich ja, wo ich mich hinwenden kann. [emoji12]

        Habe grade mal testweise Dein Astro Programm nachgebaut und ein passendes Objekt eingesetzt. Sollte eigentlich funktionieren. Sieht so aus:

        ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201711 ... 92f022.jpg">https://uploads.tapatalk-cdn.com/20171107/e19aeda6a1805795ae8a7412ed92f022.jpg</link_text>" />

        Wenn ich das Skript starte, kommt dieser Eintrag im Log:

        ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201711 ... 637c3f.jpg">https://uploads.tapatalk-cdn.com/20171107/f4407b8366c969deea4ce9d139637c3f.jpg</link_text>" />

        Ich kann leider nicht deuten, was da bedeutet. Muss ich irgendwo noch meinen Standort hinterlegen? Sollte er doch aus der Astro Variable ziehen können.

        Zusätzlich hast Du geschrieben, dass ich nicht .state nehmen soll. Ist das richtig? Soll ich lieber das Oberobjekt nehmen?

        ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201711 ... a87f68.jpg">https://uploads.tapatalk-cdn.com/20171107/ab0e3e9c68234b9aec2cd876cea87f68.jpg</link_text>" />

        Danke für die Hilfe.

        Falls es mir doch zu kompliziert wird, mache ich es mit den Szenen und den Start über Java. [emoji87] Hoffe aber, dass ich es hinbekomme, so habe ich alles an einem Ort.

        Grüße,

        Stefan

        Gesendet von iPhone mit Tapatalk~~~~~~

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

          @Stefan1984:

          Ich kann leider nicht deuten, was da bedeutet. Muss ich irgendwo noch meinen Standort hinterlegen? Sollte er doch aus der Astro Variable ziehen können. `
          Hi Stefan1984

          Längen und Breitengrade hinterlegen.

          Instanzen/Javascript.0 -> Konfigurations Icon klicken

          Dort kannst Du auch auswählen "use system settings"

          Diese sind dann in den Einstellungen iobroker.Admin (das kleine Zahnrad rechts oben) zu finden.

          Grüße

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

            @Stefan1984:

            Zusätzlich hast Du geschrieben, dass ich nicht .state nehmen soll. Ist das richtig? `
            War wohl ein kleiner Schreibfehler von Dutchman.

            Sollte wohl so lauten:

            "…du musst bei ObjectID nur <u>noch</u> den "state" deiner lampe waehlen:…."

            Grüße

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

              @rantanplan:

              @Stefan1984:

              Zusätzlich hast Du geschrieben, dass ich nicht .state nehmen soll. Ist das richtig? `
              War wohl ein kleiner Schreibfehler von Dutchman.

              Sollte wohl so lauten:

              "…du musst bei ObjectID nur <u>noch</u> den "state" deiner lampe waehlen:…."

              Grüße `

              stimmt, sorry !

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

                @Dutchman:

                stimmt, sorry ! `
                Du solltest mal mein holländisch lesen :lol: :lol: :lol:

                1 Reply Last reply Reply Quote 0
                • S
                  Stefan1984 last edited by

                  Hat geholfen. Danke. Habe dank euch meine erste kleine Zeitsteuerung über ioBroker realisiert. [emoji847]

                  Jetzt probiere ich nach und nach die Programme der CCU nachzubauen.

                  Bin mal gespannt, wie es sich verhält, wenn ich ein Programm der CCU mit Skript nachbaue. Gibt es hier auch ein Baustein, der ein Teilskript fassen kann? Oder muss ich es danach händisch irgendwo einfügen?

                  Eine Frage habe ich noch. Mein Skript ins aktiviert. Reicht das schon aus, damit es automatisch genutzt wird, oder muss ich damit noch irgendetwas machen?

                  Gesendet von iPhone mit Tapatalk

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

                    @Stefan1984:

                    Gibt es hier auch ein Baustein, der ein Teilskript fassen kann? `
                    Nennt sich "Funktion".

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

                      @Stefan1984:

                      Bin mal gespannt, wie es sich verhält, wenn ich ein Programm der CCU mit Skript nachbaue. `
                      Ich habe keine Programme mehr auf der CCU. Alles mit Blockly nachgebaut.

                      Läuft alles wesentlich stabiler.

                      @Stefan1984:

                      Gibt es hier auch ein Baustein, der ein Teilskript fassen kann? `
                      Was verstehst Du unter Teilscript?

                      @Stefan1984:

                      Eine Frage habe ich noch. Mein Skript ins aktiviert. Reicht das schon aus, damit es automatisch genutzt wird, oder muss ich damit noch irgendetwas machen? `
                      Ja, dass reicht.

                      KEINE Scripte in den Ordner "GLOBAL" packen. Die laufen dort nicht!!!!!

                      Such mal hier im Forum nach Blockly da gibt es schon jede Menge Beispiele und Erklärungen.

                      Hier gibt es auch etwas zu lesen. http://www.iobroker.net/docu/?page_id=5319&lang=de

                      Ansonsten: Bei Fragen fragen.

                      Am besten in einem neuen Thread mit Hinweis auf Blockly im Betreff.

                      "[Frage] Blockly….wie geht das"

                      Hier kannst Du Dich über die Forumsregeln informieren.http://forum.iobroker.net/viewtopic.php?f=8&t=2451

                      Grüße

                      1 Reply Last reply Reply Quote 0
                      • S
                        Stefan1984 last edited by

                        Das habe ich verstanden. Werde zukünftig einen eigenen Thread dafür machen. Eine kleine Frage habe ich noch:

                        Kann man das so machen?

                        ~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201711 ... fb0482.jpg">https://uploads.tapatalk-cdn.com/20171107/b581860d8885ae5459b45eb527fb0482.jpg</link_text>" />

                        Es soll bei Situation Sonnenuntergang die Anwesenheit auf true geprüft werden. Erst dann sollen die Bewegungsmeldern geschaltet werden.

                        Kann ich jetzt in dem gleichen Skript Astro Sonnenaufgang definieren, damit hierzu nicht ein extra Skript machen muss?

                        Also einfach die gleichen Bausteine mit Sonnenaufgang unten dran setzen?

                        Möchte jetzt nicht für jede Blocky Frage einen eigenen Thread aufmachen. Werde bei der nächsten Frage einen Blocky Thread eröffnen und dort meine Fragen stellen. [emoji854]

                        Aber vielleicht könnt ihr noch kurz einen Blick auf meinen Screen werfen?

                        Danke.

                        Grüße,

                        Stefan

                        Gesendet von iPhone mit Tapatalk~~

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

                          du benutzt einen falschen block, bitte keine trigger in einem trigger.

                          benutze zu diesem zweck den logik baustein wenn/dann, bei der abfragen dan "wenn wert von object anwesenheid = wahr" dan deine steuer bloecke

                          wen du auf aenderung der anwesenheit die astro zeit benutzen moechtest ist das ein anderer trigger (dein zweiter baustein) mit darin einer wenn abfrage op es abend ist

                          PS: es hilft im algemeinen wen du einen block auch exportierst und in deinem thread zwischen spoiler und code postest.

                          Dan koennen wir sehr leicht eine korrektur/idee zeigen was meist einfacher ist als die woertliche erlaehrung.

                          ~Dutch

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

                            Dutchman war wieder schneller 😉

                            ModEdit by Dutch : :mrgreen: :mrgreen: :mrgreen: :lol: :lol: :lol: :mrgreen: :mrgreen: :mrgreen:

                            1 Reply Last reply Reply Quote 0
                            • S
                              Stefan1984 last edited by

                              Das PS von Dutchman habe ich leider nicht verstanden.

                              Gesendet von iPhone mit Tapatalk

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

                                @Stefan1984:

                                Das PS von Dutchman habe ich leider nicht verstanden.

                                Gesendet von iPhone mit Tapatalk `

                                wenn du ein script gemacht hast mit blockly kannst du das exportieren, den code stellst du dan ins forum rein.

                                Dan koennen wir deinen code importieren und leichter helfen/troubleshooten:

                                (ich habe gerade gemerkt das export/import garnicht in de docu erwaehnt ist, werde das bei gelegenheit mal in git updated (oder Rantanplan ist schneller :lol: )

                                979_export.jpg

                                979_details.jpg

                                1 Reply Last reply Reply Quote 0
                                • S
                                  Stefan1984 last edited by

                                  Hallo zusammen,

                                  ich hänge gerade. :?

                                  Meintet ihr so wie auf dem Screenshot zu sehen?
                                  2044_screen.jpg

                                  Anbei der Code:

                                  ! <block 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml" type="controls_if" id="oHt|H.hXR2(_Vt%ey0=d" x="-862.7013184194341" y="38">
                                  ! <value name="IF0"><block type="time_astro" id="Ui^Gp)FHeCGAP(C7sByr"><field name="TYPE">sunset</field>
                                  ! <field name="OFFSET">0</field></block></value>
                                  ! <statement name="DO0"><block type="on" id=":HhRVu~KdR[5h|E4E(xb"><field name="OID">hm-rega.0.11733</field>
                                  ! <field name="CONDITION">true</field>
                                  ! <statement name="STATEMENT"><block type="control" id="%CC~~ix/sSMQ,jUz,35T"><mutation delay_input="false"></mutation>
                                  ! <field name="OID">hm-rpc.0.LEQ1291xxx.4.STATE</field>
                                  ! <field name="WITH_DELAY">FALSE</field>
                                  ! <value name="VALUE"><block type="logic_boolean" id="45)!_go/x]0#vRz@Pb=#"><field name="BOOL">TRUE</field></block></value>
                                  ! <next><block type="control" id="U]:)1Z9g?Es9(.97U1W|"><mutation delay_input="false"></mutation>
                                  ! <field name="OID">hm-rpc.0.LEQ1291xxx.3.STATE</field>
                                  ! <field name="WITH_DELAY">FALSE</field>
                                  ! <value name="VALUE"><block type="logic_boolean" id="@^11LPAsA0SmTY8X*FAe"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></statement></block>

                                  Grüße,

                                  Stefan

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

                                    Ehr so.
                                    147_beispiel.png

                                    Sonnenuntergang ist pro Tag ein einmaliges Ereignis.

                                    NUR wenn zum Zeitpunkt "Sonnenuntergang" Anwesenheit=wahr ist werden die Lampen eingeschaltet.

                                    Sonst nie.

                                    Export mit spoiler und code tag

                                    ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="ti%uq4%}0@d6|!#SXG[F" x="-762" y="-62"><field name="COMMENT">Auf Sonnenuntergang triggern</field> <next><block type="astro" id="e88[NtF.mvB*q6+UB`{v"><field name="TYPE">sunset</field> <field name="OFFSET">0</field> <statement name="STATEMENT"><block type="comment" id="}O%ss,Nwb9waOWZo@g.p"><field name="COMMENT">Anwesenheit prüfen</field> <next><block type="controls_if" id="oHt|H.hXR2(_Vt%ey0=d"><value name="IF0"><block type="logic_compare" id="cBLh1nO8Z3D75;0V|=/V"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="KeVuCGsk}UAC?*h5NgW4"><field name="ATTR">val</field> <field name="OID">HomeStatus.0.Sonstiges.Anwesend</field></block></value> <value name="B"><block type="logic_boolean" id="+^l^*XF.KzjsBeKt,/a:"><field name="BOOL">TRUE</field></block></value></block></value> <statement name="DO0"><block type="control" id="%CC~~ix/sSMQ,jUz,35T"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.LEQ1291xxx.4.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="45)!_go/x]0#vRz@Pb=#"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="U]:)1Z9g?Es9(.97U1W|"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.0.LEQ1291xxx.3.STATE</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="@^11LPAsA0SmTY8X*FAe"><field name="BOOL">TRUE</field></block></value></block></next></block></statement></block></next></block></statement></block></next></block></xml> !

                                    Mein Datenpunkt "Anwesend" musst Du durch Deinen ersetzen.

                                    Grüße

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Stefan1984 last edited by

                                      Danke rantanplan.

                                      Wenn man das so sieht, ist es einleuchtend.

                                      Kann ich mir generell merken - wenn ein Trigger benutzt wird, dass dieser immer als erster Baustein gesetzt wird?

                                      Vielen Dank für eurer Beiden Hilfe.

                                      Ab der nächsten Frage, werde Ich einen eigenen Thread für Blockly erstellen.

                                      Danke nochmal.

                                      Grüße,

                                      Stefan

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

                                        @Stefan1984:

                                        Kann ich mir generell merken - wenn ein Trigger benutzt wird, dass dieser immer als erster Baustein gesetzt wird? `

                                        Ja genau.

                                        Alles ist Ereignisorientiert. Und Ereignisse/Änderungen werden getriggert.

                                        Die Bausteine INNERHALB des Triggers werden dann JEDESMAL ausgeführt wenn das getriggerte Ereignis stattfindet.

                                        Innerhalb kann man dann weitere Bedingungen abfragen und reagieren.

                                        (In der CCU ist das nicht anders. Aber nicht so komfortabel und umfangreich)

                                        Es können auch Blöcke außerhalb eines Triggers sein.

                                        Diese werden kann nur 1x bei Programmstart ausgeführt.

                                        Man kann damit z.B. Variablen initialisieren.

                                        Dies gilt nicht für Funktionen. Aber dazu kommen wir später. 😉

                                        Grüße

                                        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

                                        914
                                        Online

                                        32.0k
                                        Users

                                        80.5k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        25
                                        2687
                                        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