- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Blockly
- Keine Ansage vom Blockly mehr über Alexa?
NEWS
Keine Ansage vom Blockly mehr über Alexa?
-
Hallo
Ich bekomme seit ein paar Tagen keine Ansage mehr von Alexa, obwohl es unter Objekte bei keiner Alexa im speak angezeigt wird, was sie eigentlich sagt.
Ist das schon bekannt, woran das liegen kann oder habe ich etwas übersehen? -
Hallo
Ich bekomme seit ein paar Tagen keine Ansage mehr von Alexa, obwohl es unter Objekte bei keiner Alexa im speak angezeigt wird, was sie eigentlich sagt.
Ist das schon bekannt, woran das liegen kann oder habe ich etwas übersehen?@biker1602
Das Problem hatte ich gestern auch. Bei mir half ein Neustart des Alexa Adapters. -
Hallo
Ich bekomme seit ein paar Tagen keine Ansage mehr von Alexa, obwohl es unter Objekte bei keiner Alexa im speak angezeigt wird, was sie eigentlich sagt.
Ist das schon bekannt, woran das liegen kann oder habe ich etwas übersehen?@biker1602 neustart, oder einfach mal den debug Modus des Adapters starten, danach sollte es wieder laufen
umgestiegen von Proxmox auf Unraid
-
@biker1602 neustart, oder einfach mal den debug Modus des Adapters starten, danach sollte es wieder laufen
-
Hallo zusammen,
seit einiger Zeit funktionieren meine Blockly Scripte auch nicht mehr, es geht um das Blockly Fensteransage und Temperatur-Abfrage. Alexa sagt nur noch "OK". Danach passiert nichts mehr.
An den Scripten wurde nichts geändert. Neustart des Alexa2 Adapters hilft nicht.

Gleicher Effekt bei der Temperatur Abfrage :

Einziger Unterschied ist die Ansage, bei Fenster mit "ssml" und bei Temp. mit "speak". Ist aber schon immer so gewesen und hat funktioniert.
Vielleicht kann jemand helfen ? Vielen Dank im Voraus.
-
-
Hallo zusammen,
seit einiger Zeit funktionieren meine Blockly Scripte auch nicht mehr, es geht um das Blockly Fensteransage und Temperatur-Abfrage. Alexa sagt nur noch "OK". Danach passiert nichts mehr.
An den Scripten wurde nichts geändert. Neustart des Alexa2 Adapters hilft nicht.

Gleicher Effekt bei der Temperatur Abfrage :

Einziger Unterschied ist die Ansage, bei Fenster mit "ssml" und bei Temp. mit "speak". Ist aber schon immer so gewesen und hat funktioniert.
Vielleicht kann jemand helfen ? Vielen Dank im Voraus.
@ralf
das ist ja eine Routine...Sind da die selbst angelegten Button noch korrekt in der Routtine drinn ? Ändere mal einmal Deine Routinefrage, dann speichern, dann wieder zurück ändern wie es vorher war, alsi in deer Alexa App.
Wird der eigene Datenpunkt nach Deiner Alexa Abfrage aktualisiert ?
(Die Blocklys sehen aus wie von mir...vor längerer Zeit erstellt, ich verwende die aber in dieser Form nicht mehr) -
@ralf
das ist ja eine Routine...Sind da die selbst angelegten Button noch korrekt in der Routtine drinn ? Ändere mal einmal Deine Routinefrage, dann speichern, dann wieder zurück ändern wie es vorher war, alsi in deer Alexa App.
Wird der eigene Datenpunkt nach Deiner Alexa Abfrage aktualisiert ?
(Die Blocklys sehen aus wie von mir...vor längerer Zeit erstellt, ich verwende die aber in dieser Form nicht mehr) -
@dslraser ja, glaube, die sind von dir. Liefen bis jetzt einwandfrei. Deine Tipps werde ich gleich ausprobieren, melde mich dann.
Danke erstmal.@ralf
Probiere mal zuerst die mit speak, die sollte sicher laufen. -
@dslraser Also, stelle gerade fest, dass die Fensterabfrage und die Temperaturabfrage bei den Alexa-Geräten nicht mehr vorhanden sind. Sie lassen sich auch nicht neu hinzufügen. Keine Ahnung warum.
Habe noch andere Scripte für die Luftfeuchtigkeit innen und aussen. Diese sind bei den Alexa-Geräten (ioT) vorhanden und laufen mit "speak" und "ssml".
Nu weis ich nicht weiter :face_with_head_bandage: -
@dslraser Also, stelle gerade fest, dass die Fensterabfrage und die Temperaturabfrage bei den Alexa-Geräten nicht mehr vorhanden sind. Sie lassen sich auch nicht neu hinzufügen. Keine Ahnung warum.
Habe noch andere Scripte für die Luftfeuchtigkeit innen und aussen. Diese sind bei den Alexa-Geräten (ioT) vorhanden und laufen mit "speak" und "ssml".
Nu weis ich nicht weiter :face_with_head_bandage:@ralf sagte in Keine Ansage vom Blockly mehr über Alexa?:
Sie lassen sich auch nicht neu hinzufügen. Keine Ahnung warum.
Zeig mal den RAW von den/dem DP
-
@dslraser Also, stelle gerade fest, dass die Fensterabfrage und die Temperaturabfrage bei den Alexa-Geräten nicht mehr vorhanden sind. Sie lassen sich auch nicht neu hinzufügen. Keine Ahnung warum.
Habe noch andere Scripte für die Luftfeuchtigkeit innen und aussen. Diese sind bei den Alexa-Geräten (ioT) vorhanden und laufen mit "speak" und "ssml".
Nu weis ich nicht weiter :face_with_head_bandage:@ralf
ich habe gerade das Temperaturabfrage Blockly importiert, da fehlt ein Teil. Das hier fehlt
-
@dslraser Also, stelle gerade fest, dass die Fensterabfrage und die Temperaturabfrage bei den Alexa-Geräten nicht mehr vorhanden sind. Sie lassen sich auch nicht neu hinzufügen. Keine Ahnung warum.
Habe noch andere Scripte für die Luftfeuchtigkeit innen und aussen. Diese sind bei den Alexa-Geräten (ioT) vorhanden und laufen mit "speak" und "ssml".
Nu weis ich nicht weiter :face_with_head_bandage:@ralf sagte in Keine Ansage vom Blockly mehr über Alexa?:
Nu weis ich nicht weiter
Probiere das mal. Bei mir wird alles angelegt und auch in IOT eingefügt. Danach erstellst Du Deine Routine neu.
Zum DP anlegen über dieses Blockly muß das hier im Javascript Adapter erlaubt sein.
Den Installationsort kannst Du javascript.x (x=Instanznummer) oder 0_userdata.0 eintragen. Den Pfad bestimmst Du auch selbst.

Hier z.B. unter javascript.0

IOT ist dann auch da (SpartNamen trägst Du im Blockly ein.

<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="F~us1B[+$*iQFrv~91aG">anlegen_in</variable> <variable id="HWvQnVk_?e;,KYNe#CW|">Pfad</variable> <variable id=")ShCNJdILU$%oDW)!JTD">Triggerdatenpunkt</variable> <variable id="H02(PYzlPlXqEfz%xzZ:">Geraetename</variable> <variable id="~8$)Lh#;!KiqzKw-]#t#">SmartName</variable> <variable id="fP0L+%YJ6$80O(7`i}))">Ansage</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="37" y="-1163"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_anlegen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjIgKDIwIE9jdG9iZXIgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBubyBjYWxsYmFjaywgcmV0dXJuIGFueXdheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vQW5zYWdlIEJ1dHRvbiBUZW1wZXJhdHVyZW5hbnNhZ2UgYW5sZWdlbgoKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwogICAgW1BmYWQsIHsnbmFtZSc6IEdlcmFldGVuYW1lLCd0eXBlJzogJ2Jvb2xlYW4nLCAncmVhZCc6IGZhbHNlLCAnd3JpdGUnOiB0cnVlLCAncm9sZSc6ICdidXR0b24nLCdkZWYnOnRydWUsICJzbWFydE5hbWUiOiB7ImRlIjogU21hcnROYW1lLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sIApdOwpjcmVhdGVVc2VyU3RhdGVzKGFubGVnZW5faW4sdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwoKCi8vRnVua3Rpb24gbWFpbiBtaXQgVmVyesO2Z2VydW5nIGF1ZnJ1ZmVuCnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICBtYWluKCk7Cn0sIDUwMDApOwovL21haW4oKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="2$iadS/8MvlZI5+Q8BfU" x="37" y="-1112"> <field name="VAR" id="F~us1B[+$*iQFrv~91aG">anlegen_in</field> <value name="VALUE"> <block type="text" id=",=P09E1E~iYN;|v}7IMo"> <field name="TEXT">javascript.0</field> </block> </value> <next> <block type="variables_set" id="FrVz2l;UdnKEfOW{y6Mp"> <field name="VAR" id="HWvQnVk_?e;,KYNe#CW|">Pfad</field> <value name="VALUE"> <block type="text" id="@$pN)}Cs4xgx[;x=@r=m"> <field name="TEXT">Eigene_Datenpunkte.Alexa_Ansagen.Temperaturansage</field> </block> </value> <next> <block type="variables_set" id="QM{!lmZn-ik7OhD~+GL_"> <field name="VAR" id="H02(PYzlPlXqEfz%xzZ:">Geraetename</field> <value name="VALUE"> <block type="text" id="EHQJ|3RtnWTl|f4Hl#Zf"> <field name="TEXT">Alexa Temperaturansage</field> </block> </value> <next> <block type="variables_set" id="gc}q6`IIhkvJ6r)vU;Mr"> <field name="VAR" id="~8$)Lh#;!KiqzKw-]#t#">SmartName</field> <value name="VALUE"> <block type="text" id="XO@u,-Y?Ex#TK{`8mF0]"> <field name="TEXT">01Temperaturansage</field> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="f+9XJgG1]_zqGuR+em@%"> <mutation name="Datenpunkte_anlegen"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="mJt}Sr/I-Y6hum-vspZ[" x="38" y="-962"> <field name="NAME">main</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="XWV2J0{SCe%t2MW#^%wW"> <field name="VAR" id=")ShCNJdILU$%oDW)!JTD">Triggerdatenpunkt</field> <value name="VALUE"> <block type="text_join" id="X(06)hm+pQN0+p2t.2MN"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="l-NC2%);8(%rM_`BR~ks"> <field name="VAR" id="F~us1B[+$*iQFrv~91aG">anlegen_in</field> </block> </value> <value name="ADD1"> <block type="text" id="R$Vdk5#K|(FU:]N.`f_h"> <field name="TEXT">.</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="kcGSLOE/O%zsr{^{khlH"> <field name="VAR" id="HWvQnVk_?e;,KYNe#CW|">Pfad</field> </block> </value> </block> </value> <next> <block type="on_ext" id=";uf=zwP2D$c}%nR-ro3E"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="nnM92dE}Jyk3H!R]Gg8p"> <field name="oid">default</field> </shadow> <block type="variables_get" id="%urm)MVk{y|EH:.|HH]7"> <field name="VAR" id=")ShCNJdILU$%oDW)!JTD">Triggerdatenpunkt</field> </block> </value> <statement name="STATEMENT"> <block type="comment" id="0CYTjV~E92o-.22CVA?{"> <field name="COMMENT">Leerstelle hinter Garten und vor Grad beachten</field> <next> <block type="variables_set" id="uO`xyWvTFjg|xX#r7F~b"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> <value name="VALUE"> <block type="text_join" id="~I];VI-W]RxVAlbB=/Fk"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="4b)Y~igzZCb@npFpgY)X"> <field name="TEXT">Moment, ich geh mal kucken. Aktuell ist die Temperatur im Garten</field> </block> </value> <value name="ADD1"> <block type="text" id="U+%iqTtl@9d!phsZ*t8@"> <field name="TEXT"> </field> </block> </value> <value name="ADD2"> <block type="get_value" id="a-0z^vC/6*p)rc^fkXg3"> <field name="ATTR">val</field> <field name="OID">hm-rpc.2.0010D8A990A344.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="ADD3"> <block type="text" id="8)98)~kou9ZBXVALgDv("> <field name="TEXT"> </field> </block> </value> <value name="ADD4"> <block type="text" id="4U6RSx4uipX7;^?cMu4S"> <field name="TEXT">Grad</field> </block> </value> </block> </value> <next> <block type="timeouts_cleartimeout" id="C).bwr|XA_W6t9PY;W``"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="#e`|uiUhVZ24/q[qDE_b"> <field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="_yq2i}3HVo!Uv9tgxDx_"> <field name="COMMENT">Alexa2 Adapter / History</field> <next> <block type="comment" id="_amxz6B=9F}_2uEGsK}`"> <field name="COMMENT">Kinderzimmer</field> <next> <block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B"> <value name="IF0"> <block type="logic_compare" id="PB!#`4nSj^|+L!hG+vV,"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="x.y##PRU2o?1_JwX?dv%"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="MivGV@*kt)3rY9COKpKA"> <field name="TEXT">Kinderzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="/nC7//u.)?4gl#ATOdb6"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Kinderzimmer / Commands / ssml</field> <next> <block type="control" id="zTwXc~r8Ldt0u-5TNcVn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50990760US4.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="oc2kkQGu]Cq^o;R0u^SS"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="c][apE[1G{#1_],HwEOK"> <field name="COMMENT">Esszimmer</field> <next> <block type="controls_if" id="/jD`RK@F#5GJ,so/Y*uD"> <value name="IF0"> <block type="logic_compare" id="vioj7N:f=_tN.bLI@qs-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="e^%O/fKI?+!qX3+;(S;f"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="nr*2bC[aF^NJ}eo^rtXP"> <field name="TEXT">Esszimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="=cOc^-;V!+2n3G|xq_gE"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Esszimmer / Commands / ssml</field> <next> <block type="control" id="%Ou2i3PrLv@)wy4mfcTr"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0916D099492059U.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="oU%v95Sdet^%-T(nfpa3"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="SbI09DQT7}=KjO5Y]C,6"> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="!/gvjM[J:/apT-uG_)V{"> <value name="IF0"> <block type="logic_compare" id="O[evUwqB,oNLz#XCMWR*"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="PVOgLg,k/+3BR-~q:_Ix"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="BYqRr([mR5HMAY2P?7y*"> <field name="TEXT">Küche</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="ku:96COhF@LTnLR#N=v1"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Küche / Commands / ssml</field> <next> <block type="control" id="LxO_VtiM(e4v`wc{;HQ{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G091ET10105309N2.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="S+(-5|4T:yFp[leKBJEj"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="daXs?LyMF*2OO@LSlQQ`"> <field name="COMMENT">Schlafzimmer</field> <next> <block type="controls_if" id="fkYCfFs9JG%MY0mJP3RX"> <value name="IF0"> <block type="logic_compare" id="fhqQIKM%kUscsup*.|/D"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="LB2uvFoM8pX)ni1.o=rj"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="4D!m]8#Y`tUuAfX9L10|"> <field name="TEXT">Schlafzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="|oBKZ9:;w*/vGzS2drie"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Schlafzimmer / Commands / ssml</field> <next> <block type="control" id="+;ZMD3_Ta7s/@6sg!.6G"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984763A4X.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="sK}ku|yS*+DjeV?vh-.v"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="WsE/(Q0~pQxzl8$?NDp*"> <field name="COMMENT">Keller</field> <next> <block type="controls_if" id="[_x.k-40dEUU~w)[(kx("> <value name="IF0"> <block type="logic_compare" id="~k]}opd=D7ohotqVFv2V"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JTbD%-usLblmryL6Acz="> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="=zVN}}0-ollPHgmGBFmm"> <field name="TEXT">Keller</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="SM]USv#={5(^C.RY?Q-O"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Keller / Commands / ssml</field> <next> <block type="control" id=":YrVz6aQr-d(n+FJWW+#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.90F00718652606EM.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=":XZY%mOGkUw~0EIBoD4|"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="F/y)=za,;/m+=l.vaN-@"> <field name="COMMENT">Garage</field> <next> <block type="controls_if" id="k=U_B!B*crU%PtK/1msx"> <value name="IF0"> <block type="logic_compare" id="AH{0/Ym=Ty*nJU!NW]0a"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="e.Su5t]FMoszU4@4mI*N"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="BC)by{Oa:HW#L)h3V$V}"> <field name="TEXT">Garage</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="P{-MzD/[B7g|=%:ha(*3"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Keller / Commands / ssml</field> <next> <block type="control" id="0/8|z#sU]eH@q;8jW6jf"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50783673S84.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="S}N-Tu`oK+4l6n}Q)Oxl"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="bNNSuI?sW_l~d?i0cVF)"> <value name="IF0"> <block type="logic_compare" id="GeqezZ9Tsw9:,uat%GC#"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="{5aR_6ly4E?bOgSf9;xA"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="ZVQL_a#sJ_KaAnhtg[(j"> <field name="TEXT">Gäste WC</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="$(pf^@sPsxBW0}#$y+}:"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Gäste WC / Commands / ssml</field> <next> <block type="control" id="J;RJcZD^gM^.+-{[nePw"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50991350GNL.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="[q+gjqtEasw,:.ku2,SC"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </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> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>EDIT: Deine Geräte sind in dem Blockly alle noch drinn
-
@ralf sagte in Keine Ansage vom Blockly mehr über Alexa?:
Nu weis ich nicht weiter
Probiere das mal. Bei mir wird alles angelegt und auch in IOT eingefügt. Danach erstellst Du Deine Routine neu.
Zum DP anlegen über dieses Blockly muß das hier im Javascript Adapter erlaubt sein.
Den Installationsort kannst Du javascript.x (x=Instanznummer) oder 0_userdata.0 eintragen. Den Pfad bestimmst Du auch selbst.

Hier z.B. unter javascript.0

IOT ist dann auch da (SpartNamen trägst Du im Blockly ein.

<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="F~us1B[+$*iQFrv~91aG">anlegen_in</variable> <variable id="HWvQnVk_?e;,KYNe#CW|">Pfad</variable> <variable id=")ShCNJdILU$%oDW)!JTD">Triggerdatenpunkt</variable> <variable id="H02(PYzlPlXqEfz%xzZ:">Geraetename</variable> <variable id="~8$)Lh#;!KiqzKw-]#t#">SmartName</variable> <variable id="fP0L+%YJ6$80O(7`i}))">Ansage</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="procedures_defcustomnoreturn" id="eZsGA^2r{c%G,YpuLp]K" x="37" y="-1163"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkte_anlegen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjIgKDIwIE9jdG9iZXIgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBubyBjYWxsYmFjaywgcmV0dXJuIGFueXdheQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vQW5zYWdlIEJ1dHRvbiBUZW1wZXJhdHVyZW5hbnNhZ2UgYW5sZWdlbgoKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwogICAgW1BmYWQsIHsnbmFtZSc6IEdlcmFldGVuYW1lLCd0eXBlJzogJ2Jvb2xlYW4nLCAncmVhZCc6IGZhbHNlLCAnd3JpdGUnOiB0cnVlLCAncm9sZSc6ICdidXR0b24nLCdkZWYnOnRydWUsICJzbWFydE5hbWUiOiB7ImRlIjogU21hcnROYW1lLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sIApdOwpjcmVhdGVVc2VyU3RhdGVzKGFubGVnZW5faW4sdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwoKCi8vRnVua3Rpb24gbWFpbiBtaXQgVmVyesO2Z2VydW5nIGF1ZnJ1ZmVuCnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKICBtYWluKCk7Cn0sIDUwMDApOwovL21haW4oKTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="variables_set" id="2$iadS/8MvlZI5+Q8BfU" x="37" y="-1112"> <field name="VAR" id="F~us1B[+$*iQFrv~91aG">anlegen_in</field> <value name="VALUE"> <block type="text" id=",=P09E1E~iYN;|v}7IMo"> <field name="TEXT">javascript.0</field> </block> </value> <next> <block type="variables_set" id="FrVz2l;UdnKEfOW{y6Mp"> <field name="VAR" id="HWvQnVk_?e;,KYNe#CW|">Pfad</field> <value name="VALUE"> <block type="text" id="@$pN)}Cs4xgx[;x=@r=m"> <field name="TEXT">Eigene_Datenpunkte.Alexa_Ansagen.Temperaturansage</field> </block> </value> <next> <block type="variables_set" id="QM{!lmZn-ik7OhD~+GL_"> <field name="VAR" id="H02(PYzlPlXqEfz%xzZ:">Geraetename</field> <value name="VALUE"> <block type="text" id="EHQJ|3RtnWTl|f4Hl#Zf"> <field name="TEXT">Alexa Temperaturansage</field> </block> </value> <next> <block type="variables_set" id="gc}q6`IIhkvJ6r)vU;Mr"> <field name="VAR" id="~8$)Lh#;!KiqzKw-]#t#">SmartName</field> <value name="VALUE"> <block type="text" id="XO@u,-Y?Ex#TK{`8mF0]"> <field name="TEXT">01Temperaturansage</field> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="f+9XJgG1]_zqGuR+em@%"> <mutation name="Datenpunkte_anlegen"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defnoreturn" id="mJt}Sr/I-Y6hum-vspZ[" x="38" y="-962"> <field name="NAME">main</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="XWV2J0{SCe%t2MW#^%wW"> <field name="VAR" id=")ShCNJdILU$%oDW)!JTD">Triggerdatenpunkt</field> <value name="VALUE"> <block type="text_join" id="X(06)hm+pQN0+p2t.2MN"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="l-NC2%);8(%rM_`BR~ks"> <field name="VAR" id="F~us1B[+$*iQFrv~91aG">anlegen_in</field> </block> </value> <value name="ADD1"> <block type="text" id="R$Vdk5#K|(FU:]N.`f_h"> <field name="TEXT">.</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="kcGSLOE/O%zsr{^{khlH"> <field name="VAR" id="HWvQnVk_?e;,KYNe#CW|">Pfad</field> </block> </value> </block> </value> <next> <block type="on_ext" id=";uf=zwP2D$c}%nR-ro3E"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="nnM92dE}Jyk3H!R]Gg8p"> <field name="oid">default</field> </shadow> <block type="variables_get" id="%urm)MVk{y|EH:.|HH]7"> <field name="VAR" id=")ShCNJdILU$%oDW)!JTD">Triggerdatenpunkt</field> </block> </value> <statement name="STATEMENT"> <block type="comment" id="0CYTjV~E92o-.22CVA?{"> <field name="COMMENT">Leerstelle hinter Garten und vor Grad beachten</field> <next> <block type="variables_set" id="uO`xyWvTFjg|xX#r7F~b"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> <value name="VALUE"> <block type="text_join" id="~I];VI-W]RxVAlbB=/Fk"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id="4b)Y~igzZCb@npFpgY)X"> <field name="TEXT">Moment, ich geh mal kucken. Aktuell ist die Temperatur im Garten</field> </block> </value> <value name="ADD1"> <block type="text" id="U+%iqTtl@9d!phsZ*t8@"> <field name="TEXT"> </field> </block> </value> <value name="ADD2"> <block type="get_value" id="a-0z^vC/6*p)rc^fkXg3"> <field name="ATTR">val</field> <field name="OID">hm-rpc.2.0010D8A990A344.1.ACTUAL_TEMPERATURE</field> </block> </value> <value name="ADD3"> <block type="text" id="8)98)~kou9ZBXVALgDv("> <field name="TEXT"> </field> </block> </value> <value name="ADD4"> <block type="text" id="4U6RSx4uipX7;^?cMu4S"> <field name="TEXT">Grad</field> </block> </value> </block> </value> <next> <block type="timeouts_cleartimeout" id="C).bwr|XA_W6t9PY;W``"> <field name="NAME">timeout</field> <next> <block type="timeouts_settimeout" id="#e`|uiUhVZ24/q[qDE_b"> <field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="comment" id="_yq2i}3HVo!Uv9tgxDx_"> <field name="COMMENT">Alexa2 Adapter / History</field> <next> <block type="comment" id="_amxz6B=9F}_2uEGsK}`"> <field name="COMMENT">Kinderzimmer</field> <next> <block type="controls_if" id=".n7JtGwDJDGfaeyl!8*B"> <value name="IF0"> <block type="logic_compare" id="PB!#`4nSj^|+L!hG+vV,"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="x.y##PRU2o?1_JwX?dv%"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="MivGV@*kt)3rY9COKpKA"> <field name="TEXT">Kinderzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="/nC7//u.)?4gl#ATOdb6"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Kinderzimmer / Commands / ssml</field> <next> <block type="control" id="zTwXc~r8Ldt0u-5TNcVn"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50990760US4.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="oc2kkQGu]Cq^o;R0u^SS"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="c][apE[1G{#1_],HwEOK"> <field name="COMMENT">Esszimmer</field> <next> <block type="controls_if" id="/jD`RK@F#5GJ,so/Y*uD"> <value name="IF0"> <block type="logic_compare" id="vioj7N:f=_tN.bLI@qs-"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="e^%O/fKI?+!qX3+;(S;f"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="nr*2bC[aF^NJ}eo^rtXP"> <field name="TEXT">Esszimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="=cOc^-;V!+2n3G|xq_gE"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Esszimmer / Commands / ssml</field> <next> <block type="control" id="%Ou2i3PrLv@)wy4mfcTr"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G0916D099492059U.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="oU%v95Sdet^%-T(nfpa3"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="SbI09DQT7}=KjO5Y]C,6"> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="!/gvjM[J:/apT-uG_)V{"> <value name="IF0"> <block type="logic_compare" id="O[evUwqB,oNLz#XCMWR*"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="PVOgLg,k/+3BR-~q:_Ix"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="BYqRr([mR5HMAY2P?7y*"> <field name="TEXT">Küche</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="ku:96COhF@LTnLR#N=v1"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Küche / Commands / ssml</field> <next> <block type="control" id="LxO_VtiM(e4v`wc{;HQ{"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G091ET10105309N2.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="S+(-5|4T:yFp[leKBJEj"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="daXs?LyMF*2OO@LSlQQ`"> <field name="COMMENT">Schlafzimmer</field> <next> <block type="controls_if" id="fkYCfFs9JG%MY0mJP3RX"> <value name="IF0"> <block type="logic_compare" id="fhqQIKM%kUscsup*.|/D"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="LB2uvFoM8pX)ni1.o=rj"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="4D!m]8#Y`tUuAfX9L10|"> <field name="TEXT">Schlafzimmer</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="|oBKZ9:;w*/vGzS2drie"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Schlafzimmer / Commands / ssml</field> <next> <block type="control" id="+;ZMD3_Ta7s/@6sg!.6G"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50984763A4X.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="sK}ku|yS*+DjeV?vh-.v"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="WsE/(Q0~pQxzl8$?NDp*"> <field name="COMMENT">Keller</field> <next> <block type="controls_if" id="[_x.k-40dEUU~w)[(kx("> <value name="IF0"> <block type="logic_compare" id="~k]}opd=D7ohotqVFv2V"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JTbD%-usLblmryL6Acz="> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="=zVN}}0-ollPHgmGBFmm"> <field name="TEXT">Keller</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="SM]USv#={5(^C.RY?Q-O"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Keller / Commands / ssml</field> <next> <block type="control" id=":YrVz6aQr-d(n+FJWW+#"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.90F00718652606EM.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id=":XZY%mOGkUw~0EIBoD4|"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="comment" id="F/y)=za,;/m+=l.vaN-@"> <field name="COMMENT">Garage</field> <next> <block type="controls_if" id="k=U_B!B*crU%PtK/1msx"> <value name="IF0"> <block type="logic_compare" id="AH{0/Ym=Ty*nJU!NW]0a"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="e.Su5t]FMoszU4@4mI*N"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="BC)by{Oa:HW#L)h3V$V}"> <field name="TEXT">Garage</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="P{-MzD/[B7g|=%:ha(*3"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Keller / Commands / ssml</field> <next> <block type="control" id="0/8|z#sU]eH@q;8jW6jf"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50783673S84.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="S}N-Tu`oK+4l6n}Q)Oxl"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="bNNSuI?sW_l~d?i0cVF)"> <value name="IF0"> <block type="logic_compare" id="GeqezZ9Tsw9:,uat%GC#"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="{5aR_6ly4E?bOgSf9;xA"> <field name="ATTR">val</field> <field name="OID">alexa2.0.History.name</field> </block> </value> <value name="B"> <block type="text" id="ZVQL_a#sJ_KaAnhtg[(j"> <field name="TEXT">Gäste WC</field> </block> </value> </block> </value> <statement name="DO0"> <block type="comment" id="$(pf^@sPsxBW0}#$y+}:"> <field name="COMMENT">Alexa2 Adapter / Echo-Devices / Gäste WC / Commands / ssml</field> <next> <block type="control" id="J;RJcZD^gM^.+-{[nePw"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50991350GNL.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="[q+gjqtEasw,:.ku2,SC"> <field name="VAR" id="fP0L+%YJ6$80O(7`i}))">Ansage</field> </block> </value> </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> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </xml>EDIT: Deine Geräte sind in dem Blockly alle noch drinn
@dslraser Guten Morgen, erst mal Danke für deine Mühe.
Der erste Teil (Variablen anlegen) ist im Blockly vorhanden, wurde vielleich nicht vollständig exportiert.
In ioT ist das Gerät nach wie vor nicht vorhanden und läst sich auch nicht anlegen :

obwohl im JS Adapter alles vorhanden ist :

Wenn ich dort den Tastendruck simuliere, wird auch die Temperatur angesagt. Nur über die Sprach Abfrage funktioniert es nicht. Werde später die Routine neu erstellen. Kann doch eigentlich nur noch daran liegen.
"setObject" war allerdings im JS Adapter nicht angehakt.
Melde mich dann später wieder. -
@dslraser Guten Morgen, erst mal Danke für deine Mühe.
Der erste Teil (Variablen anlegen) ist im Blockly vorhanden, wurde vielleich nicht vollständig exportiert.
In ioT ist das Gerät nach wie vor nicht vorhanden und läst sich auch nicht anlegen :

obwohl im JS Adapter alles vorhanden ist :

Wenn ich dort den Tastendruck simuliere, wird auch die Temperatur angesagt. Nur über die Sprach Abfrage funktioniert es nicht. Werde später die Routine neu erstellen. Kann doch eigentlich nur noch daran liegen.
"setObject" war allerdings im JS Adapter nicht angehakt.
Melde mich dann später wieder.@ralf
Nimm das Blockly im Spoiler. -
@ralf
Nimm das Blockly im Spoiler.@dslraser Hallo, ich habe das Blockly aus dem Spoiler importiert, die alte Routine gelöscht und neu angelegt. Alexa sagt nur "OK", egal welchen Echo ich auch anspreche. Folgende Blocklys mit zugehörigen Routinen habe ich :
- Fensterabfrage
- Temperaturabfrage innen
- Temperaturabfrage aussen
- Luftfeuchtigkeit innen
- Luftfeuchtigkeit aussen
Alle Echos sagen bei allen Abfragen nur "OK"
Liegt der Fehler woanders ?
Andere Routinen dagegen funktionieren, z.B. Rasenmäher, starte ich die Routine, bekomme ich auch die Antwort und der Robi fährt raus.
Hast du vielleicht noch eine Idee ?
-
@dslraser Hallo, ich habe das Blockly aus dem Spoiler importiert, die alte Routine gelöscht und neu angelegt. Alexa sagt nur "OK", egal welchen Echo ich auch anspreche. Folgende Blocklys mit zugehörigen Routinen habe ich :
- Fensterabfrage
- Temperaturabfrage innen
- Temperaturabfrage aussen
- Luftfeuchtigkeit innen
- Luftfeuchtigkeit aussen
Alle Echos sagen bei allen Abfragen nur "OK"
Liegt der Fehler woanders ?
Andere Routinen dagegen funktionieren, z.B. Rasenmäher, starte ich die Routine, bekomme ich auch die Antwort und der Robi fährt raus.
Hast du vielleicht noch eine Idee ?
@ralf
Anscheinend hat Amazon (oder wer/was auch immer) wieder was rumgefummelt.
Bei mir gingen auch einige Ansagen nicht mehr. Auch ein Neustart des alexa2 Adapters reichte nicht, auch nicht die Instanz auf debug zu stellen und wieder zurück (das hat ja bei Einigen, was ich so gelesen habe, geholfen)
Ich habe dann den iot Skill einmal deaktiviert und anschließend sofort wieder verbunden und die Gerätesuche laufen lassen.
Danach gingen alle Routinen wieder.
Vielleicht hilft das bei Dir auch... -
@ralf
Anscheinend hat Amazon (oder wer/was auch immer) wieder was rumgefummelt.
Bei mir gingen auch einige Ansagen nicht mehr. Auch ein Neustart des alexa2 Adapters reichte nicht, auch nicht die Instanz auf debug zu stellen und wieder zurück (das hat ja bei Einigen, was ich so gelesen habe, geholfen)
Ich habe dann den iot Skill einmal deaktiviert und anschließend sofort wieder verbunden und die Gerätesuche laufen lassen.
Danach gingen alle Routinen wieder.
Vielleicht hilft das bei Dir auch... -
@ralf
Anscheinend hat Amazon (oder wer/was auch immer) wieder was rumgefummelt.
Bei mir gingen auch einige Ansagen nicht mehr. Auch ein Neustart des alexa2 Adapters reichte nicht, auch nicht die Instanz auf debug zu stellen und wieder zurück (das hat ja bei Einigen, was ich so gelesen habe, geholfen)
Ich habe dann den iot Skill einmal deaktiviert und anschließend sofort wieder verbunden und die Gerätesuche laufen lassen.
Danach gingen alle Routinen wieder.
Vielleicht hilft das bei Dir auch...