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

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

Community Forum

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

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

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

Subfunktion in Blockly

Geplant Angeheftet Gesperrt Verschoben Blockly
22 Beiträge 2 Kommentatoren 2.1k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • dslraserD dslraser

    @Tottbeck sagte in Subfunktion in Blockly:

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

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

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

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

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

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

    T 1 Antwort Letzte Antwort
    1
    • dslraserD dslraser

      @Tottbeck sagte in Subfunktion in Blockly:

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

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

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

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

      dslraserD 1 Antwort Letzte Antwort
      0
      • T Tottbeck

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

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

        @Tottbeck sagte in Subfunktion in Blockly:

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

        Das weiß ich leider nicht.

        1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

          @Tottbeck sagte in Subfunktion in Blockly:

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

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

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

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

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

          @dslraser sagte in Subfunktion in Blockly:

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

          Funktioniert super

          dslraserD 1 Antwort Letzte Antwort
          0
          • T Tottbeck

            @dslraser sagte in Subfunktion in Blockly:

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

            Funktioniert super

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

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

            1 Antwort Letzte Antwort
            0
            • dslraserD dslraser

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

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

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

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

              @dslraser sagte in Subfunktion in Blockly:

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

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

              dslraserD 1 Antwort Letzte Antwort
              0
              • T Tottbeck

                @dslraser sagte in Subfunktion in Blockly:

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

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

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

                @Tottbeck
                hast Du den aktiviert ?

                Bildschirmfoto 2020-01-02 um 14.14.28.png

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

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

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

                  dslraserD 1 Antwort Letzte Antwort
                  0
                  • T Tottbeck

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

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

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

                    @Tottbeck sagte in Subfunktion in Blockly:

                    Datenpunkte anlegen" kann ich danach wieder deaktivieren.

                    ja, kannst Du dann deaktivieren.

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

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

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

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

                      dslraserD 1 Antwort Letzte Antwort
                      1
                      • T Tottbeck

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

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

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

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

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

                          dslraserD 1 Antwort Letzte Antwort
                          0
                          • T Tottbeck

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

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

                            @Tottbeck sagte in Subfunktion in Blockly:

                            "Du hast mich mit Conchita betrogen"

                            :grinning:

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

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

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

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

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

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

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

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

                                dslraserD 1 Antwort Letzte Antwort
                                0
                                • T Tottbeck

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

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

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

                                  @Tottbeck sagte in Subfunktion in Blockly:

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

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

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

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

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

                                    dslraserD 1 Antwort Letzte Antwort
                                    0
                                    • T Tottbeck

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

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

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

                                      @Tottbeck

                                      Das dürfte minimal schneller sein....

                                      Bildschirmfoto 2020-04-11 um 10.48.37.png

                                      Ich habe hier gerade kürzlich beschrieben wie ich das so mache.

                                      https://forum.iobroker.net/post/408522

                                      T 1 Antwort Letzte Antwort
                                      0
                                      • dslraserD dslraser

                                        @Tottbeck

                                        Das dürfte minimal schneller sein....

                                        Bildschirmfoto 2020-04-11 um 10.48.37.png

                                        Ich habe hier gerade kürzlich beschrieben wie ich das so mache.

                                        https://forum.iobroker.net/post/408522

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

                                        @dslraser
                                        Danke, habe ich probiert. Der Code wird etwas kompakter, wenn man den javascript-Umsetzung vergleicht.
                                        Ändert am Problem leider nichts. Die Alexa sagt nach dem Ablehnungston "Das weiß ich ... (leider nicht)" wobei sie von der erwünschten Antwort unterbrochen wird.
                                        Ich probiere es dann doch über den IoT-Adapter und ggf Alexa-Routine um ohne das ohne "an" abzufragen.

                                        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

                                        575

                                        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