Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly Script für Harmony

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Blockly Script für Harmony

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Matten @Jan1 last edited by

      @Jan1 Eigentlich ist egal, was die Szenen machen, die Werte bestimmen den Zustand der Aktivität und wenn eben nicht alles 0 ist sollte auch nichts passieren. Im Wohnzimmer Hub schalte ich dann den Beamer direkt ohne die Aktivitäten dort.

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

        @Matten
        Der Beamer ist doch der DP JVC_Projektor_PowerOFF und der geht doch aus, weil eben beim Umschalten wohl eine Deiner activitys wechselt und dann eben nicht mehr "0" ist, somit macht das Blockly genau das was Du da drin hast.
        Ich würde das eh alles direkt im IOBroker machen, denn so ist es sehr wahrscheinlich, dass es nicht hin haut und keiner weiß warum.

        M 1 Reply Last reply Reply Quote 0
        • M
          Matten @Jan1 last edited by

          @Jan1 ...er soll ja nur ausschalten, wenn alles 0 ist, und dem ist beim Umschalten einer Aktivität nicht so. Ich habe es mit ein Szene in ioBroker probiert mit dem gleichen Ergebnis.

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

            @Matten
            Wie geschrieben, da ist zu viel unbekannt, was im Hintergrund abläuft. Kannst aber mal die DPs mit dem History Adapter beobachten, dann siehst wann da einer unvorhergesehen mal was macht, was er nicht soll.

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

              @Matten
              ich verstehe das Problem nicht so ganz.
              Dein Trigger ist currentStatus. Wenn der 0 ist, dann ist alles aus. Warum fragst Du noch alle anderen auf 0 ab ?
              (aber vielleicht habe ich auch was falsch verstanden)
              Ich bin ausserdem der Meinung das Dein stop Timeout an der falschen Stelle ist, der muss über das Timout.

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

                @dslraser
                da müsste egal sein, Hauptsache es ist einer drin. Beim Trigger wird dessen Inhalt abgearbeitet und die Reihenfolge sollte da egal sein, so hab ich das zumindest mal in Erinnerung.

                1 Reply Last reply Reply Quote 0
                • M
                  Matten @dslraser last edited by Matten

                  @dslraser Ich ändere das Timeout mal. Da ich im Kino Modus zwischen verschiedenen Aktivitäten umschalte (Sky, Fire-TV, TV), darf/soll sich der Beamer beim Umschalten nicht ausschalten, erst wenn alle Kinoaktivitäten beendet sind. Deshalb muss ich alle abfragen, ob diese auf 0 stehen.

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

                    @Matten
                    Du kannst über debug Blöcke eigentlich immer zusehen was passiert. Hier mal mit 10 Sekunden timeout. Es passiert genau das was im "Test Blockly" steht.

                    Bildschirmfoto 2020-01-06 um 19.05.46.png

                    Logausgabe der Debug Blöcke (die 10 Sekunden passen auch)

                    Bildschirmfoto 2020-01-06 um 19.05.56.png
                    So müßtest Du eigentlich rausfinden was Du suchst.

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                     <variables>
                       <variable type="undefined" id="timeout">timeout</variable>
                     </variables>
                     <block type="on_ext" id="BLf2c;H4=[0JpG6O2TZb" x="63" y="38">
                       <mutation items="1"></mutation>
                       <field name="CONDITION">ne</field>
                       <field name="ACK_CONDITION"></field>
                       <value name="OID0">
                         <shadow type="field_oid" id="#Fq0M1(JeH6:12VAy.`9">
                           <field name="oid">harmony.0.Wohnzimmer.activities.currentStatus</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="debug" id="L/0hV+~17Xr=eWO:QO+#">
                           <field name="Severity">log</field>
                           <value name="TEXT">
                             <shadow type="text" id="~.4SPqUs+5Yw-?!lLY2Z">
                               <field name="TEXT">test</field>
                             </shadow>
                             <block type="text_join" id="~r*)5N|QjVshSV.*2RaQ">
                               <mutation items="2"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="A,jkNrd~I=}fX,;iLfk]">
                                   <field name="TEXT">Wert von Trigger: </field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="get_value" id="_`sKPIi!M2?qxtYx:%s_">
                                   <field name="ATTR">val</field>
                                   <field name="OID">harmony.0.Wohnzimmer.activities.currentStatus</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="timeouts_cleartimeout" id="FU].kCc*[xaC|~?_@w*9">
                               <field name="NAME">timeout</field>
                               <next>
                                 <block type="timeouts_settimeout" id="%voas2O~artzzc0N]VT5">
                                   <field name="NAME">timeout</field>
                                   <field name="DELAY">10</field>
                                   <field name="UNIT">sec</field>
                                   <statement name="STATEMENT">
                                     <block type="controls_if" id="ot16!/!bRzFs[$K^|0kG">
                                       <value name="IF0">
                                         <block type="logic_operation" id="d[FPLam6GV3m/0V*8bN{" inline="false">
                                           <field name="OP">AND</field>
                                           <value name="A">
                                             <block type="logic_operation" id="LFG:,I|JcpG=gywzGm8/" inline="false">
                                               <field name="OP">AND</field>
                                               <value name="A">
                                                 <block type="logic_compare" id="Av#b.}L+ndydY/_K2|Bt">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="g]~z@!#wU*G:$*]6]884">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">harmony.0.Wohnzimmer.activities.BluRay</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="math_number" id="PSk@t`fm{=)xe0Cb1[j2">
                                                       <field name="NUM">0</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="logic_compare" id="csWBjYYE4w1D%LV/yBW?">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="J--VvW[VIgJC$C.zn1A|">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">harmony.0.Wohnzimmer.activities.Chromecast</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="math_number" id="DKsNK19bxMZOQCr5APln">
                                                       <field name="NUM">0</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="B">
                                             <block type="logic_compare" id="8[[i:VzAtugVO}FM-39o">
                                               <field name="OP">EQ</field>
                                               <value name="A">
                                                 <block type="get_value" id="_a%]nDW0)S311ro@2fx3">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">harmony.0.Wohnzimmer.activities.Kino</field>
                                                 </block>
                                               </value>
                                               <value name="B">
                                                 <block type="math_number" id="W4JF*TP+C0;.ovTSsF67">
                                                   <field name="NUM">0</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="control" id=";_H:@;PW?cFsG`n;UcbH">
                                           <mutation delay_input="false"></mutation>
                                           <field name="OID">hue.0.Fernsehlicht.command</field>
                                           <field name="WITH_DELAY">FALSE</field>
                                           <value name="VALUE">
                                             <block type="text" id="^!w/gW1_B~HjwqTDzEE=">
                                               <field name="TEXT">{"on":false,"transitiontime":100}</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                       <next>
                                         <block type="debug" id="8?sV;U=aWM6T2wbeQDo?">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="ZsVkg)IvGU?jJv|;e-.l">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="text_join" id="=_s~~t-:38!4=QWbl$)H">
                                               <mutation items="6"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="OIE4H:bQYj1B2}jM[BP;">
                                                   <field name="TEXT">Nr.1: </field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="get_value" id="~XumNxur}NaE=AH*cERH">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">harmony.0.Wohnzimmer.activities.BluRay</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id="aJ?n+imOoDWA;vL[n+1D">
                                                   <field name="TEXT">  Nr.2: </field>
                                                 </block>
                                               </value>
                                               <value name="ADD3">
                                                 <block type="get_value" id="o5i-bX436FmVp42otQtn">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">harmony.0.Wohnzimmer.activities.Chromecast</field>
                                                 </block>
                                               </value>
                                               <value name="ADD4">
                                                 <block type="text" id="bOK|n:-bt[%,mTeMk!q4">
                                                   <field name="TEXT">  Nr.3: </field>
                                                 </block>
                                               </value>
                                               <value name="ADD5">
                                                 <block type="get_value" id="SB*#e_jC_s=/t(_pwJs_">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">harmony.0.Wohnzimmer.activities.Kino</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    EDIT: Beispiel2 mit HUE geändert.


                    Bildschirmfoto 2020-01-06 um 19.21.48.png

                    Bildschirmfoto 2020-01-06 um 19.22.21.png

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                      <variables>
                        <variable type="undefined" id="activity">activity</variable>
                        <variable type="undefined" id="lampe">lampe</variable>
                      </variables>
                      <block type="on_ext" id="BLf2c;H4=[0JpG6O2TZb" x="63" y="38">
                        <mutation items="1"></mutation>
                        <field name="CONDITION">ne</field>
                        <field name="ACK_CONDITION"></field>
                        <value name="OID0">
                          <shadow type="field_oid" id="#Fq0M1(JeH6:12VAy.`9">
                            <field name="oid">harmony.0.Wohnzimmer.activities.currentStatus</field>
                          </shadow>
                        </value>
                        <statement name="STATEMENT">
                          <block type="debug" id="L/0hV+~17Xr=eWO:QO+#">
                            <field name="Severity">log</field>
                            <value name="TEXT">
                              <shadow type="text" id="~.4SPqUs+5Yw-?!lLY2Z">
                                <field name="TEXT">test</field>
                              </shadow>
                              <block type="text_join" id="~r*)5N|QjVshSV.*2RaQ">
                                <mutation items="2"></mutation>
                                <value name="ADD0">
                                  <block type="text" id="A,jkNrd~I=}fX,;iLfk]">
                                    <field name="TEXT">Wert von Trigger: </field>
                                  </block>
                                </value>
                                <value name="ADD1">
                                  <block type="get_value" id="_`sKPIi!M2?qxtYx:%s_">
                                    <field name="ATTR">val</field>
                                    <field name="OID">harmony.0.Wohnzimmer.activities.currentStatus</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <next>
                              <block type="timeouts_cleartimeout" id="FU].kCc*[xaC|~?_@w*9">
                                <field name="NAME">activity</field>
                                <next>
                                  <block type="timeouts_cleartimeout" id="1$=tw`};kS`^O}yIu`+a">
                                    <field name="NAME">lampe</field>
                                    <next>
                                      <block type="timeouts_settimeout" id="%voas2O~artzzc0N]VT5">
                                        <field name="NAME">activity</field>
                                        <field name="DELAY">10</field>
                                        <field name="UNIT">sec</field>
                                        <statement name="STATEMENT">
                                          <block type="controls_if" id="ot16!/!bRzFs[$K^|0kG">
                                            <value name="IF0">
                                              <block type="logic_operation" id="d[FPLam6GV3m/0V*8bN{" inline="false">
                                                <field name="OP">AND</field>
                                                <value name="A">
                                                  <block type="logic_operation" id="LFG:,I|JcpG=gywzGm8/" inline="false">
                                                    <field name="OP">AND</field>
                                                    <value name="A">
                                                      <block type="logic_compare" id="Av#b.}L+ndydY/_K2|Bt">
                                                        <field name="OP">EQ</field>
                                                        <value name="A">
                                                          <block type="get_value" id="g]~z@!#wU*G:$*]6]884">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">harmony.0.Wohnzimmer.activities.BluRay</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="math_number" id="PSk@t`fm{=)xe0Cb1[j2">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="logic_compare" id="csWBjYYE4w1D%LV/yBW?">
                                                        <field name="OP">EQ</field>
                                                        <value name="A">
                                                          <block type="get_value" id="J--VvW[VIgJC$C.zn1A|">
                                                            <field name="ATTR">val</field>
                                                            <field name="OID">harmony.0.Wohnzimmer.activities.Chromecast</field>
                                                          </block>
                                                        </value>
                                                        <value name="B">
                                                          <block type="math_number" id="DKsNK19bxMZOQCr5APln">
                                                            <field name="NUM">0</field>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <value name="B">
                                                  <block type="logic_compare" id="8[[i:VzAtugVO}FM-39o">
                                                    <field name="OP">EQ</field>
                                                    <value name="A">
                                                      <block type="get_value" id="_a%]nDW0)S311ro@2fx3">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">harmony.0.Wohnzimmer.activities.Kino</field>
                                                      </block>
                                                    </value>
                                                    <value name="B">
                                                      <block type="math_number" id="W4JF*TP+C0;.ovTSsF67">
                                                        <field name="NUM">0</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                              </block>
                                            </value>
                                            <statement name="DO0">
                                              <block type="control" id=";_H:@;PW?cFsG`n;UcbH">
                                                <mutation delay_input="false"></mutation>
                                                <field name="OID">hue.0.Fernsehlicht.command</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE">
                                                  <block type="text" id="^!w/gW1_B~HjwqTDzEE=">
                                                    <field name="TEXT">{"on":false,"transitiontime":100}</field>
                                                  </block>
                                                </value>
                                              </block>
                                            </statement>
                                            <next>
                                              <block type="debug" id="8?sV;U=aWM6T2wbeQDo?">
                                                <field name="Severity">log</field>
                                                <value name="TEXT">
                                                  <shadow type="text" id="ZsVkg)IvGU?jJv|;e-.l">
                                                    <field name="TEXT">test</field>
                                                  </shadow>
                                                  <block type="text_join" id="=_s~~t-:38!4=QWbl$)H">
                                                    <mutation items="6"></mutation>
                                                    <value name="ADD0">
                                                      <block type="text" id="OIE4H:bQYj1B2}jM[BP;">
                                                        <field name="TEXT">Nr.1: </field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD1">
                                                      <block type="get_value" id="~XumNxur}NaE=AH*cERH">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">harmony.0.Wohnzimmer.activities.BluRay</field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD2">
                                                      <block type="text" id="aJ?n+imOoDWA;vL[n+1D">
                                                        <field name="TEXT">  Nr.2: </field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD3">
                                                      <block type="get_value" id="o5i-bX436FmVp42otQtn">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">harmony.0.Wohnzimmer.activities.Chromecast</field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD4">
                                                      <block type="text" id="bOK|n:-bt[%,mTeMk!q4">
                                                        <field name="TEXT">  Nr.3: </field>
                                                      </block>
                                                    </value>
                                                    <value name="ADD5">
                                                      <block type="get_value" id="SB*#e_jC_s=/t(_pwJs_">
                                                        <field name="ATTR">val</field>
                                                        <field name="OID">harmony.0.Wohnzimmer.activities.Kino</field>
                                                      </block>
                                                    </value>
                                                  </block>
                                                </value>
                                                <next>
                                                  <block type="timeouts_settimeout" id="Y#2:?R[%mun]!xs:]3U*">
                                                    <field name="NAME">lampe</field>
                                                    <field name="DELAY">2</field>
                                                    <field name="UNIT">sec</field>
                                                    <statement name="STATEMENT">
                                                      <block type="debug" id="th9!^.pNQfmA+AT3UioE">
                                                        <field name="Severity">log</field>
                                                        <value name="TEXT">
                                                          <shadow type="text" id="JuU$[)yx:gh~H$gHlbq.">
                                                            <field name="TEXT">test</field>
                                                          </shadow>
                                                          <block type="text_join" id="aeM34oQ{qiA:+o1(o3yZ">
                                                            <mutation items="2"></mutation>
                                                            <value name="ADD0">
                                                              <block type="text" id="5KP.dJ$jDBri]{]QSW.3">
                                                                <field name="TEXT">  HUE Lampe: </field>
                                                              </block>
                                                            </value>
                                                            <value name="ADD1">
                                                              <block type="get_value" id="}{tgzv_5tMjV)IU@7s|3">
                                                                <field name="ATTR">val</field>
                                                                <field name="OID">hue.0.Fernsehlicht.on</field>
                                                              </block>
                                                            </value>
                                                          </block>
                                                        </value>
                                                      </block>
                                                    </statement>
                                                  </block>
                                                </next>
                                              </block>
                                            </next>
                                          </block>
                                        </statement>
                                      </block>
                                    </next>
                                  </block>
                                </next>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </xml>
                    

                    M 1 Reply Last reply Reply Quote 0
                    • M
                      Matten @dslraser last edited by

                      @dslraser Super, ist ja eine ähnliche Problemstellung. Danke, ich werde es ausprobieren. Heute mache ich aber erstmal Schluss, hab den ganzen Tag vor dem PC gehangen.

                      Danke!

                      M 1 Reply Last reply Reply Quote 0
                      • M
                        Matten @Matten last edited by Matten

                        Also ich bin nicht richtig weiter gekommen. Im Debug Modus zeigt er an, dass der Beamer zwischendurch immer mit ausgeschaltet wird, ich weiß nicht warum und habe irgendwie jetzt ein Brett vorm Kopf.

                        Dies sind meine Blöcke für das Ein- und Ausschalten des Beamers. Dies soll nur dann passieren wenn beim Wechseln der Activities keine Kino Aktivität mehr eingeschaltet es, ansonsten soll der Beamer nicht geschaltet werden. Einschalten soll nur erfolgen, wenn eine Kino Aktivität eingeschaltet wird, läuft bereits eine, soll nichts passieren. Dafür habe ich für beide Blöcke den Datenpunkt KinoAnAus eingerichtet, welcher dementsprechend beschrieben wird mit false oder true. Beim Debuggen sehe ich, dass dieser innerhalb einer Kino Aktivität trotzdem den Wert ändert. Die Timeouts dienen dazu, dem Harmony Hub Zeit zu geben, die entsprechenden Schaltvorgänge abzuschließen.

                        Anmerkung 2020-01-09 100313.png

                        Anmerkung 2020-01-09 095833.png

                        Kann mir jemand auf die Sprünge helfen?

                        Vielen Dank!

                        Hat sich erstmal erledigt, Danke!

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

                          @Matten sagte in Blockly Script für Harmony:

                          dass der Beamer zwischendurch immer mit ausgeschaltet wird

                          Hattest du mal diverse debug Blöcke an den entscheidenden Stellen eingesetzt um zu sehen was da passiert?

                          • z.B. Werte x, y,z doch auf 0?
                          M 1 Reply Last reply Reply Quote 0
                          • M
                            Matten @Homoran last edited by

                            @Homoran Hallo Homoran, ich habe die Aktionen in den beiden Harmony Hubs beobachtet, dort sieht auf den ersten Blick alles gut aus, hat aber dann gestern Abend doch wieder nicht funktioniert. Dann werde ich die Debug Blöcke doch mal einbauen müssen. Danke!

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            379
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            blockly
                            4
                            18
                            801
                            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