Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Beleuchtung schalten mit yahka und Apple Watch und blockly

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Beleuchtung schalten mit yahka und Apple Watch und blockly

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

      Hi,

      ich habe hier ein problem und komme nicht weiter.
      Folgende Ausgangs Situation.

      Im WZ habe ich diverse Lampen, Shelly Hue etc mit Skripten zu verschiedenen Szene verknüpft.
      Die LichtSzene wird abhängig des nachfolgenden Datenpunktes ausgeführt und schaltet dann die Spots und hues mit verschiedene Dimmerte etc

      mein Steuer DP:

      0_userdata.0.Wohnung.Wohnen.Lichtszenen
      

      folgende Werte sind in dem DP möglich

      aus
      gemuetlich
      tv
      sehr_hell

      Abhängig des Wertes, schaltet die Beleuchtung und die Visualisierung auf dem Tablet.
      ******** bis hier ist alles schon funktional und nutze das schon länger *******

      Jetzt kommt meine Apple Watch ins Spiel, ich möchte gerne die Szene schalten indem ich in dem DP die Werte einfüge. ich nutze Yahka, aber bisher ist es mir nicht gelungen mehr als True/ false darüber zu schalten. Aus einem anderen Thread hier im Forum habe ich den Tipp bekommen für die o.g werte nochmals DP schalten, wo dann nochmals ein Script den eigentlichen Wert gefüllt.

      0_userdata.0.Wohnung.Wohnen.yahka.gemütlich
      0_userdata.0.Wohnung.Wohnen.yahka.sehr_hell
      0_userdata.0.Wohnung.Wohnen.yahka.tv
      

      die Werte kennen nur true und false. Ziel ist es, wenn meine Apple Watch den DP

      0_userdata.0.Wohnung.Wohnen.yahka.gemütlich
      

      auf true stellt, dann kommt das Script und schreibt in mein SteuerDP

      0_userdata.0.Wohnung.Wohnen.Lichtszenen
      

      den Wert "gemuetlich"

      Hoffe soweit könnt ihr folgen 😉

      Das habe ich soweit, bzw. ist einer der besseren Versuche / Varianten.

      Bildschirmfoto 2020-09-19 um 18.18.28.png

      Was mir fehlt ist der aus. ich möchte via false auch ausschalten können.
      Es soll immer nur einer auf true stehen, die anderen müssen auf aus sein.

      puuh, wenn ich es lesen, finde ich es selbst sehr kompliziert

      das war auch eine Variante, da konnte ich zwischen den Beleuchtungen wechseln, in dem ich immer ausschalte und dann nie neue nehmen, aber wechseln ging nicht
      Bildschirmfoto 2020-09-19 um 18.18.28.png

      wäre für Hilfe dankbar.

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @dos1973 last edited by Asgothian

        @dos1973

        Anbei ein Vorschlag.

        Das blocky nutzt ein paar tricks:

        1. Ich nutze einen Baustein "wert" , "name" und "Ursprung" - das ist immer der gleiche Baustein aus dem "trigger" Menü - da steht "Objekt ID" drin und kann durch die oben genannten ersetzt werden.
          "Wert" ist der wert des Objektes das den Trigger ausgelöst hat
          "Name" ist der Name, also bei Dir z.Bsp. "Wohnung.Wohnen.yahka.gemütlich"
          "Ursprung" ist die quelle der Wertänderung. Wenn die durch ein Skript ausgelöst wird ist es "system.adapter.javascript.0"

        2. Durch die Abfrage das der Ursprung kein Skript ist wird sicher gestellt das die folgenden 3 Steuere Befehle das Skript nicht wieder trigger.

        3. Die 3 ersten steuere Befehle setzen die Yahka Datenpunkte so das immer nur einer davon wahr ist. Steuere ist notwendig damit der Status des Schalters in Yahka aktualisiert wird.

        4. Aus dem "Name" Baustein suche ich den Text hinter dem letzten ".", und setze den als Lichtszene - aber nur wenn der "Wert" auch wahr wa.

        5. "Wert" kann nur dann falsch sein wenn es von Yahka kommt (oder aus dem Objektbaum direkt), sprich wenn von aussen der letzte noch "an" stehende Schalter abgeschaltet wurde.

        Screen Shot 2020-09-19 at 19.49.47 .png

        Hinter dem Spoiler ist der Code zum importieren.

        Ich hoffe es geht 🙂

        <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="/QdMMfPZc3|;Af3.qC^6" x="-732.1666622161865" y="148">
         <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
         <field name="CONDITION">ne</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="mhEf[$()|j,(;y9%3E`1">
             <field name="oid">javascript.0.folder.item</field>
           </shadow>
         </value>
         <value name="OID1">
           <shadow type="field_oid" id="_oOH.lh@.G@d8D^J{zD-">
             <field name="oid">javascript.0.folder.StringTest</field>
           </shadow>
         </value>
         <value name="OID2">
           <shadow type="field_oid" id="jDeh%(SB*aES`(}:}byK">
             <field name="oid">javascript.0.folder.intTest</field>
           </shadow>
         </value>
         <statement name="STATEMENT">
           <block type="controls_if" id="Q%P[9K8d.j[vZGgmuOPk">
             <mutation else="1"></mutation>
             <value name="IF0">
               <block type="on_source" id="@(bQRh,;c!*givx#YeYx">
                 <field name="ATTR">state.val</field>
               </block>
             </value>
             <statement name="DO0">
               <block type="controls_if" id="-(.q{.5{!E;Kr(tP~E^}">
                 <value name="IF0">
                   <block type="logic_compare" id="]sXenYqA^n4,cLe7X}x;">
                     <field name="OP">NEQ</field>
                     <value name="A">
                       <block type="on_source" id="TJ|Y(lCm;Am4*Hq;Ilj{">
                         <field name="ATTR">state.from</field>
                       </block>
                     </value>
                     <value name="B">
                       <block type="text" id="?_u=_b(-Q)l-j{SRqx{A">
                         <field name="TEXT">system.adapter.javascript.0</field>
                       </block>
                     </value>
                   </block>
                 </value>
                 <statement name="DO0">
                   <block type="control_ex" id="Skd+Z;P1;Tg?pQf7LuP)" inline="true">
                     <field name="TYPE">false</field>
                     <field name="CLEAR_RUNNING">FALSE</field>
                     <value name="OID">
                       <shadow type="field_oid" id="E(ab:cIWw(_s5{)p=0K-">
                         <field name="oid">Object ID</field>
                       </shadow>
                     </value>
                     <value name="VALUE">
                       <shadow type="logic_boolean" id=";8}1H}|+zFT|3tQ6WY/#">
                         <field name="BOOL">TRUE</field>
                       </shadow>
                       <block type="logic_compare" id="xzbjz$)ETjwuSbXd)Br-">
                         <field name="OP">EQ</field>
                         <value name="A">
                           <block type="text" id="lqdK$h=)%b?VP0:a/d*)">
                             <field name="TEXT">folder.item</field>
                           </block>
                         </value>
                         <value name="B">
                           <block type="on_source" id="+!kpb2Y6,JA_4_23:lmj">
                             <field name="ATTR">common.name</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <value name="DELAY_MS">
                       <shadow type="math_number" id="a7LGgB;$0vv]3zoKzmVH">
                         <field name="NUM">0</field>
                       </shadow>
                     </value>
                     <next>
                       <block type="control_ex" id="kk1kTJNMDzW#zRrMSwI-" inline="true">
                         <field name="TYPE">false</field>
                         <field name="CLEAR_RUNNING">FALSE</field>
                         <value name="OID">
                           <shadow type="field_oid" id="IBjR)U}=B@m|Wdoth}55">
                             <field name="oid">Object ID</field>
                           </shadow>
                         </value>
                         <value name="VALUE">
                           <shadow type="logic_boolean">
                             <field name="BOOL">TRUE</field>
                           </shadow>
                           <block type="logic_compare" id="1W)-*IZWCHKHZ.TOw*sO">
                             <field name="OP">EQ</field>
                             <value name="A">
                               <block type="text" id="3;8q;#)gM.HOEab9*1G@">
                                 <field name="TEXT">folder.SgtringTest</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="on_source" id="5}~l6rWNk5T9uo$);po`">
                                 <field name="ATTR">common.name</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <value name="DELAY_MS">
                           <shadow type="math_number" id="bo+-f]l~`q6=mi?9P=t:">
                             <field name="NUM">0</field>
                           </shadow>
                         </value>
                         <next>
                           <block type="control_ex" id=":V@lPt#WR%W[8F`AR)o6" inline="true">
                             <field name="TYPE">false</field>
                             <field name="CLEAR_RUNNING">FALSE</field>
                             <value name="OID">
                               <shadow type="field_oid" id="PQ-E;9l/#@HAUX(l_rI#">
                                 <field name="oid">Object ID</field>
                               </shadow>
                             </value>
                             <value name="VALUE">
                               <shadow type="logic_boolean">
                                 <field name="BOOL">TRUE</field>
                               </shadow>
                               <block type="logic_compare" id=";^DTUI$X-gnU7$n0-zDG">
                                 <field name="OP">EQ</field>
                                 <value name="A">
                                   <block type="text" id="H^S*6?oj`hhnR@gnREDJ">
                                     <field name="TEXT">folder.intTest</field>
                                   </block>
                                 </value>
                                 <value name="B">
                                   <block type="on_source" id="/X6M9efw.TP47%E%~)Jy">
                                     <field name="ATTR">common.name</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <value name="DELAY_MS">
                               <shadow type="math_number" id="a(rA@B1$kChWfY-$lvh5">
                                 <field name="NUM">0</field>
                               </shadow>
                             </value>
                             <next>
                               <block type="control" id="5)tsNYx|DW9.@[G4rb3v">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">Object ID</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="text_getSubstring" id="}wOMredui0yBDIEw236[" inline="false">
                                     <mutation at1="true" at2="true"></mutation>
                                     <field name="WHERE1">FROM_START</field>
                                     <field name="WHERE2">FROM_START</field>
                                     <value name="STRING">
                                       <block type="on_source" id="PJoTv.LznZ%jnUFKKIb:">
                                         <field name="ATTR">common.name</field>
                                       </block>
                                     </value>
                                     <value name="AT1">
                                       <block type="math_arithmetic" id="[.a4^[(/WZc0c415+a1_" inline="false">
                                         <field name="OP">ADD</field>
                                         <value name="A">
                                           <shadow type="math_number" id=".QOJ2?e4R$jb|ahy8Mrj">
                                             <field name="NUM">1</field>
                                           </shadow>
                                           <block type="text_indexOf" id="SUu6)4OSG,Ew:I2TWe,i">
                                             <field name="END">LAST</field>
                                             <value name="VALUE">
                                               <block type="on_source" id="Of)pbCjV=.a`;Q[JeAWk">
                                                 <field name="ATTR">common.name</field>
                                               </block>
                                             </value>
                                             <value name="FIND">
                                               <shadow type="text" id="]2Ah9ao}_cDfqqP6;%-X">
                                                 <field name="TEXT">.</field>
                                               </shadow>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <shadow type="math_number" id="}XZD=0`ES1[`%XHT6lG9">
                                             <field name="NUM">1</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </value>
                                     <value name="AT2">
                                       <block type="text_length" id="{gw7,iq@afE|5$248nF9">
                                         <value name="VALUE">
                                           <shadow type="text" id="A?/{#FyQ(dK^E?c77r3t">
                                             <field name="TEXT">abc</field>
                                           </shadow>
                                           <block type="on_source" id="Z1fz?xfY5F[(h{}l2d1y">
                                             <field name="ATTR">common.name</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </statement>
               </block>
             </statement>
             <statement name="ELSE">
               <block type="control" id="j3Yue4aJj1WZcHs}Y}Y8">
                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                 <field name="OID">Object ID</field>
                 <field name="WITH_DELAY">FALSE</field>
                 <value name="VALUE">
                   <block type="text" id=":Qp74`rFS+q|8HPv+/g`">
                     <field name="TEXT">aus</field>
                   </block>
                 </value>
               </block>
             </statement>
           </block>
         </statement>
        </block>
        

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

          @Asgothian

          Vielen Dank für deine Hilfe
          Ich verstehe ehrlich gesagt nicht alles, bzw. Sehr wenig 😉

          Dein beispiel ist ein allgemeines Besipiel oder schon für mich, zum fertigstellen?

          Bin derzeit online, aber gegen 2 std zu Hause dann probiere ich das aus.

          Vielleicht wirds deutlicher wenn ich direkt davor sitze 😂

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @dos1973 last edited by

            @dos1973
            das ist schon für Dich zum Fertig stellen. Du musst halt die Namen der Objekte und texte entsprechend anpassen.

            A.

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

              @Asgothian
              aber woher kommt denn der "wert" also gemütlich, sehr hell..??

              Asgothian 2 Replies Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @dos1973 last edited by

                @dos1973 der kommt aus dem Namen des Datenpunktes der von Yahka getriggert wurde.

                1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @dos1973 last edited by

                  @dos1973 wenn du morgen vormittag zeit hast können wir versuchen das ganze parallel mit any desk/ teamspeak / discord fertig zu stellen.

                  Ist vielleicht eine Idee.

                  A.

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

                    @Asgothian
                    jo klar, ich fummel trotzdem nochmals etwas...

                    da muss doch das von oben rein - also die ersten 3 Zeilen, oder?

                    Bildschirmfoto 2020-09-19 um 20.52.56.png

                    Edit: nee, das ist glaube ich Quatsch

                    Asgothian 1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @dos1973 last edited by

                      @dos1973

                      Du musst deine 3 Trigger Objekte unten eintragen (siehe die beiden Kreise)

                      1600541621131-bildschirmfoto-2020-09-19-um-20.52.56.png

                      In den Texten steht dann z.Bsp. "Wohnung.Wohnen.yahka.sehr_hell" - zeilenweise passend zu den Objekten die davor gesetzt werden

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

                        @Asgothian
                        und das was ich eigenkreits hatte
                        folder.item
                        folder.Springtest

                        das bleibt so?

                        Asgothian 1 Reply Last reply Reply Quote 0
                        • Asgothian
                          Asgothian Developer @dos1973 last edited by

                          @dos1973 sagte in Beleuchtung schalten mit yahka und Apple Watch und blockly:

                          @Asgothian
                          und das was ich eigenkreits hatte
                          folder.item
                          folder.Springtest

                          das bleibt so?

                          Nein, da muss das rein was ich da beschrieben habe:

                          In den Texten steht dann z.Bsp. "Wohnung.Wohnen.yahka.sehr_hell" - zeilenweise passend zu den Objekten die davor gesetzt werden

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

                            @Asgothian
                            ich dachte ja Anfangs ich verstehe ein bißchen.... Bahnhof verstehe ich 🙂

                            Asgothian 1 Reply Last reply Reply Quote 0
                            • Asgothian
                              Asgothian Developer @dos1973 last edited by

                              @dos1973 broken.txt 1600541621131-bildschirmfoto-2020-09-19-um-20.52.56.png

                              Wenn bei A das Objekt "0_userdata.0.Wohnung.Wohnen.yahka.sehr_hell" steht, dann muss bei B "Wohnung.Wohnen.yahka.sehr_hell" stehen.

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

                                @Asgothian

                                so schaut's jetzt aus

                                Bildschirmfoto 2020-09-19 um 21.07.36.png

                                Asgothian 1 Reply Last reply Reply Quote 0
                                • Asgothian
                                  Asgothian Developer @dos1973 last edited by

                                  @dos1973
                                  so sollte es gehen

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

                                    @Asgothian

                                    nee, klappt nicht.
                                    ich versteh leider immer noch nicht - wo mein DP gefüllt wird mit der Variable aus Name

                                    D Asgothian 2 Replies Last reply Reply Quote 0
                                    • D
                                      dos1973 @dos1973 last edited by

                                      so sehen meine DP aus.
                                      Der DP Lichtszene löst in Abhängigkeit des Wertes aus. also sehr_hell, gemütlich etc

                                      Bildschirmfoto 2020-09-19 um 21.11.07.png

                                      1 Reply Last reply Reply Quote 0
                                      • Asgothian
                                        Asgothian Developer @dos1973 last edited by

                                        @dos1973
                                        dann sollten wir das morgen machen - ich kann jetzt erstmal nicht weiter im Detail schauen, sorry.

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

                                          @Asgothian
                                          kein Problem, ich muss sowieso jetzt auch los.
                                          Aber ich versuche später noch etwas. Danke bis hierhin...

                                          Würde mich freuen wenn du morgen nochmals Zeit hast

                                          M Asgothian 2 Replies Last reply Reply Quote 0
                                          • M
                                            MCU @dos1973 last edited by

                                            @dos1973
                                            Mein Vorschlag wäre dieser:
                                            Ist leider lang, da ich nicht die DP angelegt habe bei mir.
                                            Du kannst ja die kleine Variante zum DP schreiben nehmen.

                                            b3f85caf-3dae-4188-81f9-2f5c93d5005f-image.png

                                            96b7a33f-4a13-48f5-a4d0-a976515ac117-image.png

                                            b3edc5bf-ce66-4413-98e0-067d1e08283a-image.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            834
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            30
                                            1313
                                            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