- ioBroker Community Home
- Deutsch
- Cloud Dienste
- Ohne Cloud: Alexa nur mittels Adapter steuern?
NEWS
Ohne Cloud: Alexa nur mittels Adapter steuern?
-
@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.

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

Schöne Grüße Frank
-
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ätergerne(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.@Mic sagte in Ohne Cloud: Alexa nur mittels Adapter steuern?:
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).
Also, Du musst ja für jede Abweichung einen Eintrag machen. Das kann auf Dauer 'ne Menge werden (wenn ich mir so meine Blueptrints ansehe :innocent:).
Das Problem mit dem "nicht verstanden" liegt aber nicht (zwingend) am Blueprint, sondern an Alexa.
"Exotische" Begriffe und auch gern einzelne Begriffe (ohne Zusammenhang) versteht sie gerne mal falsch.
Da bleibt nur in den Verlauf schauen und dort sehen, was sie wirklich verstanden hat. -
@Tictactoo Hi, angeblich brauchen die Echo jetzt nicht mehr am Netz hängen um Interne Geräte zu schalten, es gibt jetzt in den Einstellungen der Echos den Menüpunkt Lokale Sprachsteuerung. Damit soll man auch ohne Internetverbindung seine Geräte schalten können.
Schöne Grüße Frank
-
@Tictactoo Hi, angeblich brauchen die Echo jetzt nicht mehr am Netz hängen um Interne Geräte zu schalten, es gibt jetzt in den Einstellungen der Echos den Menüpunkt Lokale Sprachsteuerung. Damit soll man auch ohne Internetverbindung seine Geräte schalten können.
@frankyboy73 Okay, dass ist an mir vorbei gegangen. Interessant, dass sie das jetzt eingebaut haben. Aber dann gibt es ja trotzdem ein kleines Problem: Ich mag mich irren, aber da der Alexa-Adapter die Summary ja über den Amazon-Account abgreift und nicht vom Gerät lokal aus dem Netzwerk, nutzt einem der ganze Spaß ne Steuerung ohne Cloud zu programmieren ja am Ende nichts.
-
@Tictactoo Hi, angeblich brauchen die Echo jetzt nicht mehr am Netz hängen um Interne Geräte zu schalten, es gibt jetzt in den Einstellungen der Echos den Menüpunkt Lokale Sprachsteuerung. Damit soll man auch ohne Internetverbindung seine Geräte schalten können.
@frankyboy73
Soweit ich weiß, gilt das nur für Echos mit integriertem Hub... :thinking_face: -
gelöscht
-
@Tictactoo
Wenn es nur um Geräte steuern geht, braucht man den Alexa Adapter ja nicht unbedingt, es sei denn man hat Geräte die über den integrieten Hub vom Echo gekoppelt sind oder man will Routinen auslösen usw.
@padrino
Oh schade, das heißt dann wohl man kann nur die direkt über den Hub integrieten Geräte steuern, oder?Schöne Grüße Frank
-
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)

<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> -
-
Hy, mal ne blöde Frage die ich mir so bisher noch nicht beantworten konnte:
Wenn man Alexa in IObroker einbindet ist es dann ein autarkes System ? Also hört Amazon dann immernoch zu oder ist die Verbindung zur Amazon Cloud dann unterbrochen ?Beste Grüße :-)
-
Hy, mal ne blöde Frage die ich mir so bisher noch nicht beantworten konnte:
Wenn man Alexa in IObroker einbindet ist es dann ein autarkes System ? Also hört Amazon dann immernoch zu oder ist die Verbindung zur Amazon Cloud dann unterbrochen ?Beste Grüße :-)
Das läuft dann immer noch über Amazons Wolke. Zusätzlich dann auch noch über die iot/ioBroker-Wolke.