Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Mein Start mit Blockly/Skripten - Hilfe bei Erstellung

    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

    Mein Start mit Blockly/Skripten - Hilfe bei Erstellung

    This topic has been deleted. Only users with topic management privileges can see it.
    • dslraser
      dslraser Forum Testing Most Active @smartmood last edited by dslraser

      @smartmood
      Harmony activity Schaltung
      Hier wird ein Datenpunkt als Button erstellt und mit dem SmartNamen Smart in iot eingefügt.
      Dieser Datenpunkt wird nach dem ersten Blockly Start erstellt. Anschliessend dieses "Gerät" in der Amazon App suchen, oder über den Sprachbefehl "Alexa, suche neue Geräte" suchen lassen. Alexa sollte Dir melden das sie es gefunden hat. Anschließend noch zwei kleine Routinen in der Amazon App einrichten, die diesen Datenpunkt schalten. Bei mir steht in der Routine "Alexa, Fernseher an" , und in der zweiten "Alexa, Fernseher aus". Benutzt wird der gleiche Datenpunkt. Bei Dir könnte da stehen "Alexa, Smart an" , oder "Alexa, Smart aus".
      Im Foto bei mir heißen die Datenpunkte anders, als das für Dich erstellte.
      Bein eigenes Blockly enthät noch fünf weitere activitys nach dem gleichen Schema und jewels einem eigenen Datenpunkt.
      Läuft bei mir schon seit Monaten so ohne Probleme.

      PS: mit dem Weg über die activitys geht auch das Licht an/aus wenn Du die Fernbedienung benutzt und auch wenn Du per Alexa schaltest.

      <xml xmlns="http://www.w3.org/1999/xhtml">
        <variables>
          <variable type="undefined" id="timeout1">timeout1</variable>
        </variables>
        <block type="procedures_defcustomnoreturn" id="rAN7cz:B|^k5OZ!W_=$h" x="13" y="13">
          <mutation statements="false"></mutation>
          <field name="NAME">datenpunkt_anlegen</field>
          <field name="SCRIPT">Ly9EYXRlbnB1bmt0IEFrZXhhIGVyc3RlbGxlbgpjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLkhhcm1vbnkuVFZfU3lzdGVtLlNtYXJ0IiwgewogICAgbmFtZTogJ1NtYXJ0X0hhcm1vbnknLCAKICAgIHJvbGU6ICdidXR0b24nLAogICAgcmVhZDogIGZhbHNlLCAKICAgIHdyaXRlOiB0cnVlLAogICAgInNtYXJ0TmFtZSI6IHsKICAgICJkZSI6ICJTbWFydCIsCiAgICAic21hcnRUeXBlIjogIlNXSVRDSCIKfQp9KTs=</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
        </block>
        <block type="comment" id="pBH=Tk{]to/`%z_D{{EU" x="13" y="63">
          <field name="COMMENT">Datenpunkt Fernsehen (bei Dir Smart) anlegen</field>
          <next>
            <block type="procedures_callcustomnoreturn" id="/B^U[r#S8LzyM.I(Ji]M">
              <mutation name="datenpunkt_anlegen"></mutation>
              <next>
                <block type="on_ext" id="55@yN/Bd.4.Zl:.QX]zj">
                  <mutation items="1"></mutation>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="W^r22S90au(LBao+qr~s">
                      <field name="oid">javascript.0.Eigene_Datenpunkte.Harmony.TV_System.Smart</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="timeouts_settimeout" id="(]dhU:8/iGFA[ZH?5KL@">
                      <field name="NAME">timeout1</field>
                      <field name="DELAY">1000</field>
                      <field name="UNIT">ms</field>
                      <statement name="STATEMENT">
                        <block type="comment" id=".aEW9(n3G.Z_qvjy3!UK">
                          <field name="COMMENT">ECHO Wohnzimmer oder Küche dürfen schalten</field>
                          <next>
                            <block type="comment" id="9:(^!Tb*8*z*U]GsO.8R">
                              <field name="COMMENT">Alexa2 Adapter History Datenpunkt</field>
                              <next>
                                <block type="comment" id="VPrYSV7K{je45r=4_7-L">
                                  <field name="COMMENT">Name vom ECHO</field>
                                  <next>
                                    <block type="controls_if" id="BHRn[yZNyldRzla7iWi7">
                                      <mutation elseif="1"></mutation>
                                      <value name="IF0">
                                        <block type="logic_operation" id="LUs#DcSgw-m~^}OO!CTo" inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_operation" id="t_uf^Z1g5K:K3`/DEeeW" inline="false">
                                              <field name="OP">OR</field>
                                              <value name="A">
                                                <block type="logic_compare" id="!HExJnj:}`TnPTg=87JT">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="7O0JQ=H@DpeTB/OM|`/1">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="cr@)gj~U2qcVJueNr2K`">
                                                      <field name="TEXT">Wohnzimmer</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_compare" id="m0lU,k?+Bz0*p{Su,)=(">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="lW[lgTZfBH!CdaoOA)TS">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="S.`%ZSEPn{;S?.DvF?w#">
                                                      <field name="TEXT">Küche</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_operation" id="2:q[rypmY[pH6GsSmB;B" inline="false">
                                              <field name="OP">OR</field>
                                              <value name="A">
                                                <block type="logic_compare" id="VV+.K`ah//lUVs7Bz0f.">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="5^0m,o2.)k;B9QejP/=}">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.summary</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="Zn:9JNQ:15[Hb2PS0i:3">
                                                      <field name="TEXT">fernseher an</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_compare" id="u+3[P|QA+;.zXsxMB|V=">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="CCDWY%vI.yN6Z3e%=WHN">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.summary</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="cggzfs.8]]wpi8mNIz}~">
                                                      <field name="TEXT">alexa fernseher an</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="comment" id="]ihiXM{AQ1n4Zd@JWyzJ">
                                          <field name="COMMENT">Fernsehen (bei Dir Smart)Wohnzimmer an</field>
                                          <next>
                                            <block type="comment" id="tljJ5yz[,4FGF/R[R3(M">
                                              <field name="COMMENT">hier die Harmony activity auswählen</field>
                                              <next>
                                                <block type="control" id="5+w0Es@A]~C=EdT+7*5K">
                                                  <mutation delay_input="false"></mutation>
                                                  <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="math_number" id="e[U/{.d/3`92kMB`Pd%L">
                                                      <field name="NUM">1</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                      <value name="IF1">
                                        <block type="logic_operation" id="Td6TllRMn}DC|=Z^s|T?" inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_operation" id="RV%xb@9/mfwP{+:=.PjH" inline="false">
                                              <field name="OP">OR</field>
                                              <value name="A">
                                                <block type="logic_compare" id="E]17HsUZB`ATz68OVQPv">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="XqsA]aCdQeUo{hI=[go%">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="O#Bq1Nrh=FsWBqJ|}}.k">
                                                      <field name="TEXT">Wohnzimmer</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_compare" id="Kx;p;PF~:w2%j#8wTZav">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="6t`Df^kjj`Si|`l}w.by">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.name</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="DvG]p24~^cE*NWoX3XuU">
                                                      <field name="TEXT">Küche</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_operation" id="J;5BMEK[%w#]41x3dK2a" inline="false">
                                              <field name="OP">OR</field>
                                              <value name="A">
                                                <block type="logic_compare" id="NCjzhOn2.uPU{hT3kb/b">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="wEe!D;N@1oQ-FDuGcLZD">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.summary</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="8L-YrEOHYfY0`N_ExT1T">
                                                      <field name="TEXT">fernseher aus</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_compare" id="mdhE_]!Na9UVdjG-`^F3">
                                                  <field name="OP">EQ</field>
                                                  <value name="A">
                                                    <block type="get_value" id="6c~s[Y~qX4D`!eh9Y?om">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">alexa2.0.History.summary</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <block type="text" id="DfGy2;%ztW*laW+~}l/P">
                                                      <field name="TEXT">alexa fernseher aus</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO1">
                                        <block type="comment" id="C!d.+KxPoVc}6PEb?lc5">
                                          <field name="COMMENT">Fernsehen (bei Dir Smart)Wohnzimmer aus</field>
                                          <next>
                                            <block type="control" id="!/GcSgT,Cg!f#l+E1UF/">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_number" id="AbA?w_wnjSn%dTFjaZe1">
                                                  <field name="NUM">0</field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </statement>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </next>
        </block>
      </xml>
      

      iot adapter-smart-name.png

      Bildschirmfoto 2019-05-27 um 16.30.11.png

      Fernseher an.jpg

      Fernseher aus.jpg

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

        @dslraser
        Danke auch dir für deinen Blockly Import 😄
        Leider habe ich keinen Lichtsensor und muss es mit der Astrofunktion lösen.

        @Kuddel

        So jetzt sitze ich daheim vor dem Rechner und habe es wenigstens schonmal geschafft deine "Bausteine" in mein Blockly zu importieren... und stelle fest gar nicht so einfach 😛
        Könntest du mir Step by Step sagen an welchen Bausteinen ich jetzt genau etwas anpassen muss? oder wenn ich richtig verstehe, muss ich da erstmal gar nichts anpassen?
        Aber an den mache (zum Schluss) muss ich jetzt noch einen Baustein setzen: die Hue Play Bars auswählen und auf an stellen, richtig? Mit welchem Baustein mache ich das denn?

        dslraser 1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @smartmood last edited by

          @smartmood
          Du kannst mein Blockly trotzdem verwenden, wenn Du willst. Du musst nur den Lichtsensorbaustein mit der oben genannten Astrofunktion tauschen.
          HUE kannst Du über mehrere Wege schalten. Entweder über Deine Szenen, die musst Du aber zuvor mit einem anderem Script auslesen, sonst stehen die nicht zur Verfügung. Oder Du schaltest den on Datenpunkt, oder für eine bestimmte Helligkeit level.
          Willst Du bestimmte Farben und / oder langsames "andimmen" und "ausdimmen" schalten, dann so wie bei mir über command. (über command kannst Du alles selbst bestimmen)

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

            @dslraser
            Achso ok gut zu wissen, danke dir 😄
            Das mit command bzw. selbst bestimmen hört sich gut an, ist aber denke ich für den Anfang erstmal zu kompliziert für mich 😉 aber ich werde sicher darauf zurück kommen...

            Zu dem Blockly von @Kuddel

            würde das so hinkommen?

            b9191d69-4e9e-4b72-9f39-726cc7e807c1-image.png

            Habe die beiden steuere Philips .... Bausteine hinzugefügt, ich probiere es auch gleich mal aus - die Hue Play Bars dürften ja zu dieser Uhrzeit dann nicht mit angehen...

            dslraser 1 Reply Last reply Reply Quote 0
            • dslraser
              dslraser Forum Testing Most Active @smartmood last edited by dslraser

              @smartmood
              da fehlen noch zwei wahr...
              steuere hue.on....mit....

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

                @dslraser

                Habe das wahr mit hinzugefügt, die Lichter gingen jetzt beim testen aber mit an... habe mal den Datenpunkt auf Entertainment Bereich TV on geändert und auf mit wahr gesetzt, da gingen die Lichter jetzt auch mit an.
                (Habe das Skript gespeichert und aktiviert)

                J 1 Reply Last reply Reply Quote 0
                • J
                  Jan1 @smartmood last edited by

                  @smartmood
                  das liegt daran, dass Deine Astrozeiten über der Datumsgrenze liegen, Untergang ist heute und Aufgang morgen, wird so nicht funktionieren.

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

                    @Jan1

                    ok und wie genau kann ich das ändern, sodass es funktioniert? 😄

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      Jan1 @smartmood last edited by

                      @smartmood
                      so wie im Beispiel die Zeiten ändern und, also zuerst Aufgang und dann Untergang. Wenn das die falsche Zeispanne sein sollte, einfach das ganze auf "ist nicht zwischen" umstellen. Die Astrozeiten müssen immer im selben Tag liegen.

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

                        @Jan1
                        Habe jetzt diese beiden Varianten probiert und es klappt auch nicht :

                        8a9ed1ab-36a9-47ac-8ded-31d1dd167a63-image.png

                        fa09489b-b994-469c-99fb-0f7907b72632-image.png

                        Zusätzlich habe ich noch in dem Grünen Baustein das Wort "Smart" auf "Smart_TV" geändert, denn ich sage zwar: "Alexa, Smart an" - jedoch heißt die Activity. "Smart_TV"

                        So steht es auch unter den Objekten bei Harmony unter activities.currentActivity (Wert):

                        e617fc9f-db7f-48e2-bc7d-b6e0238d5829-image.png

                        Das ist doch richtig oder?

                        J dslraser 2 Replies Last reply Reply Quote 0
                        • J
                          Jan1 @smartmood last edited by Jan1

                          @smartmood
                          könnte ein Timing Problem sein, sprich der DP currentActivity ändert sich zwar und der Triger löst aus, aber der DP steht noch nicht auf "Smart_TV". Kann man durch das Verwenden von "Wert" lösen, da sich das direkt auf das Objekt des Trigerv bezieht und nicht extra eingelesen werden muss, oder einfach ein Timeout drum rum baut.

                          so in etwa, wobei ich mir selber nie sicher bin wann und wo der Stop des Timeout hin muss und überhaupt benötigt wird.
                          ea6052d0-6f47-49a5-a696-b97cf48b5a84-grafik.png

                          1 Reply Last reply Reply Quote 0
                          • dslraser
                            dslraser Forum Testing Most Active @smartmood last edited by

                            @smartmood
                            in Deinem zweiten Beitrag von oben schreibst Du das Du bereits Szenen eingerichtet hast die Dir alles schalten, ohne ioBroker/Blockly.

                            Sind die Szenen noch aktiv ?
                            (dann gibt es sicher Probleme mit Deinen Test's)

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

                              @dslraser

                              oh stimmt, klar die Routine in der Alexa App ist noch aktiv... das muss ich dann auf jeden Fall deaktivieren...

                              wenn das nicht funktioniert kann ich ja den Vorschlag von @Jan1 mit dem Timeout probieren...

                              Ich kann das ganze dann nur leider erst Morgen wieder testen und melde mich dann direkt mal...

                              Danke euch

                              LG

                              dslraser 1 Reply Last reply Reply Quote 0
                              • dslraser
                                dslraser Forum Testing Most Active @smartmood last edited by

                                @smartmood
                                ich benutze in meinem Beispiel keine timeouts. Funktioniert bisher seit Monaten Fehlerfrei.

                                J 1 Reply Last reply Reply Quote 0
                                • J
                                  Jan1 @dslraser last edited by

                                  @dslraser
                                  Der Timeout wäre auch nur nötig, wenn der Triger schneller ist als der DP in der Falls aktualisiert wird, sonst funktioniert das auch ohne.
                                  Da müsste man schauen ob der direkt auf den Abfragewert geändert wird, oder ob da noch ein Zwischenstatus kommt.

                                  dslraser 1 Reply Last reply Reply Quote 0
                                  • dslraser
                                    dslraser Forum Testing Most Active @Jan1 last edited by

                                    @Jan1
                                    jupp, genau.
                                    Deshalb triggere ich den status 0 = aus und 2 = an.
                                    (es gibt 0/1/2/3)
                                    Ginge auch bei den einzelnen activity. Dann vermeidet man auch event. Schreibfehler.

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

                                      Hello Leute
                                      @dslraser

                                      Also ich habe jetzt mal meine Routine in der Alexa App deaktiviert und habe nun mal getestet...
                                      "Alexa, Smart an" - Logitech Aktion "Smart TV" wurde gestartet wie es soll: TV und Heimkinoanlage sind an gegangen - Es ist Mittags und die Lichter gingen NICHT mit an 😄
                                      (kann natürlich auch sein, dass das Skript nicht funktioniert und nur die reine Logitech Aktion gestartet wurde^^)
                                      Das muss ich dann Heute Abend nochmal bei Dunkelheit testen und gebe bescheid.

                                      Skript sieht jetzt so aus:

                                      fac5c410-3059-4d96-b318-4422636cbea6-image.png

                                      Mir schweben schon weitere Fragen zu meinen Ideen vor aber die poste ich erst wenn hier meine erste Schaltung wirklich erfolgreich läuft und abgeschlossen ist... sonst wirds zu unübersichtlich 😉

                                      Ich melde mich Heute Abend hier wieder 😄

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        Jan1 @smartmood last edited by

                                        @smartmood sagte in Mein Start mit Blockly/Skripten - Hilfe bei Erstellung:

                                        aus

                                        Probier doch mal mit "Wert",wie ich es oben drin habe.

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

                                          @Jan1

                                          Gerade kann ich gar nicht einschätzen ob das Skript läuft wie es soll oder nicht, es sieht zwar danach aus aber ich muss es Heute Abend bei Dunkelheit nochmal testen.
                                          Falls es nicht geht probiere ich das mal 👍

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kuddel @smartmood last edited by

                                            @smartmood einfach immer mal Output Bausteine einfügen

                                            6b308a1e-86fa-4dc8-a695-b76a1961d466-grafik.png

                                            Da Schreibst du dann z.B. rein "Skript ausgeführt" und kannst es dann im Log nachvollziehen

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            870
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            107
                                            7703
                                            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