Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. raller09

    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

    R
    • Profile
    • Following 0
    • Followers 0
    • Topics 5
    • Posts 14
    • Best 1
    • Groups 1

    raller09

    @raller09

    1
    Reputation
    15
    Profile views
    14
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    raller09 Follow
    Starter

    Best posts made by raller09

    • RE: Test Adapter device-reminder v0.x

      Moin,

      der Adapter scheint soweit bei mir zu funktionieren. Muss jetzt erstmal waschen/trocknen, damit ich prüfen kann, dass die Meldungen korrekt sind... 😉

      Ich habe aber noch 2 Probleme bei der Ausgabe festgestellt:

      telegram meldet "unknown user". Es wird anscheinend "first name" in der Konfigurations-Maske angezeigt + als Ausgabe-Benutzer gesendet.

      folgender Wert ist bei mir gesetzt
      telegram.0.communicate.users = {"Id-Nr":{"firstName":"Ralf","userName":"raller09"}}
      In deinem Adapter wird "Ralf" angezeigt

      Mein Telegram-Adapter stand auf "Username anstatt Vorname vom Benutzer speichern"

      Dadurch bekomme ich bei einem telegram-sendTo ein "user unknown"
      Wenn ich den oben genannten Parameter ausschalte, dann funktioniert es. Ich weiß nicht, ob das an mir liegt oder ob da ggf. ein anderer Wert geschickt werden muss...

      bei meinen alexas sind alle Datenpunkte
      alexa2.0.x.Commands.speak-volume
      leer/null.

      Dadurch kommt weiterhin der "val of null" Fehler.
      Ich habe noch nie alexa etwas sagen lassen + auch noch nie die Lautstärke über iobroker gesetzt.

      Vielleicht solltest du die Lautstärke nur setzen, wenn dort eine Zahl steht... sonst einfach nicht verändern?

      Vielen Dank für deine Arbeit!

      posted in Tester
      R
      raller09

    Latest posts made by raller09

    • RE: [gelöst] Trigger mit Elementen aus Liste nimmt 1 Element

      Moin,

      es funktionieren beide Lösungen.
      Manchmal ist es so einfach (+ "globale" Variablen sind die Hölle...).

      Danke.

      posted in Blockly
      R
      raller09
    • [gelöst] Trigger mit Elementen aus Liste nimmt 1 Element

      Moin,

      ich nutze einige shellys als zeitgesteuerte Dimmer für Flure. Das habe ich mit einem blockly-Skript umgesetzt und funktioniert auch genau so, wie ich es mir vorstelle... (mit Datenpunkten, Zeitplänen + Triggern schon ein wenig aufwendiger... mit der Event-Gesteuerte Programmierung muss ich ein wenig umdenken...)

      Ich hab aber noch ein Problem mit der Auswahl der Geräte. Ich möchte die nur einmal benennen + hab mir dafür eine Liste erstellt.

      Das funktioniert innerhalb eines Triggers zum Setzen der einzelnen Werte.
      Es funktioniert aber nicht, um damit je DImmer einen Trigger zu erstellen....

      Ich hab das hier mal als Test-Skript zusammengestellt:

      Bildschirmfoto 2020-11-29 um 22.06.18.png

      29.11.2020, 22:38:43.170	[info ]: javascript.0 (1389) Stop script script.js.Test.ListeTriggerFunktion
      29.11.2020, 22:38:43.183	[info ]: javascript.0 (1389) Start javascript script.js.Test.ListeTriggerFunktion
      29.11.2020, 22:38:43.248	[info ]: javascript.0 (1389) script.js.Test.ListeTriggerFunktion: shelly.0.SHRGBW2#661EDD#1.online
      29.11.2020, 22:38:43.255	[info ]: javascript.0 (1389) script.js.Test.ListeTriggerFunktion: shelly.0.SHRGBW2#661F1C#1.online
      29.11.2020, 22:38:43.256	[info ]: javascript.0 (1389) script.js.Test.ListeTriggerFunktion: shelly.0.SHRGBW2#FCA00D#1.online
      29.11.2020, 22:38:43.257	[info ]: javascript.0 (1389) script.js.Test.ListeTriggerFunktion: registered 3 subscriptions and 0 schedules
      29.11.2020, 22:39:15.750	[info ]: javascript.0 (1389) script.js.Test.ListeTriggerFunktion: shelly.0.SHRGBW2#FCA00D#1: false
      29.11.2020, 22:39:15.919	[info ]: javascript.0 (1389) script.js.Test.ListeTriggerFunktion: shelly.0.SHRGBW2#FCA00D#1: false
      

      Im Log werden beim Start des Skriptes alle 3 shellys aufgeführt. Wenn ich dann aber 2 einschalte (hängen am selben Schalter), dann wird innerhalb des Triggers jeweils nur das erste Element der Liste genutzt.

      (in der deaktivierten Funktion hab ich die 3 noch mal einzeln angeführt. Damit funktioniert es...)

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="?#Z#jLem#phVVSnUw-:$">ListeDimmer</variable>
          <variable id="`oOf4xp@{7tb!OP.WQPa">xShellyDecke</variable>
          <variable id="s7P7duu~8~ZBu5zEuYKa">aktuellerDimmer</variable>
        </variables>
        <block type="variables_set" id="/]jhT7Fui2k(=0m3xZ^A" x="-713" y="-787">
          <field name="VAR" id="?#Z#jLem#phVVSnUw-:$">ListeDimmer</field>
          <value name="VALUE">
            <block type="lists_create_with" id="z6I@t;n{ak[n-Bj:2Q(`">
              <mutation items="3"></mutation>
              <value name="ADD0">
                <block type="field_oid" id="m-gTb)B8/cmVo*1:R(b8">
                  <field name="oid">shelly.0.SHRGBW2#661EDD#1.online</field>
                </block>
              </value>
              <value name="ADD1">
                <block type="field_oid" id="?Bf(|gG/W}3r-{GO$j_T">
                  <field name="oid">shelly.0.SHRGBW2#661F1C#1.online</field>
                </block>
              </value>
              <value name="ADD2">
                <block type="field_oid" id="NS3jo=@~4.73{a/]|M}Q">
                  <field name="oid">shelly.0.SHRGBW2#FCA00D#1.online</field>
                </block>
              </value>
            </block>
          </value>
          <next>
            <block type="controls_forEach" id="v%pfGA%Ov-l).8emF+*`">
              <field name="VAR" id="s7P7duu~8~ZBu5zEuYKa">aktuellerDimmer</field>
              <value name="LIST">
                <block type="variables_get" id="h-FY1C;,3ORl;-+hkc%6">
                  <field name="VAR" id="?#Z#jLem#phVVSnUw-:$">ListeDimmer</field>
                </block>
              </value>
              <statement name="DO">
                <block type="debug" id="!oK1S2g3I4onHWKxxx[v">
                  <field name="Severity">log</field>
                  <value name="TEXT">
                    <shadow type="text">
                      <field name="TEXT"></field>
                    </shadow>
                    <block type="variables_get" id="!/lHXX[^w%!,@WnxuZ*(">
                      <field name="VAR" id="s7P7duu~8~ZBu5zEuYKa">aktuellerDimmer</field>
                    </block>
                  </value>
                  <next>
                    <block type="on_ext" id="@-Glx7IY$qN8NkonI+c)">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <value name="OID0">
                        <shadow type="field_oid">
                          <field name="oid">default</field>
                        </shadow>
                        <block type="variables_get" id="#/f$wxNQerM*SG3`ivA+">
                          <field name="VAR" id="s7P7duu~8~ZBu5zEuYKa">aktuellerDimmer</field>
                        </block>
                      </value>
                      <statement name="STATEMENT">
                        <block type="procedures_callnoreturn" id="JL9vj=Qt#TYcBE~2NWl@">
                          <mutation name="schalteDimmer">
                            <arg name="xShellyDecke"></arg>
                          </mutation>
                          <value name="ARG0">
                            <block type="text_getSubstring" id="x{S72_[6CAM({N%@;tK:">
                              <mutation at1="false" at2="true"></mutation>
                              <field name="WHERE1">FIRST</field>
                              <field name="WHERE2">FROM_START</field>
                              <value name="STRING">
                                <block type="variables_get" id="|e/vv(lr$C-{sJ{i(7d%">
                                  <field name="VAR" id="s7P7duu~8~ZBu5zEuYKa">aktuellerDimmer</field>
                                </block>
                              </value>
                              <value name="AT2">
                                <block type="math_arithmetic" id="p2AUFg[4F(A5SBbmQ(gf">
                                  <field name="OP">MINUS</field>
                                  <value name="A">
                                    <shadow type="math_number">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="text_indexOf" id="$s.cw1JF}aP[tUK7~iO3">
                                      <field name="END">LAST</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="admCAd~4qruWh6zolP|s">
                                          <field name="VAR" id="s7P7duu~8~ZBu5zEuYKa">aktuellerDimmer</field>
                                        </block>
                                      </value>
                                      <value name="FIND">
                                        <shadow type="text" id="g3buHt,-+OR7bNKw}hIa">
                                          <field name="TEXT">.</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="n8`HreD*#Vx2h5*HVu}o">
                                      <field name="NUM">1</field>
                                    </shadow>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </next>
                </block>
              </statement>
              <next>
                <block type="on_ext" id="ZQ8CEvOwZ7)N$D_R^Giu" disabled="true">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="3"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid">
                      <field name="oid">default</field>
                    </shadow>
                    <block type="field_oid" id="wzLU@mS-g*q{2r%vo5!m">
                      <field name="oid">shelly.0.SHRGBW2#661EDD#1.online</field>
                    </block>
                  </value>
                  <value name="OID1">
                    <shadow type="field_oid">
                      <field name="oid">default</field>
                    </shadow>
                    <block type="field_oid" id="-5~Gat^[Zu:A/|Ie/m=2">
                      <field name="oid">shelly.0.SHRGBW2#661F1C#1.online</field>
                    </block>
                  </value>
                  <value name="OID2">
                    <shadow type="field_oid">
                      <field name="oid">default</field>
                    </shadow>
                    <block type="field_oid" id="QL#M]9!UT8]9u`V%`YHV">
                      <field name="oid">shelly.0.SHRGBW2#FCA00D#1.online</field>
                    </block>
                  </value>
                  <statement name="STATEMENT">
                    <block type="procedures_callnoreturn" id="/Z9xoXms}Ryw?gsI1%@p">
                      <mutation name="schalteDimmer">
                        <arg name="xShellyDecke"></arg>
                      </mutation>
                      <value name="ARG0">
                        <block type="text_getSubstring" id="(je$VL@;A)E:J.=)Q`Lm">
                          <mutation at1="false" at2="true"></mutation>
                          <field name="WHERE1">FIRST</field>
                          <field name="WHERE2">FROM_START</field>
                          <value name="STRING">
                            <block type="on_source" id="hN#sZpy?MYcdw-St~t,J">
                              <field name="ATTR">id</field>
                            </block>
                          </value>
                          <value name="AT2">
                            <block type="math_arithmetic" id="4j`L##z3~}70k4Ol]ysf">
                              <field name="OP">MINUS</field>
                              <value name="A">
                                <shadow type="math_number">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="text_indexOf" id="%Ic|r]22?^J{wIoa{MZu">
                                  <field name="END">LAST</field>
                                  <value name="VALUE">
                                    <block type="on_source" id="_6QSE?q[@?Q=bC)3k1w,">
                                      <field name="ATTR">id</field>
                                    </block>
                                  </value>
                                  <value name="FIND">
                                    <shadow type="text" id="]MbeHz=l$N_v`O#q.+Rn">
                                      <field name="TEXT">.</field>
                                    </shadow>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="NbD?5Lm-E%PJ@f[.uY]^">
                                  <field name="NUM">1</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </next>
        </block>
        <block type="procedures_defnoreturn" id="14nc.?vsppfuM7!vEu!x" x="-688" y="-138">
          <mutation>
            <arg name="xShellyDecke" varid="`oOf4xp@{7tb!OP.WQPa"></arg>
          </mutation>
          <field name="NAME">schalteDimmer</field>
          <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
          <statement name="STACK">
            <block type="debug" id="cZRu9%`q|rllOp+Eg~s|">
              <field name="Severity">log</field>
              <value name="TEXT">
                <shadow type="text">
                  <field name="TEXT"></field>
                </shadow>
                <block type="text_join" id=":A2@$LAJJy-(O=,3Pz!n">
                  <mutation items="3"></mutation>
                  <value name="ADD0">
                    <block type="variables_get" id="gqp.S}ASo_ptG*K8z1M#">
                      <field name="VAR" id="`oOf4xp@{7tb!OP.WQPa">xShellyDecke</field>
                    </block>
                  </value>
                  <value name="ADD1">
                    <block type="text" id="..1$m]!svAW}5zM7J[WZ">
                      <field name="TEXT">: </field>
                    </block>
                  </value>
                  <value name="ADD2">
                    <block type="get_value_var" id="2w?P.[mi25A:s-7@s_oi">
                      <field name="ATTR">val</field>
                      <value name="OID">
                        <shadow type="text">
                          <field name="TEXT"></field>
                        </shadow>
                        <block type="text_join" id="9=x;sVUr]_H0ZUpQ2=+W">
                          <mutation items="2"></mutation>
                          <value name="ADD0">
                            <block type="variables_get" id="i_KN$+0L9,g5uRvNi3?7">
                              <field name="VAR" id="`oOf4xp@{7tb!OP.WQPa">xShellyDecke</field>
                            </block>
                          </value>
                          <value name="ADD1">
                            <block type="text" id="h,maXB3|Yf3E/88Y5=)r">
                              <field name="TEXT">.online</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
            </block>
          </statement>
        </block>
      </xml>
      

      Was mache ich hier falsch?

      Für mich sieht das javaskript eigentlich richtig aus:

      var ListeDimmer, xShellyDecke, aktuellerDimmer;
      
      // Beschreibe diese Funktion …
      async function schalteDimmer(xShellyDecke) {
        console.log(([xShellyDecke,': ',getState((String(xShellyDecke) + '.online')).val].join('')));
      }
      
      
      ListeDimmer = ['shelly.0.SHRGBW2#661EDD#1.online', 'shelly.0.SHRGBW2#661F1C#1.online', 'shelly.0.SHRGBW2#FCA00D#1.online'];
      for (var aktuellerDimmer_index in ListeDimmer) {
        aktuellerDimmer = ListeDimmer[aktuellerDimmer_index];
        console.log(aktuellerDimmer);
        on({id: aktuellerDimmer, change: "ne"}, async function (obj) {
          var value = obj.state.val;
          var oldValue = obj.oldState.val;
          await schalteDimmer(aktuellerDimmer.slice(0, (aktuellerDimmer.lastIndexOf('.') + 1) - 1));
        });
      }
      
      //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTNGJTIzWiUyM2pMZW0lMjNwaFZWU25Vdy0lM0ElMjQlMjIlM0VMaXN0ZURpbW1lciUzQyUyRnZhcmlhYmxlJTNFJTNDdmFyaWFibGUlMjBpZCUzRCUyMiU2MG9PZjR4cCU0MCU3Qjd0YiFPUC5XUVBhJTIyJTNFeFNoZWxseURlY2tlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyczdQN2R1dX44flpCdTV6RXVZS2ElMjIlM0Vha3R1ZWxsZXJEaW1tZXIlM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyRiU1RGpoVDdGdWkyayglM0QwbTN4WiU1RUElMjIlMjB4JTNEJTIyLTcxMyUyMiUyMHklM0QlMjItNzg3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0YlMjNaJTIzakxlbSUyM3BoVlZTblV3LSUzQSUyNCUyMiUzRUxpc3RlRGltbWVyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2NyZWF0ZV93aXRoJTIyJTIwaWQlM0QlMjJ6NkklNDB0JTNCbiU3QmFrJTVCbi1CaiUzQTJRKCU2MCUyMiUzRSUzQ211dGF0aW9uJTIwaXRlbXMlM0QlMjIzJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJtLWdUYilCOCUyRmNtVm8qMSUzQVIoYjglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VzaGVsbHkuMC5TSFJHQlcyJTIzNjYxRUREJTIzMS5vbmxpbmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIlM0ZCZiglN0NnRyUyRlclN0Qzci0lN0JHTyUyNGpfVCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRXNoZWxseS4wLlNIUkdCVzIlMjM2NjFGMUMlMjMxLm9ubGluZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMk5TM2pvJTNEJTQwfjQuNzMlN0JhJTJGJTVEJTdDTSU3RFElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VzaGVsbHkuMC5TSFJHQlcyJTIzRkNBMDBEJTIzMS5vbmxpbmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvckVhY2glMjIlMjBpZCUzRCUyMnYlMjVwZkdBJTI1T3YtbCkuOGVtRiUyQiolNjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnM3UDdkdXV+OH5aQnU1ekV1WUthJTIyJTNFYWt0dWVsbGVyRGltbWVyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyaC1GWTFDJTNCJTJDM09SbCUzQi0lMkJoa2MlMjU2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjIlM0YlMjNaJTIzakxlbSUyM3BoVlZTblV3LSUzQSUyNCUyMiUzRUxpc3RlRGltbWVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiFvSzFTMmczSTRvbkhXS3h4eCU1QnYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyISUyRmxIWFglNUIlNUV3JTI1ISUyQyU0MFdueHVaKiglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnM3UDdkdXV+OH5aQnU1ekV1WUthJTIyJTNFYWt0dWVsbGVyRGltbWVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTQwLUdseDdJWSUyNHFOOE5rb25JJTJCYyklMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWRlZmF1bHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMiUyMyUyRmYlMjR3eE5RZXJNKlNHMyU2MGl2QSUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyczdQN2R1dX44flpCdTV6RXVZS2ElMjIlM0Vha3R1ZWxsZXJEaW1tZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsbm9yZXR1cm4lMjIlMjBpZCUzRCUyMkpMOXZqJTNEUXQlMjNUWWNCRX4yTldsJTQwJTIyJTNFJTNDbXV0YXRpb24lMjBuYW1lJTNEJTIyc2NoYWx0ZURpbW1lciUyMiUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJ4U2hlbGx5RGVja2UlMjIlM0UlM0MlMkZhcmclM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFSRzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2dldFN1YnN0cmluZyUyMiUyMGlkJTNEJTIyeCU3QlM3Ml8lNUI2Q0FNKCU3Qk4lMjUlNDAlM0J0SyUzQSUyMiUzRSUzQ211dGF0aW9uJTIwYXQxJTNEJTIyZmFsc2UlMjIlMjBhdDIlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRTElMjIlM0VGSVJTVCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0hFUkUyJTIyJTNFRlJPTV9TVEFSVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyU1RSSU5HJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTdDZSUyRnZ2KGxyJTI0Qy0lN0JzSiU3QmkoN2QlMjUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnM3UDdkdXV+OH5aQnU1ekV1WUthJTIyJTNFYWt0dWVsbGVyRGltbWVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjJwMkFVRmclNUI0RihBNVNCYm1RKGdmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VNSU5VUyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHRfaW5kZXhPZiUyMiUyMGlkJTNEJTIyJTI0cy5jdzFKRiU3RGFQJTVCdFVLN35pTzMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJFTkQlMjIlM0VMQVNUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmFkbUNBZH40cXJ1V2g2em9sUCU3Q3MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnM3UDdkdXV+OH5aQnU1ekV1WUthJTIyJTNFYWt0dWVsbGVyRGltbWVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyRklORCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJnM2J1SHQlMkMtJTJCT1I3Yk5LdyU3RGhJYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJuOCU2MEhyZUQqJTIzVngyaDUqSFZ1JTdEbyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyWlE4Q0V2T3daNylOJTI0RF9SJTVFR2l1JTIyJTIwZGlzYWJsZWQlM0QlMjJ0cnVlJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIzJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWZhdWx0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnd6TFUlNDBtUy1nKnElN0IyciUyNXZvNSFtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFc2hlbGx5LjAuU0hSR0JXMiUyMzY2MUVERCUyMzEub25saW5lJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWZhdWx0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMi01fkdhdCU1RSU1Qlp1JTNBQSUyRiU3Q0llJTJGbSUzRDIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VzaGVsbHkuMC5TSFJHQlcyJTIzNjYxRjFDJTIzMS5vbmxpbmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQyJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWRlZmF1bHQlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyUUwlMjNNJTVEOSFVVDglNUQ5dSU2MFYlMjUlNjBZSFYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VzaGVsbHkuMC5TSFJHQlcyJTIzRkNBMDBEJTIzMS5vbmxpbmUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19jYWxsbm9yZXR1cm4lMjIlMjBpZCUzRCUyMiUyRlo5eG9YbXMlN0RSeXclM0Znc0kxJTI1JTQwcCUyMiUzRSUzQ211dGF0aW9uJTIwbmFtZSUzRCUyMnNjaGFsdGVEaW1tZXIlMjIlM0UlM0NhcmclMjBuYW1lJTNEJTIyeFNoZWxseURlY2tlJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBUkcwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9nZXRTdWJzdHJpbmclMjIlMjBpZCUzRCUyMihqZSUyNFZMJTQwJTNCQSlFJTNBSi4lM0QpUSU2MExtJTIyJTNFJTNDbXV0YXRpb24lMjBhdDElM0QlMjJmYWxzZSUyMiUyMGF0MiUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFMSUyMiUzRUZJUlNUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRTIlMjIlM0VGUk9NX1NUQVJUJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJTVFJJTkclMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMmhOJTIzc1pweSUzRk1ZY2R3LVN0fnQlMkNKJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRWlkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9hcml0aG1ldGljJTIyJTIwaWQlM0QlMjI0aiU2MEwlMjMlMjN6M34lN0Q3MGs0T2wlNUR5c2YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRU1JTlVTJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9pbmRleE9mJTIyJTIwaWQlM0QlMjIlMjVJYyU3Q3IlNUQyMiUzRiU1RUolN0J3SW9hJTdCTVp1JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyRU5EJTIyJTNFTEFTVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMl82UVNFJTNGcSU1QiU0MCUzRlElM0RiQykzazF3JTJDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRWlkJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyRklORCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlNURNYmVIeiUzRGwlMjROX3YlNjBPJTIzcS4lMkJSbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJOYkQlM0Y1TG0tRSUyNVBKJTQwZiU1Qi51WSU1RCU1RSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIycHJvY2VkdXJlc19kZWZub3JldHVybiUyMiUyMGlkJTNEJTIyMTRuYy4lM0Z2c3BwZnVNNyF2RXUheCUyMiUyMHglM0QlMjItNjg4JTIyJTIweSUzRCUyMi0xMzglMjIlM0UlM0NtdXRhdGlvbiUzRSUzQ2FyZyUyMG5hbWUlM0QlMjJ4U2hlbGx5RGVja2UlMjIlMjB2YXJpZCUzRCUyMiU2MG9PZjR4cCU0MCU3Qjd0YiFPUC5XUVBhJTIyJTNFJTNDJTJGYXJnJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFc2NoYWx0ZURpbW1lciUzQyUyRmZpZWxkJTNFJTNDY29tbWVudCUyMHBpbm5lZCUzRCUyMmZhbHNlJTIyJTIwaCUzRCUyMjgwJTIyJTIwdyUzRCUyMjE2MCUyMiUzRUJlc2NocmVpYmUlMjBkaWVzZSUyMEZ1bmt0aW9uJTIwJUUyJTgwJUE2JTNDJTJGY29tbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFDSyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJjWlJ1OSUyNSU2MHElN0NybGxPcCUyQkVnfnMlN0MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjIlM0FBMiU0MCUyNExBSkp5LShPJTNEJTJDM1B6IW4lMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMyUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmdxcC5TJTdEQVNvX3B0RypLOHoxTSUyMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyJTYwb09mNHhwJTQwJTdCN3RiIU9QLldRUGElMjIlM0V4U2hlbGx5RGVja2UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyLi4xJTI0bSU1RCFzdkFXJTdENXpNN0olNUJXWiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0ElMjAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQyJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyMnclM0ZQLiU1Qm1pMjVBJTNBcy03JTQwc19vaSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dF9qb2luJTIyJTIwaWQlM0QlMjI5JTNEeCUzQnNWVXIlNURfSDBaVXBRMiUzRCUyQlclMjIlM0UlM0NtdXRhdGlvbiUyMGl0ZW1zJTNEJTIyMiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmlfS04lMjQlMkIwTDklMkNnNXVSdk5pMyUzRjclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU2MG9PZjR4cCU0MCU3Qjd0YiFPUC5XUVBhJTIyJTNFeFNoZWxseURlY2tlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQUREMSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMmglMkNtYVhCMyU3Q1lmM0UlMkY4OFk1JTNEKXIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFLm9ubGluZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
      

      vielen Dank

      posted in Blockly
      R
      raller09
    • RE: Test Adapter device-reminder v0.x

      @Xenon getestet + funktioniert.
      alexa2.0.Echo-Devices.x.Commands.speak-volume bleibt dann auf den eingestellten Wert aus dem Adapter.

      Hab ich selber noch nicht ausprobiert: funktioniert es, wenn man null/leer/keine Lautstärke im Adapter einstellt, dass das die aktuell vorhandene genutzt wird?

      Danke,

      posted in Tester
      R
      raller09
    • RE: Test Adapter device-reminder v0.x

      Moin,

      der Adapter scheint soweit bei mir zu funktionieren. Muss jetzt erstmal waschen/trocknen, damit ich prüfen kann, dass die Meldungen korrekt sind... 😉

      Ich habe aber noch 2 Probleme bei der Ausgabe festgestellt:

      telegram meldet "unknown user". Es wird anscheinend "first name" in der Konfigurations-Maske angezeigt + als Ausgabe-Benutzer gesendet.

      folgender Wert ist bei mir gesetzt
      telegram.0.communicate.users = {"Id-Nr":{"firstName":"Ralf","userName":"raller09"}}
      In deinem Adapter wird "Ralf" angezeigt

      Mein Telegram-Adapter stand auf "Username anstatt Vorname vom Benutzer speichern"

      Dadurch bekomme ich bei einem telegram-sendTo ein "user unknown"
      Wenn ich den oben genannten Parameter ausschalte, dann funktioniert es. Ich weiß nicht, ob das an mir liegt oder ob da ggf. ein anderer Wert geschickt werden muss...

      bei meinen alexas sind alle Datenpunkte
      alexa2.0.x.Commands.speak-volume
      leer/null.

      Dadurch kommt weiterhin der "val of null" Fehler.
      Ich habe noch nie alexa etwas sagen lassen + auch noch nie die Lautstärke über iobroker gesetzt.

      Vielleicht solltest du die Lautstärke nur setzen, wenn dort eine Zahl steht... sonst einfach nicht verändern?

      Vielen Dank für deine Arbeit!

      posted in Tester
      R
      raller09
    • RE: Unterschied Schalt-Satz für Licht zwischen Alexa-HUE-Verknüpfung und iobroker

      Moin,

      danke für eure Tips.

      @dslraser:

      PS:

      Im iot unter erweiterten Einstellungen könntest Du auch noch was einstellen.

      Verbinde Raum und Funktion mit und

      Platziere Funktionsname vorn den Haken setzen. `
      Den Schalter hatte ich noch nicht gefunden. Der scheint genau das zu sein, was ich suche… Danke!

      @dslraser:

      Ich habe in der Amazon App einen Raum Wohnzimmer. Dort habe ich den Echo vom Wohnzimmer und das Licht vom Wohnzimmer zugeordnet.

      Dann reicht Alexa, Licht an. `
      Hatte ich auch noch nicht gemacht + jetzt nachgeholt. Das hat bei mir erst nicht funktioniert. Ich habe dann zusätzlich in der iot-Instanz unter Smart Geräte für die HUEs den .bri Typ von "kein Typ" auf "LIGHT" geändert. Jetzt funktioniert es.

      Ich hatte das erst bei allen Eigenschaften der einzelnen Lampen gemacht, dan war das Verhalten "speziell" (z.B.: erst aus, dann rot…).

      Kann aber nicht sicher sagen, ob das damit zu tun hat bzw. ob das sinvoll oder notwendig ist...

      @dslraser:

      Gezielt für einzeln Lampen, z.B. SmartName Fernsehlicht, Alexa, Fernsehlicht an. Oder SmartName Fensterlampe, Alexa, Fensterlampe an.

      Oder für Farben, Alexa, Fenterlampe auf blau.(grün, rot usw…) `
      Einzelne Lampen sind bei mir aktuell nicht mehr in Alexa aufgeführt.

      Müsste ich die jetzt einzeln unter Smart Geräte hinzufügen oder sollen die vom iot nicht (automatisch) weitergegeben werden?

      Wird die iot Smart Geräte Liste weiterhin automatisch aktualisiert?

      @csamaggi:

      Das mit dem Raum und der Lampe ist schon ganz nett. @dslraser zum Thema mit dem furnktions und Raum Namen. Da habe ich mal eine Frage wie genau ist da der Ablauf? Was macht die dann bzw was muss ich da sagen zu IHR? `
      Denke: in der alexa app oder Webseite unter Geräte die entsprechenden Räume noch mal anlegen und die Zuordnung der Lampen durchführen. (So hab ich es gemacht). Das funktioniert dann wie oben geschrieben (bei mir erst mit noch nicht -> siehe oben)

      Danke.

      posted in Cloud Dienste
      R
      raller09
    • Unterschied Schalt-Satz für Licht zwischen Alexa-HUE-Verknüpfung und iobroker

      Moin,

      ich habe jetzt bei mir die Kopplung meinen HUE mit Alexa aufgehoben und HUE mit iobroker verbunden + alexa2.0 und den iot-Adapter eingerichtet.

      Das funktioniert auch soweit.

      Es ist jetzt leider so das wenn ich sage:

      Alexa, schalte das Licht im Wohnzimmer ein.

      Alexa, dimme das Licht im Wohnzimmer auf 60%.

      folgende Antwort kommt:

      Es gibt verschiedene Dinge mit dem Namen Licht Wohnzimmer. Welches möchtest du?

      Diese Art der Formulierung hat mit Alexa/HUE-Kopplung funktioniert.

      Gibt es eine Möglichkeit, Alexa zu fragen, welche Möglichkeiten es da gibt? Hab ein paar Fragen versucht und keine sinnvolle Antwort bekommen.

      Mit iobroker funktioniert:

      Alexa, schalte Wohnzimmer Licht ein.

      …

      Ist das bei euch auch so? Habt ihr mein Problem verstanden?

      Ich finde die natürlichere Sprechweise vom HUE-Skill echt einfacher (und besonders meine Frau... die ist sowieso leicht genervt, da Alexa sie nicht immer versteht... Frauen untereinander...).

      In der iot-Instanz wird der Raum "Wohnzimmer" und die Funktion "Licht" aufgeführt.

      Als Gerät ist der SmartName "Wohnzimmer Licht" aufgeführt.

      In der Alexa-App ist auch "WOHNZIMMER LICHT" aufgeführt.

      Die Anleitung https://github.com/ioBroker/ioBroker.io ... /README.md zu iot sagt:
      > The state names will be generated from function and room. E.g. all lights in the living room will be collected in the virtual device living room light. The user cannot change this name, because it is generated automatically. But if the enumeration name changes, this name will be changed too. (e.g. function "light" changed to "lights", so the living room light will be changed to living room lights)

      Ich könnte dort aber den Smartname ändern?

      Oder bei Alexa?

      Ich habe aktuell noch nichts manuell angepasst. Das würde ich erst nach eurer Antwort machen?

      Was kann ich machen, damit auch mit iobroker "einfacher/natürlicher" das Licht umgeschaltet werden kann?

      Vielen Dank

      raller09

      posted in Cloud Dienste
      R
      raller09
    • RE: $-Selector mit "functions=" liefert zu viele Kanäle

      Moin,

      ich habe bei mir den Enum-Namen nach der Lektüre zur Heizungs-Steuerung angepasst (weil das anscheinend dort zu Problemen führen kann), und die englischen "Spezial-Namen" durch ihre deutsche Übersetzung ersetzt (von rega neu einlesen lassen). Danach habe ich auch noch einmal den gesamten rpi neu gestartet.

      Daher muss ich jetzt "functions=Licht" benutzen.

      @paul53:

      ?? Bei mir funktioniert es so:

      const hmLicht = $('channel[state.id=*.STATE](functions=funcLight)');
      
      hmLicht.each(function(id, i) {
          log(id);
      });
      
      ```` `  
      

      Dein alter Aufruf mit "$('channelid=*.STATE')" hat nicht funktioniert.

      Dein neuer Aufruf mit "$('channelstate.id=*.STATE')" führt bei mir zu folgendem Ergebnis:

      Log
      
      22:39:58.013	[info]	javascript.0 Stop script script.js.common.test_functionsFilter
      22:39:58.024	[info]	javascript.0 Start javascript script.js.common.test_functionsFilter
      22:39:58.024	[info]	javascript.0 script.js.common.test_functionsFilter: registered 0 subscriptions and 0 schedules
      22:40:00.123	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:2.STATE
      22:40:00.123	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:3.STATE
      22:40:00.123	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:4.STATE
      22:40:00.123	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:5.STATE
      

      9678_bildschirmfoto_2018-11-28_um_22.47.39.png

      Er findet jetzt ja also das Gewerk "Licht" bei den virtuellen? Kanälen ? :2 - :5, obwohl ich das nur bei :3 eingetragen habe?

      @paul53:

      funcLight ist <u>einem</u> Kanal zugeordnet. `

      Das verstehe ich jetzt nicht. Was meinst du damit?

      @paul53:

      Welche Version des JS-Adapters ? `

      Script Engine - Installierte Version: 3.6.4

      Danke,

      raller09

      posted in Skripten / Logik
      R
      raller09
    • RE: $-Selector mit "functions=" liefert zu viele Kanäle

      @paul53:

      Und so ?

          $('channel[id=*.STATE](functions="funcLight")').each( function( id, i){
      
      ```` `  
      

      auch nichts.

      "[role=switch]" hatte ich dazu genommen, da sonst auch der Kanal? "Wohnzimmer.Zwischenstecker:2.STATE" mit gefunden wird. Dieser wird auch beim Umschalten von ":3" einen kurzen Moment auf den gleichen Wert mit geschaltet.

      9678_bildschirmfoto_2018-11-28_um_21.13.01.png

      @paul53:

      Stimmt die Schreibweise "funcLight" ? Das ist der Name des Gewerkes, entscheidend ist aber die ID "enum.functions.funcLight" ! `

      Ich denke, hier mal die "enum.functions":

      9678_bildschirmfoto_2018-11-28_um_21.11.38.png

      Danke,

      raller09

      posted in Skripten / Logik
      R
      raller09
    • RE: $-Selector mit "functions=" liefert zu viele Kanäle

      @paul53:

      funcLight ist einem Kanal zugeordenet. Deshalb versuche es mal mit

          $('channel[id=*.STATE](functions="funcLight")[role=switch]').each( function( id, i){
      
      ```` `  
      

      Damit wird bei mir nichts gefunden.

      Ich gestehe, das mir die Unterscheidung channel/state und Namensgebung in ioBroker noch nicht ganz klar ist.

      Danke,

      raller09

      posted in Skripten / Logik
      R
      raller09
    • $-Selector mit "functions=" liefert zu viele Kanäle

      Moin,

      ich versuche mich gerade auch am ioBroker. Komme so langsam etwas rein, auch wenn ich mich echt noch orientieren muss.

      Ich habe mich zuerst am "Licht zählen"-Skript versucht.

      Ich verstehe die Rückgabe des $-Selectors bei meinem Test-Homematic-Zwischenstecker nicht.

      Es werden auch die virtuellen? Kanäle 4+5 zurückgegeben, obwohl bei diesen "functions="funcLight" nicht gesetzt ist?

      Test-Skript mit entsprechender Log-Meldung:

      function testFunctionsFilter( obj) {
          $('state[id=*.STATE](functions="funcLight")[role=switch]').each( function( id, i){
              var status  = getState( id).val;
              var obj     = getObject( id);
      
              log( obj.common.name);
          });
      }
      
      function main() {
          setTimeout( function(){
              testFunctionsFilter( );
          }, 2000);
      }
      
      main();
      
      ---------
      
      Log
      18:50:55.080	[info]	javascript.0 Stop script script.js.common.test_functionsFilter
      18:50:56.301	[info]	javascript.0 Start javascript script.js.common.test_functionsFilter
      18:50:56.301	[info]	javascript.0 script.js.common.test_functionsFilter: registered 0 subscriptions and 0 schedules
      18:50:58.345	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:3.STATE
      18:50:58.346	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:4.STATE
      18:50:58.348	[info]	javascript.0 script.js.common.test_functionsFilter: Wohnzimmer.Zwischenstecker:5.STATE
      
      ------
      

      9678_bildschirmfoto_2018-11-28_um_20.21.51.png

      Hab ich da eine Denkfehler?

      Danke

      raller09

      posted in Skripten / Logik
      R
      raller09
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo