Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Subfunktion in Blockly

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Subfunktion in Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
22 Beiträge 2 Kommentatoren 2.1k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    Tottbeck
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen und Frohes Neues Jahr,

    ich bastele mir gerade eine Alarmanlage mit Xiaomi-Komponenten und Alexa zusammen.

    578f9f89-3173-4c67-b7ea-22ee31f641d3-image.png

    Zwei Fragen dazu:

    1. Ich möchte für die Sprachausgabe temporär die Alexa-Lautstärke verändern und danach wiederherstellen. Das an vielen verschiedenen Programmteilen zu machen finde ich suboptimal.
      Mit "normalen" Programmiersprachen würde ich wohl eine Subfunktion mit Parameter für die gewünschten Lautstärke und einem Pointer auf den Text anlegen. Kann man das auch per Blockly machen?

    2. Das Blinken vom Xiaomi-Gateway (langsam in Blau für Aktiv, Schnell in Rot für Alarm) klappt nicht so wirklich. Manchmal geht es, aber irgendwie nicht stabil und nicht im gewünschten Zyklus/Farbe. Gibt es dazu Erfahrungswerte, was man dem Ding zumuten darf?

    Danke

    dslraserD 2 Antworten Letzte Antwort
    0
    • T Tottbeck

      Hallo zusammen und Frohes Neues Jahr,

      ich bastele mir gerade eine Alarmanlage mit Xiaomi-Komponenten und Alexa zusammen.

      578f9f89-3173-4c67-b7ea-22ee31f641d3-image.png

      Zwei Fragen dazu:

      1. Ich möchte für die Sprachausgabe temporär die Alexa-Lautstärke verändern und danach wiederherstellen. Das an vielen verschiedenen Programmteilen zu machen finde ich suboptimal.
        Mit "normalen" Programmiersprachen würde ich wohl eine Subfunktion mit Parameter für die gewünschten Lautstärke und einem Pointer auf den Text anlegen. Kann man das auch per Blockly machen?

      2. Das Blinken vom Xiaomi-Gateway (langsam in Blau für Aktiv, Schnell in Rot für Alarm) klappt nicht so wirklich. Manchmal geht es, aber irgendwie nicht stabil und nicht im gewünschten Zyklus/Farbe. Gibt es dazu Erfahrungswerte, was man dem Ding zumuten darf?

      Danke

      dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @Tottbeck sagte in Subfunktion in Blockly:

      Ich möchte für die Sprachausgabe temporär die Alexa-Lautstärke verändern und danach wiederherstellen.

      genau das macht dieser Datenpunkt. Volume to use for speak commands. Du musst den nur für diese Ansage setzen, danach geht der selbst wieder auf die sonst eingestellte Lautstärke zurück.

      dslraserD T 2 Antworten Letzte Antwort
      2
      • T Tottbeck

        Hallo zusammen und Frohes Neues Jahr,

        ich bastele mir gerade eine Alarmanlage mit Xiaomi-Komponenten und Alexa zusammen.

        578f9f89-3173-4c67-b7ea-22ee31f641d3-image.png

        Zwei Fragen dazu:

        1. Ich möchte für die Sprachausgabe temporär die Alexa-Lautstärke verändern und danach wiederherstellen. Das an vielen verschiedenen Programmteilen zu machen finde ich suboptimal.
          Mit "normalen" Programmiersprachen würde ich wohl eine Subfunktion mit Parameter für die gewünschten Lautstärke und einem Pointer auf den Text anlegen. Kann man das auch per Blockly machen?

        2. Das Blinken vom Xiaomi-Gateway (langsam in Blau für Aktiv, Schnell in Rot für Alarm) klappt nicht so wirklich. Manchmal geht es, aber irgendwie nicht stabil und nicht im gewünschten Zyklus/Farbe. Gibt es dazu Erfahrungswerte, was man dem Ding zumuten darf?

        Danke

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von dslraser
        #3

        @Tottbeck sagte in Subfunktion in Blockly:

        temporär die Alexa-Lautstärke verändern

        Probiere mal das hier. Das nutze ich in ähnlicher Form in vielen Blocklys. Hier wird geschaut welcher ECHO angesprochen wurde und genau auf dem angesprochenen wieder geantwortet. (es sei denn es sind mehrere ECHOS in Hörweite und ein anderer fühlt sich angesprochen) In Räumen, wo mich nur ein ECHO hören kann funktioniert es zuverlässig bei mir.
        Diesen Trigger habe ich nur zum Test da drinn.

        Importiere das mal und starte das Blockly. Anschließend sagst Du mal Testansage. (dann sollte die Antwort kommen)
        Bildschirmfoto 2020-01-01 um 19.01.46.png

        <xml xmlns="http://www.w3.org/1999/xhtml">
         <variables>
           <variable type="" id="]8CjUu1tTXk^pZvPD9pk">Lautstaerke</variable>
           <variable type="" id="tx`]izPXI!BeK19V`CX$">angesprochener_echo</variable>
           <variable type="" id="}tfHo!d;DNiy8lns,/nq">speak_volume</variable>
           <variable type="" id="xn1_(a%|e4G}G4FdbhX:">Ansage</variable>
         </variables>
         <block type="on" id="pPAe?D9#C-MzNdYWPK]r" x="38" y="63">
           <field name="OID">alexa2.0.History.summary</field>
           <field name="CONDITION">any</field>
           <field name="ACK_CONDITION"></field>
           <statement name="STATEMENT">
             <block type="controls_if" id="fQlWBQZN^e.:DrM[^7{4">
               <value name="IF0">
                 <block type="logic_compare" id="2pJO@[Vtpx6B{6|hU{AM">
                   <field name="OP">EQ</field>
                   <value name="A">
                     <block type="get_value" id="DyA~MCr`D%W17,P!,xZs">
                       <field name="ATTR">val</field>
                       <field name="OID">alexa2.0.History.summary</field>
                     </block>
                   </value>
                   <value name="B">
                     <block type="text" id="%4nBc3D)J=jtRdxt$XgL">
                       <field name="TEXT">testansage</field>
                     </block>
                   </value>
                 </block>
               </value>
               <statement name="DO0">
                 <block type="variables_set" id=".}l{$)R}!so3?49}ZI29">
                   <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                   <value name="VALUE">
                     <block type="math_number" id="w!aFM4SyFphGj^,/nlyu">
                       <field name="NUM">100</field>
                     </block>
                   </value>
                   <next>
                     <block type="variables_set" id="raHp)T;G6o1nDaQZ5Qrg">
                       <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                       <value name="VALUE">
                         <block type="text_join" id="q`1!?SO4KN9hG:/?YC1L">
                           <mutation items="3"></mutation>
                           <value name="ADD0">
                             <block type="text" id="lG5cq|_e-SYygMARlNe%">
                               <field name="TEXT">alexa2.0.Echo-Devices.</field>
                             </block>
                           </value>
                           <value name="ADD1">
                             <block type="get_value" id="M7plEDg{8pq2=J9a2fzQ">
                               <field name="ATTR">val</field>
                               <field name="OID">alexa2.0.History.serialNumber</field>
                             </block>
                           </value>
                           <value name="ADD2">
                             <block type="text" id="v.6VG(Lxwxo.[IIHs$U=">
                               <field name="TEXT">.Commands.speak</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="variables_set" id="N?jvkadzp3l@_Na$GSh3">
                           <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                           <value name="VALUE">
                             <block type="text_join" id="2;bG:Tv$~s+Itqhld@ML">
                               <mutation items="3"></mutation>
                               <value name="ADD0">
                                 <block type="text" id="U0%on0@O$stDed%wbZLS">
                                   <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                 </block>
                               </value>
                               <value name="ADD1">
                                 <block type="get_value" id="F;9-S~mvqb0GUKsf@iKm">
                                   <field name="ATTR">val</field>
                                   <field name="OID">alexa2.0.History.serialNumber</field>
                                 </block>
                               </value>
                               <value name="ADD2">
                                 <block type="text" id=".(-6vYavAe:;F~Wr[qy!">
                                   <field name="TEXT">.Commands.speak-volume</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <next>
                             <block type="variables_set" id="XQx[6n!+nUQ];R7;`1$a">
                               <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                               <value name="VALUE">
                                 <block type="text" id="3go3)pi-E4Nt~0H{)8)^">
                                   <field name="TEXT">Ich teste jetzt die Lautstärke mit dem Wert 100. Nach dieser Ansage stellt sich der Wert wieder zurück auf den vorher eingestellten Wert.</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="control_ex" id="@.Ynq`]k]!w}k*GMj~[!" inline="true">
                                   <field name="TYPE">false</field>
                                   <field name="CLEAR_RUNNING">FALSE</field>
                                   <value name="OID">
                                     <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                       <field name="oid">Object ID</field>
                                     </shadow>
                                     <block type="variables_get" id="(kZn44O^xPC@K:O/D*lO">
                                       <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                     </block>
                                   </value>
                                   <value name="VALUE">
                                     <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                       <field name="BOOL">TRUE</field>
                                     </shadow>
                                     <block type="variables_get" id="I=Z6pmb=)Mwn25%B:!cu">
                                       <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                     </block>
                                   </value>
                                   <value name="DELAY_MS">
                                     <shadow type="math_number" id="6ncG2Nes+=ucX9m]Q-LH">
                                       <field name="NUM">0</field>
                                     </shadow>
                                   </value>
                                   <next>
                                     <block type="control_ex" id="5$O:dbv;*Ncoc7n00s`w" inline="true">
                                       <field name="TYPE">false</field>
                                       <field name="CLEAR_RUNNING">FALSE</field>
                                       <value name="OID">
                                         <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                           <field name="oid">Object ID</field>
                                         </shadow>
                                         <block type="variables_get" id="hMVRJeB$V+.jktBW.6DP">
                                           <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                         </block>
                                       </value>
                                       <value name="VALUE">
                                         <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                           <field name="BOOL">TRUE</field>
                                         </shadow>
                                         <block type="variables_get" id="_UExVH`$/=Sjy86Hb$%X">
                                           <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                         </block>
                                       </value>
                                       <value name="DELAY_MS">
                                         <shadow type="math_number" id="cLl){TAE+8[,|ov4ALY+">
                                           <field name="NUM">0</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
               </statement>
             </block>
           </statement>
         </block>
        </xml>
        

        T 1 Antwort Letzte Antwort
        1
        • dslraserD dslraser

          @Tottbeck sagte in Subfunktion in Blockly:

          Ich möchte für die Sprachausgabe temporär die Alexa-Lautstärke verändern und danach wiederherstellen.

          genau das macht dieser Datenpunkt. Volume to use for speak commands. Du musst den nur für diese Ansage setzen, danach geht der selbst wieder auf die sonst eingestellte Lautstärke zurück.

          dslraserD Offline
          dslraserD Offline
          dslraser
          Forum Testing Most Active
          schrieb am zuletzt editiert von dslraser
          #4

          @dslraser
          und hier noch ein Beispiel was Du über ssml so anstellen kannst. (hier werden einige Datenpunkte erstellt)
          Auch hier funktioniert das mit der Lautstärke.

          Auch hier sage mal Testansage zu Alexa.
          (das erste Blockly von oben muß deaktiviert sein. Das habe ich in diesem Export als Beispiel deaktiviert drinn gelassen.)

          <xml xmlns="http://www.w3.org/1999/xhtml">
           <variables>
             <variable type="" id="]8CjUu1tTXk^pZvPD9pk">Lautstaerke</variable>
             <variable type="" id="tx`]izPXI!BeK19V`CX$">angesprochener_echo</variable>
             <variable type="" id="hsYte9@o`T2BDaS,~4hu">alexa_voice</variable>
             <variable type="" id="}tfHo!d;DNiy8lns,/nq">speak_volume</variable>
             <variable type="" id="^$:ikT~4TjYuk|1umMYe">hans_voice</variable>
             <variable type="" id="xn1_(a%|e4G}G4FdbhX:">Ansage</variable>
             <variable type="" id="H/)RG7L1z9=:IM[[N)s]">vicki_voice</variable>
             <variable type="" id=".Ef/-7s*/H3{8G|ut#TF">conchita_voice</variable>
             <variable type="" id="h$;}IKI;/5Nr%M?LEdX]">ssml_ende</variable>
             <variable type="" id=",8hPjyuv!|v-;xyG2[GM">stimmenwechsel_alexa</variable>
             <variable type="" id="1R[1|dIw2YY/SWSjV8vi">stimmenwechsel_hans</variable>
             <variable type="" id="hVUr^m=0SqBl!qr4l}8a">stimmenwechsel_vicki</variable>
             <variable type="" id="5LniT)a9cR_h6Mo!t*1N">stimmenwechsel_conchita</variable>
             <variable type="" id="eHmEd,;db!BBO)-s0Y{Z">fluestern_anfang</variable>
             <variable type="" id="XITSHPBx:4U5JEzlW6ov">fluestern_ende</variable>
             <variable type="" id="g)Ql[6CLA*U1}0AW@%59">Ansage2</variable>
           </variables>
           <block type="procedures_defcustomnoreturn" id="|YOBZy0(J_8~^4VAn@z%" x="37" y="-38">
             <mutation statements="false"></mutation>
             <field name="NAME">Datenpunkte_anlegen</field>
             <field name="SCRIPT">Ly8jIyMjIyMjIyMjIyMjIyMtLS1hdXNrb21tZW50aWVydCBBbmZhbmctLS0jIyMjIyMjIyMjIyMjIyMKLyovLyMjIyMjIyMjIyMjIyMjIyMjIyMjLS0tQWxleGEgRGF0ZW5wdW5rdGUgYW5sZWdlbi0tLSMjIyMjIyMjIyMjIyMjIyMjIyMjCgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMTAgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAxQWxleGEnOwpjb25zdCBkdHAwMTAgPSB7dHlwZTogJ2Jvb2xlYW4nLCByZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSwgbmFtZTogJzAxQWxleGEnLHJvbGU6ICdzd2l0Y2gnLCJzbWFydE5hbWUiOiB7ImRlIjogIkFsZXhhIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9fTsKIApmdW5jdGlvbiBjcmVhdGVEcDAxMChpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMCgnMF91c2VyZGF0YS4wLicgKyBkcDAxMCwgZHRwMDEwKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAxMSA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDJIYW5zJzsKY29uc3QgZHRwMDExID0ge3R5cGU6ICdib29sZWFuJywgcmVhZDogdHJ1ZSwgd3JpdGU6IHRydWUsIG5hbWU6ICcwMkhhbnMnLHJvbGU6ICdzd2l0Y2gnLCJzbWFydE5hbWUiOiB7ImRlIjogIkhhbnMiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDExKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMSgnMF91c2VyZGF0YS4wLicgKyBkcDAxMSwgZHRwMDExKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAxMiA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDNWaWNraSc7CmNvbnN0IGR0cDAxMiA9IHt0eXBlOiAnYm9vbGVhbicsIHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlLCBuYW1lOiAnMDNWaWNraScscm9sZTogJ3N3aXRjaCcsInNtYXJ0TmFtZSI6IHsiZGUiOiAiVmlja2kiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDEyKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMignMF91c2VyZGF0YS4wLicgKyBkcDAxMiwgZHRwMDEyKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAxMyA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDRDb25jaGl0YSc7CmNvbnN0IGR0cDAxMyA9IHt0eXBlOiAnYm9vbGVhbicsIHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlLCBuYW1lOiAnMDRDb25jaGl0YScscm9sZTogJ3N3aXRjaCcsInNtYXJ0TmFtZSI6IHsiZGUiOiAiQ29uY2hpdGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDEzKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMygnMF91c2VyZGF0YS4wLicgKyBkcDAxMywgZHRwMDEzKTsqLy8vIyMjIyMjIyMjIyMjIyMjLS0tYXVza29tbWVudGllcnQgRW5kZS0tLSMjIyMjIyMjIyMjIyMjIwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE0ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNUFsZXhhX3NzbWwnOwpjb25zdCBkdHAwMTQgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA1QWxleGFfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDE0KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IkFsZXhhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE0KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE0LCBkdHAwMTQpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE1ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNkhhbnNfc3NtbCc7CmNvbnN0IGR0cDAxNSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDZIYW5zX3NzbWwnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAxNShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE1KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE1LCBkdHAwMTUpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE2ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wN1ZpY2tpX3NzbWwnOwpjb25zdCBkdHAwMTYgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA3Vmlja2lfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDE2KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IlZpY2tpIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE2KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE2LCBkdHAwMTYpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE3ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOENvbmNoaXRhX3NzbWwnOwpjb25zdCBkdHAwMTcgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA4Q29uY2hpdGFfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDE3KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IkNvbmNoaXRhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE3KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE3LCBkdHAwMTcpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE4ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOXNzbWxfZW5kZSc7CmNvbnN0IGR0cDAxOCA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDlzc21sX2VuZGUnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAxOChpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnPC92b2ljZT48L3NwZWFrPic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMTgoJzBfdXNlcmRhdGEuMC4nICsgZHAwMTgsIGR0cDAxOCk7CgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMTkgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjEwQWxleGFfU3RpbW1lbndlY2hzZWxfc3NtbCc7CmNvbnN0IGR0cDAxOSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTBBbGV4YV9TdGltbWVud2VjaHNlbF9zc21sJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMTkoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzwvdm9pY2U+PHZvaWNlIG5hbWU9IkFsZXhhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE5KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE5LCBkdHAwMTkpOwoKY29uc3QgZHAwMjAgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjExSGFuc19TdGltbWVud2VjaHNlbF9zc21sJzsKY29uc3QgZHRwMDIwID0ge3R5cGU6ICdzdHJpbmcnLCByZWFkOiB0cnVlLCB3cml0ZTogZmFsc2UsIG5hbWU6ICcxMUhhbnNfU3RpbW1lbndlY2hzZWxfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDIwKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8L3ZvaWNlPjx2b2ljZSBuYW1lPSJIYW5zIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDIwKCcwX3VzZXJkYXRhLjAuJyArIGRwMDIwLCBkdHAwMjApOwoKY29uc3QgZHAwMjEgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjEyVmlja2lfU3RpbW1lbndlY2hzZWxfc3NtbCc7CmNvbnN0IGR0cDAyMSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMjEoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzwvdm9pY2U+PHZvaWNlIG5hbWU9IlZpY2tpIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDIxKCcwX3VzZXJkYXRhLjAuJyArIGRwMDIxLCBkdHAwMjEpOwoKY29uc3QgZHAwMjIgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjEzQ29uY2hpdGFfU3RpbW1lbndlY2hzZWxfc3NtbCc7CmNvbnN0IGR0cDAyMiA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTNDb25jaGl0YV9TdGltbWVud2VjaHNlbF9zc21sJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMjIoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzwvdm9pY2U+PHZvaWNlIG5hbWU9IkNvbmNoaXRhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDIyKCcwX3VzZXJkYXRhLjAuJyArIGRwMDIyLCBkdHAwMjIpOwoKY29uc3QgZHAwMjMgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjE0Zmx1ZXN0ZXJuX2FuZmFuZyc7CmNvbnN0IGR0cDAyMyA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTRmbHVlc3Rlcm5fYW5mYW5nJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMjMoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzxzcGVhaz48YW1hem9uOmVmZmVjdCBuYW1lPSJ3aGlzcGVyZWQiPic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMjMoJzBfdXNlcmRhdGEuMC4nICsgZHAwMjMsIGR0cDAyMyk7Cgpjb25zdCBkcDAyNCA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMTVmbHVlc3Rlcm5fZW5kZSc7CmNvbnN0IGR0cDAyNCA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTVmbHVlc3Rlcm5fZW5kZScscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDI0KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8L2FtYXpvbjplZmZlY3Q+PC9zcGVhaz4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDI0KCcwX3VzZXJkYXRhLjAuJyArIGRwMDI0LCBkdHAwMjQpOw==</field>
             <comment pinned="false" h="80" w="160">legt Datenpunkte für den die Anzahl gekippter/geöffneter/geschlossenen/gesamt Fenster an</comment>
           </block>
           <block type="procedures_callcustomnoreturn" id="WUz)!$4SU(=C^dK+WDIy" disabled="true" x="37" y="13">
             <mutation name="Datenpunkte_anlegen"></mutation>
             <next>
               <block type="comment" id="TCbirY0yNy87D,/?|k1h">
                 <field name="COMMENT">speak</field>
                 <next>
                   <block type="on" id="pPAe?D9#C-MzNdYWPK]r" collapsed="true" disabled="true">
                     <field name="OID">alexa2.0.History.summary</field>
                     <field name="CONDITION">any</field>
                     <field name="ACK_CONDITION"></field>
                     <statement name="STATEMENT">
                       <block type="controls_if" id="fQlWBQZN^e.:DrM[^7{4">
                         <value name="IF0">
                           <block type="logic_compare" id="2pJO@[Vtpx6B{6|hU{AM">
                             <field name="OP">EQ</field>
                             <value name="A">
                               <block type="get_value" id="DyA~MCr`D%W17,P!,xZs">
                                 <field name="ATTR">val</field>
                                 <field name="OID">alexa2.0.History.summary</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="text" id="%4nBc3D)J=jtRdxt$XgL">
                                 <field name="TEXT">testansage</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO0">
                           <block type="variables_set" id=".}l{$)R}!so3?49}ZI29">
                             <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                             <value name="VALUE">
                               <block type="math_number" id="w!aFM4SyFphGj^,/nlyu">
                                 <field name="NUM">100</field>
                               </block>
                             </value>
                             <next>
                               <block type="variables_set" id="raHp)T;G6o1nDaQZ5Qrg">
                                 <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                 <value name="VALUE">
                                   <block type="text_join" id="q`1!?SO4KN9hG:/?YC1L">
                                     <mutation items="3"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="lG5cq|_e-SYygMARlNe%">
                                         <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="get_value" id="M7plEDg{8pq2=J9a2fzQ">
                                         <field name="ATTR">val</field>
                                         <field name="OID">alexa2.0.History.serialNumber</field>
                                       </block>
                                     </value>
                                     <value name="ADD2">
                                       <block type="text" id="v.6VG(Lxwxo.[IIHs$U=">
                                         <field name="TEXT">.Commands.speak</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="N?jvkadzp3l@_Na$GSh3">
                                     <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                     <value name="VALUE">
                                       <block type="text_join" id="2;bG:Tv$~s+Itqhld@ML">
                                         <mutation items="3"></mutation>
                                         <value name="ADD0">
                                           <block type="text" id="U0%on0@O$stDed%wbZLS">
                                             <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="get_value" id="F;9-S~mvqb0GUKsf@iKm">
                                             <field name="ATTR">val</field>
                                             <field name="OID">alexa2.0.History.serialNumber</field>
                                           </block>
                                         </value>
                                         <value name="ADD2">
                                           <block type="text" id=".(-6vYavAe:;F~Wr[qy!">
                                             <field name="TEXT">.Commands.speak-volume</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="XQx[6n!+nUQ];R7;`1$a">
                                         <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                         <value name="VALUE">
                                           <block type="text" id="3go3)pi-E4Nt~0H{)8)^">
                                             <field name="TEXT">Ich teste jetzt die Lautstärke mit dem Wert 100. Nach dieser Ansage stellt sich der Wert wieder zurück auf den vorher eingestellten Wert.</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="control_ex" id="@.Ynq`]k]!w}k*GMj~[!" inline="true">
                                             <field name="TYPE">false</field>
                                             <field name="CLEAR_RUNNING">FALSE</field>
                                             <value name="OID">
                                               <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                 <field name="oid">Object ID</field>
                                               </shadow>
                                               <block type="variables_get" id="(kZn44O^xPC@K:O/D*lO">
                                                 <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                               </block>
                                             </value>
                                             <value name="VALUE">
                                               <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                 <field name="BOOL">TRUE</field>
                                               </shadow>
                                               <block type="variables_get" id="I=Z6pmb=)Mwn25%B:!cu">
                                                 <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                               </block>
                                             </value>
                                             <value name="DELAY_MS">
                                               <shadow type="math_number" id="6ncG2Nes+=ucX9m]Q-LH">
                                                 <field name="NUM">0</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="control_ex" id="5$O:dbv;*Ncoc7n00s`w" inline="true">
                                                 <field name="TYPE">false</field>
                                                 <field name="CLEAR_RUNNING">FALSE</field>
                                                 <value name="OID">
                                                   <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                     <field name="oid">Object ID</field>
                                                   </shadow>
                                                   <block type="variables_get" id="hMVRJeB$V+.jktBW.6DP">
                                                     <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                   </block>
                                                 </value>
                                                 <value name="VALUE">
                                                   <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                     <field name="BOOL">TRUE</field>
                                                   </shadow>
                                                   <block type="variables_get" id="_UExVH`$/=Sjy86Hb$%X">
                                                     <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                   </block>
                                                 </value>
                                                 <value name="DELAY_MS">
                                                   <shadow type="math_number" id="cLl){TAE+8[,|ov4ALY+">
                                                     <field name="NUM">0</field>
                                                   </shadow>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                     </statement>
                     <next>
                       <block type="comment" id="=x.*TbJbsJR4!qztr5}(">
                         <field name="COMMENT">ssml</field>
                         <next>
                           <block type="on" id="[~`aZbXg|MwH^/]r2eKq">
                             <field name="OID">alexa2.0.History.summary</field>
                             <field name="CONDITION">any</field>
                             <field name="ACK_CONDITION"></field>
                             <statement name="STATEMENT">
                               <block type="variables_set" id="|Y?dP^7^w/)!*0$3}/#Y">
                                 <field name="VAR" id="hsYte9@o`T2BDaS,~4hu" variabletype="">alexa_voice</field>
                                 <value name="VALUE">
                                   <block type="get_value" id="8#aiKcrm:u{sjs0cUfhr">
                                     <field name="ATTR">val</field>
                                     <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.05Alexa_ssml</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="variables_set" id="#LjgD75rPUU:r.P%*]2^">
                                     <field name="VAR" id="^$:ikT~4TjYuk|1umMYe" variabletype="">hans_voice</field>
                                     <value name="VALUE">
                                       <block type="get_value" id="GP6WGh*S#uF^|L$Xf=^s">
                                         <field name="ATTR">val</field>
                                         <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.06Hans_ssml</field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="variables_set" id="MvSk+J3jhK;,;nnz.?5_">
                                         <field name="VAR" id="H/)RG7L1z9=:IM[[N)s]" variabletype="">vicki_voice</field>
                                         <value name="VALUE">
                                           <block type="get_value" id="Q73;gvzZe(OOtS;xBeVd">
                                             <field name="ATTR">val</field>
                                             <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.07Vicki_ssml</field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="variables_set" id="A8ixxD,Rb{NT`8ud;lY}">
                                             <field name="VAR" id=".Ef/-7s*/H3{8G|ut#TF" variabletype="">conchita_voice</field>
                                             <value name="VALUE">
                                               <block type="get_value" id="1{q_i]9;pVS]oY@S6uLq">
                                                 <field name="ATTR">val</field>
                                                 <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.08Conchita_ssml</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="D@jsvo])3JLj/v!fA(?-">
                                                 <field name="VAR" id="h$;}IKI;/5Nr%M?LEdX]" variabletype="">ssml_ende</field>
                                                 <value name="VALUE">
                                                   <block type="get_value" id="5[3qWOD`xha3N;EJS8}7">
                                                     <field name="ATTR">val</field>
                                                     <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.09ssml_ende</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="variables_set" id="JzY)};|[y:|a2B=~f{1p">
                                                     <field name="VAR" id=",8hPjyuv!|v-;xyG2[GM" variabletype="">stimmenwechsel_alexa</field>
                                                     <value name="VALUE">
                                                       <block type="get_value" id="!dKZJ54A6h#?J~RSV%3~">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.10Alexa_Stimmenwechsel_ssml</field>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="variables_set" id="W7id@jkpI:9O)zPL.DTU">
                                                         <field name="VAR" id="1R[1|dIw2YY/SWSjV8vi" variabletype="">stimmenwechsel_hans</field>
                                                         <value name="VALUE">
                                                           <block type="get_value" id="4xY(7AjKi~^ljks.n841">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.11Hans_Stimmenwechsel_ssml</field>
                                                           </block>
                                                         </value>
                                                         <next>
                                                           <block type="variables_set" id="46SatHI]v=bv/%P:j+bp">
                                                             <field name="VAR" id="hVUr^m=0SqBl!qr4l}8a" variabletype="">stimmenwechsel_vicki</field>
                                                             <value name="VALUE">
                                                               <block type="get_value" id="9=0xIG,Pc!5XUSS)U!_x">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.12Vicki_Stimmenwechsel_ssml</field>
                                                               </block>
                                                             </value>
                                                             <next>
                                                               <block type="variables_set" id="]oJ#b{fZ0P*!wSNoKZ9A">
                                                                 <field name="VAR" id="5LniT)a9cR_h6Mo!t*1N" variabletype="">stimmenwechsel_conchita</field>
                                                                 <value name="VALUE">
                                                                   <block type="get_value" id="WH]s$i*uV`:tg,XZy@I/">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.13Conchita_Stimmenwechsel_ssml</field>
                                                                   </block>
                                                                 </value>
                                                                 <next>
                                                                   <block type="variables_set" id="Z-IEV|C0/NEL0o95zRdg">
                                                                     <field name="VAR" id="eHmEd,;db!BBO)-s0Y{Z" variabletype="">fluestern_anfang</field>
                                                                     <value name="VALUE">
                                                                       <block type="get_value" id="(Gi;jkQ]RrIAIXz4`;d3">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.14fluestern_anfang</field>
                                                                       </block>
                                                                     </value>
                                                                     <next>
                                                                       <block type="variables_set" id="{t0fi5sc0=}!DE,jnlS8">
                                                                         <field name="VAR" id="XITSHPBx:4U5JEzlW6ov" variabletype="">fluestern_ende</field>
                                                                         <value name="VALUE">
                                                                           <block type="get_value" id="Glna:ISU*6zQ:HYj`6PC">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.15fluestern_ende</field>
                                                                           </block>
                                                                         </value>
                                                                         <next>
                                                                           <block type="controls_if" id="AmHCZmZQ?D_nGLF,U{=u">
                                                                             <value name="IF0">
                                                                               <block type="logic_compare" id="^dLRtgWT~Tt++cL($NKn">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="get_value" id="9IQ29otyT#F-Spsl%l1I">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">alexa2.0.History.summary</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="text" id="V#v}1F.Uu4q+Op8a+EQU">
                                                                                     <field name="TEXT">testansage</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <statement name="DO0">
                                                                               <block type="variables_set" id="c0:5H;c}I61=O)k/{m}s">
                                                                                 <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                                                                 <value name="VALUE">
                                                                                   <block type="math_number" id="VP%:,w*{wn*j@Ro_~V.n">
                                                                                     <field name="NUM">100</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <next>
                                                                                   <block type="variables_set" id="zsVZKg0]4(L1ixvAR)/1">
                                                                                     <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                                                     <value name="VALUE">
                                                                                       <block type="text_join" id="Ro|ihCQ:AQOt.3`TUQwM">
                                                                                         <mutation items="3"></mutation>
                                                                                         <value name="ADD0">
                                                                                           <block type="text" id="!3N6!z_sBxoud+?AYsuv">
                                                                                             <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="ADD1">
                                                                                           <block type="get_value" id="sIB7uOMmNbK:-t:a.QR;">
                                                                                             <field name="ATTR">val</field>
                                                                                             <field name="OID">alexa2.0.History.serialNumber</field>
                                                                                           </block>
                                                                                         </value>
                                                                                         <value name="ADD2">
                                                                                           <block type="text" id="(=O9cXWAffYNZ}Z0`DxZ">
                                                                                             <field name="TEXT">.Commands.ssml</field>
                                                                                           </block>
                                                                                         </value>
                                                                                       </block>
                                                                                     </value>
                                                                                     <next>
                                                                                       <block type="variables_set" id="i38T``MGhvb6dO^:S]M$">
                                                                                         <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                                                                         <value name="VALUE">
                                                                                           <block type="text_join" id=".du,f^-[km~vy3f,^+!;">
                                                                                             <mutation items="3"></mutation>
                                                                                             <value name="ADD0">
                                                                                               <block type="text" id="YRnYeZjQ^P?$m)miSuWv">
                                                                                                 <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="ADD1">
                                                                                               <block type="get_value" id="A$L7:D{nF;z|(]R15M6s">
                                                                                                 <field name="ATTR">val</field>
                                                                                                 <field name="OID">alexa2.0.History.serialNumber</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="ADD2">
                                                                                               <block type="text" id="nqD6Te,c(D?G{y#CCFql">
                                                                                                 <field name="TEXT">.Commands.speak-volume</field>
                                                                                               </block>
                                                                                             </value>
                                                                                           </block>
                                                                                         </value>
                                                                                         <next>
                                                                                           <block type="control_ex" id="m*49S0.[D:6!M#Fv~sJz" inline="true">
                                                                                             <field name="TYPE">false</field>
                                                                                             <field name="CLEAR_RUNNING">FALSE</field>
                                                                                             <value name="OID">
                                                                                               <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                                                                 <field name="oid">Object ID</field>
                                                                                               </shadow>
                                                                                               <block type="variables_get" id="u![hpE!E%l3S_H~+~tia">
                                                                                                 <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="VALUE">
                                                                                               <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                                                                 <field name="BOOL">TRUE</field>
                                                                                               </shadow>
                                                                                               <block type="variables_get" id="qh[g_2lfHC*P$tQD7lYL">
                                                                                                 <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                                                                               </block>
                                                                                             </value>
                                                                                             <value name="DELAY_MS">
                                                                                               <shadow type="math_number" id="s%4rnui3VS(SjQx|x-A+">
                                                                                                 <field name="NUM">0</field>
                                                                                               </shadow>
                                                                                             </value>
                                                                                             <next>
                                                                                               <block type="variables_set" id="~mUtLASbz4,[^)Mr^r(@">
                                                                                                 <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                                                                 <value name="VALUE">
                                                                                                   <block type="text_join" id="6(p)A1L$:_75Icld.$!`">
                                                                                                     <mutation items="11"></mutation>
                                                                                                     <value name="ADD0">
                                                                                                       <block type="variables_get" id="K?;FJpSD.DAu(4Vl6#/!">
                                                                                                         <field name="VAR" id="hsYte9@o`T2BDaS,~4hu" variabletype="">alexa_voice</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD1">
                                                                                                       <block type="text" id="X9wB$RtDd9S!6Cv%E*/@">
                                                                                                         <field name="TEXT">Ich teste jetzt die Lautstärke mit dem Wert 100.</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD2">
                                                                                                       <block type="variables_get" id="P1x3s}vBZPp0qmWW-jb#">
                                                                                                         <field name="VAR" id="1R[1|dIw2YY/SWSjV8vi" variabletype="">stimmenwechsel_hans</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD3">
                                                                                                       <block type="text" id="4_8*(J~8e8HAn?z2i.*O">
                                                                                                         <field name="TEXT"> Nach dieser Ansage stellt sich der Wert wieder zurück auf den vorher eingestellten Wert. </field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD4">
                                                                                                       <block type="variables_get" id="Q(ihJ[=VY;+#zMcnppVy">
                                                                                                         <field name="VAR" id="hVUr^m=0SqBl!qr4l}8a" variabletype="">stimmenwechsel_vicki</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD5">
                                                                                                       <block type="text" id="e4~5oJfNN%v)~4M+$4y,">
                                                                                                         <field name="TEXT">Aber auch verschiedene Stimmen können ganz nett sein. </field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD6">
                                                                                                       <block type="variables_get" id="uj27HwU#KD5Q?qY4Ff,v">
                                                                                                         <field name="VAR" id="5LniT)a9cR_h6Mo!t*1N" variabletype="">stimmenwechsel_conchita</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD7">
                                                                                                       <block type="text" id=",~Q+|d^-|,KIP*l+y)cH">
                                                                                                         <field name="TEXT">Ja, das stimmt. Ich bin verwirrt. </field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD8">
                                                                                                       <block type="variables_get" id="qsElU5x=z,CqeU_okG#!">
                                                                                                         <field name="VAR" id=",8hPjyuv!|v-;xyG2[GM" variabletype="">stimmenwechsel_alexa</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD9">
                                                                                                       <block type="text" id="jX_Gw7!]oE@2|CONlV5H">
                                                                                                         <field name="TEXT">So, genug gequasselt. Ansage Ende.</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <value name="ADD10">
                                                                                                       <block type="variables_get" id="D[ka=jJA~5QL?wl$=msz">
                                                                                                         <field name="VAR" id="h$;}IKI;/5Nr%M?LEdX]" variabletype="">ssml_ende</field>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                   </block>
                                                                                                 </value>
                                                                                                 <next>
                                                                                                   <block type="variables_set" id="rd8Vm:g%lZIPouk@%0~[">
                                                                                                     <field name="VAR" id="g)Ql[6CLA*U1}0AW@%59" variabletype="">Ansage2</field>
                                                                                                     <value name="VALUE">
                                                                                                       <block type="text_join" id="gxMytiI`nl3D)G!RxBN2">
                                                                                                         <mutation items="3"></mutation>
                                                                                                         <value name="ADD0">
                                                                                                           <block type="variables_get" id="%$(wV^{e#TO1I$%E.F,5">
                                                                                                             <field name="VAR" id="eHmEd,;db!BBO)-s0Y{Z" variabletype="">fluestern_anfang</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="ADD1">
                                                                                                           <block type="text" id="`;^NfmSQ-{hBrChTk;eo">
                                                                                                             <field name="TEXT">Ich kann sogar flüstern. Oh Oh. </field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="ADD2">
                                                                                                           <block type="variables_get" id="?gfiG/.F{kuYoBStkin5">
                                                                                                             <field name="VAR" id="XITSHPBx:4U5JEzlW6ov" variabletype="">fluestern_ende</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                       </block>
                                                                                                     </value>
                                                                                                     <next>
                                                                                                       <block type="control_ex" id="Z0SIQv`YwR}U3y-7.C[_" inline="true">
                                                                                                         <field name="TYPE">false</field>
                                                                                                         <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                         <value name="OID">
                                                                                                           <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                                                                             <field name="oid">Object ID</field>
                                                                                                           </shadow>
                                                                                                           <block type="variables_get" id="7XIJ@IIk+|w*,LY8F10b">
                                                                                                             <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="VALUE">
                                                                                                           <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                                                                             <field name="BOOL">TRUE</field>
                                                                                                           </shadow>
                                                                                                           <block type="variables_get" id="c@cd-(g/KcOn2,^;@I[Q">
                                                                                                             <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                                                                           </block>
                                                                                                         </value>
                                                                                                         <value name="DELAY_MS">
                                                                                                           <shadow type="math_number" id="SJ?NXn_.A!Y[+SZv]WYK">
                                                                                                             <field name="NUM">0</field>
                                                                                                           </shadow>
                                                                                                         </value>
                                                                                                         <next>
                                                                                                           <block type="control_ex" id="///ti2V{encKANYTI6Ya" inline="true">
                                                                                                             <field name="TYPE">false</field>
                                                                                                             <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                             <value name="OID">
                                                                                                               <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                                                                                 <field name="oid">Object ID</field>
                                                                                                               </shadow>
                                                                                                               <block type="variables_get" id="$x%/Yh*`_p}|%n0+6X).">
                                                                                                                 <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                             <value name="VALUE">
                                                                                                               <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                                                                                 <field name="BOOL">TRUE</field>
                                                                                                               </shadow>
                                                                                                               <block type="variables_get" id="}(OeQ:Wg,[eMtCwny-c/">
                                                                                                                 <field name="VAR" id="g)Ql[6CLA*U1}0AW@%59" variabletype="">Ansage2</field>
                                                                                                               </block>
                                                                                                             </value>
                                                                                                             <value name="DELAY_MS">
                                                                                                               <shadow type="math_number" id="MSay5)`ZstNNa$[ZaKfc">
                                                                                                                 <field name="NUM">0</field>
                                                                                                               </shadow>
                                                                                                             </value>
                                                                                                           </block>
                                                                                                         </next>
                                                                                                       </block>
                                                                                                     </next>
                                                                                                   </block>
                                                                                                 </next>
                                                                                               </block>
                                                                                             </next>
                                                                                           </block>
                                                                                         </next>
                                                                                       </block>
                                                                                     </next>
                                                                                   </block>
                                                                                 </next>
                                                                               </block>
                                                                             </statement>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </next>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
          </xml>
          

          T 1 Antwort Letzte Antwort
          1
          • dslraserD dslraser

            @Tottbeck sagte in Subfunktion in Blockly:

            Ich möchte für die Sprachausgabe temporär die Alexa-Lautstärke verändern und danach wiederherstellen.

            genau das macht dieser Datenpunkt. Volume to use for speak commands. Du musst den nur für diese Ansage setzen, danach geht der selbst wieder auf die sonst eingestellte Lautstärke zurück.

            T Offline
            T Offline
            Tottbeck
            schrieb am zuletzt editiert von
            #5

            @dslraser Danke für die Info.
            D.h. ich muß das Volume überhaupt nicht zurückstellen.
            Wenn man Sprachmeldungen mit unterschiedlicher Lautstärke (Priorität) benutzt, setzt man die halt vor jeder Sprachausgabe.
            Zusatzfrage: Ich habe die Alarmanlage in verschiedene Scripte unterteilt. Gibt es da so etwas wie globale Defines für die gewünschte Lautstärke?

            dslraserD 1 Antwort Letzte Antwort
            0
            • T Tottbeck

              @dslraser Danke für die Info.
              D.h. ich muß das Volume überhaupt nicht zurückstellen.
              Wenn man Sprachmeldungen mit unterschiedlicher Lautstärke (Priorität) benutzt, setzt man die halt vor jeder Sprachausgabe.
              Zusatzfrage: Ich habe die Alarmanlage in verschiedene Scripte unterteilt. Gibt es da so etwas wie globale Defines für die gewünschte Lautstärke?

              dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #6

              @Tottbeck sagte in Subfunktion in Blockly:

              Gibt es da so etwas wie globale Defines für die gewünschte Lautstärke?

              Das weiß ich leider nicht.

              1 Antwort Letzte Antwort
              0
              • dslraserD dslraser

                @Tottbeck sagte in Subfunktion in Blockly:

                temporär die Alexa-Lautstärke verändern

                Probiere mal das hier. Das nutze ich in ähnlicher Form in vielen Blocklys. Hier wird geschaut welcher ECHO angesprochen wurde und genau auf dem angesprochenen wieder geantwortet. (es sei denn es sind mehrere ECHOS in Hörweite und ein anderer fühlt sich angesprochen) In Räumen, wo mich nur ein ECHO hören kann funktioniert es zuverlässig bei mir.
                Diesen Trigger habe ich nur zum Test da drinn.

                Importiere das mal und starte das Blockly. Anschließend sagst Du mal Testansage. (dann sollte die Antwort kommen)
                Bildschirmfoto 2020-01-01 um 19.01.46.png

                <xml xmlns="http://www.w3.org/1999/xhtml">
                 <variables>
                   <variable type="" id="]8CjUu1tTXk^pZvPD9pk">Lautstaerke</variable>
                   <variable type="" id="tx`]izPXI!BeK19V`CX$">angesprochener_echo</variable>
                   <variable type="" id="}tfHo!d;DNiy8lns,/nq">speak_volume</variable>
                   <variable type="" id="xn1_(a%|e4G}G4FdbhX:">Ansage</variable>
                 </variables>
                 <block type="on" id="pPAe?D9#C-MzNdYWPK]r" x="38" y="63">
                   <field name="OID">alexa2.0.History.summary</field>
                   <field name="CONDITION">any</field>
                   <field name="ACK_CONDITION"></field>
                   <statement name="STATEMENT">
                     <block type="controls_if" id="fQlWBQZN^e.:DrM[^7{4">
                       <value name="IF0">
                         <block type="logic_compare" id="2pJO@[Vtpx6B{6|hU{AM">
                           <field name="OP">EQ</field>
                           <value name="A">
                             <block type="get_value" id="DyA~MCr`D%W17,P!,xZs">
                               <field name="ATTR">val</field>
                               <field name="OID">alexa2.0.History.summary</field>
                             </block>
                           </value>
                           <value name="B">
                             <block type="text" id="%4nBc3D)J=jtRdxt$XgL">
                               <field name="TEXT">testansage</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <statement name="DO0">
                         <block type="variables_set" id=".}l{$)R}!so3?49}ZI29">
                           <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                           <value name="VALUE">
                             <block type="math_number" id="w!aFM4SyFphGj^,/nlyu">
                               <field name="NUM">100</field>
                             </block>
                           </value>
                           <next>
                             <block type="variables_set" id="raHp)T;G6o1nDaQZ5Qrg">
                               <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                               <value name="VALUE">
                                 <block type="text_join" id="q`1!?SO4KN9hG:/?YC1L">
                                   <mutation items="3"></mutation>
                                   <value name="ADD0">
                                     <block type="text" id="lG5cq|_e-SYygMARlNe%">
                                       <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="get_value" id="M7plEDg{8pq2=J9a2fzQ">
                                       <field name="ATTR">val</field>
                                       <field name="OID">alexa2.0.History.serialNumber</field>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="text" id="v.6VG(Lxwxo.[IIHs$U=">
                                       <field name="TEXT">.Commands.speak</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="N?jvkadzp3l@_Na$GSh3">
                                   <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                   <value name="VALUE">
                                     <block type="text_join" id="2;bG:Tv$~s+Itqhld@ML">
                                       <mutation items="3"></mutation>
                                       <value name="ADD0">
                                         <block type="text" id="U0%on0@O$stDed%wbZLS">
                                           <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_value" id="F;9-S~mvqb0GUKsf@iKm">
                                           <field name="ATTR">val</field>
                                           <field name="OID">alexa2.0.History.serialNumber</field>
                                         </block>
                                       </value>
                                       <value name="ADD2">
                                         <block type="text" id=".(-6vYavAe:;F~Wr[qy!">
                                           <field name="TEXT">.Commands.speak-volume</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="variables_set" id="XQx[6n!+nUQ];R7;`1$a">
                                       <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                       <value name="VALUE">
                                         <block type="text" id="3go3)pi-E4Nt~0H{)8)^">
                                           <field name="TEXT">Ich teste jetzt die Lautstärke mit dem Wert 100. Nach dieser Ansage stellt sich der Wert wieder zurück auf den vorher eingestellten Wert.</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="control_ex" id="@.Ynq`]k]!w}k*GMj~[!" inline="true">
                                           <field name="TYPE">false</field>
                                           <field name="CLEAR_RUNNING">FALSE</field>
                                           <value name="OID">
                                             <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                               <field name="oid">Object ID</field>
                                             </shadow>
                                             <block type="variables_get" id="(kZn44O^xPC@K:O/D*lO">
                                               <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                             </block>
                                           </value>
                                           <value name="VALUE">
                                             <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                               <field name="BOOL">TRUE</field>
                                             </shadow>
                                             <block type="variables_get" id="I=Z6pmb=)Mwn25%B:!cu">
                                               <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                             </block>
                                           </value>
                                           <value name="DELAY_MS">
                                             <shadow type="math_number" id="6ncG2Nes+=ucX9m]Q-LH">
                                               <field name="NUM">0</field>
                                             </shadow>
                                           </value>
                                           <next>
                                             <block type="control_ex" id="5$O:dbv;*Ncoc7n00s`w" inline="true">
                                               <field name="TYPE">false</field>
                                               <field name="CLEAR_RUNNING">FALSE</field>
                                               <value name="OID">
                                                 <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                   <field name="oid">Object ID</field>
                                                 </shadow>
                                                 <block type="variables_get" id="hMVRJeB$V+.jktBW.6DP">
                                                   <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                 </block>
                                               </value>
                                               <value name="VALUE">
                                                 <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                   <field name="BOOL">TRUE</field>
                                                 </shadow>
                                                 <block type="variables_get" id="_UExVH`$/=Sjy86Hb$%X">
                                                   <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                 </block>
                                               </value>
                                               <value name="DELAY_MS">
                                                 <shadow type="math_number" id="cLl){TAE+8[,|ov4ALY+">
                                                   <field name="NUM">0</field>
                                                 </shadow>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                   </statement>
                 </block>
                </xml>
                

                T Offline
                T Offline
                Tottbeck
                schrieb am zuletzt editiert von
                #7

                @dslraser sagte in Subfunktion in Blockly:

                Importiere das mal und starte das Blockly. Anschließend sagst Du mal Testansage. (dann sollte die Antwort kommen)

                Funktioniert super

                dslraserD 1 Antwort Letzte Antwort
                0
                • T Tottbeck

                  @dslraser sagte in Subfunktion in Blockly:

                  Importiere das mal und starte das Blockly. Anschließend sagst Du mal Testansage. (dann sollte die Antwort kommen)

                  Funktioniert super

                  dslraserD Offline
                  dslraserD Offline
                  dslraser
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #8

                  @Tottbeck
                  hast Du auch mal die ssml Variante probiert ?😃

                  1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @dslraser
                    und hier noch ein Beispiel was Du über ssml so anstellen kannst. (hier werden einige Datenpunkte erstellt)
                    Auch hier funktioniert das mit der Lautstärke.

                    Auch hier sage mal Testansage zu Alexa.
                    (das erste Blockly von oben muß deaktiviert sein. Das habe ich in diesem Export als Beispiel deaktiviert drinn gelassen.)

                    <xml xmlns="http://www.w3.org/1999/xhtml">
                     <variables>
                       <variable type="" id="]8CjUu1tTXk^pZvPD9pk">Lautstaerke</variable>
                       <variable type="" id="tx`]izPXI!BeK19V`CX$">angesprochener_echo</variable>
                       <variable type="" id="hsYte9@o`T2BDaS,~4hu">alexa_voice</variable>
                       <variable type="" id="}tfHo!d;DNiy8lns,/nq">speak_volume</variable>
                       <variable type="" id="^$:ikT~4TjYuk|1umMYe">hans_voice</variable>
                       <variable type="" id="xn1_(a%|e4G}G4FdbhX:">Ansage</variable>
                       <variable type="" id="H/)RG7L1z9=:IM[[N)s]">vicki_voice</variable>
                       <variable type="" id=".Ef/-7s*/H3{8G|ut#TF">conchita_voice</variable>
                       <variable type="" id="h$;}IKI;/5Nr%M?LEdX]">ssml_ende</variable>
                       <variable type="" id=",8hPjyuv!|v-;xyG2[GM">stimmenwechsel_alexa</variable>
                       <variable type="" id="1R[1|dIw2YY/SWSjV8vi">stimmenwechsel_hans</variable>
                       <variable type="" id="hVUr^m=0SqBl!qr4l}8a">stimmenwechsel_vicki</variable>
                       <variable type="" id="5LniT)a9cR_h6Mo!t*1N">stimmenwechsel_conchita</variable>
                       <variable type="" id="eHmEd,;db!BBO)-s0Y{Z">fluestern_anfang</variable>
                       <variable type="" id="XITSHPBx:4U5JEzlW6ov">fluestern_ende</variable>
                       <variable type="" id="g)Ql[6CLA*U1}0AW@%59">Ansage2</variable>
                     </variables>
                     <block type="procedures_defcustomnoreturn" id="|YOBZy0(J_8~^4VAn@z%" x="37" y="-38">
                       <mutation statements="false"></mutation>
                       <field name="NAME">Datenpunkte_anlegen</field>
                       <field name="SCRIPT">Ly8jIyMjIyMjIyMjIyMjIyMtLS1hdXNrb21tZW50aWVydCBBbmZhbmctLS0jIyMjIyMjIyMjIyMjIyMKLyovLyMjIyMjIyMjIyMjIyMjIyMjIyMjLS0tQWxleGEgRGF0ZW5wdW5rdGUgYW5sZWdlbi0tLSMjIyMjIyMjIyMjIyMjIyMjIyMjCgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMTAgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAxQWxleGEnOwpjb25zdCBkdHAwMTAgPSB7dHlwZTogJ2Jvb2xlYW4nLCByZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSwgbmFtZTogJzAxQWxleGEnLHJvbGU6ICdzd2l0Y2gnLCJzbWFydE5hbWUiOiB7ImRlIjogIkFsZXhhIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9fTsKIApmdW5jdGlvbiBjcmVhdGVEcDAxMChpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMCgnMF91c2VyZGF0YS4wLicgKyBkcDAxMCwgZHRwMDEwKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAxMSA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDJIYW5zJzsKY29uc3QgZHRwMDExID0ge3R5cGU6ICdib29sZWFuJywgcmVhZDogdHJ1ZSwgd3JpdGU6IHRydWUsIG5hbWU6ICcwMkhhbnMnLHJvbGU6ICdzd2l0Y2gnLCJzbWFydE5hbWUiOiB7ImRlIjogIkhhbnMiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDExKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMSgnMF91c2VyZGF0YS4wLicgKyBkcDAxMSwgZHRwMDExKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAxMiA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDNWaWNraSc7CmNvbnN0IGR0cDAxMiA9IHt0eXBlOiAnYm9vbGVhbicsIHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlLCBuYW1lOiAnMDNWaWNraScscm9sZTogJ3N3aXRjaCcsInNtYXJ0TmFtZSI6IHsiZGUiOiAiVmlja2kiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDEyKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMignMF91c2VyZGF0YS4wLicgKyBkcDAxMiwgZHRwMDEyKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAxMyA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDRDb25jaGl0YSc7CmNvbnN0IGR0cDAxMyA9IHt0eXBlOiAnYm9vbGVhbicsIHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlLCBuYW1lOiAnMDRDb25jaGl0YScscm9sZTogJ3N3aXRjaCcsInNtYXJ0TmFtZSI6IHsiZGUiOiAiQ29uY2hpdGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDEzKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAxMygnMF91c2VyZGF0YS4wLicgKyBkcDAxMywgZHRwMDEzKTsqLy8vIyMjIyMjIyMjIyMjIyMjLS0tYXVza29tbWVudGllcnQgRW5kZS0tLSMjIyMjIyMjIyMjIyMjIwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE0ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNUFsZXhhX3NzbWwnOwpjb25zdCBkdHAwMTQgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA1QWxleGFfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDE0KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IkFsZXhhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE0KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE0LCBkdHAwMTQpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE1ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNkhhbnNfc3NtbCc7CmNvbnN0IGR0cDAxNSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDZIYW5zX3NzbWwnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAxNShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE1KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE1LCBkdHAwMTUpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE2ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wN1ZpY2tpX3NzbWwnOwpjb25zdCBkdHAwMTYgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA3Vmlja2lfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDE2KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IlZpY2tpIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE2KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE2LCBkdHAwMTYpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE3ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOENvbmNoaXRhX3NzbWwnOwpjb25zdCBkdHAwMTcgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA4Q29uY2hpdGFfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDE3KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IkNvbmNoaXRhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE3KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE3LCBkdHAwMTcpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDE4ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOXNzbWxfZW5kZSc7CmNvbnN0IGR0cDAxOCA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDlzc21sX2VuZGUnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAxOChpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnPC92b2ljZT48L3NwZWFrPic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMTgoJzBfdXNlcmRhdGEuMC4nICsgZHAwMTgsIGR0cDAxOCk7CgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMTkgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjEwQWxleGFfU3RpbW1lbndlY2hzZWxfc3NtbCc7CmNvbnN0IGR0cDAxOSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTBBbGV4YV9TdGltbWVud2VjaHNlbF9zc21sJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMTkoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzwvdm9pY2U+PHZvaWNlIG5hbWU9IkFsZXhhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDE5KCcwX3VzZXJkYXRhLjAuJyArIGRwMDE5LCBkdHAwMTkpOwoKY29uc3QgZHAwMjAgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjExSGFuc19TdGltbWVud2VjaHNlbF9zc21sJzsKY29uc3QgZHRwMDIwID0ge3R5cGU6ICdzdHJpbmcnLCByZWFkOiB0cnVlLCB3cml0ZTogZmFsc2UsIG5hbWU6ICcxMUhhbnNfU3RpbW1lbndlY2hzZWxfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDIwKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8L3ZvaWNlPjx2b2ljZSBuYW1lPSJIYW5zIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDIwKCcwX3VzZXJkYXRhLjAuJyArIGRwMDIwLCBkdHAwMjApOwoKY29uc3QgZHAwMjEgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjEyVmlja2lfU3RpbW1lbndlY2hzZWxfc3NtbCc7CmNvbnN0IGR0cDAyMSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMjEoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzwvdm9pY2U+PHZvaWNlIG5hbWU9IlZpY2tpIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDIxKCcwX3VzZXJkYXRhLjAuJyArIGRwMDIxLCBkdHAwMjEpOwoKY29uc3QgZHAwMjIgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjEzQ29uY2hpdGFfU3RpbW1lbndlY2hzZWxfc3NtbCc7CmNvbnN0IGR0cDAyMiA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTNDb25jaGl0YV9TdGltbWVud2VjaHNlbF9zc21sJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMjIoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzwvdm9pY2U+PHZvaWNlIG5hbWU9IkNvbmNoaXRhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDIyKCcwX3VzZXJkYXRhLjAuJyArIGRwMDIyLCBkdHAwMjIpOwoKY29uc3QgZHAwMjMgPSAnQWxleGFfQW5zYWdlbi5TdGltbWVuLjE0Zmx1ZXN0ZXJuX2FuZmFuZyc7CmNvbnN0IGR0cDAyMyA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTRmbHVlc3Rlcm5fYW5mYW5nJyxyb2xlOiAnc3RyaW5nJ307CiAKZnVuY3Rpb24gY3JlYXRlRHAwMjMoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJzxzcGVhaz48YW1hem9uOmVmZmVjdCBuYW1lPSJ3aGlzcGVyZWQiPic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMjMoJzBfdXNlcmRhdGEuMC4nICsgZHAwMjMsIGR0cDAyMyk7Cgpjb25zdCBkcDAyNCA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMTVmbHVlc3Rlcm5fZW5kZSc7CmNvbnN0IGR0cDAyNCA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMTVmbHVlc3Rlcm5fZW5kZScscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDI0KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8L2FtYXpvbjplZmZlY3Q+PC9zcGVhaz4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDI0KCcwX3VzZXJkYXRhLjAuJyArIGRwMDI0LCBkdHAwMjQpOw==</field>
                       <comment pinned="false" h="80" w="160">legt Datenpunkte für den die Anzahl gekippter/geöffneter/geschlossenen/gesamt Fenster an</comment>
                     </block>
                     <block type="procedures_callcustomnoreturn" id="WUz)!$4SU(=C^dK+WDIy" disabled="true" x="37" y="13">
                       <mutation name="Datenpunkte_anlegen"></mutation>
                       <next>
                         <block type="comment" id="TCbirY0yNy87D,/?|k1h">
                           <field name="COMMENT">speak</field>
                           <next>
                             <block type="on" id="pPAe?D9#C-MzNdYWPK]r" collapsed="true" disabled="true">
                               <field name="OID">alexa2.0.History.summary</field>
                               <field name="CONDITION">any</field>
                               <field name="ACK_CONDITION"></field>
                               <statement name="STATEMENT">
                                 <block type="controls_if" id="fQlWBQZN^e.:DrM[^7{4">
                                   <value name="IF0">
                                     <block type="logic_compare" id="2pJO@[Vtpx6B{6|hU{AM">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id="DyA~MCr`D%W17,P!,xZs">
                                           <field name="ATTR">val</field>
                                           <field name="OID">alexa2.0.History.summary</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="text" id="%4nBc3D)J=jtRdxt$XgL">
                                           <field name="TEXT">testansage</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="variables_set" id=".}l{$)R}!so3?49}ZI29">
                                       <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                       <value name="VALUE">
                                         <block type="math_number" id="w!aFM4SyFphGj^,/nlyu">
                                           <field name="NUM">100</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="variables_set" id="raHp)T;G6o1nDaQZ5Qrg">
                                           <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                           <value name="VALUE">
                                             <block type="text_join" id="q`1!?SO4KN9hG:/?YC1L">
                                               <mutation items="3"></mutation>
                                               <value name="ADD0">
                                                 <block type="text" id="lG5cq|_e-SYygMARlNe%">
                                                   <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                 </block>
                                               </value>
                                               <value name="ADD1">
                                                 <block type="get_value" id="M7plEDg{8pq2=J9a2fzQ">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">alexa2.0.History.serialNumber</field>
                                                 </block>
                                               </value>
                                               <value name="ADD2">
                                                 <block type="text" id="v.6VG(Lxwxo.[IIHs$U=">
                                                   <field name="TEXT">.Commands.speak</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="N?jvkadzp3l@_Na$GSh3">
                                               <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                               <value name="VALUE">
                                                 <block type="text_join" id="2;bG:Tv$~s+Itqhld@ML">
                                                   <mutation items="3"></mutation>
                                                   <value name="ADD0">
                                                     <block type="text" id="U0%on0@O$stDed%wbZLS">
                                                       <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="get_value" id="F;9-S~mvqb0GUKsf@iKm">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">alexa2.0.History.serialNumber</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD2">
                                                     <block type="text" id=".(-6vYavAe:;F~Wr[qy!">
                                                       <field name="TEXT">.Commands.speak-volume</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="XQx[6n!+nUQ];R7;`1$a">
                                                   <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                   <value name="VALUE">
                                                     <block type="text" id="3go3)pi-E4Nt~0H{)8)^">
                                                       <field name="TEXT">Ich teste jetzt die Lautstärke mit dem Wert 100. Nach dieser Ansage stellt sich der Wert wieder zurück auf den vorher eingestellten Wert.</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="control_ex" id="@.Ynq`]k]!w}k*GMj~[!" inline="true">
                                                       <field name="TYPE">false</field>
                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                       <value name="OID">
                                                         <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                           <field name="oid">Object ID</field>
                                                         </shadow>
                                                         <block type="variables_get" id="(kZn44O^xPC@K:O/D*lO">
                                                           <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                                         </block>
                                                       </value>
                                                       <value name="VALUE">
                                                         <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                           <field name="BOOL">TRUE</field>
                                                         </shadow>
                                                         <block type="variables_get" id="I=Z6pmb=)Mwn25%B:!cu">
                                                           <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                                         </block>
                                                       </value>
                                                       <value name="DELAY_MS">
                                                         <shadow type="math_number" id="6ncG2Nes+=ucX9m]Q-LH">
                                                           <field name="NUM">0</field>
                                                         </shadow>
                                                       </value>
                                                       <next>
                                                         <block type="control_ex" id="5$O:dbv;*Ncoc7n00s`w" inline="true">
                                                           <field name="TYPE">false</field>
                                                           <field name="CLEAR_RUNNING">FALSE</field>
                                                           <value name="OID">
                                                             <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                               <field name="oid">Object ID</field>
                                                             </shadow>
                                                             <block type="variables_get" id="hMVRJeB$V+.jktBW.6DP">
                                                               <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                             </block>
                                                           </value>
                                                           <value name="VALUE">
                                                             <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                               <field name="BOOL">TRUE</field>
                                                             </shadow>
                                                             <block type="variables_get" id="_UExVH`$/=Sjy86Hb$%X">
                                                               <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                             </block>
                                                           </value>
                                                           <value name="DELAY_MS">
                                                             <shadow type="math_number" id="cLl){TAE+8[,|ov4ALY+">
                                                               <field name="NUM">0</field>
                                                             </shadow>
                                                           </value>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                               <next>
                                 <block type="comment" id="=x.*TbJbsJR4!qztr5}(">
                                   <field name="COMMENT">ssml</field>
                                   <next>
                                     <block type="on" id="[~`aZbXg|MwH^/]r2eKq">
                                       <field name="OID">alexa2.0.History.summary</field>
                                       <field name="CONDITION">any</field>
                                       <field name="ACK_CONDITION"></field>
                                       <statement name="STATEMENT">
                                         <block type="variables_set" id="|Y?dP^7^w/)!*0$3}/#Y">
                                           <field name="VAR" id="hsYte9@o`T2BDaS,~4hu" variabletype="">alexa_voice</field>
                                           <value name="VALUE">
                                             <block type="get_value" id="8#aiKcrm:u{sjs0cUfhr">
                                               <field name="ATTR">val</field>
                                               <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.05Alexa_ssml</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="#LjgD75rPUU:r.P%*]2^">
                                               <field name="VAR" id="^$:ikT~4TjYuk|1umMYe" variabletype="">hans_voice</field>
                                               <value name="VALUE">
                                                 <block type="get_value" id="GP6WGh*S#uF^|L$Xf=^s">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.06Hans_ssml</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="MvSk+J3jhK;,;nnz.?5_">
                                                   <field name="VAR" id="H/)RG7L1z9=:IM[[N)s]" variabletype="">vicki_voice</field>
                                                   <value name="VALUE">
                                                     <block type="get_value" id="Q73;gvzZe(OOtS;xBeVd">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.07Vicki_ssml</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="A8ixxD,Rb{NT`8ud;lY}">
                                                       <field name="VAR" id=".Ef/-7s*/H3{8G|ut#TF" variabletype="">conchita_voice</field>
                                                       <value name="VALUE">
                                                         <block type="get_value" id="1{q_i]9;pVS]oY@S6uLq">
                                                           <field name="ATTR">val</field>
                                                           <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.08Conchita_ssml</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="variables_set" id="D@jsvo])3JLj/v!fA(?-">
                                                           <field name="VAR" id="h$;}IKI;/5Nr%M?LEdX]" variabletype="">ssml_ende</field>
                                                           <value name="VALUE">
                                                             <block type="get_value" id="5[3qWOD`xha3N;EJS8}7">
                                                               <field name="ATTR">val</field>
                                                               <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.09ssml_ende</field>
                                                             </block>
                                                           </value>
                                                           <next>
                                                             <block type="variables_set" id="JzY)};|[y:|a2B=~f{1p">
                                                               <field name="VAR" id=",8hPjyuv!|v-;xyG2[GM" variabletype="">stimmenwechsel_alexa</field>
                                                               <value name="VALUE">
                                                                 <block type="get_value" id="!dKZJ54A6h#?J~RSV%3~">
                                                                   <field name="ATTR">val</field>
                                                                   <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.10Alexa_Stimmenwechsel_ssml</field>
                                                                 </block>
                                                               </value>
                                                               <next>
                                                                 <block type="variables_set" id="W7id@jkpI:9O)zPL.DTU">
                                                                   <field name="VAR" id="1R[1|dIw2YY/SWSjV8vi" variabletype="">stimmenwechsel_hans</field>
                                                                   <value name="VALUE">
                                                                     <block type="get_value" id="4xY(7AjKi~^ljks.n841">
                                                                       <field name="ATTR">val</field>
                                                                       <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.11Hans_Stimmenwechsel_ssml</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="variables_set" id="46SatHI]v=bv/%P:j+bp">
                                                                       <field name="VAR" id="hVUr^m=0SqBl!qr4l}8a" variabletype="">stimmenwechsel_vicki</field>
                                                                       <value name="VALUE">
                                                                         <block type="get_value" id="9=0xIG,Pc!5XUSS)U!_x">
                                                                           <field name="ATTR">val</field>
                                                                           <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.12Vicki_Stimmenwechsel_ssml</field>
                                                                         </block>
                                                                       </value>
                                                                       <next>
                                                                         <block type="variables_set" id="]oJ#b{fZ0P*!wSNoKZ9A">
                                                                           <field name="VAR" id="5LniT)a9cR_h6Mo!t*1N" variabletype="">stimmenwechsel_conchita</field>
                                                                           <value name="VALUE">
                                                                             <block type="get_value" id="WH]s$i*uV`:tg,XZy@I/">
                                                                               <field name="ATTR">val</field>
                                                                               <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.13Conchita_Stimmenwechsel_ssml</field>
                                                                             </block>
                                                                           </value>
                                                                           <next>
                                                                             <block type="variables_set" id="Z-IEV|C0/NEL0o95zRdg">
                                                                               <field name="VAR" id="eHmEd,;db!BBO)-s0Y{Z" variabletype="">fluestern_anfang</field>
                                                                               <value name="VALUE">
                                                                                 <block type="get_value" id="(Gi;jkQ]RrIAIXz4`;d3">
                                                                                   <field name="ATTR">val</field>
                                                                                   <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.14fluestern_anfang</field>
                                                                                 </block>
                                                                               </value>
                                                                               <next>
                                                                                 <block type="variables_set" id="{t0fi5sc0=}!DE,jnlS8">
                                                                                   <field name="VAR" id="XITSHPBx:4U5JEzlW6ov" variabletype="">fluestern_ende</field>
                                                                                   <value name="VALUE">
                                                                                     <block type="get_value" id="Glna:ISU*6zQ:HYj`6PC">
                                                                                       <field name="ATTR">val</field>
                                                                                       <field name="OID">0_userdata.0.Alexa_Ansagen.Stimmen.15fluestern_ende</field>
                                                                                     </block>
                                                                                   </value>
                                                                                   <next>
                                                                                     <block type="controls_if" id="AmHCZmZQ?D_nGLF,U{=u">
                                                                                       <value name="IF0">
                                                                                         <block type="logic_compare" id="^dLRtgWT~Tt++cL($NKn">
                                                                                           <field name="OP">EQ</field>
                                                                                           <value name="A">
                                                                                             <block type="get_value" id="9IQ29otyT#F-Spsl%l1I">
                                                                                               <field name="ATTR">val</field>
                                                                                               <field name="OID">alexa2.0.History.summary</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <value name="B">
                                                                                             <block type="text" id="V#v}1F.Uu4q+Op8a+EQU">
                                                                                               <field name="TEXT">testansage</field>
                                                                                             </block>
                                                                                           </value>
                                                                                         </block>
                                                                                       </value>
                                                                                       <statement name="DO0">
                                                                                         <block type="variables_set" id="c0:5H;c}I61=O)k/{m}s">
                                                                                           <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                                                                           <value name="VALUE">
                                                                                             <block type="math_number" id="VP%:,w*{wn*j@Ro_~V.n">
                                                                                               <field name="NUM">100</field>
                                                                                             </block>
                                                                                           </value>
                                                                                           <next>
                                                                                             <block type="variables_set" id="zsVZKg0]4(L1ixvAR)/1">
                                                                                               <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                                                               <value name="VALUE">
                                                                                                 <block type="text_join" id="Ro|ihCQ:AQOt.3`TUQwM">
                                                                                                   <mutation items="3"></mutation>
                                                                                                   <value name="ADD0">
                                                                                                     <block type="text" id="!3N6!z_sBxoud+?AYsuv">
                                                                                                       <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="ADD1">
                                                                                                     <block type="get_value" id="sIB7uOMmNbK:-t:a.QR;">
                                                                                                       <field name="ATTR">val</field>
                                                                                                       <field name="OID">alexa2.0.History.serialNumber</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <value name="ADD2">
                                                                                                     <block type="text" id="(=O9cXWAffYNZ}Z0`DxZ">
                                                                                                       <field name="TEXT">.Commands.ssml</field>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                 </block>
                                                                                               </value>
                                                                                               <next>
                                                                                                 <block type="variables_set" id="i38T``MGhvb6dO^:S]M$">
                                                                                                   <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                                                                                   <value name="VALUE">
                                                                                                     <block type="text_join" id=".du,f^-[km~vy3f,^+!;">
                                                                                                       <mutation items="3"></mutation>
                                                                                                       <value name="ADD0">
                                                                                                         <block type="text" id="YRnYeZjQ^P?$m)miSuWv">
                                                                                                           <field name="TEXT">alexa2.0.Echo-Devices.</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <value name="ADD1">
                                                                                                         <block type="get_value" id="A$L7:D{nF;z|(]R15M6s">
                                                                                                           <field name="ATTR">val</field>
                                                                                                           <field name="OID">alexa2.0.History.serialNumber</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <value name="ADD2">
                                                                                                         <block type="text" id="nqD6Te,c(D?G{y#CCFql">
                                                                                                           <field name="TEXT">.Commands.speak-volume</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                     </block>
                                                                                                   </value>
                                                                                                   <next>
                                                                                                     <block type="control_ex" id="m*49S0.[D:6!M#Fv~sJz" inline="true">
                                                                                                       <field name="TYPE">false</field>
                                                                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                       <value name="OID">
                                                                                                         <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                                                                           <field name="oid">Object ID</field>
                                                                                                         </shadow>
                                                                                                         <block type="variables_get" id="u![hpE!E%l3S_H~+~tia">
                                                                                                           <field name="VAR" id="}tfHo!d;DNiy8lns,/nq" variabletype="">speak_volume</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <value name="VALUE">
                                                                                                         <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                                                                           <field name="BOOL">TRUE</field>
                                                                                                         </shadow>
                                                                                                         <block type="variables_get" id="qh[g_2lfHC*P$tQD7lYL">
                                                                                                           <field name="VAR" id="]8CjUu1tTXk^pZvPD9pk" variabletype="">Lautstaerke</field>
                                                                                                         </block>
                                                                                                       </value>
                                                                                                       <value name="DELAY_MS">
                                                                                                         <shadow type="math_number" id="s%4rnui3VS(SjQx|x-A+">
                                                                                                           <field name="NUM">0</field>
                                                                                                         </shadow>
                                                                                                       </value>
                                                                                                       <next>
                                                                                                         <block type="variables_set" id="~mUtLASbz4,[^)Mr^r(@">
                                                                                                           <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                                                                           <value name="VALUE">
                                                                                                             <block type="text_join" id="6(p)A1L$:_75Icld.$!`">
                                                                                                               <mutation items="11"></mutation>
                                                                                                               <value name="ADD0">
                                                                                                                 <block type="variables_get" id="K?;FJpSD.DAu(4Vl6#/!">
                                                                                                                   <field name="VAR" id="hsYte9@o`T2BDaS,~4hu" variabletype="">alexa_voice</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD1">
                                                                                                                 <block type="text" id="X9wB$RtDd9S!6Cv%E*/@">
                                                                                                                   <field name="TEXT">Ich teste jetzt die Lautstärke mit dem Wert 100.</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD2">
                                                                                                                 <block type="variables_get" id="P1x3s}vBZPp0qmWW-jb#">
                                                                                                                   <field name="VAR" id="1R[1|dIw2YY/SWSjV8vi" variabletype="">stimmenwechsel_hans</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD3">
                                                                                                                 <block type="text" id="4_8*(J~8e8HAn?z2i.*O">
                                                                                                                   <field name="TEXT"> Nach dieser Ansage stellt sich der Wert wieder zurück auf den vorher eingestellten Wert. </field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD4">
                                                                                                                 <block type="variables_get" id="Q(ihJ[=VY;+#zMcnppVy">
                                                                                                                   <field name="VAR" id="hVUr^m=0SqBl!qr4l}8a" variabletype="">stimmenwechsel_vicki</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD5">
                                                                                                                 <block type="text" id="e4~5oJfNN%v)~4M+$4y,">
                                                                                                                   <field name="TEXT">Aber auch verschiedene Stimmen können ganz nett sein. </field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD6">
                                                                                                                 <block type="variables_get" id="uj27HwU#KD5Q?qY4Ff,v">
                                                                                                                   <field name="VAR" id="5LniT)a9cR_h6Mo!t*1N" variabletype="">stimmenwechsel_conchita</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD7">
                                                                                                                 <block type="text" id=",~Q+|d^-|,KIP*l+y)cH">
                                                                                                                   <field name="TEXT">Ja, das stimmt. Ich bin verwirrt. </field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD8">
                                                                                                                 <block type="variables_get" id="qsElU5x=z,CqeU_okG#!">
                                                                                                                   <field name="VAR" id=",8hPjyuv!|v-;xyG2[GM" variabletype="">stimmenwechsel_alexa</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD9">
                                                                                                                 <block type="text" id="jX_Gw7!]oE@2|CONlV5H">
                                                                                                                   <field name="TEXT">So, genug gequasselt. Ansage Ende.</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <value name="ADD10">
                                                                                                                 <block type="variables_get" id="D[ka=jJA~5QL?wl$=msz">
                                                                                                                   <field name="VAR" id="h$;}IKI;/5Nr%M?LEdX]" variabletype="">ssml_ende</field>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                             </block>
                                                                                                           </value>
                                                                                                           <next>
                                                                                                             <block type="variables_set" id="rd8Vm:g%lZIPouk@%0~[">
                                                                                                               <field name="VAR" id="g)Ql[6CLA*U1}0AW@%59" variabletype="">Ansage2</field>
                                                                                                               <value name="VALUE">
                                                                                                                 <block type="text_join" id="gxMytiI`nl3D)G!RxBN2">
                                                                                                                   <mutation items="3"></mutation>
                                                                                                                   <value name="ADD0">
                                                                                                                     <block type="variables_get" id="%$(wV^{e#TO1I$%E.F,5">
                                                                                                                       <field name="VAR" id="eHmEd,;db!BBO)-s0Y{Z" variabletype="">fluestern_anfang</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="ADD1">
                                                                                                                     <block type="text" id="`;^NfmSQ-{hBrChTk;eo">
                                                                                                                       <field name="TEXT">Ich kann sogar flüstern. Oh Oh. </field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="ADD2">
                                                                                                                     <block type="variables_get" id="?gfiG/.F{kuYoBStkin5">
                                                                                                                       <field name="VAR" id="XITSHPBx:4U5JEzlW6ov" variabletype="">fluestern_ende</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                 </block>
                                                                                                               </value>
                                                                                                               <next>
                                                                                                                 <block type="control_ex" id="Z0SIQv`YwR}U3y-7.C[_" inline="true">
                                                                                                                   <field name="TYPE">false</field>
                                                                                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                   <value name="OID">
                                                                                                                     <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                                                                                       <field name="oid">Object ID</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="variables_get" id="7XIJ@IIk+|w*,LY8F10b">
                                                                                                                       <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="VALUE">
                                                                                                                     <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                                                                                       <field name="BOOL">TRUE</field>
                                                                                                                     </shadow>
                                                                                                                     <block type="variables_get" id="c@cd-(g/KcOn2,^;@I[Q">
                                                                                                                       <field name="VAR" id="xn1_(a%|e4G}G4FdbhX:" variabletype="">Ansage</field>
                                                                                                                     </block>
                                                                                                                   </value>
                                                                                                                   <value name="DELAY_MS">
                                                                                                                     <shadow type="math_number" id="SJ?NXn_.A!Y[+SZv]WYK">
                                                                                                                       <field name="NUM">0</field>
                                                                                                                     </shadow>
                                                                                                                   </value>
                                                                                                                   <next>
                                                                                                                     <block type="control_ex" id="///ti2V{encKANYTI6Ya" inline="true">
                                                                                                                       <field name="TYPE">false</field>
                                                                                                                       <field name="CLEAR_RUNNING">FALSE</field>
                                                                                                                       <value name="OID">
                                                                                                                         <shadow type="field_oid" id="hb?Q/-%_9A^!+jRfuTnL">
                                                                                                                           <field name="oid">Object ID</field>
                                                                                                                         </shadow>
                                                                                                                         <block type="variables_get" id="$x%/Yh*`_p}|%n0+6X).">
                                                                                                                           <field name="VAR" id="tx`]izPXI!BeK19V`CX$" variabletype="">angesprochener_echo</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="VALUE">
                                                                                                                         <shadow type="logic_boolean" id="Uo[{s0o3{[`(35T92ci2">
                                                                                                                           <field name="BOOL">TRUE</field>
                                                                                                                         </shadow>
                                                                                                                         <block type="variables_get" id="}(OeQ:Wg,[eMtCwny-c/">
                                                                                                                           <field name="VAR" id="g)Ql[6CLA*U1}0AW@%59" variabletype="">Ansage2</field>
                                                                                                                         </block>
                                                                                                                       </value>
                                                                                                                       <value name="DELAY_MS">
                                                                                                                         <shadow type="math_number" id="MSay5)`ZstNNa$[ZaKfc">
                                                                                                                           <field name="NUM">0</field>
                                                                                                                         </shadow>
                                                                                                                       </value>
                                                                                                                     </block>
                                                                                                                   </next>
                                                                                                                 </block>
                                                                                                               </next>
                                                                                                             </block>
                                                                                                           </next>
                                                                                                         </block>
                                                                                                       </next>
                                                                                                     </block>
                                                                                                   </next>
                                                                                                 </block>
                                                                                               </next>
                                                                                             </block>
                                                                                           </next>
                                                                                         </block>
                                                                                       </statement>
                                                                                     </block>
                                                                                   </next>
                                                                                 </block>
                                                                               </next>
                                                                             </block>
                                                                           </next>
                                                                         </block>
                                                                       </next>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </next>
                                                             </block>
                                                           </next>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                    </xml>
                    

                    T Offline
                    T Offline
                    Tottbeck
                    schrieb am zuletzt editiert von
                    #9

                    @dslraser sagte in Subfunktion in Blockly:

                    und hier noch ein Beispiel was Du über ssml so anstellen kannst. (hier werden einige Datenpunkte erstellt)
                    Auch hier funktioniert das mit der Lautstärke.

                    Das läuft leider nicht.
                    Sollten die zugehörigen Datenpunkte automatisch angelegt werden ?
                    Unter "0_userdata.0" habe ich jedenfalls keine Objekte. "(nur "example_state")

                    dslraserD 1 Antwort Letzte Antwort
                    0
                    • T Tottbeck

                      @dslraser sagte in Subfunktion in Blockly:

                      und hier noch ein Beispiel was Du über ssml so anstellen kannst. (hier werden einige Datenpunkte erstellt)
                      Auch hier funktioniert das mit der Lautstärke.

                      Das läuft leider nicht.
                      Sollten die zugehörigen Datenpunkte automatisch angelegt werden ?
                      Unter "0_userdata.0" habe ich jedenfalls keine Objekte. "(nur "example_state")

                      dslraserD Offline
                      dslraserD Offline
                      dslraser
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @Tottbeck
                      hast Du den aktiviert ?

                      Bildschirmfoto 2020-01-02 um 14.14.28.png

                      1 Antwort Letzte Antwort
                      0
                      • T Offline
                        T Offline
                        Tottbeck
                        schrieb am zuletzt editiert von
                        #11

                        Ja, hatte ich testweise. Im Log nachgeschaut, dort steht:
                        (21604) script.js.Alarmanlage.Test2: Cannot write object: Function "setObject" is not allowed. Use adapter settings to allow it.
                        Habe im Javascript-Adapter die Option "Erlaube das Kommando "set Object" " aktiviert.
                        Jetzt wurden unter 0_userdata.0 Stimmen angelegt.
                        Funktioniert jetzt, ist ja erstaunlich, was das Ding so kann ;-):+1:
                        "Datenpunkte anlegen" kann ich danach wieder deaktivieren.

                        Ist das Alexa-Feature jetzt eigentlich begrenzt auf die 20 Aktivierungen pro Tag, oder ist das eine andere Geschichte ? Oder gilt das nur für den Cloud bzw IOT-Adapter?

                        dslraserD 1 Antwort Letzte Antwort
                        0
                        • T Tottbeck

                          Ja, hatte ich testweise. Im Log nachgeschaut, dort steht:
                          (21604) script.js.Alarmanlage.Test2: Cannot write object: Function "setObject" is not allowed. Use adapter settings to allow it.
                          Habe im Javascript-Adapter die Option "Erlaube das Kommando "set Object" " aktiviert.
                          Jetzt wurden unter 0_userdata.0 Stimmen angelegt.
                          Funktioniert jetzt, ist ja erstaunlich, was das Ding so kann ;-):+1:
                          "Datenpunkte anlegen" kann ich danach wieder deaktivieren.

                          Ist das Alexa-Feature jetzt eigentlich begrenzt auf die 20 Aktivierungen pro Tag, oder ist das eine andere Geschichte ? Oder gilt das nur für den Cloud bzw IOT-Adapter?

                          dslraserD Offline
                          dslraserD Offline
                          dslraser
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von dslraser
                          #12

                          @Tottbeck sagte in Subfunktion in Blockly:

                          Datenpunkte anlegen" kann ich danach wieder deaktivieren.

                          ja, kannst Du dann deaktivieren.

                          Ist das Alexa-Feature jetzt eigentlich begrenzt auf die 20 Aktivierungen pro Tag, oder ist das eine andere Geschichte ? Oder gilt das nur für den Cloud bzw IOT-Adapter?

                          Ich habe schein seit Jahren eine Lizenz, da ist es "unbegrenzt".

                          1 Antwort Letzte Antwort
                          0
                          • T Offline
                            T Offline
                            Tottbeck
                            schrieb am zuletzt editiert von
                            #13

                            Habe gerade auch die Assistenz-Lizenz für ein Jahr gekauft.
                            Musste erst eine Schaltung per IOT machen, bevor ich bezahlen durfte. ;-)
                            Die Stimme von Marlene :female-judge: habe ich auch gerade getetest.

                            dslraserD 1 Antwort Letzte Antwort
                            1
                            • T Tottbeck

                              Habe gerade auch die Assistenz-Lizenz für ein Jahr gekauft.
                              Musste erst eine Schaltung per IOT machen, bevor ich bezahlen durfte. ;-)
                              Die Stimme von Marlene :female-judge: habe ich auch gerade getetest.

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von
                              #14

                              @Tottbeck
                              die verschiedenen Stimmen könnte ich mir für Deinen Anwendungsfall "Alarmanlage" ganz gut vorstellen, deshalb hatte ich Dir die Richtung ssml gezeigt, weil da einfach mehr möglich ist als über speak.

                              1 Antwort Letzte Antwort
                              0
                              • T Offline
                                T Offline
                                Tottbeck
                                schrieb am zuletzt editiert von
                                #15

                                Ja, Danke. Ist wirklich hilfreich.
                                Dann kann man dem Einbrecher schon mal etwas vorflüstern oder einen lauten Familienstreit simulieren ;-)
                                "Du hast mich mit Conchita betrogen" usw :dancer:

                                dslraserD 1 Antwort Letzte Antwort
                                0
                                • T Tottbeck

                                  Ja, Danke. Ist wirklich hilfreich.
                                  Dann kann man dem Einbrecher schon mal etwas vorflüstern oder einen lauten Familienstreit simulieren ;-)
                                  "Du hast mich mit Conchita betrogen" usw :dancer:

                                  dslraserD Offline
                                  dslraserD Offline
                                  dslraser
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #16

                                  @Tottbeck sagte in Subfunktion in Blockly:

                                  "Du hast mich mit Conchita betrogen"

                                  :grinning:

                                  1 Antwort Letzte Antwort
                                  0
                                  • T Offline
                                    T Offline
                                    Tottbeck
                                    schrieb am zuletzt editiert von
                                    #17

                                    Die Sprachsteuerung per SSML funktioniert jetzt ganz gut, damit kann man die ganze umständliche Configuration im Cloud/IOT-Adapter umgehen.
                                    Man muß nur aufpassen, dass Alexa alles in Kleinbuchstaben versteht, denn der Text-Vergleich ist case-sensitive.

                                    Zu dem zweiten Punkt, bekomme ich einfach kein stabiles Blinken hin.
                                    @Tottbeck sagte in Subfunktion in Blockly:

                                    Das Blinken vom Xiaomi-Gateway (langsam in Blau für Aktiv, Schnell in Rot für Alarm) klappt nicht so wirklich. Manchmal geht es, aber irgendwie nicht stabil und nicht im gewünschten Zyklus/Farbe. Gibt es dazu Erfahrungswerte, was man dem Ding zumuten darf?

                                    Alle 5s für 1s aktiv sollte ja möglich sein, aber selbst das klappt nicht stabil. Gibt es da evtl störende Nebeneinflüsse durch die Xiaomi-App?

                                    1 Antwort Letzte Antwort
                                    0
                                    • T Offline
                                      T Offline
                                      Tottbeck
                                      schrieb am zuletzt editiert von
                                      #18

                                      Hallo @dslraser , nochmal eine Frage zu Sprachsteuerung.
                                      Habe mir jetzt noch etwas eingebaut, damit mir Alexa sagt, wann die Haustür das letzte Mal geöffnet wurde.
                                      Das macht sie auch brav (wenn man berücksichtigt das sie meist "haus tür statt "Haustür" versteht).
                                      Ich frage für den Sprachbefehl die Alexa.history.summary in einem zentralen Modul ab. Die Alexa verarbeitet das aber parallel und will mir schon sagen, dass sie nicht weiß, was ich von ihr will, bis sie vom IoBroker-Ausgabe überstimmt wird. Kann man das verhindern ??

                                      Generell. Spricht eigentlich etwas dagegen alles direkt über die history.summary zu steuern, also ohne Konfiguration in Alexa-App und IOT-Adapter ??

                                      dslraserD 1 Antwort Letzte Antwort
                                      0
                                      • T Tottbeck

                                        Hallo @dslraser , nochmal eine Frage zu Sprachsteuerung.
                                        Habe mir jetzt noch etwas eingebaut, damit mir Alexa sagt, wann die Haustür das letzte Mal geöffnet wurde.
                                        Das macht sie auch brav (wenn man berücksichtigt das sie meist "haus tür statt "Haustür" versteht).
                                        Ich frage für den Sprachbefehl die Alexa.history.summary in einem zentralen Modul ab. Die Alexa verarbeitet das aber parallel und will mir schon sagen, dass sie nicht weiß, was ich von ihr will, bis sie vom IoBroker-Ausgabe überstimmt wird. Kann man das verhindern ??

                                        Generell. Spricht eigentlich etwas dagegen alles direkt über die history.summary zu steuern, also ohne Konfiguration in Alexa-App und IOT-Adapter ??

                                        dslraserD Offline
                                        dslraserD Offline
                                        dslraser
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #19

                                        @Tottbeck sagte in Subfunktion in Blockly:

                                        Ich frage für den Sprachbefehl die Alexa.history.summary in einem zentralen Modul ab. Die Alexa verarbeitet das aber parallel und will mir schon sagen, dass sie nicht weiß, was ich von ihr will, bis sie vom IoBroker-Ausgabe überstimmt wird. Kann man das verhindern ??

                                        Ich mache eigentlich gar nichts direkt über die History bzw. habe es noch nicht über ein "Modul" probiert. Wie muß ich mir dieses "Modul" vorstellen ? Alles in einem Script ?
                                        Wie man das verhindern kann weiß ich nicht, da ich es nicht so mache.

                                        1 Antwort Letzte Antwort
                                        0
                                        • T Offline
                                          T Offline
                                          Tottbeck
                                          schrieb am zuletzt editiert von
                                          #20

                                          Danke. Ein zentrales Blocky-Script wäre wohl der genauere Begriff für das SW-Modul. Dort kann ich dann mit "falls"/"sonst falls" alle Sprachbefehle ablegen.
                                          60024fcc-366f-4b6f-8694-7df2eb9aadf1-image.png
                                          Dort könnte ich auch wenn ein Befehl erkannt wurde, die Alexa-Antwort abwürgen. Wäre natürlich trotzdem irgendwie hinten herum.

                                          Wenn meine Methode allerdings dieses Problem verursacht und Deine nicht, dass ist Deine Methode (welche ?) wohl die passendere. ;-)

                                          dslraserD 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          748

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe