Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Beispiel Blockly Szene Kinoabend

    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

    Beispiel Blockly Szene Kinoabend

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

      Sorry Sven, ich bin jetzt noch mal einige Beiträge zurück und habe es bei mir auch nachgebaut.

      In Deinem Script ist ja der Trigger Test Kino .PRESS_SHORT (also ein Schalter oder Taster), dann muss der in den Cloudadapter als Gerät.

      Wenn Du keinen Schalter nehmen willst, kannst Du es auch so wie in meinem Screenshot machen und wie gehabt das Script einfügen. (dann müsstest Du nur die Bausteine aus dem falls Objekt rausnehmen und dann den Falls Objekt Baustein löschen.

      Sorry für die Verwirrung… :shock:

      Dein Script
      3822_kino1.png

      Ohne Schalter
      3822_kino2.jpg

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

        Hej, hab jetzt den Schalter entfernt. Und siehe da es funktioniert. Danke dir. Aber es muss doch sicher noch ein oder geben, so das ich schalter oder Alexa nehmen kann?

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

          @Sven_hh:

          Hej, hab jetzt den Schalter entfernt. Und siehe da es funktioniert. Danke dir. Aber es muss doch sicher noch ein oder geben, so das ich schalter oder Alexa nehmen kann? `

          Ja, habe ich ja geschrieben. Wenn Du nur Alexa nehmen willst, dann reicht es so.
          3822_kino2.jpg

          Wenn Du den Schalter und Alexa wie hier nehmen willst, dann musst Du Deinen Schalter in den CloudAdapter einfügen, dann drückt Alexa quasi Deinen Press Short und startet somit Dein Script.
          3822_kino1.png
          Verstanden wie ich es meine ?

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

            Fast, nur das einfügen vom Schalter noch nicht ganz. aber ich denke das krieg ich noch hin. Auf jedenfall danke ich dir für deine geduld.

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

              Ich habe nochmal etwas probiert, da es sich bei meinem Button ume eine Fernbedienung handelt und diese Button nur true kennen, egal ob press short oder press long und es nicht so einfach war den press long nicht zweimal auszulösen habe ich zwei press short genommen. Der Trigger reagiert deshalb nur auf "wurde aktualisiert", weil es true und false bei dem Button nicht gibt. Das könnte bei Deinem Button einfacher sein wenn der true und false kennt. Ich hatte erst alles in einem Script und hatte die Button in den Cloudadapter eingefügt und diese angesprochen, aber das direkte drücken der Button brachte eine Fehlermeldung im Log. (weil die eigentlich nicht beschreibbar sind, jedenfalls meine nicht, habe ich den auf write true gestellt, erst dann lies er sich auch in den Cloudadapter einfügen). Da mich aber die Fehlermeldung vom rpc Adapter gestört hat, habe ich das wieder verworfen.

              Bei einem Schalter mit true und false wäre das ganz einfach…........aber Button :oops:

              Nun habe mir zwei Blockly erstellt.

              Bei diesen Blocklys wird noch zusätzlich geprüft ob die Geräte an oder aus sind. Es wird also nicht unnötig geschaltet. (ohne Prüfung ob an oder aus geht immer der Schaltbefehl raus)

              Einmal Kino an
              3822_blockly_kino_an.jpg

              und einmal Kino aus
              3822_blockly_kino_aus.jpg

              Dort habe ich dann noch einen zweiten Trigger auf das Script selbst eingefügt (scriptEnabled.Test.Kino_an) und (scriptEnabled.Test.Kino_aus).

              Diese beiden Scripte habe ich dann wieder in den Cloudadapter eingefügt und habe die "Test Kino an" und "Test Kino aus genannt"
              3822_cloud_adapter1.jpg
              3822_cloud_adapter2.jpg
              Dann wieder in der Alexa App neue Geräte suchen lassen und den ganzen alten Kram von vorher löschen nicht vergessen.

              Das sind dann die Geräte unter Smart Home
              3822_smart_home_ger_te–-die_zwei_scripte.jpg
              Dann wieder Routinen erstellen.

              Einmal zum einschalten
              3822_routine_kino_ein_1.jpg
              3822_routine_kino_ein_2.jpg
              und einmal zum ausschalten
              3822_routine_kino_aus_1.jpg
              3822_routine_kino_aus_2.jpg
              Das sind dann die fertigen Routinen
              3822_routinen.jpg

              Mit der Variante kann ich nun mit der Fernbedienung schalten und auch mit Alexa und es kommen keine Fehlermeldungen.

              Wie gesagt, wenn Deine Schalter/Button true und false kennen geht das wesentlich einfacher. Vielleicht habe ich es auch zu kompliziert gemacht, aber es funktioniert wie es soll.

              Test Blockly zum einschalten als export

              ! ````
              <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="]dj]DplF5|S(9c|r#?0s" x="-313" y="-63"><field name="COMMENT">Kino an</field>
              <next><block type="on_ext" id="TlXokqMBmPoaEjT2Mfcq"><mutation items="2"></mutation>
              <field name="CONDITION">any</field>

                  <value name="OID0"><shadow type="field_oid" id="r,*p+(S,vXYbiIF;~0=6"><field name="oid">hm-rpc.0.XXX.1.PRESS_SHORT</field></shadow></value> 
                  <value name="OID1"><shadow type="field_oid" id="oKmZ^65A;u~%{@Mt2xQU"><field name="oid">javascript.0.scriptEnabled.Test.Kino_an</field></shadow></value> 
                  <statement name="STATEMENT"><block type="control" id="[_R6!ZAl`zlXPU0XX`nX"><mutation delay_input="false"></mutation>
                      <field name="OID">alexa2.0.Echo-Devices.XXX.Commands.speak</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="text" id="+Xq0Lx)mxc(OAXr9ucmj"><field name="TEXT">Ich schalte jetzt für Dich das Kino ein</field></block></value> 
                      <next><block type="controls_if" id="Ac.=8X%@UL|7jvnGM1o0"><value name="IF0"><block type="logic_compare" id="4!6}I%5kz.8M~6{YYz]d"><field name="OP">EQ</field>
                              <value name="A"><block type="get_value" id="?X=Fn[hVHRW3n|X1Wzj,"><field name="ATTR">val</field>
                                  <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen mit Verstaerker</field></block></value> 
                              <value name="B"><block type="math_number" id="DU{.hTl,|.^WhTnDi(Xk"><field name="NUM">0</field></block></value></block></value> 
                          <statement name="DO0"><block type="control" id="|@]^pE%.jQfH^48SAr3Y"><mutation delay_input="true"></mutation>
                              <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen mit Verstaerker</field>
                              <field name="WITH_DELAY">TRUE</field>
                              <field name="DELAY_MS">1000</field>
                              <field name="UNIT">ms</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="VALUE"><block type="math_number" id="op{i5fg1qSqy/_I,_vmq"><field name="NUM">1</field></block></value></block></statement> 
                          <next><block type="controls_if" id="/rp*o.6#JdK3ZQ0c?#Y:"><value name="IF0"><block type="logic_compare" id="y_YC#Z7u3`GL)tXno,jY"><field name="OP">EQ</field>
                                  <value name="A"><block type="get_value" id="WU|ND`%^pokqw9.YRkx0"><field name="ATTR">val</field>
                                      <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field></block></value> 
                                  <value name="B"><block type="logic_boolean" id="S~?XZYK(o_8K%Z/=%kF?"><field name="BOOL">FALSE</field></block></value></block></value> 
                              <statement name="DO0"><block type="control" id="qb^i/{9ISX!8BpHlvDKp"><mutation delay_input="true"></mutation>
                                  <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field>
                                  <field name="WITH_DELAY">TRUE</field>
                                  <field name="DELAY_MS">2000</field>
                                  <field name="UNIT">ms</field>
                                  <field name="CLEAR_RUNNING">FALSE</field>
                                  <value name="VALUE"><block type="logic_boolean" id="kai.w(^6JhVzO;KXU@mN"><field name="BOOL">TRUE</field></block></value></block></statement> 
                              <next><block type="controls_if" id="=HoT[ehvRvfp]J8+@bP*"><value name="IF0"><block type="logic_compare" id="^VZAH8]~l=HD%hzqC^T4"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="U4-zgADeX|.tC}a15S(q"><field name="ATTR">val</field>
                                          <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="IeKvT=rW~uAsshmY@TL:"><field name="BOOL">FALSE</field></block></value></block></value> 
                                  <statement name="DO0"><block type="control" id=",[hS)gnn*R=Kv|J/(w~6"><mutation delay_input="true"></mutation>
                                      <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field>
                                      <field name="WITH_DELAY">TRUE</field>
                                      <field name="DELAY_MS">2000</field>
                                      <field name="UNIT">ms</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="VALUE"><block type="logic_boolean" id="Yn3XaT}:r4IePLY/(=W0"><field name="BOOL">TRUE</field></block></value></block></statement> 
                                  <next><block type="controls_if" id="nv0[NM5|TO7?_(PG4K:H"><value name="IF0"><block type="logic_compare" id="4DedZ[#|5^8Gf/DJH4~B"><field name="OP">EQ</field>
                                          <value name="A"><block type="get_value" id="U!8aV^C?rcxKM0L6ZCQ9"><field name="ATTR">val</field>
                                              <field name="OID">hue.0.HueBridge.Fensterlampe.on</field></block></value> 
                                          <value name="B"><block type="logic_boolean" id="#`?PBw!_Do2GoilY#][Y"><field name="BOOL">FALSE</field></block></value></block></value> 
                                      <statement name="DO0"><block type="control" id="@5^J:vhTB2vDaT`)-%-p"><mutation delay_input="true"></mutation>
                                          <field name="OID">hue.0.HueBridge.Fensterlampe.on</field>
                                          <field name="WITH_DELAY">TRUE</field>
                                          <field name="DELAY_MS">2500</field>
                                          <field name="UNIT">ms</field>
                                          <field name="CLEAR_RUNNING">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="cI3]}0Pp]S]hoE^xMjXc"><field name="BOOL">TRUE</field></block></value></block></statement> 
                                      <next><block type="controls_if" id=")YR#K(4i5%%/@X;=Rz1%"><value name="IF0"><block type="logic_compare" id="I70YT/a__hmgZeXePx@3"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="H!4NhM|dy:wX?m6@qo^{"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.0.XXX.3.STATE</field></block></value> 
                                              <value name="B"><block type="logic_boolean" id="_5fdboyCg^/;Q~hIiT`Q"><field name="BOOL">FALSE</field></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="H^faCD!G+^WrhpP@^0)q"><mutation delay_input="true"></mutation>
                                              <field name="OID">hm-rpc.0.XXX.3.STATE</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">3000</field>
                                              <field name="UNIT">ms</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="~(~IF`+_R07n#xuEkRKs"><field name="BOOL">TRUE</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml> 
              
              
              Test Blockly zum ausschalten als export
              
              >! ````
               <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="]dj]DplF5|S(9c|r#?0s" x="-313" y="-63"><field name="COMMENT">Kino aus</field>
                  <next><block type="on_ext" id="TlXokqMBmPoaEjT2Mfcq"><mutation items="2"></mutation>
                      <field name="CONDITION">any</field>
              
                      <value name="OID0"><shadow type="field_oid" id="r,*p+(S,vXYbiIF;~0=6"><field name="oid">hm-rpc.0.XXX.4.PRESS_SHORT</field></shadow></value> 
                      <value name="OID1"><shadow type="field_oid" id="oKmZ^65A;u~%{@Mt2xQU"><field name="oid">javascript.0.scriptEnabled.Test.Kino_aus</field></shadow></value> 
                      <statement name="STATEMENT"><block type="control" id="[_R6!ZAl`zlXPU0XX`nX"><mutation delay_input="false"></mutation>
                          <field name="OID">alexa2.0.Echo-Devices.XXX.Commands.speak</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="text" id="+Xq0Lx)mxc(OAXr9ucmj"><field name="TEXT">Ich schalte jetzt für Dich das Kino aus</field></block></value> 
                          <next><block type="controls_if" id="Ac.=8X%@UL|7jvnGM1o0"><value name="IF0"><block type="logic_compare" id="4!6}I%5kz.8M~6{YYz]d"><field name="OP">EQ</field>
                                  <value name="A"><block type="get_value" id="?X=Fn[hVHRW3n|X1Wzj,"><field name="ATTR">val</field>
                                      <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen mit Verstaerker</field></block></value> 
                                  <value name="B"><block type="math_number" id="DU{.hTl,|.^WhTnDi(Xk"><field name="NUM">2</field></block></value></block></value> 
                              <statement name="DO0"><block type="control" id="|@]^pE%.jQfH^48SAr3Y"><mutation delay_input="true"></mutation>
                                  <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen mit Verstaerker</field>
                                  <field name="WITH_DELAY">TRUE</field>
                                  <field name="DELAY_MS">1000</field>
                                  <field name="UNIT">ms</field>
                                  <field name="CLEAR_RUNNING">FALSE</field>
                                  <value name="VALUE"><block type="math_number" id="op{i5fg1qSqy/_I,_vmq"><field name="NUM">0</field></block></value></block></statement> 
                              <next><block type="controls_if" id="/rp*o.6#JdK3ZQ0c?#Y:"><value name="IF0"><block type="logic_compare" id="y_YC#Z7u3`GL)tXno,jY"><field name="OP">EQ</field>
                                      <value name="A"><block type="get_value" id="WU|ND`%^pokqw9.YRkx0"><field name="ATTR">val</field>
                                          <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field></block></value> 
                                      <value name="B"><block type="logic_boolean" id="S~?XZYK(o_8K%Z/=%kF?"><field name="BOOL">TRUE</field></block></value></block></value> 
                                  <statement name="DO0"><block type="control" id="qb^i/{9ISX!8BpHlvDKp"><mutation delay_input="true"></mutation>
                                      <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field>
                                      <field name="WITH_DELAY">TRUE</field>
                                      <field name="DELAY_MS">2000</field>
                                      <field name="UNIT">ms</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="VALUE"><block type="logic_boolean" id="kai.w(^6JhVzO;KXU@mN"><field name="BOOL">FALSE</field></block></value></block></statement> 
                                  <next><block type="controls_if" id="=HoT[ehvRvfp]J8+@bP*"><value name="IF0"><block type="logic_compare" id="^VZAH8]~l=HD%hzqC^T4"><field name="OP">EQ</field>
                                          <value name="A"><block type="get_value" id="U4-zgADeX|.tC}a15S(q"><field name="ATTR">val</field>
                                              <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field></block></value> 
                                          <value name="B"><block type="logic_boolean" id="IeKvT=rW~uAsshmY@TL:"><field name="BOOL">TRUE</field></block></value></block></value> 
                                      <statement name="DO0"><block type="control" id=",[hS)gnn*R=Kv|J/(w~6"><mutation delay_input="true"></mutation>
                                          <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field>
                                          <field name="WITH_DELAY">TRUE</field>
                                          <field name="DELAY_MS">2000</field>
                                          <field name="UNIT">ms</field>
                                          <field name="CLEAR_RUNNING">FALSE</field>
                                          <value name="VALUE"><block type="logic_boolean" id="Yn3XaT}:r4IePLY/(=W0"><field name="BOOL">FALSE</field></block></value></block></statement> 
                                      <next><block type="controls_if" id="nv0[NM5|TO7?_(PG4K:H"><value name="IF0"><block type="logic_compare" id="4DedZ[#|5^8Gf/DJH4~B"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="U!8aV^C?rcxKM0L6ZCQ9"><field name="ATTR">val</field>
                                                  <field name="OID">hue.0.HueBridge.Fensterlampe.on</field></block></value> 
                                              <value name="B"><block type="logic_boolean" id="#`?PBw!_Do2GoilY#][Y"><field name="BOOL">TRUE</field></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="@5^J:vhTB2vDaT`)-%-p"><mutation delay_input="true"></mutation>
                                              <field name="OID">hue.0.HueBridge.Fensterlampe.on</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">2500</field>
                                              <field name="UNIT">ms</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="cI3]}0Pp]S]hoE^xMjXc"><field name="BOOL">FALSE</field></block></value></block></statement> 
                                          <next><block type="controls_if" id=")YR#K(4i5%%/@X;=Rz1%"><value name="IF0"><block type="logic_compare" id="I70YT/a__hmgZeXePx@3"><field name="OP">EQ</field>
                                                  <value name="A"><block type="get_value" id="H!4NhM|dy:wX?m6@qo^{"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.0.XXX.3.STATE</field></block></value> 
                                                  <value name="B"><block type="logic_boolean" id="_5fdboyCg^/;Q~hIiT`Q"><field name="BOOL">TRUE</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="H^faCD!G+^WrhpP@^0)q"><mutation delay_input="true"></mutation>
                                                  <field name="OID">hm-rpc.0.XXX.3.STATE</field>
                                                  <field name="WITH_DELAY">TRUE</field>
                                                  <field name="DELAY_MS">3000</field>
                                                  <field name="UNIT">ms</field>
                                                  <field name="CLEAR_RUNNING">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="~(~IF`+_R07n#xuEkRKs"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></next></block></xml> 
              

              Da ist jetzt noch eine Ansage über den Alexa2 Adapter über Speak mit drinn.

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

                Warum benutzt du die Datenpunkte Scriptenabled ?

                Damit schaltet man das Script ein und aus…

                Sent from my iPhone using Tapatalk

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

                  Die liegen nur in dem Unterordner. (da habe ich einen Testordner drin)
                  3822_ordner.jpg

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

                    Trotzdem objecte gehören Sitz nicht hin [emoji6]

                    Man sollte diese unter JavaScript.>Instanz< erstellen

                    Sent from my iPhone using Tapatalk

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

                      @Dutchman:

                      Trotzdem objecte gehören Sitz nicht hin [emoji6]

                      Man sollte diese unter JavaScript.>Instanz< erstellen

                      Sent from my iPhone using Tapatalk `

                      Man sollte…

                      die sind doch unter der Instanz javascript.0

                      (ich habe da nicht aufgeräumt)

                      Und wenn Du die Gruppen(Ordner) im JS Adapter erstellst haut er die da rein.

                      Und warum sollte man ?

                      Funktionieren tun die genauso, oder meinst Du wegen der Übersicht ?

                      Ein Script was woanders liegt und ausgeschaltet wird bleibt ja auch liegen wo es ist.

                      Wenn es eingeschaltet wird, wird es doch dann auch nicht automatisch dort hin verschoben ?

                      Kläre mich mal auf.

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

                        Super, danke dir für die Skripte. Werde dort morgen mal meine Komponenten einbinden. Das mit der Alexa Sprachausgabe ist natürlich perfekt.

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

                          Guten Morgen dslraser,

                          Die Szene Kinoabend funktioniert. Sogar mit Alexa Sprachausgabe.

                          Vielen Dank für eure Hilfe.

                          Es ist super das es solche Foren mit euch Experten gibt. Ich denke sonst hätte der eine oder andere das Thema Blockly schon aufgegeben. ( incl. mir <emoji seq="1f60e">😎</emoji>)

                          Gruß Sven

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

                            Schön das es funktioniert, aber von "Experte" bin ich weit entfernt.

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

                              Na, dann hast du zumindest ein sehr gutes wissen in ioBroker. Und das ist ja das was zählt.

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

                                Ich habe die ganze Geschichte für mich auch erstellt, aber nochmal einiges verändert. Ich habe jetzt alle activitys bei mir erstellt. Damit nach einem Scriptneustart oder kompletten Neustart das Script nicht selbständig losläuft bzw. es läuft ja los, aber nicht das Script selbst getriggert wird, habe ich es anders gelöst (mit eigenen Datenpunkten und trigger dann auf diese). Licht geht nur noch mit an wenn es draussen dunkel genug ist. Wenn ich die Zeit habe schreibe ich den Weg hier nochmal rein.

                                PS: Als ich vor ca einem Jahr mit ioBroker anfing habe ich mich auch über Jede Hilfe gefreut.

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

                                  Ok, wenn du das irgendwann mal aufzeigen könntest wäre das super.

                                  Vg Sven

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

                                    @Sven_hh:

                                    Ok, wenn du das irgendwann mal aufzeigen könntest wäre das super.

                                    Vg Sven `

                                    So, hier nochmal meine Änderungen. In diesem Beispiel erstelle ich mir für meine Harmony activities, die ich mit Alexa schalten möchte eigene Datenpunkte. Dies hat den Vorteil, das nicht ungewollt, z.B. beim Neustart oder auch Scriptaktualisierung geschaltet wird. Ausserdem habe ich die SmartNamen gleich mit erstellt und muss es dann nicht nochmal von Hand machen.

                                    Hier das Sript für die Datenpunkte (kann man sich ja nach Bedarf abändern….....

                                    ! ````
                                    //////////////////////////////////////////////
                                    //Harmony Hub - Alexa Datenpunkte erstellen//
                                    //////////////////////////////////////////////
                                    ! //Datenpunkt Fernsehen mit VU an/aus erstellen
                                    createState("Eigene_Datenpunkte.TV_System.Fernsehen.an_aus", {
                                    name: 'Fernsehen_mit_VU_an_aus',
                                    role: 'switch',
                                    type: 'boolean',
                                    read: true,
                                    write: true,
                                    "smartName": {
                                    "de": "Alexa TV an aus",
                                    "smartType": "SWITCH"
                                    }});
                                    ! //Datenpunkt Fernsehen mit Verstärker und VU an/aus erstellen
                                    createState("Eigene_Datenpunkte.TV_System.Kino.an_aus", {
                                    name: 'Fernsehen_mit_Verstaerker_und_VU_an_aus',
                                    role: 'switch',
                                    type: 'boolean',
                                    read: true,
                                    write: true,
                                    "smartName": {
                                    "de": "Alexa Kino an aus",
                                    "smartType": "SWITCH"
                                    }});
                                    ! //Datenpunkt Musik ohne Verstärker an/aus erstellen
                                    createState("Eigene_Datenpunkte.TV_System.Musik_ohne_Verstaerker.an_aus", {
                                    name: 'Musik_ohne_Verstaerker_an_aus',
                                    role: 'switch',
                                    type: 'boolean',
                                    read: true,
                                    write: true,
                                    "smartName": {
                                    "de": "Alexa Musik an aus",
                                    "smartType": "SWITCH"
                                    }});
                                    ! //Datenpunkt Musik mit Verstärker an/aus erstellen
                                    createState("Eigene_Datenpunkte.TV_System.Musik_mit_Verstaerker.an_aus", {
                                    name: 'Musik_mit_Verstaerker_an_aus',
                                    role: 'switch',
                                    type: 'boolean',
                                    read: true,
                                    write: true,
                                    "smartName": {
                                    "de": "Alexa Musik laut an aus",
                                    "smartType": "SWITCH"
                                    }});
                                    ! //Datenpunkt BluRay mit Verstärker an/aus erstellen
                                    createState("Eigene_Datenpunkte.TV_System.Bluray.an_aus", {
                                    name: 'Bluray_mit_Verstaerker_an_aus',
                                    role: 'switch',
                                    type: 'boolean',
                                    read: true,
                                    write: true,
                                    "smartName": {
                                    "de": "Alexa BluRay an aus",
                                    "smartType": "SWITCH"
                                    }});

                                    Meine activities aus dem Harmony Hub sind diese:
                                    
                                     ![3822_meine_harmony_activities.jpg](/assets/uploads/files/3822_meine_harmony_activities.jpg) 
                                    Das ergibt dann diese Datenpunkte
                                     ![3822_erstellte_datenpunkte.jpg](/assets/uploads/files/3822_erstellte_datenpunkte.jpg) 
                                    Und das ergibt dann automatisch diese Smart Geräte Namen im Cloud Adapter
                                     filename="Cloud Adapter Smart Geräte.JPG" index="7">~~
                                    
                                    In meinem jetzigen Blockly verwende ich Hue Szenen, die man sich mit diesem Script erstellen kann. Nur mit den eigenen Daten aus dem Hue Adapter verwenden. Also die eigene IP und den Benutzer ins Script eintragen.
                                    
                                    >! ```
                                    `var HueApi = require("node-hue-api").HueApi;
                                    >! // Replace IP and username!!!
                                    var host = "192.168.XXX.XXX",
                                        username = "-XXXNupGQsbXHCo",
                                        api = new HueApi(host, username);
                                    
                                    var groups_ = [],
                                        lights_ = [],
                                        objects_ = [];
                                    >! // Log JSON results
                                    var displayResults = function(result) {
                                        console.log('Reponse: '+JSON.stringify(result, null, 2));
                                    };
                                    >! // Parse Light Group 0 (All Lights)
                                    var parseGroup0 = function(result) {
                                        if (!result.lights){return} // Empty group
                                    
                                        var id = result.id,
                                            lights = result.lights,
                                            name = "All Lights";
                                        console.debug('group: '+name+', lights: '+lights);
                                        groups_[lights] = name;
                                    };
                                    >! // Parse Light Groups
                                    var parseGroups = function(result) {
                                        for (var i = 0; i < result.length; i++) {
                                            if (!result[i].lights){continue} // Empty group
                                    
                                            var id = result[i].id,
                                                lights = result[i].lights,
                                                name = result[i].name;
                                            console.debug('group: '+name+', lights: '+lights);
                                            groups_[lights] = name;
                                        }
                                    };
                                    >! // Parse Lights
                                    var parseLights = function(result) {
                                        for (var i = 0; i < result.length; i++) {
                                            var id = result[i].id,
                                                name = result[i].name;
                                            console.debug('light: '+name+', id: '+id);
                                            lights_[id] = name;
                                        } 
                                    };
                                    >! // Create States in ioBroker
                                    var createStates = function(result) {
                                        // Resync button
                                        createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'});
                                    >!     for (var i = 0; i < result.length; i++) {
                                            if (!result[i].appdata.data){continue} // skip internal szenes
                                    >!         var id = result[i].id,
                                                lights = result[i].lights,
                                                name = result[i].name.replace(/"/g,''),
                                                pathname = name.replace(/ /g,'_');
                                    
                                            // Get light names
                                            var light_names = [];
                                            for (var j = 0; j < lights.length; j++) {
                                                var light_name = lights_[lights[j]];
                                                light_names.push(light_name);
                                            }
                                    >!         // Room, group or lights linked with scene
                                            var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", ");
                                    
                                            // Create States and skip duplicates
                                            if (!objects_[lights+pathname]){
                                                console.debug('scene: '+name+', '+group);
                                                createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'});
                                                objects_[lights+pathname] = true;
                                            }
                                        }
                                    };
                                    >! // Delete States
                                    function deleteStates(){
                                        console.log('Deleting current objects for scenes...');
                                        objects_ = [];
                                        $('javascript.0.PhilipsHue.Scenes.*').each(function (id) {
                                            deleteState(id);
                                        });
                                    }
                                    >! // Fetch data from Hue API
                                    function init(){
                                        api.getGroup(0, function(err, group0) {
                                            if (err) throw err;
                                            console.log('Processing group 0...');
                                            //displayResults(group0);
                                            parseGroup0(group0);
                                        });
                                        api.groups(function(err, groups) {
                                            if (err) throw err;
                                            console.log('Processing ' + groups.length + ' groups...');
                                            //displayResults(groups);
                                            parseGroups(groups);
                                        });
                                    >!     api.lights(function(err, lights) {
                                            if (err) throw err;
                                            console.log('Processing ' + lights.lights.length + ' lights...');
                                            //displayResults(lights);
                                            parseLights(lights.lights);
                                        });
                                    >!     api.scenes(function(err, scenes) {
                                            if (err) throw err;
                                            console.log('Processing ' + scenes.length + ' scenes...');
                                            //displayResults(scenes);
                                            createStates(scenes);
                                        });
                                    }
                                    >! // Init on start
                                    init();
                                    >! // Activate scene
                                    on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
                                        if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
                                        sceneId = obj.id.split('.').pop();
                                        console.log('Activating '+obj.name);
                                        api.activateScene(sceneId, function(err, result) {
                                            if (err) throw err;
                                            displayResults(result);
                                        });
                                        setState(obj.id, false);
                                    });
                                    >! // Resync
                                    on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) {
                                        console.log('Resync triggered...');
                                        groups_ = [];
                                        lights_ = [];
                                        deleteStates();
                                        init();
                                    });
                                    >! schedule("0 3 * * *", function () {
                                        console.log('Resync triggered...');
                                        groups_ = [];
                                        lights_ = [];
                                        deleteStates();
                                        init();
                                    });`
                                    >! Zu finden sind die Hue Szenen dann hier:
                                    >!  ![3822_szenen.jpg](/assets/uploads/files/3822_szenen.jpg) 
                                    >! Hier noch mein Blockly Export. 
                                    >! >! ~~[spoiler]~~`~~[code]~~ <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="55@yN/Bd.4.Zl:.QX]zj" x="-1413" y="-613"><mutation items="1"></mutation>
                                        <field name="CONDITION">any</field>
                                    
                                        <value name="OID0"><shadow type="field_oid" id="W^r22S90au(LBao+qr~s"><field name="oid">javascript.0.Eigene_Datenpunkte.TV_System.Fernsehen.an_aus</field></shadow></value> 
                                        <statement name="STATEMENT"><block type="comment" id="]ihiXM{AQ1n4Zd@JWyzJ"><field name="COMMENT">Alexa Fernsehen an</field>
                                            <next><block type="controls_if" id="BHRn[yZNyldRzla7iWi7"><mutation elseif="1"></mutation>
                                                <value name="IF0"><block type="logic_operation" id="uceG(8/ZS25~f{Xiw444" inline="false"><field name="OP">AND</field>
                                                    <value name="A"><block type="logic_operation" id="6C5|:3AyN%Lm|l*mOy5w" inline="false"><field name="OP">AND</field>
                                                        <value name="A"><block type="logic_compare" id="cSM2p%w~n);z,mrg|ca8"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="ReFhlZ@iLRTAASOsIt7o"><field name="ATTR">val</field>
                                                                <field name="OID">javascript.0.Eigene_Datenpunkte.TV_System.Fernsehen.an_aus</field></block></value> 
                                                            <value name="B"><block type="logic_boolean" id="?mu/,Ydpr@t^FsTyPA0("><field name="BOOL">TRUE</field></block></value></block></value> 
                                                        <value name="B"><block type="logic_compare" id="xj!*G`B.;)@@I^.VIQr!"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="PinJXaZljMe?g,F|^]E{"><field name="ATTR">val</field>
                                                                <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen</field></block></value> 
                                                            <value name="B"><block type="math_number" id="@(pF*]dEmU4WP7iiDqVr"><field name="NUM">0</field></block></value></block></value></block></value> 
                                                    <value name="B"><block type="logic_operation" id="Knlr-2O%M@xkLg%[!TN~" inline="false"><field name="OP">OR</field>
                                                        <value name="A"><block type="logic_compare" id="xtjw7V[K13w]I!*#6ZmE"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="?:|A89@t+q@aLr|T+(hi"><field name="ATTR">val</field>
                                                                <field name="OID">javascript.0.Anwesenheit.Heiko.Home.Heiko_Home</field></block></value> 
                                                            <value name="B"><block type="logic_boolean" id="Bri#U!AsAU`Dwlj(`9k-"><field name="BOOL">TRUE</field></block></value></block></value> 
                                                        <value name="B"><block type="logic_compare" id="`:]36h5Q97*g-mXXJ2pA"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="swhs6J^2e.inx/s#N=X4"><field name="ATTR">val</field>
                                                                <field name="OID">javascript.0.Anwesenheit.Kerstin.Home.Kerstin_Home</field></block></value> 
                                                            <value name="B"><block type="logic_boolean" id="XsNhyf}F|)1%4wj++1?0"><field name="BOOL">TRUE</field></block></value></block></value></block></value></block></value> 
                                                <statement name="DO0"><block type="control" id="h/dbi=+nive1TwjTbDs^"><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="o(Ql2*A|iI%DS~!_}E8{"><field name="NUM">1</field></block></value> 
                                                    <next><block type="timeouts_settimeout" id="vjYjlJ/#u)mXZ8vIWwL1"><field name="NAME">timeout</field>
                                                        <field name="DELAY">1</field>
                                                        <field name="UNIT">sec</field>
                                                        <statement name="STATEMENT"><block type="controls_if" id="@2oGEG@cl2vPv0e+Nsnu"><value name="IF0"><block type="logic_operation" id=";)[V4hn;EYG@-%xev|qc" inline="false"><field name="OP">AND</field>
                                                                <value name="A"><block type="logic_compare" id="0[5bk{tnjNZdIYRCeW%!"><field name="OP">LTE</field>
                                                                    <value name="A"><block type="get_value" id="(3bh%:b04Ay##=#`-Q`="><field name="ATTR">val</field>
                                                                        <field name="OID">hm-rpc.0.000BD5699D50BB.1.ILLUMINATION</field></block></value> 
                                                                    <value name="B"><block type="math_number" id="pTgYfGx*?Q;@a`U((IO?"><field name="NUM">400</field></block></value></block></value> 
                                                                <value name="B"><block type="logic_operation" id="8MRU~qF`9/Ome(4^p`D^" inline="false"><field name="OP">AND</field>
                                                                    <value name="A"><block type="logic_compare" id="WiuM+1_rNiF-A8b]/x}U"><field name="OP">EQ</field>
                                                                        <value name="A"><block type="get_value" id="a{Wzw@7@fFjKt|s^i0rI"><field name="ATTR">val</field>
                                                                            <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field></block></value> 
                                                                        <value name="B"><block type="logic_boolean" id="4LAPBEn^Gq?6IWrHFg|I"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                                    <value name="B"><block type="logic_compare" id="^X`i;dJQR0fn!Wxht,Nl"><field name="OP">EQ</field>
                                                                        <value name="A"><block type="get_value" id="cS;LFZ54IO=Jc/IO_UHP"><field name="ATTR">val</field>
                                                                            <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field></block></value> 
                                                                        <value name="B"><block type="logic_boolean" id="wNx}|t;Y,sF[N[+QZP)D"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value> 
                                                            <statement name="DO0"><block type="control" id="L3F{loK,Q}fR!]rk2vIi"><mutation delay_input="false"></mutation>
                                                                <field name="OID">javascript.0.PhilipsHue.Scenes.Fernsehlicht.9Wu4OtB8d0ogBsP</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="logic_boolean" id="zqO%{p1xTMqMZ7[r0i^m"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> 
                                                        <next><block type="comment" id="C!d.+KxPoVc}6PEb?lc5"><field name="COMMENT">Alexa Fernsehen aus</field></block></next></block></next></block></statement> 
                                                <value name="IF1"><block type="logic_operation" id="*W5aq:B9|B[f*#6XLsq@" inline="false"><field name="OP">AND</field>
                                                    <value name="A"><block type="logic_compare" id="mZ(e!y%u;zBr`EDNt^eA"><field name="OP">EQ</field>
                                                        <value name="A"><block type="get_value" id="ee4@`gm#qB1`kCGgN5kS"><field name="ATTR">val</field>
                                                            <field name="OID">javascript.0.Eigene_Datenpunkte.TV_System.Fernsehen.an_aus</field></block></value> 
                                                        <value name="B"><block type="logic_boolean" id="i[jZ[bQSy.Glh2Sw9(HI"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                    <value name="B"><block type="logic_compare" id="#lwziXUg3RN0qctMbMny"><field name="OP">EQ</field>
                                                        <value name="A"><block type="get_value" id="%spUSGxBkFj*n!_H?!SB"><field name="ATTR">val</field>
                                                            <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen</field></block></value> 
                                                        <value name="B"><block type="math_number" id="jBn`F;ECU]|oz0;Q]+pi"><field name="NUM">2</field></block></value></block></value></block></value> 
                                                <statement name="DO1"><block type="control" id="eBWB%,|J/7jilN*B]do7"><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="x%tQ(L03!?gq[.wfYc;#"><field name="NUM">0</field></block></value> 
                                                    <next><block type="control" id="|D@cl,1@p+ek~1514u6)"><mutation delay_input="false"></mutation>
                                                        <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE"><block type="logic_boolean" id="qgAj}m%ml*_wDU(ICe)~"><field name="BOOL">FALSE</field></block></value> 
                                                        <next><block type="control" id="K#{YwsytVj]E#fw*vNqz"><mutation delay_input="false"></mutation>
                                                            <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="logic_boolean" id="k7sa[|]Wz.`;yPI97?;I"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement></block></next></block></statement> 
                                        <next><block type="comment" id="TxCQOBfAJp1}}2x|iw7P"><field name="COMMENT">Fernbedienung</field>
                                            <next><block type="on_ext" id="nJt#cA)O#-Kl[4[)ooYj"><mutation items="1"></mutation>
                                                <field name="CONDITION">ne</field>
                                    
                                                <value name="OID0"><shadow type="field_oid" id="Oek6hG?:;})X::=5eA(s"><field name="oid">harmony.0.Wohnzimmer.activities.Fernsehen</field></shadow></value> 
                                                <statement name="STATEMENT"><block type="comment" id="P/}SAR]*:IzE6;bL#`.|"><field name="COMMENT">Fernsehen mit Fernbedienung an</field>
                                                    <next><block type="controls_if" id="3X(%1UH.R`Q))ccysU3*"><mutation elseif="1"></mutation>
                                                        <value name="IF0"><block type="logic_compare" id="TwxJqL,6|r[i[7EV6eNj"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="[8T`YjI1@%0sT4Y:O.H5"><field name="ATTR">val</field>
                                                                <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen</field></block></value> 
                                                            <value name="B"><block type="math_number" id="Kxz93g7Ve#J,U{0aR+W,"><field name="NUM">2</field></block></value></block></value> 
                                                        <statement name="DO0"><block type="control" id="MOL_EEH:|}5HMTvGwg0U"><mutation delay_input="false"></mutation>
                                                            <field name="OID">javascript.0.Eigene_Datenpunkte.TV_System.Fernsehen.an_aus</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="logic_boolean" id="_@eDe,j7dOH7|G[m`sG3"><field name="BOOL">TRUE</field></block></value> 
                                                            <next><block type="timeouts_settimeout" id="|[)d#L`/85kis~tbnMLL"><field name="NAME">timeout2</field>
                                                                <field name="DELAY">1</field>
                                                                <field name="UNIT">sec</field>
                                                                <statement name="STATEMENT"><block type="controls_if" id="}~fmmL3ied3Psltsttd8"><value name="IF0"><block type="logic_operation" id="zC/uE5/:LvUOU)zrpjSB" inline="false"><field name="OP">AND</field>
                                                                        <value name="A"><block type="logic_compare" id="YZCOl`u*An7=fKcglNf:"><field name="OP">LTE</field>
                                                                            <value name="A"><block type="get_value" id="}E_(pJ!*XYX3%l7Qr8DH"><field name="ATTR">val</field>
                                                                                <field name="OID">hm-rpc.0.000BD5699D50BB.1.ILLUMINATION</field></block></value> 
                                                                            <value name="B"><block type="math_number" id="xS[27*z,fjr!:`!7d+5B"><field name="NUM">400</field></block></value></block></value> 
                                                                        <value name="B"><block type="logic_operation" id="!kfuJ[C4mo~QAY5d|mki" inline="false"><field name="OP">AND</field>
                                                                            <value name="A"><block type="logic_compare" id="wZH.WgcdzB;`h;CGJlw/"><field name="OP">EQ</field>
                                                                                <value name="A"><block type="get_value" id="bmau%aWs+Rp!J9Q/UeXr"><field name="ATTR">val</field>
                                                                                    <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field></block></value> 
                                                                                <value name="B"><block type="logic_boolean" id="v|Yo-u_!KjE@r*~KT#LN"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                                            <value name="B"><block type="logic_compare" id="hWXNe-Ht-0D+t3.*-gu."><field name="OP">EQ</field>
                                                                                <value name="A"><block type="get_value" id="/|`]~ZWBGw+[!gzo[Is*"><field name="ATTR">val</field>
                                                                                    <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field></block></value> 
                                                                                <value name="B"><block type="logic_boolean" id="IOP+2EwVpwDf)O+;#-6:"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value> 
                                                                    <statement name="DO0"><block type="control" id="v5D;vGJ37dw[lor*9r(i"><mutation delay_input="false"></mutation>
                                                                        <field name="OID">javascript.0.PhilipsHue.Scenes.Fernsehlicht.9Wu4OtB8d0ogBsP</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE"><block type="logic_boolean" id="e}XnHcGW3(pF%!o,Sej*"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement> 
                                                                <next><block type="comment" id="3MUdkLxNR]Nw{az6LuqU"><field name="COMMENT">Fernsehen mit Fernbedienung aus</field></block></next></block></next></block></statement> 
                                                        <value name="IF1"><block type="logic_compare" id="yEgj2xp,sch7ab:Rzxd^"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="4~n.5oATF#qx2!;mW^mP"><field name="ATTR">val</field>
                                                                <field name="OID">harmony.0.Wohnzimmer.activities.Fernsehen</field></block></value> 
                                                            <value name="B"><block type="math_number" id="(hlWzkF@]u4{N]VKd/S%"><field name="NUM">0</field></block></value></block></value> 
                                                        <statement name="DO1"><block type="control" id="pod}w4j;p=o|TzsE1=59"><mutation delay_input="false"></mutation>
                                                            <field name="OID">javascript.0.Eigene_Datenpunkte.TV_System.Fernsehen.an_aus</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="logic_boolean" id="Ztllxw^UP6.~UBr(8:rQ"><field name="BOOL">FALSE</field></block></value> 
                                                            <next><block type="control" id="=#T(mI[f{^E@JHfO|x5v"><mutation delay_input="false"></mutation>
                                                                <field name="OID">hue.0.HueBridge.Fernsehlampe_links.on</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="logic_boolean" id="Z^%JXz]c?iW=}zfp:P]N"><field name="BOOL">FALSE</field></block></value> 
                                                                <next><block type="control" id="gr1-RbnUuLI_kSC~aI/G"><mutation delay_input="false"></mutation>
                                                                    <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.on</field>
                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                    <value name="VALUE"><block type="logic_boolean" id="S|,.|+^d7/T+MjlAQ|5n"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block></xml> [/code]`[/spoiler]
                                    Dieses Blockly ist nur für eine activity. Man könnte alle in ein Script packen, aber ich habe mir für jede activity ein eigens Script erstellt.
                                    >! In diesem Blockly habe ich noch eigene Datenpunkte für die Anwesenheitserkennung, wer die nicht will oder bracht kann es ja löschen. Die Anwesenheitsgeschichte hat den Vorteil, das man mit Alexa nur schalten kann, wenn meine Frau oder ich zu Hause sind. Fernbedienung geht ja trotzdem. In diesem Blockly habe ich noch die Fernbedienung mit eingebaut, damit auch hier das Licht mit an geht. Thema Licht, geht in diesem Blockly nur an, wenn es etwas dunkler draussen ist. (Wert ist von einem Bewegungsmelder mit Lichtsensor draussen im Garten). Kann man ja löschen, wenn man es nicht braucht.)
                                    >! Sieht dann so aus.
                                     ![3822_blockly.jpg](/assets/uploads/files/3822_blockly.jpg) 
                                     ![3822_blockly2.jpg](/assets/uploads/files/3822_blockly2.jpg) 
                                    >! Zum Schluss dann noch neue Geräte in der Alexa App suchen lassen und neue Routinen erstellen. Da der Datenpunkt als Switch angelegt ist in der App dann eine Routine zum einschalten und eine ausschalten.
                                     ![3822_einschalten.jpg](/assets/uploads/files/3822_einschalten.jpg) 
                                     ![3822_ausschalten.jpg](/assets/uploads/files/3822_ausschalten.jpg) 
                                     ![3822_routinen_alexa_app.jpg](/assets/uploads/files/3822_routinen_alexa_app.jpg) 
                                    >! Ich hoffe ich habe nix vergessen............
                                    >! [/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
                                    ```
                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      maverickmu last edited by

                                      Vielen Dank für deine ausführlichen Blockly und Beschreibungen, für uns lausige Anfänger ist das TOP.

                                      Welchen Bewegungsmelder nutzt du denn mit Helligkeitssensor?

                                      Irgendwelche Empfehlungen? Besten Dank

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

                                        @maverickmu:

                                        Vielen Dank für deine ausführlichen Blockly und Beschreibungen, für uns lausige Anfänger ist das TOP.

                                        Welchen Bewegungsmelder nutzt du denn mit Helligkeitssensor?

                                        Irgendwelche Empfehlungen? Besten Dank ` Ich nutze einen Homematic IP Bewegungsmelder.

                                        Nochmal zum Blockly. Das habe ich mir nochmal deutlich vereinfacht und nun alles in einem Script mit nur einem Datenpunkt bzw Trigger. Stelle ich Dir dann hier nochmal zur Verfügung wenn Du willst.

                                        In diesem Beispiel wird z.B. die activitie Fernsehen (Harmony Hub) eingeschaltet und 4 Lampen dazu eingeschaltet. Wenn es draussen noch hell genug ist werden die 4 Lampen langsam runter gedimmt und ausgeschaltet. Ist es fast dunkel bleiben die Lampen an.

                                        Beim ausschalten lasse ich alle Lampen nochmal kurz anschalten und dann gleichzeitig langsam runter dimmen bis es aus geht.

                                        Funktioniert dann über diese Variante mit Alexa und der Fernbedienung.

                                        Blockly Export

                                        ! ````
                                        <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="55@yN/Bd.4.Zl:.QX]zj" x="-1463" y="-713"><mutation items="1"></mutation>
                                        <field name="CONDITION">any</field>

                                        <value name="OID0"><shadow type="field_oid" id="W^r22S90au(LBao+qr~s"><field name="oid">harmony.0.Wohnzimmer.activities.currentActivity</field></shadow></value> 
                                        <statement name="STATEMENT"><block type="controls_if" id="BHRn[yZNyldRzla7iWi7"><mutation elseif="1"></mutation>
                                            <value name="IF0"><block type="logic_operation" id="h%Dxc4+M54+:Y,ZSS!*K" inline="false"><field name="OP">OR</field>
                                                <value name="A"><block type="logic_operation" id="zurUC)rk{`P`7/7dxFyR" inline="false"><field name="OP">OR</field>
                                                    <value name="A"><block type="logic_operation" id="2`[;wc8`kHJlgt/2Za[i" inline="false"><field name="OP">OR</field>
                                                        <value name="A"><block type="logic_compare" id="xj!*G`B.;)@@I^.VIQr!"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="PinJXaZljMe?g,F|^]E{"><field name="ATTR">val</field>
                                                                <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> 
                                                            <value name="B"><block type="text" id="51kxO(lGG8,.N0A6^@Rv"><field name="TEXT">BluRay</field></block></value></block></value> 
                                                        <value name="B"><block type="logic_compare" id="4@@0H/HRU6sfS9G*W^}E"><field name="OP">EQ</field>
                                                            <value name="A"><block type="get_value" id="j[Q[;G#%(tu4KA~[x7r%"><field name="ATTR">val</field>
                                                                <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> 
                                                            <value name="B"><block type="text" id="3P5#TeYK[-xPSz3cV^aF"><field name="TEXT">Fernsehen</field></block></value></block></value></block></value> 
                                                    <value name="B"><block type="logic_compare" id="Fb5kAxo|eKv)P]|S72RS"><field name="OP">EQ</field>
                                                        <value name="A"><block type="get_value" id="_0Ayg286*}@iK@@WN%dk"><field name="ATTR">val</field>
                                                            <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> 
                                                        <value name="B"><block type="text" id="woz(;%so1[)7d60NAqQX"><field name="TEXT">Kino</field></block></value></block></value></block></value> 
                                                <value name="B"><block type="logic_operation" id="Gh`=0F4U%hf~~l7er{(;" inline="false"><field name="OP">OR</field>
                                                    <value name="A"><block type="logic_compare" id="|uMJ#1pX=_4[jy(5qyaE"><field name="OP">EQ</field>
                                                        <value name="A"><block type="get_value" id="m)G%c1yy6skVfbi9F74q"><field name="ATTR">val</field>
                                                            <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> 
                                                        <value name="B"><block type="text" id="#kMhr(+(Mk+A@v9rU]^_"><field name="TEXT">Musik</field></block></value></block></value> 
                                                    <value name="B"><block type="logic_compare" id="z[/k,V7bq~gnLCkdvD9y"><field name="OP">EQ</field>
                                                        <value name="A"><block type="get_value" id="|8pT+HunZKa+,BjpF7x1"><field name="ATTR">val</field>
                                                            <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> 
                                                        <value name="B"><block type="text" id="k04791`EPUsVdtW?tvkM"><field name="TEXT">Musik mit Verstaerker</field></block></value></block></value></block></value></block></value> 
                                            <statement name="DO0"><block type="comment" id="]ihiXM{AQ1n4Zd@JWyzJ"><field name="COMMENT">TV System an</field>
                                                <next><block type="control" id="*M]#SFj-0gE[Q}k9M(l~"><mutation delay_input="false"></mutation>
                                                    <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="text" id="w8Q^kn0`oY}}^i,=!cIy"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> 
                                                    <next><block type="control" id="-6jM*M75?XM{5+2/5h|F"><mutation delay_input="false"></mutation>
                                                        <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE"><block type="text" id="/0QMpv*(8@RA2ga43kNj"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> 
                                                        <next><block type="control" id="QI.sI|sL5+1]S=g~G:-n"><mutation delay_input="false"></mutation>
                                                            <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="text" id="Uh+t..^C2@N_cLtZjx8m"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> 
                                                            <next><block type="control" id="wPHLZaP[(AXjY+p/ks.,"><mutation delay_input="false"></mutation>
                                                                <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="text" id="hz@4Qy1hsL:dc@7fz-^D"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> 
                                                                <next><block type="timeouts_settimeout" id="9}K1iD.IuUq[0v`r`)(d"><field name="NAME">timeout2</field>
                                                                    <field name="DELAY">5</field>
                                                                    <field name="UNIT">sec</field>
                                                                    <statement name="STATEMENT"><block type="controls_if" id="@2oGEG@cl2vPv0e+Nsnu"><value name="IF0"><block type="logic_compare" id="0[5bk{tnjNZdIYRCeW%!"><field name="OP">GTE</field>
                                                                            <value name="A"><block type="get_value" id="(3bh%:b04Ay##=#`-Q`="><field name="ATTR">val</field>
                                                                                <field name="OID">hm-rpc.0.000BD5699D50BB.1.ILLUMINATION</field></block></value> 
                                                                            <value name="B"><block type="math_number" id="pTgYfGx*?Q;@a`U((IO?"><field name="NUM">325</field></block></value></block></value> 
                                                                        <statement name="DO0"><block type="control" id="Qg**c3=*R4mFm;!=dR61"><mutation delay_input="false"></mutation>
                                                                            <field name="OID">hue.0.HueBridge.Wohnzimmer.command</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE"><block type="text" id="781zFJxu6A`x4]fKs_@8"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement> 
                                            <value name="IF1"><block type="logic_compare" id="mZ(e!y%u;zBr`EDNt^eA"><field name="OP">EQ</field>
                                                <value name="A"><block type="get_value" id="ee4@`gm#qB1`kCGgN5kS"><field name="ATTR">val</field>
                                                    <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> 
                                                <value name="B"><block type="text" id="2`knFCf/j_/RI`idAwYS"><field name="TEXT">PowerOff</field></block></value></block></value> 
                                            <statement name="DO1"><block type="comment" id="C!d.+KxPoVc}6PEb?lc5"><field name="COMMENT">TV System aus</field>
                                                <next><block type="control" id="5NW?MelU:lm#u;7+/y@o"><mutation delay_input="false"></mutation>
                                                    <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="text" id="B0oAEC6VWkuF(MOgz5%k"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> 
                                                    <next><block type="control" id="ESG35IA9ly_DLj-Z,sU%"><mutation delay_input="false"></mutation>
                                                        <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field>
                                                        <field name="WITH_DELAY">FALSE</field>
                                                        <value name="VALUE"><block type="text" id="6R8IzJ{op;_6K|!.*m+Z"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> 
                                                        <next><block type="control" id="{/_0wt!fj4Au:%WOizeh"><mutation delay_input="false"></mutation>
                                                            <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field>
                                                            <field name="WITH_DELAY">FALSE</field>
                                                            <value name="VALUE"><block type="text" id="R_unlu-BXF+}f_5D-H99"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> 
                                                            <next><block type="control" id="GMz|Wd~Du0B1{.SC+N#%"><mutation delay_input="false"></mutation>
                                                                <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field>
                                                                <field name="WITH_DELAY">FALSE</field>
                                                                <value name="VALUE"><block type="text" id="9icEJ4,c(|i~/?qb}UzR"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> 
                                                                <next><block type="timeouts_settimeout" id="O7soMdFm1cRHdi6T=E|W"><field name="NAME">timeout</field>
                                                                    <field name="DELAY">1</field>
                                                                    <field name="UNIT">sec</field>
                                                                    <statement name="STATEMENT"><block type="control" id="`iYsh+k5FEf#Ms@d99Y("><mutation delay_input="false"></mutation>
                                                                        <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field>
                                                                        <field name="WITH_DELAY">FALSE</field>
                                                                        <value name="VALUE"><block type="text" id="70gqv-YoRf_F0cH@)?}I"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value> 
                                                                        <next><block type="control" id="!/?03pV_t`2d;CoL=g*2"><mutation delay_input="false"></mutation>
                                                                            <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field>
                                                                            <field name="WITH_DELAY">FALSE</field>
                                                                            <value name="VALUE"><block type="text" id="8cQWrM+t(qB}V~9W})O*"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value> 
                                                                            <next><block type="control" id="uSf,-cjj0RWH^tAT}@lo"><mutation delay_input="false"></mutation>
                                                                                <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field>
                                                                                <field name="WITH_DELAY">FALSE</field>
                                                                                <value name="VALUE"><block type="text" id="2RT^y;I#)yn_4ccMW)_Q"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value> 
                                                                                <next><block type="control" id="iqTSvh]]_KBO+;=ku%;w"><mutation delay_input="false"></mutation>
                                                                                    <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field>
                                                                                    <field name="WITH_DELAY">FALSE</field>
                                                                                    <value name="VALUE"><block type="text" id="Jb%eId72Bm)wU98,Thta"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></xml> 
                                        
                                        
                                        Sieht dann so aus…
                                         ![3822_bildschirmfoto_2018-10-06_um_08.30.10.png](/assets/uploads/files/3822_bildschirmfoto_2018-10-06_um_08.30.10.png) 
                                        Einfach die eigenen activities in den CloudAdapter einfügen und im Blockly so benennen wie die eigenen.![](https://uploads.tapatalk-cdn.com/20181005/c333cf731ba1f7f5dd508f1d93a9cc94.jpg)~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201810 ... a9cc94.jpg">https://uploads.tapatalk-cdn.com/20181005/c333cf731ba1f7f5dd508f1d93a9cc94.jpg</link_text>" />![](https://uploads.tapatalk-cdn.com/20181005/020f3e6cee18f81b4ac66faaa7f899f0.jpg)~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201810 ... f899f0.jpg">https://uploads.tapatalk-cdn.com/20181005/020f3e6cee18f81b4ac66faaa7f899f0.jpg</link_text>" />~~~~
                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        531
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        6
                                        53
                                        6706
                                        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