textAusgabe
anlegen_in
arry
trenner
id
val
anzahl_fenster_gekippt
datenpruefung
alexa_instanz_0
alexa_instanz_1
anzahl_fenster_offen
ansage
speicherort
anzahl_fenster_geschlossen
nachricht_ausgabe
angesprochener_echo_instanz_0
angesprochener_echo_instanz_1
anzahl_fenster_gesamt
speak_volume_instanz_0
objekt_id_fensteransage_eDP
speak_volume_instanz_1
selektor
liste_fenster_offen_gekippt
ansage_einleitungssatz
objekt_id_01alexa_eDP
angesprochener_echo_instanz_0_neu
angesprochener_echo_instanz_1_neu
liste_fenster_gesamt
objekt_id_02_anzahl_fenster_offen_eDP
objekt_id_01_anzahl_fenster_gekippt_eDP
objekt_id_05_offene_gekippte_fenster_liste_eDP
objekt_id_05alexa_ssml_eDP
objekt_id_09ende_ssml_eDP
objekt_id_02hans_eDP
speak_volume_instanz_0_neu
ansagelautstaerke
speak_volume_instanz_1_neu
liste_fenster_html
objekt_id_06hans_ssml_eDP
objekt_id_03vicki_eDP
html_text
objekt_id_07vicki_ssml_eDP
objekt_id_04conchita_eDP
telegram_benutzer
fenster_offen
objekt_id_08conchita_ssml_eDP
fenster_gekippt
e_mail_empfaenger
wert
fenster_geschlossen
logmeldung
objekt_id_03_anzahl_fenster_geschlossen_eDP
blockly_start_geraete_zaehlen_einlesen
objekt_id_04_anzahl_fenster_gesamt_eDP
objekt_id_04_1_anzahl_fenster_geoeffnet_gekippt_gesamt_eDP
objekt_id_06_gesamte_fenster_liste_eDP
objekt_id_07_html_fenster_liste_eDP
01_Anzahl_Fenster_gekippt_pfad
02_Anzahl_Fenster_offen_pfad
03_Anzahl_Fenster_geschlossen_pfad
04_Anzahl_Fenster_gesamt_pfad
04_1_anzahl_fenster_geoeffnet_und_gekippt_gesamt_pfad
05_offene_gekippte_Fenster_Liste_pfad
06_gesamt_Fenster_Liste_pfad
07_html_Fenster_Liste_pfad
pfad_ansage_starten
pfad_01alexa
pfad_02hans
pfad_03vicki
pfad_04conchita
pfad_05Alexa_ssml
pfad_06Hans_ssml
pfad_07Vicki_ssml
pfad_08Conchita_ssml
pfad_09_ssml_ende
pfad_telegram_versand_an_aus
objekt_id_telegram_versand_an_aus
pfad_telegram_senden
objekt_id_telegram_versenden
pfad_email_versand_an_aus
objekt_id_email_versand_an_aus
pfad_email_senden
objekt_id_email_versenden
iQontrol
iQontrol_File_schreiben
ICBjb25zdCBwYXRoID0gIi9odG1sZmVuc3Rlci5odG1sIjsNCiAgDQogIHdyaXRlRmlsZSgnaXFvbnRyb2wubWV0YScsIHBhdGggLHRleHRBdXNnYWJlLCBmdW5jdGlvbiAoZXJyb3IpIHsNCiAgICBsb2coJ2lRb250cm9sIEZlbnN0ZXIgRGF0ZWkgZ2VzY2hyaWViZW4nKTsNCn0pOw==
Funktion zum schreiben einer html Datei für iQontrol
zaehlen
Beschreibe diese Funktion …
anzahl_fenster_gekippt
0
anzahl_fenster_offen
0
anzahl_fenster_geschlossen
0
anzahl_fenster_gesamt
0
liste_fenster_offen_gekippt
liste_fenster_gesamt
liste_fenster_html
html_text
<!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   </td><td>Status</td></tr>
<tr><td>
fenster_offen
selektor
anzahl_fenster_gesamt
1
wert
val
fenster_offen
OR
EQ
fenster_offen
wert
OPEN
EQ
fenster_offen
wert
TRUE
anzahl_fenster_offen
1
INSERT
LAST
liste_fenster_offen_gekippt
fenster_offen
geöffnet
INSERT
LAST
liste_fenster_gesamt
fenster_offen
:geöffnet
INSERT
LAST
liste_fenster_html
fenster_offen
<td><span style="color:#FF0000"> geöffnet </span>
fenster_gekippt
selektor
wert
val
fenster_gekippt
EQ
fenster_gekippt
wert
TILTED
anzahl_fenster_gekippt
1
INSERT
LAST
liste_fenster_offen_gekippt
fenster_gekippt
gekippt
INSERT
LAST
liste_fenster_gesamt
fenster_gekippt
:gekippt
INSERT
LAST
liste_fenster_html
fenster_gekippt
<td><span style="color:#0000FF"> gekippt </span>
fenster_geschlossen
selektor
wert
val
fenster_geschlossen
OR
EQ
fenster_geschlossen
wert
CLOSED
EQ
fenster_geschlossen
wert
FALSE
anzahl_fenster_geschlossen
1
INSERT
LAST
liste_fenster_gesamt
fenster_geschlossen
:geschlossen
INSERT
LAST
liste_fenster_html
fenster_geschlossen
<td>geschlossen
true
FALSE
Object ID
objekt_id_01_anzahl_fenster_gekippt_eDP
TRUE
anzahl_fenster_gekippt
0
true
FALSE
Object ID
objekt_id_02_anzahl_fenster_offen_eDP
TRUE
anzahl_fenster_offen
0
true
FALSE
Object ID
objekt_id_03_anzahl_fenster_geschlossen_eDP
TRUE
anzahl_fenster_geschlossen
0
true
FALSE
Object ID
objekt_id_04_anzahl_fenster_gesamt_eDP
TRUE
anzahl_fenster_gesamt
0
true
FALSE
Object ID
objekt_id_04_1_anzahl_fenster_geoeffnet_gekippt_gesamt_eDP
TRUE
ADD
1
anzahl_fenster_gekippt
1
anzahl_fenster_offen
0
EQ
liste_fenster_offen_gekippt
true
FALSE
Object ID
objekt_id_05_offene_gekippte_fenster_liste_eDP
TRUE
Alle Fenster oder Türen sind geschlossen.
0
true
FALSE
Object ID
objekt_id_05_offene_gekippte_fenster_liste_eDP
TRUE
TEXT
1
liste_fenster_offen_gekippt
,
0
true
FALSE
Object ID
objekt_id_06_gesamte_fenster_liste_eDP
TRUE
TEXT
1
liste_fenster_gesamt
,
0
true
FALSE
Object ID
objekt_id_07_html_fenster_liste_eDP
TRUE
html_text
liste_fenster_html
<tr><td>
</table></body>
0
Datenpunkte_anlegen
LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwoKZnVuY3Rpb24gY3JlYXRlVXNlclN0YXRlcyh3aGVyZSwgZm9yY2UsIHN0YXRlc1RvQ3JlYXRlLCBjYWxsYmFjayA9IHVuZGVmaW5lZCkgewogCiAgICBjb25zdCBXQVJOID0gZmFsc2U7IC8vIE9ubHkgZm9yIDBfdXNlcmRhdGEuMDogVGhyb3dzIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBpcyBhbHJlYWR5IGV4aXN0aW5nIGFuZCBmb3JjZT1mYWxzZS4gRGVmYXVsdCBpcyBmYWxzZSwgc28gbm8gd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGV4aXN0cy4KICAgIGNvbnN0IExPR19ERUJVRyA9IGZhbHNlOyAvLyBUbyBkZWJ1ZyB0aGlzIGZ1bmN0aW9uLCBzZXQgdG8gdHJ1ZQogICAgLy8gUGVyIGlzc3VlICM0NzQgKGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzQpLCB0aGUgdXNlZCBmdW5jdGlvbiBzZXRPYmplY3QoKSBleGVjdXRlcyB0aGUgY2FsbGJhY2sgCiAgICAvLyBiZWZvcmUgdGhlIHN0YXRlIGlzIGFjdHVhbCBjcmVhdGVkLiBUaGVyZWZvcmUsIHdlIHVzZSBhIHNldFRpbWVvdXQgYW5kIGNvdW50ZXIgYXMgYSB3b3JrYXJvdW5kLgogICAgY29uc3QgREVMQVkgPSA1MDsgLy8gRGVsYXkgaW4gbWlsbGlzZWNvbmRzIChtcykuIEluY3JlYXNlIHRoaXMgdG8gMTAwLCBpZiBpdCBpcyBub3Qgd29ya2luZy4KCiAgICAvLyBWYWxpZGF0ZSAid2hlcmUiCiAgICBpZiAod2hlcmUuZW5kc1dpdGgoJy4nKSkgd2hlcmUgPSB3aGVyZS5zbGljZSgwLCAtMSk7IC8vIFJlbW92ZSB0cmFpbGluZyBkb3QKICAgIGlmICggKHdoZXJlLm1hdGNoKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSkpJHwwX3VzZXJkYXRhXC4wJCkvKSA9PSBudWxsKSApIHsKICAgICAgICBsb2coJ1RoaXMgc2NyaXB0IGRvZXMgbm90IHN1cHBvcnQgdG8gY3JlYXRlIHN0YXRlcyB1bmRlciBbJyArIHdoZXJlICsgJ10nLCAnZXJyb3InKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgLy8gUHJlcGFyZSAic3RhdGVzVG9DcmVhdGUiIHNpbmNlIHdlIGFsc28gYWxsb3cgYSBzaW5nbGUgc3RhdGUgdG8gY3JlYXRlCiAgICBpZighQXJyYXkuaXNBcnJheShzdGF0ZXNUb0NyZWF0ZVswXSkpIHN0YXRlc1RvQ3JlYXRlID0gW3N0YXRlc1RvQ3JlYXRlXTsgLy8gd3JhcCBpbnRvIGFycmF5LCBpZiBqdXN0IG9uZSBhcnJheSBhbmQgbm90IGluc2lkZSBhbiBhcnJheQoKICAgIC8vIEFkZCAid2hlcmUiIHRvIFNUQVRFU19UT19DUkVBVEUKICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhdGVzVG9DcmVhdGUubGVuZ3RoOyBpKyspIHsKICAgICAgICBsZXQgbHBQYXRoID0gc3RhdGVzVG9DcmVhdGVbaV1bMF0ucmVwbGFjZSgvXC4qXC4vZywgJy4nKTsgLy8gcmVwbGFjZSBhbGwgbXVsdGlwbGUgZG90cyBsaWtlICcuLicsICcuLi4nIHdpdGggYSBzaW5nbGUgJy4nCiAgICAgICAgbHBQYXRoID0gbHBQYXRoLnJlcGxhY2UoL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKVwuKXwwX3VzZXJkYXRhXC4wXC4pLywnJykgLy8gcmVtb3ZlIGFueSBqYXZhc2NyaXB0LnguIC8gMF91c2VyZGF0YS4wLiBmcm9tIGJlZ2lubmluZwogICAgICAgIGxwUGF0aCA9IHdoZXJlICsgJy4nICsgbHBQYXRoOyAvLyBhZGQgd2hlcmUgdG8gYmVnaW5uaW5nIG9mIHN0cmluZwogICAgICAgIHN0YXRlc1RvQ3JlYXRlW2ldWzBdID0gbHBQYXRoOwogICAgfQoKICAgIGlmICh3aGVyZSAhPSAnMF91c2VyZGF0YS4wJykgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgamF2YXNjcmlwdC54CiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgewogICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpOwogICAgICAgICAgICBsZXQgbG9vcEluaXQgPSAobG9vcFBhcmFtWzFdWydkZWYnXSA9PSB1bmRlZmluZWQpID8gbnVsbCA6IGxvb3BQYXJhbVsxXVsnZGVmJ107IC8vIG1pbWljIHNhbWUgYmVoYXZpb3IgYXMgY3JlYXRlU3RhdGUgaWYgbm8gaW5pdCB2YWx1ZSBpcyBwcm92aWRlZAogICAgICAgICAgICBjcmVhdGVTdGF0ZShsb29wUGFyYW1bMF0sIGxvb3BJbml0LCBmb3JjZSwgbG9vcFBhcmFtWzFdLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHByb2Nlc3NlZC4nKTsKICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfSBlbHNlIHsKICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIDBfdXNlcmRhdGEuMAogICAgICAgIGxldCBudW1TdGF0ZXMgPSBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7CiAgICAgICAgbGV0IGNvdW50ZXIgPSAtMTsKICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgewogICAgICAgICAgICBjb3VudGVyICs9IDE7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZyAoJ1tEZWJ1Z10gQ3VycmVudGx5IHByb2Nlc3NpbmcgZm9sbG93aW5nIHN0YXRlOiBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGlmKCAoJChsb29wUGFyYW1bMF0pLmxlbmd0aCA+IDApICYmIChleGlzdHNTdGF0ZShsb29wUGFyYW1bMF0pKSApIHsgLy8gV29ya2Fyb3VuZCBkdWUgdG8gaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3OAogICAgICAgICAgICAgICAgLy8gU3RhdGUgaXMgZXhpc3RpbmcuCiAgICAgICAgICAgICAgICBpZiAoV0FSTiAmJiAhZm9yY2UpIGxvZygnU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nIGFuZCB3aWxsIG5vIGxvbmdlciBiZSBjcmVhdGVkLicsICd3YXJuJyk7CiAgICAgICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nLiBPcHRpb24gZm9yY2UgKD1vdmVyd3JpdGUpIGlzIHNldCB0byBbJyArIGZvcmNlICsgJ10uJyk7CiAgICAgICAgICAgICAgICBpZighZm9yY2UpIHsKICAgICAgICAgICAgICAgICAgICAvLyBTdGF0ZSBleGlzdHMgYW5kIHNoYWxsIG5vdCBiZSBvdmVyd3JpdHRlbiBzaW5jZSBmb3JjZT1mYWxzZQogICAgICAgICAgICAgICAgICAgIC8vIFNvLCB3ZSBkbyBub3QgcHJvY2VlZC4KICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQhJyk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbiBvcHRpb25hbCBjYWxsYmFjayBmdW5jdGlvbiB3YXMgcHJvdmlkZWQsIHdoaWNoIHdlIGFyZSBnb2luZyB0byBleGVjdXRlIG5vdy4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMTg0NTI5MjAvY29udGludWUtaW4tY3Vyc29yLWZvcmVhY2gKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLgogICAgICAgICAgICBsZXQgb2JqID0ge307CiAgICAgICAgICAgIG9iai50eXBlID0gJ3N0YXRlJzsKICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9OwogICAgICAgICAgICBvYmouY29tbW9uID0gbG9vcFBhcmFtWzFdOwogICAgICAgICAgICBzZXRPYmplY3QobG9vcFBhcmFtWzBdLCBvYmosIGZ1bmN0aW9uIChlcnIpIHsKICAgICAgICAgICAgICAgIGlmIChlcnIpIHsKICAgICAgICAgICAgICAgICAgICBsb2coJ0Nhbm5vdCB3cml0ZSBvYmplY3QgZm9yIHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ106ICcgKyBlcnIpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpCiAgICAgICAgICAgICAgICAgICAgbGV0IGluaXQgPSBudWxsOwogICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS5kZWYgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ2Jvb2xlYW4nKSBpbml0ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnc3RyaW5nJykgaW5pdCA9ICcnOwogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBsb29wUGFyYW1bMV0uZGVmOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICBzZXRTdGF0ZShsb29wUGFyYW1bMF0sIGluaXQsIHRydWUsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIHNldFN0YXRlIGR1cmNoZ2Vmw7xocnQ6ICcgKyBsb29wUGFyYW1bMF0pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgIH0pOwogICAgfQp9CgpsZXQgc3RhdGVzVG9DcmVhdGUgPSBbCiAgICAvL1N0aW1tZW4KICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wMUFsZXhhJywgeyduYW1lJzonMDFBbGV4YScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6dHJ1ZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQWxleGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDJIYW5zJywgeyduYW1lJzonMDJIYW5zJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzpmYWxzZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiSGFucyIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wM1ZpY2tpJywgeyduYW1lJzonMDNWaWNraScsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3dpdGNoJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlZpY2tpIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5BbGV4YV9TdGltbWVuLjA0Q29uY2hpdGEnLCB7J25hbWUnOicwNENvbmNoaXRhJywgJ3R5cGUnOidib29sZWFuJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzd2l0Y2gnLCAnZGVmJzpmYWxzZSwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQ29uY2hpdGEiLCJzbWFydFR5cGUiOiAiU1dJVENIIn0gfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDVBbGV4YV9zc21sJywgeyduYW1lJzonMDVBbGV4YV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJBbGV4YSI+JyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wNkhhbnNfc3NtbCcsIHsnbmFtZSc6JzA2SGFuc19zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJIYW5zIj4nIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5BbGV4YV9TdGltbWVuLjA3Vmlja2lfc3NtbCcsIHsnbmFtZSc6JzA3Vmlja2lfc3NtbCcsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6JzxzcGVhaz48dm9pY2UgbmFtZT0iVmlja2kiPicgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkFsZXhhX1N0aW1tZW4uMDhDb25jaGl0YV9zc21sJywgeyduYW1lJzonMDhDb25jaGl0YV9zc21sJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPHNwZWFrPjx2b2ljZSBuYW1lPSJDb25jaGl0YSI+JyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfU3RpbW1lbi4wOXNzbWxfZW5kZScsIHsnbmFtZSc6JzA5c3NtbF9lbmRlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonPC92b2ljZT48L3NwZWFrPicgfV0sCiAgICAvL0Fuc2FnZSBCdXR0b24KICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uQWxleGFfQW5zYWdlbi4wOUZlbnN0ZXJhbnNhZ2UnLCB7J25hbWUnOiAnMDlGZW5zdGVyYW5zYWdlJywndHlwZSc6ICdib29sZWFuJywgJ3JlYWQnOiB0cnVlLCAnd3JpdGUnOiB0cnVlLCAncm9sZSc6ICdidXR0b24nLCdkZWYnOnRydWUsICJzbWFydE5hbWUiOiB7ImRlIjogIjA5RmVuc3RlcmFuc2FnZSIsInNtYXJ0VHlwZSI6ICJTV0lUQ0gifSB9XSwgCiAgICAvL0dlcmFldGUgemFlaGxlbgogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uRmVuc3Rlcl96YWVobGVuLjAxX0FuemFobF9GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOicwMV9BbnphaGxfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidudW1iZXInLCd1bml0JzonRmVuc3RlcicsICdkZWYnOjAgfV0sCiAgICBbJ0dlcmFldGVfemFlaGxlbl9vcHRpb25hbF9BbnNhZ2VuLkdlcmFldGVfemFlaGxlbi5GZW5zdGVyX3phZWhsZW4uMDJfQW56YWhsX0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOicwMl9BbnphaGxfRmVuc3Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonbnVtYmVyJywndW5pdCc6J0ZlbnN0ZXInLCAnZGVmJzowIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uRmVuc3Rlcl96YWVobGVuLjAzX0FuemFobF9GZW5zdGVyX2dlc2NobG9zc2VuJywgeyduYW1lJzonMDNfQW56YWhsX0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkZlbnN0ZXJfemFlaGxlbi4wNF9BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLCB7J25hbWUnOicwNF9BbnphaGxfRmVuc3Rlcl9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkZlbnN0ZXJfemFlaGxlbi4wNF8xX0FuemFobF9GZW5zdGVyX2dlb2VmZm5ldF91bmRfZ2VraXBwdF9nZXNhbXQnLCB7J25hbWUnOicwNF8xX0FuemFobF9GZW5zdGVyX2dlb2VmZm5ldF91bmRfZ2VraXBwdF9nZXNhbXQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J251bWJlcicsJ3VuaXQnOidGZW5zdGVyJywgJ2RlZic6MCB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkZlbnN0ZXJfemFlaGxlbi4wNV9vZmZlbmVfZ2VraXBwdGVfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA1X29mZmVuZV9nZWtpcHB0ZV9GZW5zdGVyX0xpc3RlJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzpmYWxzZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonbm9jaCBsZWVyJyB9XSwKICAgIFsnR2VyYWV0ZV96YWVobGVuX29wdGlvbmFsX0Fuc2FnZW4uR2VyYWV0ZV96YWVobGVuLkZlbnN0ZXJfemFlaGxlbi4wNl9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCB7J25hbWUnOicwNl9nZXNhbXRlX0ZlbnN0ZXJfTGlzdGUnLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOmZhbHNlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOidub2NoIGxlZXInIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5HZXJhZXRlX3phZWhsZW4uRmVuc3Rlcl96YWVobGVuLjA3X2h0bWxfRmVuc3Rlcl9MaXN0ZScsIHsnbmFtZSc6JzA3X2h0bWxfRmVuc3Rlcl9MaXN0ZScsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6ZmFsc2UsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6J25vY2ggbGVlcicgfV0sCiAgICAvL1RlbGVncmFtIE5hY2hyaWNodGVudmVyc2FuZAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5UZWxlZ3JhbS4wMVRlbGVncmFtX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCB7J25hbWUnOicwMVRlbGVncmFtX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5UZWxlZ3JhbS4wMlRlbGVncmFtX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuJywgeyduYW1lJzonMDJUZWxlZ3JhbV9GZW5zdGVyc3RhdHVzX3NlbmRlbicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIlRlbGVncmFtX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLCAKICAgIC8vRS1NYWlsIE5hY2hyaWNodGVudmVyc2FuZAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5FTUFJTC4wMUVNYWlsX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCB7J25hbWUnOicwMUVNYWlsX0ZlbnN0ZXJfVmVyc2FuZF9hbl9hdXMnLCAndHlwZSc6J2Jvb2xlYW4nLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N3aXRjaCcsICdkZWYnOmZhbHNlIH1dLAogICAgWydHZXJhZXRlX3phZWhsZW5fb3B0aW9uYWxfQW5zYWdlbi5FTUFJTC4wMkVNYWlsX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuJywgeyduYW1lJzonMDJFTWFpbF9GZW5zdGVyc3RhdHVzX3NlbmRlbicsICd0eXBlJzonYm9vbGVhbicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonYnV0dG9uJywgJ2RlZic6ZmFsc2UsICJzbWFydE5hbWUiOiB7ImRlIjogIkVNQUlMX0ZlbnN0ZXJzdGF0dXNfc2VuZGVuIiwic21hcnRUeXBlIjogIlNXSVRDSCJ9IH1dLCAKICAgIApdOwoKY3JlYXRlVXNlclN0YXRlcyhhbmxlZ2VuX2luLCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUsIGZ1bmN0aW9uKCl7OwogICAgbWFpbigpOwp9KTsKCgo=
Datenpunkte erstellen
telegram_senden
Beschreibe diese Funktion …
ab hier Ausgabe
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
nachricht_ausgabe
Es ist ein Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
0
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es ist ein Fenster gekippt 👈
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es ist ein Fenster gekippt 👈
\n
Es ist ein Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
0
GT
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es sind
val
objekt_id_01_anzahl_fenster_gekippt_eDP
Fenster gekippt 👈
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
GT
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
nachricht_ausgabe
Es sind
val
objekt_id_02_anzahl_fenster_offen_eDP
Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
GT
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es ist ein Fenster gekippt 👈
\n
Es sind
val
objekt_id_02_anzahl_fenster_offen_eDP
Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
1
GT
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es sind
val
objekt_id_01_anzahl_fenster_gekippt_eDP
Fenster gekippt 👈
\n
Es ist ein Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
GT
val
objekt_id_02_anzahl_fenster_offen_eDP
1
GT
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es sind
val
objekt_id_01_anzahl_fenster_gekippt_eDP
Fenster gekippt 👈
\n
Es sind
val
objekt_id_02_anzahl_fenster_offen_eDP
Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
0
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
nachricht_ausgabe
✅ Alle Fenster und Türen sind zu ✅
FALSE
default
text
nachricht_ausgabe
telegram_benutzer
arry, trenner
cmV0dXJuIGFycnkuam9pbih0cmVubmVyKTs=
Beschreibe diese Funktion …
email_senden
Beschreibe diese Funktion …
ab hier Ausgabe
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
nachricht_ausgabe
Es ist ein Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
0
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es ist ein Fenster gekippt 👈
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es ist ein Fenster gekippt 👈
\n
Es ist ein Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
0
GT
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es sind
val
objekt_id_01_anzahl_fenster_gekippt_eDP
Fenster gekippt 👈
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
GT
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
nachricht_ausgabe
Es sind
val
objekt_id_02_anzahl_fenster_offen_eDP
Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
GT
val
objekt_id_02_anzahl_fenster_offen_eDP
1
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es ist ein Fenster gekippt 👈
\n
Es sind
val
objekt_id_02_anzahl_fenster_offen_eDP
Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
1
GT
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es sind
val
objekt_id_01_anzahl_fenster_gekippt_eDP
Fenster gekippt 👈
\n
Es ist ein Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
GT
val
objekt_id_02_anzahl_fenster_offen_eDP
1
GT
val
objekt_id_01_anzahl_fenster_gekippt_eDP
1
nachricht_ausgabe
Es sind
val
objekt_id_01_anzahl_fenster_gekippt_eDP
Fenster gekippt 👈
\n
Es sind
val
objekt_id_02_anzahl_fenster_offen_eDP
Fenster geöffnet ☝️
\n
\n
TEXT
1
liste_fenster_offen_gekippt
\n
AND
EQ
val
objekt_id_02_anzahl_fenster_offen_eDP
0
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
nachricht_ausgabe
✅ Alle Fenster und Türen sind zu ✅
FALSE
e_mail_empfaenger
nachricht_ausgabe
Fensterstatus
getParentName
dmFyIG5hbWUgPSBnZXRPYmplY3QoaWQpLmNvbW1vbi5uYW1lOw0KDQppZiAobmFtZS5zdWJzdHIoIC03KSA9PSAoJ0lzIG9wZW4nKSkgcmV0dXJuIG5hbWUuc2xpY2UoMCwgLTcpOw0KaWYgKG5hbWUuc3Vic3RyKCAtNikgPT0gKCcuU1RBVEUnKSkgcmV0dXJuIG5hbWUuc2xpY2UoMCwgLTYpOw0KaWYgKG5hbWUuc3Vic3RyKCAtNikgPT0gKCcuc3RhdGUnKSkgcmV0dXJuIG5hbWUuc2xpY2UoMCwgLTYpOw0KaWYgKG5hbWUuc3Vic3RyKCAtNSkgPT0gKCcub3BlbicpKSByZXR1cm4gbmFtZS5zbGljZSgwLCAtNSk7DQoNCmlkID0gaWQuc3Vic3RyaW5nKDAsIGlkLmxhc3RJbmRleE9mKCcuJykpOw0KaWYoZXhpc3RzT2JqZWN0KGlkKSAmJiBnZXRPYmplY3QoaWQpLnR5cGUgPT0gJ2NoYW5uZWwnKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTsNCmlkID0gaWQuc3Vic3RyaW5nKDAsIGlkLmxhc3RJbmRleE9mKCcuJykpOw0KaWYoZXhpc3RzT2JqZWN0KGlkKSAmJiBnZXRPYmplY3QoaWQpLnR5cGUgPT0gJ2NoYW5uZWwnKSByZXR1cm4gZ2V0T2JqZWN0KGlkKS5jb21tb24ubmFtZTsNCg0KZWxzZSByZXR1cm4gJ1NlbnNvciB1bmJla2FubnQnOw0KDQoNCg0KDQoNCiAgICANCg0KDQo=
Beschreibe diese Funktion …
ansage_wiedergabe
Beschreibe diese Funktion …
datenpruefung
EQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
ansage_einleitungssatz
val
objekt_id_05_offene_gekippte_fenster_liste_eDP
NEQ
val
objekt_id_01_anzahl_fenster_gekippt_eDP
0
ansage_einleitungssatz
val
objekt_id_05_offene_gekippte_fenster_liste_eDP
ansage
val
objekt_id_01alexa_eDP
val
objekt_id_05alexa_ssml_eDP
datenpruefung
val
objekt_id_09ende_ssml_eDP
val
objekt_id_02hans_eDP
val
objekt_id_06hans_ssml_eDP
datenpruefung
val
objekt_id_09ende_ssml_eDP
val
objekt_id_03vicki_eDP
val
objekt_id_07vicki_ssml_eDP
datenpruefung
val
objekt_id_09ende_ssml_eDP
val
objekt_id_04conchita_eDP
val
objekt_id_08conchita_ssml_eDP
datenpruefung
val
objekt_id_09ende_ssml_eDP
stateText
Ly9pZihnZXRPYmplY3QoaWQpLmNvbW1vbi5zdGF0ZXMpIHJldHVybiBnZXRPYmplY3QoaWQpLmNvbW1vbi5zdGF0ZXNbdmFsXTsKLy9yZXR1cm4gaWQgKyAnIGhhdCBrZWluZW4gWnVzdGFuZHN0ZXh0JzsKaWYoZ2V0T2JqZWN0KGlkKS5jb21tb24uc3RhdGVzKSByZXR1cm4gKGdldE9iamVjdChpZCkuY29tbW9uLnN0YXRlc1t2YWxdKTsKZWxzZSAKcmV0dXJuIGdldFN0YXRlKGlkKS52YWw7
Beschreibe diese Funktion …
alexa2_adapter_instanz_0
Beschreibe diese Funktion …
alexa_instanz_0
alexa2.0.History.serialNumber
any
default
alexa_instanz_0
angesprochener_echo_instanz_0
AND
EQ
FIRST
FROM_START
alexa_instanz_0
8
alexa2.0
FIRST
FROM_START
alexa_instanz_0
8
.Echo-Devices.
val
alexa_instanz_0
.Commands.ssml
speak_volume_instanz_0
AND
EQ
FIRST
FROM_START
alexa_instanz_0
8
alexa2.0
FIRST
FROM_START
alexa_instanz_0
8
.Echo-Devices.
val
alexa_instanz_0
.Commands.speak-volume
angesprochener_echo_instanz_0_neu
FIRST
FROM_START
alexa_instanz_0
8
.Echo-Devices.
val
alexa_instanz_0
.Commands.ssml
speak_volume_instanz_0_neu
FIRST
FROM_START
alexa_instanz_0
8
.Echo-Devices.
val
alexa_instanz_0
.Commands.speak-volume
any
default
objekt_id_fensteransage_eDP
AND
EQ
angesprochener_echo_instanz_0
TRUE
EQ
state.from
system.adapter.iot.0
false
FALSE
Object ID
speak_volume_instanz_0_neu
TRUE
ansagelautstaerke
0
Sprachausgabe am ECHO
false
FALSE
Object ID
angesprochener_echo_instanz_0_neu
TRUE
ansage
0
log
logmeldung
FIRST
FROM_END
angesprochener_echo_instanz_0_neu
15
ausgeführt ✅
echo_name
aWYoZXhpc3RzT2JqZWN0KGlkKSkgcmV0dXJuIGdldE9iamVjdChpZCkuY29tbW9uLm5hbWU7
Beschreibe diese Funktion …
alexa2_adapter_instanz_1
Beschreibe diese Funktion …
alexa_instanz_1
alexa2.1.History.serialNumber
any
default
alexa_instanz_1
angesprochener_echo_instanz_1
AND
EQ
FIRST
FROM_START
alexa_instanz_1
8
alexa2.1
FIRST
FROM_START
alexa_instanz_1
8
.Echo-Devices.
val
alexa_instanz_1
.Commands.ssml
speak_volume_instanz_1
AND
EQ
FIRST
FROM_START
alexa_instanz_1
8
alexa2.1
FIRST
FROM_START
alexa_instanz_1
8
.Echo-Devices.
val
alexa_instanz_1
.Commands.speak-volume
angesprochener_echo_instanz_1_neu
FIRST
FROM_START
alexa_instanz_1
8
.Echo-Devices.
val
alexa_instanz_1
.Commands.ssml
speak_volume_instanz_1_neu
FIRST
FROM_START
alexa_instanz_1
8
.Echo-Devices.
val
alexa_instanz_1
.Commands.speak-volume
any
default
objekt_id_fensteransage_eDP
AND
EQ
angesprochener_echo_instanz_1
TRUE
EQ
state.from
system.adapter.iot.0
false
FALSE
Object ID
speak_volume_instanz_1_neu
TRUE
ansagelautstaerke
0
Sprachausgabe am ECHO
false
FALSE
Object ID
angesprochener_echo_instanz_1_neu
TRUE
ansage
0
log
logmeldung
FIRST
FROM_END
angesprochener_echo_instanz_1_neu
15
ausgeführt ✅
existiert_DP
cmV0dXJuIGV4aXN0c1N0YXRlKGlkKTs=
Beschreibe diese Funktion …
0_userdata.0
Forum Link Ansagen: https://forum.iobroker.net/post/273896
Hier 0_userdata.0 oder javascript.x eintagen
.x steht fuer die Instanznummer
main
Hier alle geöffneten Bausteine an die eigene Installation und Wünsche anpassen,
Speicherort eintragen
speicherort
0_userdata.0
Selektor an die eigene Aufzählung anpassen
selektor
(functions='Fenster')
Ansagelautstaerke bis 100 auswaehlen
ansagelautstaerke
60
Telegram Nutzer aus Adapter eintragen
telegram_benutzer
Heiko
E-Mail Empfaenger eintragen
e_mail_empfaenger
max.muster@gmx.de
Satzanfang Log Meldung
logmeldung
✅ Die Fensteransage wurde vom ECHO
ansage_einleitungssatz
Hier der Fensterstatus für Dich.
Blockly Start Geraete zaehlen einlesen
blockly_start_geraete_zaehlen_einlesen
1
sec
Variablen Geraete zaehlen
ne
default
selektor
anzahl_fenster_gekippt
0
anzahl_fenster_offen
0
anzahl_fenster_geschlossen
0
anzahl_fenster_gesamt
0
liste_fenster_offen_gekippt
liste_fenster_gesamt
liste_fenster_html
01_Anzahl_Fenster_gekippt_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.01_Anzahl_Fenster_gekippt
objekt_id_01_anzahl_fenster_gekippt_eDP
speicherort
01_Anzahl_Fenster_gekippt_pfad
02_Anzahl_Fenster_offen_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.02_Anzahl_Fenster_offen
objekt_id_02_anzahl_fenster_offen_eDP
speicherort
02_Anzahl_Fenster_offen_pfad
03_Anzahl_Fenster_geschlossen_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.03_Anzahl_Fenster_geschlossen
objekt_id_03_anzahl_fenster_geschlossen_eDP
speicherort
03_Anzahl_Fenster_geschlossen_pfad
04_Anzahl_Fenster_gesamt_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.04_Anzahl_Fenster_gesamt
objekt_id_04_anzahl_fenster_gesamt_eDP
speicherort
04_Anzahl_Fenster_gesamt_pfad
04_1_anzahl_fenster_geoeffnet_und_gekippt_gesamt_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.04_1_Anzahl_Fenster_geoeffnet_und_gekippt_gesamt
objekt_id_04_1_anzahl_fenster_geoeffnet_gekippt_gesamt_eDP
speicherort
04_1_anzahl_fenster_geoeffnet_und_gekippt_gesamt_pfad
05_offene_gekippte_Fenster_Liste_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.05_offene_gekippte_Fenster_Liste
objekt_id_05_offene_gekippte_fenster_liste_eDP
speicherort
05_offene_gekippte_Fenster_Liste_pfad
06_gesamt_Fenster_Liste_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.06_gesamte_Fenster_Liste
objekt_id_06_gesamte_fenster_liste_eDP
speicherort
06_gesamt_Fenster_Liste_pfad
07_html_Fenster_Liste_pfad
.Geraete_zaehlen_optional_Ansagen.Geraete_zaehlen.Fenster_zaehlen.07_html_Fenster_Liste
objekt_id_07_html_fenster_liste_eDP
speicherort
07_html_Fenster_Liste_pfad
Variablen fuer Ansage
pfad_ansage_starten
.Geraete_zaehlen_optional_Ansagen.Alexa_Ansagen.09Fensteransage
objekt_id_fensteransage_eDP
speicherort
pfad_ansage_starten
pfad_01alexa
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.01Alexa
objekt_id_01alexa_eDP
speicherort
pfad_01alexa
pfad_02hans
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.02Hans
objekt_id_02hans_eDP
speicherort
pfad_02hans
pfad_03vicki
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.03Vicki
objekt_id_03vicki_eDP
speicherort
pfad_03vicki
pfad_04conchita
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.04Conchita
objekt_id_04conchita_eDP
speicherort
pfad_04conchita
pfad_05Alexa_ssml
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.05Alexa_ssml
objekt_id_05alexa_ssml_eDP
speicherort
pfad_05Alexa_ssml
pfad_06Hans_ssml
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.06Hans_ssml
objekt_id_06hans_ssml_eDP
speicherort
pfad_06Hans_ssml
pfad_07Vicki_ssml
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.07Vicki_ssml
objekt_id_07vicki_ssml_eDP
speicherort
pfad_07Vicki_ssml
pfad_08Conchita_ssml
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.08Conchita_ssml
objekt_id_08conchita_ssml_eDP
speicherort
pfad_08Conchita_ssml
pfad_09_ssml_ende
.Geraete_zaehlen_optional_Ansagen.Alexa_Stimmen.09ssml_ende
objekt_id_09ende_ssml_eDP
speicherort
pfad_09_ssml_ende
true
default
objekt_id_01alexa_eDP
true
FALSE
Object ID
objekt_id_02hans_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_03vicki_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_04conchita_eDP
FALSE
0
true
default
objekt_id_02hans_eDP
true
FALSE
Object ID
objekt_id_01alexa_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_03vicki_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_04conchita_eDP
FALSE
0
true
default
objekt_id_03vicki_eDP
true
FALSE
Object ID
objekt_id_01alexa_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_02hans_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_04conchita_eDP
FALSE
0
true
default
objekt_id_04conchita_eDP
true
FALSE
Object ID
objekt_id_01alexa_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_02hans_eDP
FALSE
0
true
FALSE
Object ID
objekt_id_03vicki_eDP
FALSE
0
ne
default
objekt_id_01alexa_eDP
default
objekt_id_02hans_eDP
default
objekt_id_03vicki_eDP
default
objekt_id_04conchita_eDP
AND
AND
val
objekt_id_01alexa_eDP
val
objekt_id_02hans_eDP
AND
val
objekt_id_03vicki_eDP
val
objekt_id_04conchita_eDP
true
FALSE
Object ID
objekt_id_01alexa_eDP
TRUE
0
Telegram
pfad_telegram_versand_an_aus
.Geraete_zaehlen_optional_Ansagen.Telegram.01Telegram_Fenster_Versand_an_aus
objekt_id_telegram_versand_an_aus
speicherort
pfad_telegram_versand_an_aus
pfad_telegram_senden
.Geraete_zaehlen_optional_Ansagen.Telegram.02Telegram_Fensterstatus_senden
objekt_id_telegram_versenden
speicherort
pfad_telegram_senden
ne
default
objekt_id_05_offene_gekippte_fenster_liste_eDP
EQ
val
objekt_id_telegram_versand_an_aus
TRUE
ne
default
objekt_id_telegram_versand_an_aus
EQ
val
objekt_id_telegram_versand_an_aus
TRUE
FALSE
Markdown
text
Der Versand der Telegram Liste *Fensterstatus* wurde *eingeschaltet* . ✅
telegram_benutzer
FALSE
Markdown
text
Der Versand der Telegram Liste *Fensterstatus* wurde *ausgeschaltet* . ❌
telegram_benutzer
any
default
objekt_id_telegram_versenden
E Mail
pfad_email_versand_an_aus
.Geraete_zaehlen_optional_Ansagen.EMAIL.01EMail_Fenster_Versand_an_aus
objekt_id_email_versand_an_aus
speicherort
pfad_email_versand_an_aus
pfad_email_senden
.Geraete_zaehlen_optional_Ansagen.EMAIL.02EMail_Fensterstatus_senden
objekt_id_email_versenden
speicherort
pfad_email_senden
ne
default
objekt_id_05_offene_gekippte_fenster_liste_eDP
EQ
val
objekt_id_email_versand_an_aus
TRUE
ne
default
objekt_id_email_versand_an_aus
EQ
val
objekt_id_email_versand_an_aus
TRUE
FALSE
e_mail_empfaenger
Der Versand der E-Mail Liste Fensterstatus wurde eingeschaltet . ✅
Fensterstatus
FALSE
e_mail_empfaenger
Der Versand der E-Mail Liste Fensterstatus wurde ausgeschaltet . ❌
Fensterstatus
any
default
objekt_id_email_versenden
Liste in iQontrol schreiben
ne
default
objekt_id_07_html_fenster_liste_eDP
blockly_start_geraete_zaehlen_einlesen
iQontrol
1000
ms
val
objekt_id_07_html_fenster_liste_eDP