id arry trenner textAusgabe DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_benutzen DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_anlegen DP_Fensterliste_mit_Zustand_anlegen DP_Nachrichtenversand_Telegram_anlegen DP_Nachrichtenversan_E_Mail_anlegen DP_Alexa_anlegen DP_iQontrol_Liste_anlegen DP_Fensterliste_mit_Zustand_benutzen anzahl_offen anzahl_geschlossen Telegram_benutzen anzahl_gesamt offene_Fenster_Liste Telegram_Benutzer_1 gesamt_Fenster_Liste Alexa_benutzen iQontrol_Fenster_Liste Telegram_Benutzer_2 idFenster E_Mail_benutzen E_Mail_Empfaenger wert htmlText iQontrol_benutzen timeout Telegram Telegram2 Ansagelautstaerke E_Mail E_Mail2 Satz_vor_Ansage Fenster_Ansage_Liste angesprochener_echo speak_volume DP_Alexa DP_Hans DP_Vicki DP_Conchita alexa_voice hans_voice vicki_voice conchita_voice ssml_ende Ansage getParentName aWYoZ2V0T2JqZWN0KGlkLnN1YnN0cmluZygwLCBpZC5sYXN0SW5kZXhPZignLicpKSkpIHJldHVybiBnZXRPYmplY3QoaWQuc3Vic3RyaW5nKDAsIGlkLmxhc3RJbmRleE9mKCcuJykpKS5jb21tb24ubmFtZTsNCmVsc2UgcmV0dXJuIG51bGw7 Beschreibe diese Funktion … existiert_DP cmV0dXJuIGV4aXN0c1N0YXRlKGlkKTs= Beschreibe diese Funktion … arry, trenner cmV0dXJuIGFycnkuam9pbih0cmVubmVyKTs= Beschreibe diese Funktion … iQontrol_File_schreiben ICBjb25zdCBwYXRoID0gIi9odG1sZmVuc3Rlci5odG1sIjsNCiAgDQogIHdyaXRlRmlsZSgnaXFvbnRyb2wubWV0YScsIHBhdGggLHRleHRBdXNnYWJlLCBmdW5jdGlvbiAoZXJyb3IpIHsNCiAgICBsb2coJ2lRb250cm9sIEZlbnN0ZXIgRGF0ZWkgZ2VzY2hyaWViZW4nKTsNCn0pOw== Funktion zum schreiben einer html Datei für iQontrol DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_anlegen Ly8jIyMjIyMjIyMjIyMjIyMjIyMjIy0tLUZlbnN0ZXIgQW56YWhsIGdlw7ZmZm5ldC1nZXNjaGxvc3Nlbi1nZXNhbXQtLS0jIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDAxID0gJ0ZlbnN0ZXJfemFlaGxlbi4wMV9BbnphaGxfRmVuc3Rlcl9vZmZlbic7CmNvbnN0IGR0cDAwMSA9IHt0eXBlOiAnbnVtYmVyJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDFfQW56YWhsX0ZlbnN0ZXJfb2ZmZW4nLHJvbGU6ICdudW1iZXInfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwMShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJ25vY2ggbGVlcic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMDEoJzBfdXNlcmRhdGEuMC4nICsgZHAwMDEsIGR0cDAwMSk7CgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMDIgPSAnRmVuc3Rlcl96YWVobGVuLjAyX0FuemFobF9GZW5zdGVyX2dlc2NobG9zc2VuJzsKY29uc3QgZHRwMDAyID0ge3R5cGU6ICdudW1iZXInLCByZWFkOiB0cnVlLCB3cml0ZTogZmFsc2UsIG5hbWU6ICcwMl9BbnphaGxfRmVuc3Rlcl9nZXNjaGxvc3Nlbicscm9sZTogJ251bWJlcid9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDAyKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAwMignMF91c2VyZGF0YS4wLicgKyBkcDAwMiwgZHRwMDAyKTsKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAwMyA9ICdGZW5zdGVyX3phZWhsZW4uMDNfQW56YWhsX0ZlbnN0ZXJfZ2VzYW10JzsKY29uc3QgZHRwMDAzID0ge3R5cGU6ICdudW1iZXInLCByZWFkOiB0cnVlLCB3cml0ZTogZmFsc2UsIG5hbWU6ICcwM19BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLHJvbGU6ICdudW1iZXInfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwMyhpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJ25vY2ggbGVlcic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMDMoJzBfdXNlcmRhdGEuMC4nICsgZHAwMDMsIGR0cDAwMyk7CgovLyMjIyMjIyMjIyMjIyMjIyMjIyMjLS0tRmVuc3RlciBvZmZlbmUgRmVuc3RlciBMaXN0ZS0tLSMjIyMjIyMjIyMjIyMjIyMjIyMjCgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMDQgPSAnRmVuc3Rlcl96YWVobGVuLjA0X29mZmVuZV9GZW5zdGVyX0xpc3RlJzsKY29uc3QgZHRwMDA0ID0ge3R5cGU6ICdzdHJpbmcnLCByZWFkOiB0cnVlLCB3cml0ZTogZmFsc2UsIG5hbWU6ICcwNF9vZmZlbmVfRmVuc3Rlcl9MaXN0ZScscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDA0KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAwNCgnMF91c2VyZGF0YS4wLicgKyBkcDAwNCwgZHRwMDA0KTs= legt Datenpunkte für den die Anzahl gekippter/geöffneter/geschlossenen/gesamt Fenster an wenn wahr werden Datenpunkte angelegt kann nach dem anlegen auf falsch gestellt werden DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_anlegen FALSE EQ DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_anlegen TRUE DP_Fensterliste_mit_Zustand_anlegen Ly8jIyMjIyMjIyMjIyMjIyMjIyMjIy0tLURQIGdlc2FtdGUgRmVuc3RlciBMaXN0ZSBtaXQgWnVzdGFuZCBhbmxlZ2VuLS0tIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAwMSA9ICdGZW5zdGVyX3phZWhsZW4uMDVfZ2VzYW10ZV9GZW5zdGVyX0xpc3RlJzsKY29uc3QgZHRwMDAxID0ge3R5cGU6ICdzdHJpbmcnLCByZWFkOiB0cnVlLCB3cml0ZTogZmFsc2UsIG5hbWU6ICcwNV9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwMShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJ25vY2ggbGVlcic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMDEoJzBfdXNlcmRhdGEuMC4nICsgZHAwMDEsIGR0cDAwMSk7 legt einen DP für eine Liste aller Fenster inklusive Zustand an wenn wahr werden Datenpunkte angelegt kann nach dem anlegen auf falsch gestellt werden DP_Fensterliste_mit_Zustand_anlegen FALSE EQ DP_Fensterliste_mit_Zustand_anlegen TRUE DP_Nachrichtenversand_Telegram_anlegen Ly8jIyMjIyMjIyMjIyMjIyMjIyMjIy0tLU5hY2hyaWNodGVudmVyc2FuZCBUZWxlZ3JhbSBhbnNjaGFsdGVuLWF1c3NjaGFsdGVuLS0tIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAwMSA9ICdOYWNocmljaHRlbnZlcnNhbmQuVGVsZWdyYW0uMDFUZWxlZ3JhbV9OYWNocmljaHRlbnZlcnNhbmRfRmVuc3Rlcl96YWVobGVuJzsKY29uc3QgZHRwMDAxID0ge3R5cGU6ICdib29sZWFuJywgcmVhZDogdHJ1ZSwgd3JpdGU6IHRydWUsIG5hbWU6ICcwMVRlbGVncmFtX05hY2hyaWNodGVudmVyc2FuZF9GZW5zdGVyX3phZWhsZW4nLHJvbGU6ICdzd2l0Y2gnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwMShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7c2V0U3RhdGUoaWQsIGluaXQsIHRydWUpO30sMTAwMCk7CiAgICAgICAgICAgIH0KICAgICAgICB9KTsKICAgIH0KfQpjcmVhdGVEcDAwMSgnMF91c2VyZGF0YS4wLicgKyBkcDAwMSwgZHRwMDAxKTs= legt Datenpunkte für den Nachrichtenversand Telegram an/aus an. wenn wahr werden Datenpunkte angelegt kann nach dem anlegen auf falsch gestellt werden DP_Nachrichtenversand_Telegram_anlegen FALSE EQ DP_Nachrichtenversand_Telegram_anlegen TRUE DP_Nachrichtenversand_E_Mail_anlegen Ci8vIyMjIyMjIyMjIyMjIyMjIyMjIyMtLS1OYWNocmljaHRlbnZlcnNhbmQgRS1NYWlsIGFuc2NoYWx0ZW4tYXVzc2NoYWx0ZW4tLS0jIyMjIyMjIyMjIyMjIyMjIyMjIwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDAxID0gJ05hY2hyaWNodGVudmVyc2FuZC5FTWFpbC4wMUVNYWlsX05hY2hyaWNodGVudmVyc2FuZF9GZW5zdGVyX3phZWhsZW4nOwpjb25zdCBkdHAwMDEgPSB7dHlwZTogJ2Jvb2xlYW4nLCByZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSwgbmFtZTogJzAxRU1haWxfTmFjaHJpY2h0ZW52ZXJzYW5kX0ZlbnN0ZXJfemFlaGxlbicscm9sZTogJ3N3aXRjaCd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDAxKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICdub2NoIGxlZXInOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDAxKCcwX3VzZXJkYXRhLjAuJyArIGRwMDAxLCBkdHAwMDEpOw== legt Datenpunkte für den Nachrichtenversand E-Mail an/aus an. wenn wahr werden Datenpunkte angelegt kann nach dem anlegen auf falsch gestellt werden DP_Nachrichtenversan_E_Mail_anlegen FALSE EQ DP_Nachrichtenversan_E_Mail_anlegen TRUE DP_Alexa_anlegen Ly8jIyMjIyMjIyMjIyMjIyMjIyMjIy0tLUFsZXhhIERhdGVucHVua3RlLS0tIyMjIyMjIyMjIyMjIyMjIyMjIyMKCi8vIERhdGVucHVua3QgdW50ZXIgMF91c2VyZGF0YS4wIGVyc3RlbGxlbgpjb25zdCBkcDAwMSA9ICdBbGV4YV9BbnNhZ2VuLlN0aW1tZW4uMDFBbGV4YSc7CmNvbnN0IGR0cDAwMSA9IHt0eXBlOiAnYm9vbGVhbicsIHJlYWQ6IHRydWUsIHdyaXRlOiB0cnVlLCBuYW1lOiAnMDFBbGV4YScscm9sZTogJ3N3aXRjaCcsInNtYXJ0TmFtZSI6IHsiZGUiOiAiQWxleGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDAxKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICdub2NoIGxlZXInOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDAxKCcwX3VzZXJkYXRhLjAuJyArIGRwMDAxLCBkdHAwMDEpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDAyID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wMkhhbnMnOwpjb25zdCBkdHAwMDIgPSB7dHlwZTogJ2Jvb2xlYW4nLCByZWFkOiB0cnVlLCB3cml0ZTogdHJ1ZSwgbmFtZTogJzAySGFucycscm9sZTogJ3N3aXRjaCcsInNtYXJ0TmFtZSI6IHsiZGUiOiAiSGFucyIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifX07CiAKZnVuY3Rpb24gY3JlYXRlRHAwMDIoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICdub2NoIGxlZXInOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDAyKCcwX3VzZXJkYXRhLjAuJyArIGRwMDAyLCBkdHAwMDIpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDAzID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wM1ZpY2tpJzsKY29uc3QgZHRwMDAzID0ge3R5cGU6ICdib29sZWFuJywgcmVhZDogdHJ1ZSwgd3JpdGU6IHRydWUsIG5hbWU6ICcwM1ZpY2tpJyxyb2xlOiAnc3dpdGNoJywic21hcnROYW1lIjogeyJkZSI6ICJWaWNraSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifX07CiAKZnVuY3Rpb24gY3JlYXRlRHAwMDMoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICdub2NoIGxlZXInOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDAzKCcwX3VzZXJkYXRhLjAuJyArIGRwMDAzLCBkdHAwMDMpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDA0ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNENvbmNoaXRhJzsKY29uc3QgZHRwMDA0ID0ge3R5cGU6ICdib29sZWFuJywgcmVhZDogdHJ1ZSwgd3JpdGU6IHRydWUsIG5hbWU6ICcwNENvbmNoaXRhJyxyb2xlOiAnc3dpdGNoJywic21hcnROYW1lIjogeyJkZSI6ICJDb25jaGl0YSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifX07CiAKZnVuY3Rpb24gY3JlYXRlRHAwMDQoaWQsIGNvbW1vbikgewogICAgaWYoJChpZCkubGVuZ3RoKSBsb2coJ0RhdGVucHVua3QgJyArIGlkICsgJyBleGlzdGllcnQgYmVyZWl0cyAhJywgJ3dhcm4nKTsKICAgIGVsc2UgewogICAgICAgIHZhciBvYmogPSB7fTsKICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgb2JqLmNvbW1vbiA9IGNvbW1vbjsKICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICdub2NoIGxlZXInOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDA0KCcwX3VzZXJkYXRhLjAuJyArIGRwMDA0LCBkdHAwMDQpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDA1ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNUFsZXhhX3NzbWwnOwpjb25zdCBkdHAwMDUgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA1QWxleGFfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDA1KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IkFsZXhhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDA1KCcwX3VzZXJkYXRhLjAuJyArIGRwMDA1LCBkdHAwMDUpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDA2ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wNkhhbnNfc3NtbCc7CmNvbnN0IGR0cDAwNiA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDZIYW5zX3NzbWwnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwNihpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDA2KCcwX3VzZXJkYXRhLjAuJyArIGRwMDA2LCBkdHAwMDYpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDA3ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wN1ZpY2tpX3NzbWwnOwpjb25zdCBkdHAwMDcgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA3Vmlja2lfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDA3KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IlZpY2tpIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDA3KCcwX3VzZXJkYXRhLjAuJyArIGRwMDA3LCBkdHAwMDcpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDA4ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOENvbmNoaXRhX3NzbWwnOwpjb25zdCBkdHAwMDggPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA4Q29uY2hpdGFfc3NtbCcscm9sZTogJ3N0cmluZyd9OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDA4KGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgc2V0T2JqZWN0KGlkLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgaWYgKGVycikgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0OiAnICsgZXJyKQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIHZhciBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKGNvbW1vbi5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICc8c3BlYWs+PHZvaWNlIG5hbWU9IkNvbmNoaXRhIj4nOwogICAgICAgICAgICAgICAgfSBlbHNlIGluaXQgPSBjb21tb24uZGVmOwogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtzZXRTdGF0ZShpZCwgaW5pdCwgdHJ1ZSk7fSwxMDAwKTsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDA4KCcwX3VzZXJkYXRhLjAuJyArIGRwMDA4LCBkdHAwMDgpOwoKLy8gRGF0ZW5wdW5rdCB1bnRlciAwX3VzZXJkYXRhLjAgZXJzdGVsbGVuCmNvbnN0IGRwMDA5ID0gJ0FsZXhhX0Fuc2FnZW4uU3RpbW1lbi4wOXNzbWxfZW5kZSc7CmNvbnN0IGR0cDAwOSA9IHt0eXBlOiAnc3RyaW5nJywgcmVhZDogdHJ1ZSwgd3JpdGU6IGZhbHNlLCBuYW1lOiAnMDlzc21sX2VuZGUnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwOShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnPC92b2ljZT48L3NwZWFrPic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMDkoJzBfdXNlcmRhdGEuMC4nICsgZHAwMDksIGR0cDAwOSk7CgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMTAgPSAnQWxleGFfQW5zYWdlbi5BbnNhZ2VuLkZlbnN0ZXJhbnNhZ2UnOwpjb25zdCBkdHAwMTAgPSB7dHlwZTogJ2J1dHRvbicsIHJlYWQ6IGZhbHNlLCB3cml0ZTogdHJ1ZSwgbmFtZTogJ0ZlbnN0ZXJhbnNhZ2UnLHJvbGU6ICdidXR0b24nLCJzbWFydE5hbWUiOiB7ImRlIjogIkZlbnN0ZXJhbnNhZ2UiLCJzbWFydFR5cGUiOiAiU1dJVENIIn19OwogCmZ1bmN0aW9uIGNyZWF0ZURwMDEwKGlkLCBjb21tb24pIHsKICAgIGlmKCQoaWQpLmxlbmd0aCkgbG9nKCdEYXRlbnB1bmt0ICcgKyBpZCArICcgZXhpc3RpZXJ0IGJlcmVpdHMgIScsICd3YXJuJyk7CiAgICBlbHNlIHsKICAgICAgICB2YXIgb2JqID0ge307CiAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgIG9iai5jb21tb24gPSBjb21tb247CiAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgIHNldE9iamVjdChpZCwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgIGlmIChlcnIpIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdDogJyArIGVycikKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICBpZihjb21tb24uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgIGlmKGNvbW1vbi50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnbm9jaCBsZWVyJzsKICAgICAgICAgICAgICAgIH0gZWxzZSBpbml0ID0gY29tbW9uLmRlZjsKICAgICAgICAgICAgfQogICAgICAgIH0pOwogICAgfQp9CmNyZWF0ZURwMDEwKCcwX3VzZXJkYXRhLjAuJyArIGRwMDEwLCBkdHAwMTApOw== legt Datenpunkte für die Verwendung von Alexa Ansagen an. Vier Stimmen schaltbar und ssml Datenpunkte. wenn wahr werden Datenpunkte angelegt kann nach dem anlegen auf falsch gestellt werden DP_Alexa_anlegen FALSE EQ DP_Alexa_anlegen TRUE DP_iQontrol_Liste_anlegen Ly8jIyMjIyMjIyMjIyMjIyMjIyMjIy0tLUZlbnN0ZXIgTGlzdGUgaVFvbnRyb2wgYW5sZWdlbi0tLSMjIyMjIyMjIyMjIyMjIyMjIyMjCgovLyBEYXRlbnB1bmt0IHVudGVyIDBfdXNlcmRhdGEuMCBlcnN0ZWxsZW4KY29uc3QgZHAwMDEgPSAnRmVuc3Rlcl96YWVobGVuLjA2X2lRb250cm9sX0ZlbnN0ZXJfTGlzdGUnOwpjb25zdCBkdHAwMDEgPSB7dHlwZTogJ3N0cmluZycsIHJlYWQ6IHRydWUsIHdyaXRlOiBmYWxzZSwgbmFtZTogJzA2X2lRb250cm9sX0ZlbnN0ZXJfTGlzdGUnLHJvbGU6ICdzdHJpbmcnfTsKIApmdW5jdGlvbiBjcmVhdGVEcDAwMShpZCwgY29tbW9uKSB7CiAgICBpZigkKGlkKS5sZW5ndGgpIGxvZygnRGF0ZW5wdW5rdCAnICsgaWQgKyAnIGV4aXN0aWVydCBiZXJlaXRzICEnLCAnd2FybicpOwogICAgZWxzZSB7CiAgICAgICAgdmFyIG9iaiA9IHt9OwogICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICBvYmouY29tbW9uID0gY29tbW9uOwogICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICBzZXRPYmplY3QoaWQsIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICBpZiAoZXJyKSBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3Q6ICcgKyBlcnIpCiAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgdmFyIGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgaWYoY29tbW9uLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICBpZihjb21tb24udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgaWYoY29tbW9uLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJ25vY2ggbGVlcic7CiAgICAgICAgICAgICAgICB9IGVsc2UgaW5pdCA9IGNvbW1vbi5kZWY7CiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge3NldFN0YXRlKGlkLCBpbml0LCB0cnVlKTt9LDEwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICB9Cn0KY3JlYXRlRHAwMDEoJzBfdXNlcmRhdGEuMC4nICsgZHAwMDEsIGR0cDAwMSk7 legt einen DP für eine html iQontrol Liste aller Fenster inklusive Zustand an wenn wahr werden Datenpunkte angelegt kann nach dem anlegen auf falsch gestellt werden DP_iQontrol_Liste_anlegen FALSE EQ DP_iQontrol_Liste_anlegen TRUE wenn DP Anzahl Fenster erstellt wurde, auf wahr stellen DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_benutzen TRUE wenn DP Fensterliste erstellt wurde, auf wahr stellen DP_Fensterliste_mit_Zustand_benutzen TRUE wenn DP Telegram erstellt wurde, auf wahr stellen Telegram_benutzen FALSE Telegram Nutzer aus Adapter eintragen Telegram_Benutzer_1 Heiko Telegram Nutzer aus Adapter eintragen Telegram_Benutzer_2 Kerstin wenn DP E-Mail erstellt wurde, auf wahr stellen E_Mail_benutzen TRUE E_Mail_Empfaenger king@liwest.at wenn DP Alexa erstellt wurde, auf wahr stellen Alexa_benutzen TRUE wenn DP iQontrol erstellt wurde, auf wahr stellen iQontrol_benutzen TRUE Selektor muss auf die eigene Aufzählung angepasst werden Beispiel hier HMIP Fenstersensoren mit STATE ne default [state.id=STATE](functions='Fenster') anzahl_offen 0 anzahl_geschlossen 0 anzahl_gesamt 0 offene_Fenster_Liste gesamt_Fenster_Liste iQontrol_Fenster_Liste Selektor auf die eigene Aufzählung anpassen idFenster [state.id=STATE](functions='Fenster') anzahl_gesamt 1 wert val idFenster htmlText <!DOCTYPE html><html lang="de"><head><title>Fenster</title><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body> <p style="color:#0000FF; font-family:Helvetica; font-weight: bold">Fensterstatus</p> <p style="color:#ff0000; font-family:Helvetica; font-weight: bold">letze Änderung: custom TT.MM.JJJJ SS:mm:ss </p> <table border="8" cellspacing="10" cellpadding="20" style="color:black; font-family:Helvetica;background-image: linear-gradient(42deg,transparent,lightblue);"> <tr style="color:#0000FF"; font-weight: bold"><td>Fenster-Türen&ensp;&ensp;&ensp;</td><td>Status</td></tr> <tr><td> OR NEQ wert 0 EQ wert TRUE anzahl_offen 1 INSERT LAST offene_Fenster_Liste idFenster geöffnet INSERT LAST gesamt_Fenster_Liste idFenster :geöffnet INSERT LAST iQontrol_Fenster_Liste idFenster <td><span style="color:#FF0000"> geöffnet </span> OR EQ wert 0 EQ wert FALSE anzahl_geschlossen 1 INSERT LAST gesamt_Fenster_Liste idFenster :geschlossen INSERT FIRST iQontrol_Fenster_Liste idFenster <td>geschlossen EQ DP_Anzahl_Fenster_geoeffnet_geschlossen_gesamt_benutzen TRUE 0_userdata.0.Fenster_zaehlen.01_Anzahl_Fenster_offen FALSE anzahl_offen 0_userdata.0.Fenster_zaehlen.02_Anzahl_Fenster_geschlossen FALSE anzahl_geschlossen 0_userdata.0.Fenster_zaehlen.03_Anzahl_Fenster_gesamt FALSE anzahl_gesamt 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste FALSE offene_Fenster_Liste EQ DP_Fensterliste_mit_Zustand_benutzen TRUE EQ offene_Fenster_Liste 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste FALSE Aktuell sind alle Fenster oder Türen geschlossen. 0_userdata.0.Fenster_zaehlen.05_gesamte_Fenster_Liste FALSE gesamt_Fenster_Liste EQ iQontrol_benutzen TRUE 0_userdata.0.Fenster_zaehlen.06_iQontrol_Fenster_Liste FALSE htmlText TEXT 1 iQontrol_Fenster_Liste <tr><td> </table></body> Alexa anschalten true 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa EQ Alexa_benutzen TRUE 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita FALSE FALSE Hans anschalten true 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans EQ Alexa_benutzen TRUE 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita FALSE FALSE Vicki anschalten true 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki EQ Alexa_benutzen TRUE 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita FALSE FALSE Conchita anschalten true 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita EQ Alexa_benutzen TRUE 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans FALSE FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki FALSE FALSE Alexa anschalten falls alle anderen unwahr ne 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita EQ Alexa_benutzen TRUE AND AND EQ val 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa FALSE EQ val 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans FALSE AND EQ val 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki FALSE EQ val 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita FALSE 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa FALSE TRUE iQontrol Liste schreiben 0_userdata.0.Fenster_zaehlen.02_Anzahl_Fenster_geschlossen ne EQ iQontrol_benutzen TRUE timeout timeout 1000 ms val 0_userdata.0.Fenster_zaehlen.06_iQontrol_Fenster_Liste Telegram Fensterstatus versenden 0_userdata.0.Fenster_zaehlen.02_Anzahl_Fenster_geschlossen ne Telegram Telegram2 EQ Telegram_benutzen TRUE EQ val 0_userdata.0.Nachrichtenversand.Telegram.01Telegram_Nachrichtenversand_Fenster_zaehlen TRUE NEQ val 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste Aktuell sind alle Fenster oder Türen geschlossen. Telegram 1000 ms FALSE default text TEXT 1 offene_Fenster_Liste \n Telegram_Benutzer_1 Telegram2 1000 ms FALSE default text val 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste Telegram_Benutzer_1 Telegram Nachricht wenn Versand ein/ausgeschaltet 0_userdata.0.Nachrichtenversand.Telegram.01Telegram_Nachrichtenversand_Fenster_zaehlen ne EQ Telegram_benutzen TRUE EQ val 0_userdata.0.Nachrichtenversand.Telegram.01Telegram_Nachrichtenversand_Fenster_zaehlen TRUE FALSE default text Der Versand der Telegram Liste "Fensterstatus" wurde eingeschaltet. Telegram_Benutzer_1 FALSE default text Der Versand der Telegram Liste "Fensterstatus" wurde ausgeschaltet. Telegram_Benutzer_1 E-Mail Fensterstatus versenden 0_userdata.0.Fenster_zaehlen.02_Anzahl_Fenster_geschlossen ne E_Mail E_Mail2 EQ E_Mail_benutzen TRUE EQ val 0_userdata.0.Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen TRUE NEQ val 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste Aktuell sind alle Fenster oder Türen geschlossen. E_Mail 1000 ms FALSE E_Mail_Empfaenger TEXT 1 offene_Fenster_Liste \n Fensterstatus E_Mail2 1000 ms FALSE E_Mail_Empfaenger val 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste Fensterstatus E-Mail Nachricht wenn Versand ein/ausgeschaltet 0_userdata.0.Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen ne EQ E_Mail_benutzen TRUE EQ val 0_userdata.0.Nachrichtenversand.EMail.01EMail_Nachrichtenversand_Fenster_zaehlen TRUE FALSE E_Mail_Empfaenger Der Versand der E-Mail Liste "Fensterstatus" wurde eingeschaltet. FALSE E_Mail_Empfaenger Der Versand der E-Mail Liste "Fensterstatus" wurde ausgeschaltet. Ansage Alexa any 0_userdata.0.Alexa_Ansagen.Ansagen.Fensteransage Ansagelautstaerke 80 Satz_vor_Ansage Hier der Fensterstatus für Dich. Fenster_Ansage_Liste val 0_userdata.0.Fenster_zaehlen.04_offene_Fenster_Liste EQ Alexa_benutzen TRUE OR alexa2.0.Echo-Devices. val alexa2.0.History.serialNumber .Commands.ssml alexa2.0.Echo-Devices. val alexa2.0.History.serialNumber .Commands.speak-volume angesprochener_echo alexa2.0.Echo-Devices. val alexa2.0.History.serialNumber .Commands.ssml speak_volume alexa2.0.Echo-Devices. val alexa2.0.History.serialNumber .Commands.speak-volume false FALSE Object ID speak_volume TRUE Ansagelautstaerke 0 DP_Alexa val 0_userdata.0.Alexa_Ansagen.Stimmen.01Alexa DP_Hans val 0_userdata.0.Alexa_Ansagen.Stimmen.02Hans DP_Vicki val 0_userdata.0.Alexa_Ansagen.Stimmen.03Vicki DP_Conchita val 0_userdata.0.Alexa_Ansagen.Stimmen.04Conchita alexa_voice val 0_userdata.0.Alexa_Ansagen.Stimmen.05Alexa_ssml hans_voice val 0_userdata.0.Alexa_Ansagen.Stimmen.06Hans_ssml vicki_voice val 0_userdata.0.Alexa_Ansagen.Stimmen.07Vicki_ssml conchita_voice val 0_userdata.0.Alexa_Ansagen.Stimmen.08Conchita_ssml ssml_ende val 0_userdata.0.Alexa_Ansagen.Stimmen.09ssml_ende Ansage EQ DP_Alexa TRUE alexa_voice Satz_vor_Ansage Fenster_Ansage_Liste ssml_ende EQ DP_Hans TRUE hans_voice Satz_vor_Ansage Fenster_Ansage_Liste ssml_ende EQ DP_Vicki TRUE vicki_voice Satz_vor_Ansage Fenster_Ansage_Liste ssml_ende EQ DP_Conchita TRUE conchita_voice Satz_vor_Ansage Fenster_Ansage_Liste ssml_ende false FALSE Object ID angesprochener_echo TRUE Ansage 0 warn test Das angesprochene Gerät unterstützt kein ssml oder speak-volume !