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. Cloud Dienste
  4. Ohne Cloud: Alexa nur mittels Adapter steuern?

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    104

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

Ohne Cloud: Alexa nur mittels Adapter steuern?

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
alexacloud
34 Beiträge 11 Kommentatoren 6.8k Aufrufe 18 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
    Tictactoo
    schrieb am zuletzt editiert von
    #5

    Ich hab mich mit dem Ganzen auch schon ne Weile auseinandergesetzt und versucht, für etwas komplexere Sachen als An-Aus ne elegante Lösung zu finden.

    Das Problem ist aus meiner Sicht schlicht und ergreifend, dass man die Serverantworten von Amazon auf dem Echo nicht unterdrücken kann. Alexa wird dir also bei einem ihr unbekannten Gerät oder einer unbekannten Funktion immer zuerst antworten, dass sie nicht weiß, wie sie dir helfen soll. Ich hab auch nach mehreren Stunden rumprobieren nicht geschafft, dass sie nichts antwortet.

    Eine möglicher Lösungsansatz, den ich versucht hatte war den Kurz-Antwort-Modus einzuschalten. Hab es nicht mit allen Szenarien ausprobiert, weil es für mich generell nicht so interessant war ihn auf Dauer zu aktivieren.

    Lange Rede, kurzer Sinn: Schalten kannst du natürlich dein Smart Home über das Auslesen der Summary, aber letztlich werden die Antworten von Alexa halt nicht immer passen, wenn ihr was nicht passt.

    Aber bitte korrigier mich jemand, sollte es doch eine Lösung dafür geben!

    1 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      Adnim
      schrieb am zuletzt editiert von
      #6

      man kann doch eine Routine in der app anlegen bspw. wenn du sagst ich gehe duschen, Antwort OK.

      Steuern dann über Summary

      T T 2 Antworten Letzte Antwort
      0
      • A Adnim

        man kann doch eine Routine in der app anlegen bspw. wenn du sagst ich gehe duschen, Antwort OK.

        Steuern dann über Summary

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

        @Adnim sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

        man kann doch eine Routine in der app anlegen bspw. wenn du sagst ich gehe duschen, Antwort OK.

        Steuern dann über Summary

        Oh, stimmt, das könnte gehen. Werde ich heute Abend gleich mal probieren.

        1 Antwort Letzte Antwort
        0
        • A Adnim

          man kann doch eine Routine in der app anlegen bspw. wenn du sagst ich gehe duschen, Antwort OK.

          Steuern dann über Summary

          T Offline
          T Offline
          Tictactoo
          schrieb am zuletzt editiert von
          #8

          @Adnim Können kann man schon. Man kann auch einen Blueprint Skill "Frage & Antwort" machen. Für 2-3 Sachen hab ich das auch gemacht, aber zum einen musst du das dann ja für jeden einzelnen Befehl machen, denn du ausprogrammieren willst. Zum Anderen antwortet Sie dann immer "Ok" oder deinen gewünschten Antwortsatz, auch wenn etwas nicht funktioniert. Ist also auch nicht ganz ideal.

          T 1 Antwort Letzte Antwort
          0
          • T Tictactoo

            @Adnim Können kann man schon. Man kann auch einen Blueprint Skill "Frage & Antwort" machen. Für 2-3 Sachen hab ich das auch gemacht, aber zum einen musst du das dann ja für jeden einzelnen Befehl machen, denn du ausprogrammieren willst. Zum Anderen antwortet Sie dann immer "Ok" oder deinen gewünschten Antwortsatz, auch wenn etwas nicht funktioniert. Ist also auch nicht ganz ideal.

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

            @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

            Man kann auch einen Blueprint Skill "Frage & Antwort" machen.

            Das ist auch eine Idee. Bisher hab ich mich immer gefragt, was man mit den Blueprints anfangen soll.

            T 1 Antwort Letzte Antwort
            0
            • dslraserD Offline
              dslraserD Offline
              dslraser
              Forum Testing Most Active
              schrieb am zuletzt editiert von
              #10

              Also meine Erfahrungen sind genau die, wie von Einigen hier geschrieben.
              Auch das mit den Routinen geht so, aber ich habe auch gelesen, das die Routinen so ca. auf 100 begrenzt sind. So viele hatte ich zwar noch nie, aber ein User hat schon mal genau das geschrieben, das er dann keine weiteren Routinen mehr anlegen konnte.

              1 Antwort Letzte Antwort
              0
              • MicM Mic

                Hier noch ein Beispiel, wie man alle Sprachbefehle in einer Javascript-Konfig-Variable anlegen kann.
                Das Script braucht sicherlich noch mehr Validierungen. Außerdem sollte es auch über die Konfig ermöglichen, Funktionen aufzurufen (statt Datenpunkt setzen). Außerdem sollte Sprachausgabe erst kommen, wenn der State acknowledge=true zurückgibt.

                Alles nur ein erster Test :-)

                /**
                 * command:        Sprach-Befehl, auf den reagiert werden soll.
                 * setStateId:     Dieser Datenpunkt wird gesetzt. Leer lassen '', falls kein Datenpunkt gesetzt werden soll.
                 * setStateVal:    Wert, der in setStateId gesetzt werden soll. Z.B.: true, false, 50, 100, usw.
                 * confirmMessage: Die Alexa, von der der Sprachbefehl kam, gibt dann diesen Text per Sprache aus, sobald der Befehl abgesetzt und der Datenpunkt geschaltet wurde.
                 *                 Leer lassen '', falls kein Text ausgegeben werden soll.
                 */
                const CONFIG = [
                    {command:'drucker an', setStateId:'hue.0.Plug_Drucker.on', setStateVal:true, confirmMessage:'Ich habe den Drucker eingeschaltet.'},
                    {command:'drucker einschalten', setStateId:'hue.0.Plug_Drucker.on', setStateVal:true, confirmMessage:'Hi von ei ow Broker. Ich habe den Drucker eingeschaltet.'},
                    {command:'drucker aus', setStateId:'hue.0.Plug_Drucker.on', setStateVal:false, confirmMessage:'Hi von ei ow Broker. Drucker ausgeschaltet.'},
                    {command:'drucker ausschalten', setStateId:'hue.0.Plug_Drucker.on', setStateVal:false, confirmMessage:'Hi von ei ow Broker. Drucker ausgeschaltet.'},
                ];
                
                // Ab hier nichts mehr ändern.
                
                on({ id:'alexa2.0.History.json', change: 'any'}, function(stateObjHistory) {
                
                    // Wir holen uns den Inhalt der Alexa-History JSON in ein Objekt
                    let historyObject = JSON.parse(stateObjHistory.state.val);
                
                    // == TODO== Noch zu prüfen, ob das überhaupt sinnvoll ist
                    // Nur bei "Success" weitermachen.
                    if(historyObject.status !== 'SUCCESS') return;
                
                    for (let lpConfig of CONFIG) {
                        if(lpConfig.command.toLowerCase() == historyObject.summary.toLowerCase()) {
                
                            // Setze Datenpunkt
                            if(!isLikeEmpty(lpConfig.setStateId)) {
                                setState(lpConfig.setStateId, lpConfig.setStateVal);
                            }
                
                            // Jetzt Sprachausgabe auf der Alexa, von der das Kommando kam.
                            if(!isLikeEmpty(lpConfig.confirmMessage)) {
                                setState('alexa2.0.Echo-Devices.' + historyObject.serialNumber + '.Commands.speak', lpConfig.confirmMessage);
                            }
                
                        }
                    }
                });
                
                
                
                /**
                 * Checks if Array or String is not undefined, null or empty.
                 * 08-Sep-2019: added check for [ and ] to also catch arrays with empty strings.
                 * @param inputVar - Input Array or String, Number, etc.
                 * @return true if it is undefined/null/empty, false if it contains value(s)
                 * Array or String containing just whitespaces or >'< or >"< or >[< or >]< is considered empty
                 */
                function isLikeEmpty(inputVar) {
                    if (typeof inputVar !== 'undefined' && inputVar !== null) {
                        let strTemp = JSON.stringify(inputVar);
                        strTemp = strTemp.replace(/\s+/g, ''); // remove all whitespaces
                        strTemp = strTemp.replace(/\"+/g, "");  // remove all >"<
                        strTemp = strTemp.replace(/\'+/g, "");  // remove all >'<
                        strTemp = strTemp.replace(/\[+/g, "");  // remove all >[<
                        strTemp = strTemp.replace(/\]+/g, "");  // remove all >]<
                        if (strTemp !== '') {
                            return false;
                        } else {
                            return true;
                        }
                    } else {
                        return true;
                    }
                }
                
                
                dslraserD Offline
                dslraserD Offline
                dslraser
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #11

                @Mic

                Hier ist so ein Testbeispiel in Blockly, allerdings nicht über den JSON (Hier werden einige Datenpunkte unter 0_userdata.0 angelegt, mit Deinem Script)
                So nutze ich dann über ssml verschiedene Stimmen. Wer das probieren möchte, einfach das Blockly importieren und starten. (Erlaube das Kommando "setObject" im Javascript Adapter muß ein Haken drinn sein, sonst werden keine Datenpunkte angelegt)

                Wenn das Blockly gestartet ist:

                Alexa, testansage . (einfach das Wakeword und testansage sagen)

                Bildschirmfoto 2020-01-23 um 08.56.32.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="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">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAxQWxleGEnLCB7J25hbWUnOicwMUFsZXhhJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzp0cnVlLCAic21hcnROYW1lIjogeyJkZSI6ICJBbGV4YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAySGFucycsIHsnbmFtZSc6JzAySGFucycsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIkhhbnMiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wM1ZpY2tpJywgeyduYW1lJzonMDNWaWNraScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlZpY2tpIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDRDb25jaGl0YScsIHsnbmFtZSc6JzA0Q29uY2hpdGEnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlLCAic21hcnROYW1lIjogeyJkZSI6ICJDb25jaGl0YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjA1QWxleGFfc3NtbCcsIHsnbmFtZSc6JzA1QWxleGFfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iQWxleGEiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNkhhbnNfc3NtbCcsIHsnbmFtZSc6JzA2SGFuc19zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDdWaWNraV9zc21sJywgeyduYW1lJzonMDdWaWNraV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJWaWNraSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjA4Q29uY2hpdGFfc3NtbCcsIHsnbmFtZSc6JzA4Q29uY2hpdGFfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iQ29uY2hpdGEiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOXNzbWxfZW5kZScsIHsnbmFtZSc6JzA5c3NtbF9lbmRlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48L3NwZWFrPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xMEFsZXhhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCB7J25hbWUnOicxMEFsZXhhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJBbGV4YSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjExSGFuc19TdGltbWVud2VjaHNlbF9zc21sJywgeyduYW1lJzonMTFIYW5zX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJywgeyduYW1lJzonMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48dm9pY2UgbmFtZT0iVmlja2kiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xM0NvbmNoaXRhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCB7J25hbWUnOicxM0NvbmNoaXRhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJDb25jaGl0YSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjE0Zmx1ZXN0ZXJuX2FuZmFuZycsIHsnbmFtZSc6JzE0Zmx1ZXN0ZXJuX2FuZmFuZycsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48YW1hem9uOmVmZmVjdCBuYW1lPSJ3aGlzcGVyZWQiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xNWZsdWVzdGVybl9lbmRlJywgeyduYW1lJzonMTVmbHVlc3Rlcm5fZW5kZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzwvYW1hem9uOmVmZmVjdD48L3NwZWFrPicgfV0sCl07CiAgICBjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCB0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7</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" 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 padrinoP A 3 Antworten Letzte Antwort
                -1
                • dslraserD dslraser

                  @Mic

                  Hier ist so ein Testbeispiel in Blockly, allerdings nicht über den JSON (Hier werden einige Datenpunkte unter 0_userdata.0 angelegt, mit Deinem Script)
                  So nutze ich dann über ssml verschiedene Stimmen. Wer das probieren möchte, einfach das Blockly importieren und starten. (Erlaube das Kommando "setObject" im Javascript Adapter muß ein Haken drinn sein, sonst werden keine Datenpunkte angelegt)

                  Wenn das Blockly gestartet ist:

                  Alexa, testansage . (einfach das Wakeword und testansage sagen)

                  Bildschirmfoto 2020-01-23 um 08.56.32.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="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">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAxQWxleGEnLCB7J25hbWUnOicwMUFsZXhhJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzp0cnVlLCAic21hcnROYW1lIjogeyJkZSI6ICJBbGV4YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAySGFucycsIHsnbmFtZSc6JzAySGFucycsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIkhhbnMiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wM1ZpY2tpJywgeyduYW1lJzonMDNWaWNraScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlZpY2tpIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDRDb25jaGl0YScsIHsnbmFtZSc6JzA0Q29uY2hpdGEnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlLCAic21hcnROYW1lIjogeyJkZSI6ICJDb25jaGl0YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjA1QWxleGFfc3NtbCcsIHsnbmFtZSc6JzA1QWxleGFfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iQWxleGEiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNkhhbnNfc3NtbCcsIHsnbmFtZSc6JzA2SGFuc19zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDdWaWNraV9zc21sJywgeyduYW1lJzonMDdWaWNraV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJWaWNraSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjA4Q29uY2hpdGFfc3NtbCcsIHsnbmFtZSc6JzA4Q29uY2hpdGFfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iQ29uY2hpdGEiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOXNzbWxfZW5kZScsIHsnbmFtZSc6JzA5c3NtbF9lbmRlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48L3NwZWFrPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xMEFsZXhhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCB7J25hbWUnOicxMEFsZXhhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJBbGV4YSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjExSGFuc19TdGltbWVud2VjaHNlbF9zc21sJywgeyduYW1lJzonMTFIYW5zX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJywgeyduYW1lJzonMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48dm9pY2UgbmFtZT0iVmlja2kiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xM0NvbmNoaXRhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCB7J25hbWUnOicxM0NvbmNoaXRhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJDb25jaGl0YSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjE0Zmx1ZXN0ZXJuX2FuZmFuZycsIHsnbmFtZSc6JzE0Zmx1ZXN0ZXJuX2FuZmFuZycsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48YW1hem9uOmVmZmVjdCBuYW1lPSJ3aGlzcGVyZWQiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xNWZsdWVzdGVybl9lbmRlJywgeyduYW1lJzonMTVmbHVlc3Rlcm5fZW5kZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzwvYW1hem9uOmVmZmVjdD48L3NwZWFrPicgfV0sCl07CiAgICBjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCB0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7</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" 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
                  ttarzan
                  schrieb am zuletzt editiert von
                  #12

                  @dslraser Dein Blockly hat mir vor ein paar Tagen sehr geholfen! Allerdings habe ich mich erstmal auf den "speak"-Teil beschränkt, um mich einzuarbeiten. Wenn alles läuft, steige ich auf den ssml-Teil um. Die verschiedenen Stimmen sind schon ne feine Sache :+1:

                  1 Antwort Letzte Antwort
                  0
                  • dslraserD dslraser

                    @Mic

                    Hier ist so ein Testbeispiel in Blockly, allerdings nicht über den JSON (Hier werden einige Datenpunkte unter 0_userdata.0 angelegt, mit Deinem Script)
                    So nutze ich dann über ssml verschiedene Stimmen. Wer das probieren möchte, einfach das Blockly importieren und starten. (Erlaube das Kommando "setObject" im Javascript Adapter muß ein Haken drinn sein, sonst werden keine Datenpunkte angelegt)

                    Wenn das Blockly gestartet ist:

                    Alexa, testansage . (einfach das Wakeword und testansage sagen)

                    Bildschirmfoto 2020-01-23 um 08.56.32.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="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">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjAgKDE3IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZToKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgIGxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgICAgICBbJ1Rlc3QuVGVzdDEnLCB7J25hbWUnOidUZXN0IDEnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonaW5mbycsICdkZWYnOidIZWxsbycgfV0sCiAgICAgICAgWydUZXN0LlRlc3QyJywgeyduYW1lJzonVGVzdCAyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2luZm8nLCAnZGVmJzonSGVsbG8nIH1dLAogICAgXTsKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiBlLmcuICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLgogKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlICAgICAgICAgRm9yY2Ugc3RhdGUgY3JlYXRpb24gKG92ZXJ3cml0ZSksIGlmIHN0YXRlIGlzIGV4aXN0aW5nLgogKiBAcGFyYW0ge2FycmF5fSBzdGF0ZXNUb0NyZWF0ZSAgU3RhdGUocykgdG8gY3JlYXRlLiBzaW5nbGUgYXJyYXkgb3IgYXJyYXkgb2YgYXJyYXlzCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4KICovCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICAvLyBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKQoKCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eamF2YXNjcmlwdC4oWzAtOV18WzEtOV1bMC05XSkkLykgPT0gbnVsbCkgJiYgKHdoZXJlLm1hdGNoKC9eMF91c2VyZGF0YS4wJC8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgIGxldCBjb3VudGVyID0gLTE7CiAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgY291bnRlciArPSAxOwogICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIHBhcmFtWzBdICsgJ10nKTsKCiAgICAgICAgLy8gQ2xlYW4KICAgICAgICBsZXQgc3RhdGVJZCA9IHBhcmFtWzBdOwogICAgICAgIGlmICghIHN0YXRlSWQuc3RhcnRzV2l0aCh3aGVyZSkpIHN0YXRlSWQgPSB3aGVyZSArICcuJyArIHN0YXRlSWQ7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVJZCA9IHN0YXRlSWQucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgY29uc3QgRlVMTF9TVEFURV9JRCA9IHN0YXRlSWQ7CgogICAgICAgIGlmKCAoJChGVUxMX1NUQVRFX0lEKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUoRlVMTF9TVEFURV9JRCkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwoKICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgIH0KCiAgICAgICAgLyoqKioqKioqKioqKgogICAgICAgICAqIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgKioqKioqKioqKioqLwogICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIG9iai5jb21tb24gPSBwYXJhbVsxXTsKICAgICAgICBzZXRPYmplY3QoRlVMTF9TVEFURV9JRCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBGVUxMX1NUQVRFX0lEICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgRlVMTF9TVEFURV9JRCArICddJykKICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYocGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKHBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGluaXQgPSBwYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKEZVTExfU1RBVEVfSUQsIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIEZVTExfU1RBVEVfSUQpOwogICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfSk7Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAxQWxleGEnLCB7J25hbWUnOicwMUFsZXhhJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzp0cnVlLCAic21hcnROYW1lIjogeyJkZSI6ICJBbGV4YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjAySGFucycsIHsnbmFtZSc6JzAySGFucycsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIkhhbnMiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wM1ZpY2tpJywgeyduYW1lJzonMDNWaWNraScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlZpY2tpIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDRDb25jaGl0YScsIHsnbmFtZSc6JzA0Q29uY2hpdGEnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlLCAic21hcnROYW1lIjogeyJkZSI6ICJDb25jaGl0YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjA1QWxleGFfc3NtbCcsIHsnbmFtZSc6JzA1QWxleGFfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iQWxleGEiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNkhhbnNfc3NtbCcsIHsnbmFtZSc6JzA2SGFuc19zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDdWaWNraV9zc21sJywgeyduYW1lJzonMDdWaWNraV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJWaWNraSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjA4Q29uY2hpdGFfc3NtbCcsIHsnbmFtZSc6JzA4Q29uY2hpdGFfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iQ29uY2hpdGEiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOXNzbWxfZW5kZScsIHsnbmFtZSc6JzA5c3NtbF9lbmRlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48L3NwZWFrPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xMEFsZXhhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCB7J25hbWUnOicxMEFsZXhhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJBbGV4YSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjExSGFuc19TdGltbWVud2VjaHNlbF9zc21sJywgeyduYW1lJzonMTFIYW5zX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJywgeyduYW1lJzonMTJWaWNraV9TdGltbWVud2VjaHNlbF9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48dm9pY2UgbmFtZT0iVmlja2kiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xM0NvbmNoaXRhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCB7J25hbWUnOicxM0NvbmNoaXRhX1N0aW1tZW53ZWNoc2VsX3NzbWwnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOic8L3ZvaWNlPjx2b2ljZSBuYW1lPSJDb25jaGl0YSI+JyB9XSwKICAgIFsnQWxleGFfQW5zYWdlbi5TdGltbWVuLjE0Zmx1ZXN0ZXJuX2FuZmFuZycsIHsnbmFtZSc6JzE0Zmx1ZXN0ZXJuX2FuZmFuZycsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48YW1hem9uOmVmZmVjdCBuYW1lPSJ3aGlzcGVyZWQiPicgfV0sCiAgICBbJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4xNWZsdWVzdGVybl9lbmRlJywgeyduYW1lJzonMTVmbHVlc3Rlcm5fZW5kZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzwvYW1hem9uOmVmZmVjdD48L3NwZWFrPicgfV0sCl07CiAgICBjcmVhdGVVc2VyU3RhdGVzKCcwX3VzZXJkYXRhLjAnLCB0cnVlLCBzdGF0ZXNUb0NyZWF0ZSk7</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" 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>
                    

                    padrinoP Online
                    padrinoP Online
                    padrino
                    Most Active
                    schrieb am zuletzt editiert von
                    #13

                    @dslraser
                    "Setze Lautsprecher auf 100" ist ein wenig heftig, oder? =)

                    dslraserD 1 Antwort Letzte Antwort
                    0
                    • padrinoP padrino

                      @dslraser
                      "Setze Lautsprecher auf 100" ist ein wenig heftig, oder? =)

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

                      @padrino
                      ist auch nur ein "Testbeispiel"

                      padrinoP 1 Antwort Letzte Antwort
                      0
                      • dslraserD dslraser

                        @padrino
                        ist auch nur ein "Testbeispiel"

                        padrinoP Online
                        padrinoP Online
                        padrino
                        Most Active
                        schrieb am zuletzt editiert von
                        #15

                        @dslraser
                        Eben, gerade da könnte es den unbedarften Tester kalt erwischen...
                        Wollte es nur als "kleine Warnung" erwähnt haben. :relieved:

                        1 Antwort Letzte Antwort
                        0
                        • T Offline
                          T Offline
                          Tictactoo
                          schrieb am zuletzt editiert von
                          #16

                          Ein kleiner Tipp meinerseits (ich weiß leider nicht, ob man den auf Blocky anwenden kann), aber ich hab es bei der Anfrage in Javascript wie folgt gelöst:

                          if (summary.toLowerCase().includes("stehlampe") && summary.toLowerCase().includes("an"))
                          

                          Man hat dadurch zwar etwas mehr Code am Ende drin stehen. Dafür ist man aber bei der "Spracheingabe" durch Alexa deutlich flexibler, da der Code dann nicht nur bei "Stehlampe an", sondern auch bei "Schalte die Stehlampe an" reagiert.

                          1 Antwort Letzte Antwort
                          0
                          • T ttarzan

                            @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                            Man kann auch einen Blueprint Skill "Frage & Antwort" machen.

                            Das ist auch eine Idee. Bisher hab ich mich immer gefragt, was man mit den Blueprints anfangen soll.

                            T Offline
                            T Offline
                            ttarzan
                            schrieb am zuletzt editiert von ttarzan
                            #17

                            @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                            Man kann auch einen Blueprint Skill "Frage & Antwort" machen.

                            Das ist auch eine Idee. Bisher hab ich mich immer gefragt, was man mit den Blueprints anfangen soll.

                            Die Idee mit den Blueprints bei Alexa ist machbar, Allerdings ist das Einrichten seht träge.

                            1 Antwort Letzte Antwort
                            0
                            • padrinoP Online
                              padrinoP Online
                              padrino
                              Most Active
                              schrieb am zuletzt editiert von
                              #18

                              Nutze auch Blueprints, da ich kein Android5+ Gerät habe, daher gibt's für mich keine Routinen... :innocent:
                              Schade nur, dass mann immer eine Antwort eintragen muss, manschmal wäre mir Stille lieber. :D
                              Übrigens, gestern ist mir zum ersten Mal aufgefallen, dass amzon wohl (inzwischen?) Trigger sperrt.
                              Wollte mir im Blueprint "lauter" und "leiser" anlegen, da kam die Info, dass sie für Alexa reserviert sind.
                              Bisher konnte ich eigentlich alles "überschreiben".
                              Sind die zwei auch für Routinen gesperrt?

                              dslraserD 1 Antwort Letzte Antwort
                              0
                              • padrinoP padrino

                                Nutze auch Blueprints, da ich kein Android5+ Gerät habe, daher gibt's für mich keine Routinen... :innocent:
                                Schade nur, dass mann immer eine Antwort eintragen muss, manschmal wäre mir Stille lieber. :D
                                Übrigens, gestern ist mir zum ersten Mal aufgefallen, dass amzon wohl (inzwischen?) Trigger sperrt.
                                Wollte mir im Blueprint "lauter" und "leiser" anlegen, da kam die Info, dass sie für Alexa reserviert sind.
                                Bisher konnte ich eigentlich alles "überschreiben".
                                Sind die zwei auch für Routinen gesperrt?

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

                                @padrino
                                ich habe "mach lauter" und "mach leiser" genommen. Nur lauter und leiser in Routinen geht auch nicht.

                                Screenshot_20200123-193614_Amazon Alexa.jpg

                                1 Antwort Letzte Antwort
                                1
                                • F Offline
                                  F Offline
                                  frankyboy73
                                  schrieb am zuletzt editiert von
                                  #20

                                  @Mic Hi, zum Thema warum so kompliziert, mit Node Red, aus deinem ersten Beitrag.
                                  Das ist meiner Meinung nach nicht kompliziert. Ich bin fast komplett zu Node-Red umgestiegen, kann meine ganzen Scripte darüber erstellen, brauche also keinen Script Adapter mehr, der ja Arbeitsspeicher ohne Ende frist. Ich brauche keine Cloud, es gibt ja für Node Red die Amazon Echo Node, ich brauche keine Telegramm Adapter, kein Speech2Text, es gibt ja die Chatbot Nodes, ich brauche keinen Amazon Dash Button Adapter, dafür gibts auch Node Red Nodes, ich brauche keine Vis, dafür hat Node Red das Dashboard. Und vieles mehr. Mein Node Red verbraucht nur 60 MB Arbeitsspeicher. Im Gegensatz dazu würden der Script Adapter, der Telegramm Adapter, Speech2Text, die Vis, der Dashbutton Adapter bestimmt um die 400 MB für verbauchen. Und ich habe alles unter einem Hut. Wenn man erst mal im Thema drin ist, ist Node Red eher viel einfacher als die anderen Sachen.

                                  Schöne Grüße Frank

                                  MicM 1 Antwort Letzte Antwort
                                  0
                                  • T ttarzan

                                    @Mic Ich fange auch gerade damit an, mich in den iobroker in Verbindung mit dem Echo einzuarbeiten. Momentan setzte gerade die Steuerung des Staubsaugers über den von dir beschriebenen Weg über alexa2.0.History um, damit er z.B. einzelne Räume reinige.

                                    Die ersten Tests klappen gut. Mich stört nur etwas, dass der angesprochene Echo immer erstmal sagt, dass er nicht weiß, was ich meine und dann die Ansage bringt, die ich ihm vom iobroker schicke. Weißt du, wie man das umgeht?

                                    MicM Offline
                                    MicM Offline
                                    Mic
                                    Developer
                                    schrieb am zuletzt editiert von Mic
                                    #21

                                    Hi,

                                    vielen Dank für Eure Antworten! :-)

                                    @Mic sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                    (...) ich stehe wahrscheinlich auf dem Schlauch (...) übersehe ich hier was?

                                    Ja, ich stand auf dem Schlauch :grin: . Im obigen Beispiel gab es nämlich das Gerät "Drucker", so dass Alexa immer meine Textansagen erkannte. Bei nicht bekannten Geräten kommt immer die entsprechende Ansage.
                                    Siehe hier:

                                    @ttarzan sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                    Mich stört nur etwas, dass der angesprochene Echo immer erstmal sagt, dass er nicht weiß, was ich meine

                                    @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                    Das Problem ist aus meiner Sicht schlicht und ergreifend, dass man die Serverantworten von Amazon auf dem Echo nicht unterdrücken kann.

                                    Absolut.

                                    @dslraser sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                    Hier ist so ein Testbeispiel in Blockly

                                    Vielen Dank dafür. Freut mich übrigens zu sehen, dass du mein Script für 0_userdata.0 verwendest ;-).

                                    @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                    Man kann auch einen Blueprint Skill "Frage & Antwort" machen. Für 2-3 Sachen hab ich das auch gemacht, aber zum einen musst du das dann ja für jeden einzelnen Befehl machen, denn du ausprogrammieren willst. Zum Anderen antwortet Sie dann immer "Ok" oder deinen gewünschten Antwortsatz, auch wenn etwas nicht funktioniert. Ist also auch nicht ganz ideal.

                                    Habe ich getestet, mit virtuellem Gerät "Mars", und Fragen "Mars einschalten", "Mars an", "Mars ein". Wurde dann nicht richtig verstanden bzw. kam dann bei "Mars einschalten" die Ansage Audioansagen werden von diesem Gerät nicht unterstützt, dann 1 Sekunde später gerne (weil "gerne" als Antwort im Blueprint Skill hinterlegt).


                                    Letztendlich bleibt es wohl derzeit bei der besten Lösung, virtuelle Geräte anzulegen, also über Cloud-Adapter, node-red-Lösung, usw.
                                    Routinen habe ich auch erfolgreich getestet, aber da ist wohl das Problem mit Limit der Routinen (siehe oben) sowie der Aufwand, diese alle anzulegen.

                                    T padrinoP 2 Antworten Letzte Antwort
                                    1
                                    • F frankyboy73

                                      @Mic Hi, zum Thema warum so kompliziert, mit Node Red, aus deinem ersten Beitrag.
                                      Das ist meiner Meinung nach nicht kompliziert. Ich bin fast komplett zu Node-Red umgestiegen, kann meine ganzen Scripte darüber erstellen, brauche also keinen Script Adapter mehr, der ja Arbeitsspeicher ohne Ende frist. Ich brauche keine Cloud, es gibt ja für Node Red die Amazon Echo Node, ich brauche keine Telegramm Adapter, kein Speech2Text, es gibt ja die Chatbot Nodes, ich brauche keinen Amazon Dash Button Adapter, dafür gibts auch Node Red Nodes, ich brauche keine Vis, dafür hat Node Red das Dashboard. Und vieles mehr. Mein Node Red verbraucht nur 60 MB Arbeitsspeicher. Im Gegensatz dazu würden der Script Adapter, der Telegramm Adapter, Speech2Text, die Vis, der Dashbutton Adapter bestimmt um die 400 MB für verbauchen. Und ich habe alles unter einem Hut. Wenn man erst mal im Thema drin ist, ist Node Red eher viel einfacher als die anderen Sachen.

                                      MicM Offline
                                      MicM Offline
                                      Mic
                                      Developer
                                      schrieb am zuletzt editiert von Mic
                                      #22

                                      @frankyboy73 sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                      @Mic Hi, zum Thema warum so kompliziert, mit Node Red, aus deinem ersten Beitrag.
                                      Das ist meiner Meinung nach nicht kompliziert. Ich bin fast komplett zu Node-Red umgestiegen, kann meine ganzen Scripte darüber erstellen, brauche also keinen Script Adapter mehr, der ja Arbeitsspeicher ohne Ende frist. Ich brauche keine Cloud, es gibt ja für Node Red die Amazon Echo Node, ich brauche keine Telegramm Adapter, kein Speech2Text, es gibt ja die Chatbot Nodes, ich brauche keinen Amazon Dash Button Adapter, dafür gibts auch Node Red Nodes, ich brauche keine Vis, dafür hat Node Red das Dashboard. Und vieles mehr. Mein Node Red verbraucht nur 60 MB Arbeitsspeicher. Im Gegensatz dazu würden der Script Adapter, der Telegramm Adapter, Speech2Text, die Vis, der Dashbutton Adapter bestimmt um die 400 MB für verbauchen. Und ich habe alles unter einem Hut. Wenn man erst mal im Thema drin ist, ist Node Red eher viel einfacher als die anderen Sachen.

                                      Hi @frankyboy73
                                      Danke für deine Antwort! Ich persönlich bin nicht wirklich der "klickibunti"-Typ, der sich logische Abfolgen am liebsten mit einem Visualisierungs-Werkzeug, wie Node-Red oder auch ioBroker-Blockly zusammenstellt, lieber arbeite ich direkt am Quellcode (in diesem Fall JavaScript) :-) Gibt mir deutlich mehr Möglichkeiten, ich bin schneller als per Maus-Herumgeklicke, finde ich persönlich viel transparenter, übersichtlicher, usw. Aber ist echt typ-abhängig, und sehen viele anders, was ich absolut nachvollziehen kann.
                                      Wie auch immer, ich finde deine Ausführung sehr interessant, was den Arbeitsspeicherverbrauch angeht. Wäre cool, wenn du mal einen separaten Thread diesbezüglich eröffnest, also Vergleich Speicherverbrauch Node-Red <> ioBroker im Bezug auf die entsprechenden Nodes (also z.B. ioBroker-Telegramm-Adapter versus NodeRed-Node für Telegram, etc.)

                                      1 Antwort Letzte Antwort
                                      0
                                      • MicM Mic

                                        Hi,

                                        vielen Dank für Eure Antworten! :-)

                                        @Mic sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                        (...) ich stehe wahrscheinlich auf dem Schlauch (...) übersehe ich hier was?

                                        Ja, ich stand auf dem Schlauch :grin: . Im obigen Beispiel gab es nämlich das Gerät "Drucker", so dass Alexa immer meine Textansagen erkannte. Bei nicht bekannten Geräten kommt immer die entsprechende Ansage.
                                        Siehe hier:

                                        @ttarzan sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                        Mich stört nur etwas, dass der angesprochene Echo immer erstmal sagt, dass er nicht weiß, was ich meine

                                        @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                        Das Problem ist aus meiner Sicht schlicht und ergreifend, dass man die Serverantworten von Amazon auf dem Echo nicht unterdrücken kann.

                                        Absolut.

                                        @dslraser sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                        Hier ist so ein Testbeispiel in Blockly

                                        Vielen Dank dafür. Freut mich übrigens zu sehen, dass du mein Script für 0_userdata.0 verwendest ;-).

                                        @Tictactoo sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                        Man kann auch einen Blueprint Skill "Frage & Antwort" machen. Für 2-3 Sachen hab ich das auch gemacht, aber zum einen musst du das dann ja für jeden einzelnen Befehl machen, denn du ausprogrammieren willst. Zum Anderen antwortet Sie dann immer "Ok" oder deinen gewünschten Antwortsatz, auch wenn etwas nicht funktioniert. Ist also auch nicht ganz ideal.

                                        Habe ich getestet, mit virtuellem Gerät "Mars", und Fragen "Mars einschalten", "Mars an", "Mars ein". Wurde dann nicht richtig verstanden bzw. kam dann bei "Mars einschalten" die Ansage Audioansagen werden von diesem Gerät nicht unterstützt, dann 1 Sekunde später gerne (weil "gerne" als Antwort im Blueprint Skill hinterlegt).


                                        Letztendlich bleibt es wohl derzeit bei der besten Lösung, virtuelle Geräte anzulegen, also über Cloud-Adapter, node-red-Lösung, usw.
                                        Routinen habe ich auch erfolgreich getestet, aber da ist wohl das Problem mit Limit der Routinen (siehe oben) sowie der Aufwand, diese alle anzulegen.

                                        T Offline
                                        T Offline
                                        Tictactoo
                                        schrieb am zuletzt editiert von
                                        #23

                                        @Mic said in Ohne Cloud: Alexa nur mittels Adapter steuern?:

                                        Letztendlich bleibt es wohl derzeit bei der besten Lösung, virtuelle Geräte anzulegen, also über Cloud-Adapter, node-red-Lösung, usw.
                                        Routinen habe ich auch erfolgreich getestet, aber da ist wohl das Problem mit Limit der Routinen (siehe oben) sowie der Aufwand, diese alle anzulegen.

                                        Naja, ich denke die Leute, die sich die ganze Geschichte mit Cloud-Adapter usw ausgedacht haben, hatten sich dabei schon auch was überlegt. Es bietet eben einen gewissen Komfort im Rahmen der Echo-Geräte, die vorhandenen Lösungen zu benutzen. Anderenfalls müsste man wohl einen eigenen Skill schreiben. Ich sehe ehrlich gesagt aber auch keinen Nachteil bei der Nutzung des Cloud-Adapters, da man die Echos ja sowieso am Internet haben muss.^^

                                        Was für Bastler, die gar nix online/cloudmäßiges wollen vielleicht interessanter ist, könnte dann das hier sein. Hab auch mal angefangen damit rumzuspielen.

                                        1 Antwort Letzte Antwort
                                        0
                                        • F Offline
                                          F Offline
                                          frankyboy73
                                          schrieb am zuletzt editiert von Negalein
                                          #24

                                          @Mic Für mehr Möglichkeiten gibts da noch die Funktion Nodes in den man wieder JavaSpript anwenden kann, weil alles kann man nun mal leider nicht mit den vorhandenen Nodes abdecken. Und du hast recht, jeder hat seine eigenen Vorlieben. Der Hauptgrund für den Umstieg war die Speicherersparnis, weil mein PI3 an der Kotzgrenze lief. Allein der Sciptadapter hat damals fast 200 MB gekostet, und das habe ich auch alles in Node Red umsetzten können. Direkter Speichervergleich ist schwierig, aber wie geschreiben mein Node Red verbraucht momentan ca 60 MB, wofür ich vorher den Spript, Cloud, Telegramm,Text to Befehl, Dashbutton und Vis Adapter am laufen hatte. Wobei das Dashboard grafisch nicht so toll wie die Vis ist.
                                          Hier nur mal als Beispiel meine Telegramm Sachen in Node Red umgesetzt.
                                          NodeRedTelegramm1.JPG NodeRedTelegramm2.JPG
                                          Ist leider nicht gut zu erkennen, da stark verkleinert.
                                          Aber ich will jetzt nicht zu sehr vom Thema abweichen und den Post zumüllen. Über nen eigenen Threat dazu muss ich mal nachdenken.

                                          Mod-Edit: Bilder richtig eingefügt. Bitte benutzt keine externen Bildhoster. Verwendet die "Bild Hochladen"-Funktion Ohne Cloud  Alexa nur mittels Adapter steuern .png

                                          Schöne Grüße Frank

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          829

                                          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