NEWS
Fenster zählen, einmal state und einmal als opened
-
Hallo Zusammen und guten Abend,
evtl. hat jemand eine Idee. Ich habe mich auch bemüht etwas passendes im Forum zu finden. Aber wohl die falschen Suchbegriffe gewählt. Wenn es das schon gibt, so bitte ich das zu entschuldigen.
Also, bisher habe ich meine Fenster/Türen Sensoren von Xiaomi/Aqara schon gezählt. Das klappt wunderbar. Aber jetzt habe ich mir einen Zigbeestick besorgt, und den ersten Sensor eingebunden. Ich habe erstmal nicht verstanden, warum er nicht mitgezählt hat, bis ich gesehen habe, das er nicht state als Name nutzt, sondern opened. Ok. Testweise das Script mal umgestellt, und es zählt den einen Sensor.
Da ich hier von dem ein oder anderen von Problemen mit den Xioami Sensoren und Zigbee gelesen habe, möchte ich nur nach und nach umstellen. Also suche ich einer Möglichkeit, meine Blockly Scripte so anzupassen, das es egal ist, wo der Sensor eingebunden ist.
Hier mal das originale Script über den MiHome Adapter:
var OffeneFenster, i; // Offene Fenster zählen Küche on({id: Array.prototype.slice.apply($("state[id=*.state](functions=tür/fenster)(rooms=küche)")), change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; OffeneFenster = 0; var i_list = Array.prototype.slice.apply($("state[id=*.state](functions=tür/fenster)(rooms=küche)")); for (var i_index in i_list) { i = i_list[i_index]; if (getState(i).val) { OffeneFenster = (typeof OffeneFenster == 'number' ? OffeneFenster : 0) + 1; } } setState("0_userdata.0.Zähler.Küche"/*Offene Fenster Küche*/, OffeneFenster); if (getState("0_userdata.0.Zähler.Küche").val == 0) { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, true, true); } else { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, false, true); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIqUDklNjB1U2Nsd0glN0RhVTBsbyU2MCUzQiElMjMlMjIlMjB4JTNEJTIyMzglMjIlMjB5JTNEJTIyMTIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFT2ZmZW5lJTIwRmVuc3RlciUyMHolQzMlQTRobGVuJTIwSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTVFJTNBM3MoNyUzQkxxMyUzQnNrJTYwJTYwOVEoZiU2MCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJ1JTJCOVpnY3M0JTdCaFpsUCU0MHUlM0YlNDBzbzIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWZhdWx0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzZWxlY3RvciUyMiUyMGlkJTNEJTIyZkZON1MlM0FBJTdCVEQlNUJLQyUyM0UlMjNBOSU2MHMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCouc3RhdGUlNUQoZnVuY3Rpb25zJTNEdCVDMyVCQ3IlMkZmZW5zdGVyKShyb29tcyUzRGslQzMlQkNjaGUpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlNsNCU0MFN4ZjIlMkJDNFIlMkYlN0JhTnVpJTVCJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTJDaClydmVPSlglM0RvJTJCJTJGWWclNDAxZiUyMyUyMiUzRU9mZmVuZUZlbnN0ZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3QyU3Q3Q0N1oyTyFhemtUYlY3JTVCS35EJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3JFYWNoJTIyJTIwaWQlM0QlMjJKJTdCN2EhJTQwcHRiMFZaWVklN0NEeSUyMyUzRn4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjVQaShwJTNGdzElNjBTJTdEWFMlNjAlNDAlNURPMU9CJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTElTVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnNlbGVjdG9yJTIyJTIwaWQlM0QlMjJqeDZlJTdCcipkJTdCRjUqbiUyM0UlMkYoTkxHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN0YXRlJTVCaWQlM0QqLnN0YXRlJTVEKGZ1bmN0aW9ucyUzRHQlQzMlQkNyJTJGZmVuc3Rlcikocm9vbXMlM0RrJUMzJUJDY2hlKSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIzR2hkJTYwJTJCIWIlM0Ypd29SJTNGcikhJTJDUn4lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJpTSUyQkZwZjNLbHpHJTNGbDMlM0RCd3AlNUUlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaSUyM09tTm5ESDhHOSUyQiU3QyU3QiUzQSolN0RvSk0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0JuJTJGY0tvVFMlMjNfeCU3QkFEJTVCd0J6eCUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2NoYW5nZSUyMiUyMGlkJTNEJTIyJTJDdjBWSW4taVlIVnp0JTdELUJzTkclM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnIlMkNoKXJ2ZU9KWCUzRG8lMkIlMkZZZyU0MDFmJTIzJTIyJTNFT2ZmZW5lRmVuc3RlciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkdZJTJGbCUzRDRjYWZyVTEzYSU1RSUzRGFmemElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyUlQlM0FoMWhRKCU1RWxiJTNCTCU3QyU2MHpiJTJCdlglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlNjBDc0Z0LilyalIlMkYuJTdCQTglN0NZZmhnJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlolQzMlQTRobGVyLkslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJOMlF2NGUlM0ZVUTF0VlclMkNtKWtqWiU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJzRld6MyU3QiUzQkE2Rkt4WTMlNUJ+IW5MayUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUyNU0zZUklMjNLWSUyQ0ZwZTIlNjAlNUQlN0QyZSU1RS0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjI3WE5EOTVqdyU1QiUzRDYpOWZVJTdDJTdDUyUyRn4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuWiVDMyVBNGhsZXIuSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyQlhSSDVkTzJobFEwbDlUJTI0MCUyQnpuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjJSMkd6JTVFeiU0MDYlMjVCSGtVJTJGfiUyRndqJTIzJTdCJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXJfb2ZmZW4uSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU3Q1J6Syl+bTclMkZIb3VmLVhTQzchaiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIySTZLNCUyNSUzRCU1RVUlN0JIJTJCKXYwVzElM0YzJTdDSiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyX29mZmVuLkslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlN0IlM0JEUDUlM0RILnAtVVFxJTYwJTJGOXYtd28lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
Und hier das was mit Zigbee funktioniert:
var OffeneFenster, i; // Offene Fenster zählen Küche on({id: Array.prototype.slice.apply($("state[id=*.opened](functions=tür/fenster)(rooms=küche)")), change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; OffeneFenster = 0; var i_list = Array.prototype.slice.apply($("state[id=*.opened](functions=tür/fenster)(rooms=küche)")); for (var i_index in i_list) { i = i_list[i_index]; if (getState(i).val) { OffeneFenster = (typeof OffeneFenster == 'number' ? OffeneFenster : 0) + 1; } } setState("0_userdata.0.Zähler.Küche"/*Offene Fenster Küche*/, OffeneFenster); if (getState("0_userdata.0.Zähler.Küche").val == 0) { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, true, true); } else { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, false, true); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0MlMkZ2YXJpYWJsZXMlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjIqUDklNjB1U2Nsd0glN0RhVTBsbyU2MCUzQiElMjMlMjIlMjB4JTNEJTIyNzElMjIlMjB5JTNEJTIyLTIxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRU9mZmVuZSUyMEZlbnN0ZXIlMjB6JUMzJUE0aGxlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiU1RSUzQTNzKDclM0JMcTMlM0JzayU2MCU2MDlRKGYlNjAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIydSUyQjlaZ2NzNCU3QmhabFAlNDB1JTNGJTQwc28yJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMmZGTjdTJTNBQSU3QlREJTVCS0MlMjNFJTIzQTklNjBzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN0YXRlJTVCaWQlM0QqLm9wZW5lZCU1RChmdW5jdGlvbnMlM0R0JUMzJUJDciUyRmZlbnN0ZXIpKHJvb21zJTNEayVDMyVCQ2NoZSklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyU2w0JTQwU3hmMiUyQkM0UiUyRiU3QmFOdWklNUIlNUQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnIlMkNoKXJ2ZU9KWCUzRG8lMkIlMkZZZyU0MDFmJTIzJTIyJTNFT2ZmZW5lRmVuc3RlciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyJTdDJTdDdDQ3WjJPIWF6a1RiVjclNUJLfkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2ZvckVhY2glMjIlMjBpZCUzRCUyMkolN0I3YSElNDBwdGIwVlpZWSU3Q0R5JTIzJTNGfiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMmp4NmUlN0JyKmQlN0JGNSpuJTIzRSUyRihOTEclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCoub3BlbmVkJTVEKGZ1bmN0aW9ucyUzRHQlQzMlQkNyJTJGZmVuc3Rlcikocm9vbXMlM0RrJUMzJUJDY2hlKSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIzR2hkJTYwJTJCIWIlM0Ypd29SJTNGcikhJTJDUn4lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJpTSUyQkZwZjNLbHpHJTNGbDMlM0RCd3AlNUUlMkIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyaSUyM09tTm5ESDhHOSUyQiU3QyU3QiUzQSolN0RvSk0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0JuJTJGY0tvVFMlMjNfeCU3QkFEJTVCd0J6eCUyRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX2NoYW5nZSUyMiUyMGlkJTNEJTIyJTJDdjBWSW4taVlIVnp0JTdELUJzTkclM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnIlMkNoKXJ2ZU9KWCUzRG8lMkIlMkZZZyU0MDFmJTIzJTIyJTNFT2ZmZW5lRmVuc3RlciUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyREVMVEElMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkdZJTJGbCUzRDRjYWZyVTEzYSU1RSUzRGFmemElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyUlQlM0FoMWhRKCU1RWxiJTNCTCU3QyU2MHpiJTJCdlglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlNjBDc0Z0LilyalIlMkYuJTdCQTglN0NZZmhnJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlolQzMlQTRobGVyLkslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJOMlF2NGUlM0ZVUTF0VlclMkNtKWtqWiU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJzRld6MyU3QiUzQkE2Rkt4WTMlNUJ+IW5MayUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUyNU0zZUklMjNLWSUyQ0ZwZTIlNjAlNUQlN0QyZSU1RS0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjI3WE5EOTVqdyU1QiUzRDYpOWZVJTdDJTdDUyUyRn4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuWiVDMyVBNGhsZXIuSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyQlhSSDVkTzJobFEwbDlUJTI0MCUyQnpuJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjJSMkd6JTVFeiU0MDYlMjVCSGtVJTJGfiUyRndqJTIzJTdCJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXJfb2ZmZW4uSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU3Q1J6Syl+bTclMkZIb3VmLVhTQzchaiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIySTZLNCUyNSUzRCU1RVUlN0JIJTJCKXYwVzElM0YzJTdDSiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyX29mZmVuLkslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlN0IlM0JEUDUlM0RILnAtVVFxJTYwJTJGOXYtd28lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
Nur der Selektor ist halt anders.
Aber wie bringe ich beide Welten zusammen?
Ich bedanke mich für Eure Unterstützung.
Liebe Grüße
Markus -
-
@nobody28 sagte: Aber wie bringe ich beide Welten zusammen?
Füge beide Selektoren zu einem Array zusammen:
-
@sigi234 said in Fenster zählen, einmal state und einmal als opened:
https://forum.iobroker.net/topic/23370/fenster-und-andere-geräte-zählen-opt-alexa-ansagen
Guten Morgen und Danke @sigi234
dein Hinweis ist nett gemeint. Auch habe ich ihn interessiert gelesen. Aber meine Frage war ja, wie bringe ich die Welten zusammen? Ich versuche mein Wissen gerne zu erweitern und es mir selbst zu erarbeiten, und habe ja auch 2 Teillösungen gefunden. die ich sicherlich auch mit einem zusätzlichen Script zusammengebracht hätte. Aber elegant ist eben anders.auf den Beitrag unter Dir von @paul53 gehe ich gleich noch ein.
Den Ansatz finde ich sehr interessant und habe mich auch daran versucht. Aber dazu im nächsten Beitrag.
Danke nochmal
-
@paul53 said in Fenster zählen, einmal state und einmal als opened:
@nobody28 sagte: Aber wie bringe ich beide Welten zusammen?
Füge beide Selektoren zu einem Array zusammen:
@paul53
Danke für Deinen Ansatz. Ich habe ihn mal nachgebaut. Dabei die erste Frage was bewirkt bitte das letzte Blocklyelement mit dem doppelten NICHT?Dann scheint mein Script etwas zu tun, aber nicht wirklich richtig!
Hier mal das Log dazu ==>
23.1.2021, 08:27:18.418 [info ]: javascript.0 (14392) Start javascript script.js.common.Zählen.Offen_Fenster_Küche_neu1 23.1.2021, 08:27:18.806 [info ]: javascript.0 (14392) script.js.common.Zählen.Offen_Fenster_Küche_neu1: registered 2 subscriptions and 0 schedules 23.1.2021, 08:27:22.290 [warn ]: javascript.0 (14392) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:9) 23.1.2021, 08:27:22.293 [warn ]: javascript.0 (14392) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:9) 23.1.2021, 08:27:24.096 [warn ]: javascript.0 (14392) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:9) 23.1.2021, 08:27:24.099 [warn ]: javascript.0 (14392) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:9)
hier das derzeitige Script:
var i_von_Fenster_offen_K_C3_BCche, i, OffeneFenster, j; // Offene Fenster zählen Küche i_von_Fenster_offen_K_C3_BCche = []; var i_list = Array.prototype.slice.apply($("state[id=*.opened](functions=tür/fenster)(rooms=küche)")); for (var i_index in i_list) { i = i_list[i_index]; i_von_Fenster_offen_K_C3_BCche.push(i); } var i_list2 = Array.prototype.slice.apply($("state[id=*.state](functions=tür/fenster)(rooms=küche)")); for (var i_index2 in i_list2) { i = i_list2[i_index2]; i_von_Fenster_offen_K_C3_BCche.push(i); } on({id: i_von_Fenster_offen_K_C3_BCche, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; OffeneFenster = 0; var j_end = i_von_Fenster_offen_K_C3_BCche.length; var j_inc = 1; if (1 > j_end) { j_inc = -j_inc; } for (j = 1; j_inc >= 0 ? j <= j_end : j >= j_end; j += j_inc) { if (getState((i_von_Fenster_offen_K_C3_BCche[(i - 1)])).val) { OffeneFenster = (typeof OffeneFenster == 'number' ? OffeneFenster : 0) + 1; } } setState("0_userdata.0.Zähler.Küche"/*Offene Fenster Küche*/, OffeneFenster); if (getState("0_userdata.0.Zähler.Küche").val == 0) { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, true, true); } else { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, false, true); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTVCJTdEJTdEdUl2akMlM0QlNUVQYkRMcHZnNyU1RCUyQyUyMiUzRWolM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMipQOSU2MHVTY2x3SCU3RGFVMGxvJTYwJTNCISUyMyUyMiUyMHglM0QlMjIzOCUyMiUyMHklM0QlMjItMTg4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRU9mZmVuZSUyMEZlbnN0ZXIlMjB6JUMzJUE0aGxlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJ0ZXElMjVDY1FtMi0lN0IlMjVSJTI0SzhITDZ3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJBRyU1RGguNlclNUQqdyU3RHglNUJafnBKSGNFJTIyJTNFaSUyMHZvbiUyMEZlbnN0ZXIlMjBvZmZlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfY3JlYXRlX3dpdGglMjIlMjBpZCUzRCUyMjRkaUElN0MtVFFrJTVFdWR0bm04JTdEazM1JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjAlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfZm9yRWFjaCUyMiUyMGlkJTNEJTIySiU3QjdhISU0MHB0YjBWWllZJTdDRHklMjMlM0Z+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkxJU1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzZWxlY3RvciUyMiUyMGlkJTNEJTIyJTNCaVhMJTJCJTVEKVRYaWMlM0IlNUUlM0JxJTVFUXclNUVfJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN0YXRlJTVCaWQlM0QqLm9wZW5lZCU1RChmdW5jdGlvbnMlM0R0JUMzJUJDciUyRmZlbnN0ZXIpKHJvb21zJTNEayVDMyVCQ2NoZSklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19zZXRJbmRleCUyMiUyMGlkJTNEJTIyJTNCOWclN0NSaGNuJTYwSEJDJTI1TiU2MGdUNmwxJTIyJTNFJTNDbXV0YXRpb24lMjBhdCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFSU5TRVJUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUxBU1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkxJU1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI0cSFvTmYlM0R3Ny5YUFhoaW9adXAlNUIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkFHJTVEaC42VyU1RCp3JTdEeCU1Qlp+cEpIY0UlMjIlM0VpJTIwdm9uJTIwRmVuc3RlciUyMG9mZmVuJTIwSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyajklM0E1SDAqaGJ4cSUzQmshWC45b3JmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3JFYWNoJTIyJTIwaWQlM0QlMjJlV20zQ1Z3MXNudHNmIVA4cU85UCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMjglNjBqJTVEJTVCTFcpS1MxM29KIUwlMkN3czYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCouc3RhdGUlNUQoZnVuY3Rpb25zJTNEdCVDMyVCQ3IlMkZmZW5zdGVyKShyb29tcyUzRGslQzMlQkNjaGUpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfc2V0SW5kZXglMjIlMjBpZCUzRCUyMmxVKU8tTE5+VDZoRFUlN0IlNjAlMkIwJTQwQk4lMjIlM0UlM0NtdXRhdGlvbiUyMGF0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk1PREUlMjIlM0VJTlNFUlQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFJTIyJTNFTEFTVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTElTVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMndHKEE0V1UqYjclM0ZJRCU3Q2YlMjRQYX51JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJBRyU1RGguNlclNUQqdyU3RHglNUJafnBKSGNFJTIyJTNFaSUyMHZvbiUyMEZlbnN0ZXIlMjBvZmZlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJUTyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMm5vcElPMyU0MFclMjQlM0RMci4yUzVnNnYhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiU1RSUzQTNzKDclM0JMcTMlM0JzayU2MCU2MDlRKGYlNjAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIydSUyQjlaZ2NzNCU3QmhabFAlNDB1JTNGJTQwc28yJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyU2liJTYwJTdDTGVnUyUyQ1QlNUJEZ01NYXplSSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlNsNCU0MFN4ZjIlMkJDNFIlMkYlN0JhTnVpJTVCJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTJDaClydmVPSlglM0RvJTJCJTJGWWclNDAxZiUyMyUyMiUzRU9mZmVuZUZlbnN0ZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3QyU3Q3Q0N1oyTyFhemtUYlY3JTVCS35EJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3IlMjIlMjBpZCUzRCUyMjk0JTI1fi5sSn4lMjQ0My1tOUNzRGklNUQlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU1QiU3RCU3RHVJdmpDJTNEJTVFUGJETHB2ZzclNUQlMkMlMjIlM0VqJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJGUk9NJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIudVdZNVpTOUhILiUyM1pUZFklMjNhX1YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJUdUxVRW0hKFlLIVhGLW9Vc1NEJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2xlbmd0aCUyMiUyMGlkJTNEJTIyKCUyNFhYLWdsKkt4anN5JTdDZTRWdDdVJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJiRFc2aSU1RDF4JTYwQngwVnN+JTNGaTdTaiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkJZJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJZcWpiTFdpT3ouMCF5JTJDNDMlN0QoKSglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIzR2hkJTYwJTJCIWIlM0Ypd29SJTNGcikhJTJDUn4lMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJZSHlJciU1RGUlNjAual8oeU96eU9SV1MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyUE1MQyU0MHIlM0JlS0tORyolM0EwTmVoJTI0ciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2dldEluZGV4JTIyJTIwaWQlM0QlMjIlNUUwKGY2JTNERkM3JTJGJTI1JTI0TTl+dDIlM0FPaSUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50JTNEJTIyZmFsc2UlMjIlMjBhdCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk1PREUlMjIlM0VHRVQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFJTIyJTNFRlJPTV9TVEFSVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJJdUM4KW1qJTJGdGMlMjVXVjUlMjRkTiUyQm5KJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJBRyU1RGguNlclNUQqdyU3RHglNUJafnBKSGNFJTIyJTNFaSUyMHZvbiUyMEZlbnN0ZXIlMjBvZmZlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMmolMkJELjMlMkIlMjVCJTIzJTIzJTVEcn5UazglNjAlN0ROUSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9jaGFuZ2UlMjIlMjBpZCUzRCUyMiUyQ3YwVkluLWlZSFZ6dCU3RC1Cc05HJTNBJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTJDaClydmVPSlglM0RvJTJCJTJGWWclNDAxZiUyMyUyMiUzRU9mZmVuZUZlbnN0ZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkRFTFRBJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJHWSUyRmwlM0Q0Y2FmclUxM2ElNUUlM0RhZnphJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMlJUJTNBaDFoUSglNUVsYiUzQkwlN0MlNjB6YiUyQnZYJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyJTYwQ3NGdC4pcmpSJTJGLiU3QkE4JTdDWWZoZyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5aJUMzJUE0aGxlci5LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyTjJRdjRlJTNGVVExdFZXJTJDbSlralolN0QlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMnIlMkNoKXJ2ZU9KWCUzRG8lMkIlMkZZZyU0MDFmJTIzJTIyJTNFT2ZmZW5lRmVuc3RlciUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyc0ZXejMlN0IlM0JBNkZLeFkzJTVCfiFuTGslMjIlM0UlM0NtdXRhdGlvbiUyMGVsc2UlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMjVNM2VJJTIzS1klMkNGcGUyJTYwJTVEJTdEMmUlNUUtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyN1hORDk1anclNUIlM0Q2KTlmVSU3QyU3Q1MlMkZ+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLlolQzMlQTRobGVyLkslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkJYUkg1ZE8yaGxRMGw5VCUyNDAlMkJ6biUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnVwZGF0ZSUyMiUyMGlkJTNEJTIyUjJHeiU1RXolNDA2JTI1QkhrVSUyRn4lMkZ3aiUyMyU3QiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyX29mZmVuLkslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjIlN0NSekspfm03JTJGSG91Zi1YU0M3IWolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkVMU0UlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ1cGRhdGUlMjIlMjBpZCUzRCUyMkk2SzQlMjUlM0QlNUVVJTdCSCUyQil2MFcxJTNGMyU3Q0olMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuRmVuc3Rlcl9vZmZlbi5LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTdCJTNCRFA1JTNESC5wLVVRcSU2MCUyRjl2LXdvJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
Wo ist mein Fehler?
Danke für Eure Hilfe
-
@nobody28 sagte: was bewirkt bitte das letzte Blocklyelement mit dem doppelten NICHT?
Das wandelt ein Zahl in einen Logikwert: 0 --> false.
@nobody28 sagte in Fenster zählen, einmal state und einmal als opened:
at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:9)
Offenbar wir bei getState(id) in Zeile 26 der Zustand nicht gefunden. Baue mal eine Log-Ausgabe ein, um die IDs zu checken:
-
OK, dann benötige ich das doppelte NICHT nicht. Da ich bei Anzahl größer Null den Wert im Userbereich ändere, worauf meine Heizungsscripte prüfen. Danke für die Erklärung
Ich habe den debug Block eingefügt, werde aber nicht schlau raus.
Hier das Log von Script start und einmal den Zigbee Xiaomi Sensor öffnen:javascript.0 2021-01-23 11:31:11.059 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:31:11.059 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:31:11.058 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:31:11.058 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:31:11.057 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:27:9) javascript.0 2021-01-23 11:31:11.055 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:31:11.055 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: null javascript.0 2021-01-23 11:31:11.054 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:31:11.054 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:31:11.054 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:31:11.053 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:31:11.053 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:17) javascript.0 2021-01-23 11:31:11.050 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:31:11.050 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:31:11.050 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:31:11.049 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:31:11.049 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:31:11.048 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:27:9) javascript.0 2021-01-23 11:31:11.046 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:31:11.045 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: null javascript.0 2021-01-23 11:31:11.045 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:31:11.044 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:31:11.044 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:31:11.043 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:31:11.039 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:26:17) javascript.0 2021-01-23 11:31:11.036 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:31:06.986 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: registered 2 subscriptions and 0 schedules javascript.0 2021-01-23 11:31:06.606 info (1843) Start javascript script.js.common.Zählen.Offen_Fenster_Küche_neu1
Ich offe Du kannst was erkennen.
Danke Dir.
-
@nobody28 sagte: Du kannst was erkennen.
Offenbar enthält das Array IDs mit dem Wert null. Du solltest mal die Selektoren überprüfen, was auch mit dem Debug-Block geht.
Das Array läßt sich auch einfach checken:
-
macht mich leider nicht schlauer
der Fehler kommt schon beim Script starten, so wie ich das sehe ==>
javascript.0 2021-01-23 11:46:42.238 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: registered 2 subscriptions and 0 schedules javascript.0 2021-01-23 11:46:42.238 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: state[id=*.state]null javascript.0 2021-01-23 11:46:42.237 warn (1843) at script.js.common.Zählen.Offen_Fenster_Küche_neu1:16:45 javascript.0 2021-01-23 11:46:42.236 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:46:42.066 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: state[id=*.opened]null javascript.0 2021-01-23 11:46:42.065 warn (1843) at script.js.common.Zählen.Offen_Fenster_Küche_neu1:10:46 javascript.0 2021-01-23 11:46:42.064 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:46:41.886 info (1843) Start javascript script.js.common.Zählen.Offen_Fenster_Küche_neu1
Das ist derzeit das Script ==>
var i_von_Fenster_offen_K_C3_BCche, i, OffeneFenster, j; // Offene Fenster zählen Küche i_von_Fenster_offen_K_C3_BCche = []; var i_list = Array.prototype.slice.apply($("state[id=*.opened](functions=tür/fenster)(rooms=küche)")); for (var i_index in i_list) { i = i_list[i_index]; i_von_Fenster_offen_K_C3_BCche.push(i); console.log(('state[id=*.opened]' + String(getState((i_von_Fenster_offen_K_C3_BCche[(i - 1)])).val))); } var i_list2 = Array.prototype.slice.apply($("state[id=*.state](functions=tür/fenster)(rooms=küche)")); for (var i_index2 in i_list2) { i = i_list2[i_index2]; i_von_Fenster_offen_K_C3_BCche.push(i); console.log(('state[id=*.state]' + String(getState((i_von_Fenster_offen_K_C3_BCche[(i - 1)])).val))); } on({id: i_von_Fenster_offen_K_C3_BCche, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; OffeneFenster = 0; var j_end = i_von_Fenster_offen_K_C3_BCche.length; var j_inc = 1; if (1 > j_end) { j_inc = -j_inc; } for (j = 1; j_inc >= 0 ? j <= j_end : j >= j_end; j += j_inc) { console.log(getState((i_von_Fenster_offen_K_C3_BCche[(i - 1)])).val); if (getState((i_von_Fenster_offen_K_C3_BCche[(i - 1)])).val) { OffeneFenster = (typeof OffeneFenster == 'number' ? OffeneFenster : 0) + 1; } } setState("0_userdata.0.Zähler.Küche"/*Offene Fenster Küche*/, OffeneFenster); if (getState("0_userdata.0.Zähler.Küche").val == 0) { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, true, true); } else { setState("0_userdata.0.Fenster_offen.Küche"/*Fenster offen Ja/Nein Küche*/, false, true); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGdmFyaWFibGUlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyJTVCJTdEJTdEdUl2akMlM0QlNUVQYkRMcHZnNyU1RCUyQyUyMiUzRWolM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMipQOSU2MHVTY2x3SCU3RGFVMGxvJTYwJTNCISUyMyUyMiUyMHglM0QlMjIzOCUyMiUyMHklM0QlMjItMTg4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRU9mZmVuZSUyMEZlbnN0ZXIlMjB6JUMzJUE0aGxlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJ0ZXElMjVDY1FtMi0lN0IlMjVSJTI0SzhITDZ3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJBRyU1RGguNlclNUQqdyU3RHglNUJafnBKSGNFJTIyJTNFaSUyMHZvbiUyMEZlbnN0ZXIlMjBvZmZlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfY3JlYXRlX3dpdGglMjIlMjBpZCUzRCUyMjRkaUElN0MtVFFrJTVFdWR0bm04JTdEazM1JTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjAlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfZm9yRWFjaCUyMiUyMGlkJTNEJTIySiU3QjdhISU0MHB0YjBWWllZJTdDRHklMjMlM0Z+JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkxJU1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJzZWxlY3RvciUyMiUyMGlkJTNEJTIyJTNCaVhMJTJCJTVEKVRYaWMlM0IlNUUlM0JxJTVFUXclNUVfJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN0YXRlJTVCaWQlM0QqLm9wZW5lZCU1RChmdW5jdGlvbnMlM0R0JUMzJUJDciUyRmZlbnN0ZXIpKHJvb21zJTNEayVDMyVCQ2NoZSklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8lMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19zZXRJbmRleCUyMiUyMGlkJTNEJTIyJTNCOWclN0NSaGNuJTYwSEJDJTI1TiU2MGdUNmwxJTIyJTNFJTNDbXV0YXRpb24lMjBhdCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFSU5TRVJUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUxBU1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkxJU1QlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI0cSFvTmYlM0R3Ny5YUFhoaW9adXAlNUIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkFHJTVEaC42VyU1RCp3JTdEeCU1Qlp+cEpIY0UlMjIlM0VpJTIwdm9uJTIwRmVuc3RlciUyMG9mZmVuJTIwSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyajklM0E1SDAqaGJ4cSUzQmshWC45b3JmJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiU1REQtbDk3JTJDJTI0d3ElMkYocyUzQiUzRkxSJTJDVUslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlMkZmeU11VHElNjAqMXlSaSUyMyU0MGglN0QlMjROYSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMjIlNUJmVCUzRFJuTWNKQVBwN2R3enVIJTIzJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJGVFUwZ2JrayU3RFRrZyU0MFJodVlvJTJGJTYwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXN0YXRlJTVCaWQlM0QqLm9wZW5lZCU1RCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJhYVQlNUIlMkZidCU3RHJPTXRackhkOGJ+biUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfZ2V0SW5kZXglMjIlMjBpZCUzRCUyMlljbHA0Z1pxJTIzJTNCJTI1bHlfQ18wJTI1M3clMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudCUzRCUyMmZhbHNlJTIyJTIwYXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFR0VUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUZST01fU1RBUlQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTNGZW51Kng5WG4lNURLOHolNDBzMWJUaCU1RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIzSjlnZWMlNjBLbCUzQjMlNUVYJTJGU3MlN0IlM0YhJTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3JFYWNoJTIyJTIwaWQlM0QlMjJlV20zQ1Z3MXNudHNmIVA4cU85UCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyNVBpKHAlM0Z3MSU2MFMlN0RYUyU2MCU0MCU1RE8xT0IlMjIlM0VpJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJMSVNUJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyc2VsZWN0b3IlMjIlMjBpZCUzRCUyMjglNjBqJTVEJTVCTFcpS1MxM29KIUwlMkN3czYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCouc3RhdGUlNUQoZnVuY3Rpb25zJTNEdCVDMyVCQ3IlMkZmZW5zdGVyKShyb29tcyUzRGslQzMlQkNjaGUpJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybGlzdHNfc2V0SW5kZXglMjIlMjBpZCUzRCUyMmxVKU8tTE5+VDZoRFUlN0IlNjAlMkIwJTQwQk4lMjIlM0UlM0NtdXRhdGlvbiUyMGF0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk1PREUlMjIlM0VJTlNFUlQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFJTIyJTNFTEFTVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyTElTVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMndHKEE0V1UqYjclM0ZJRCU3Q2YlMjRQYX51JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJBRyU1RGguNlclNUQqdyU3RHglNUJafnBKSGNFJTIyJTNFaSUyMHZvbiUyMEZlbnN0ZXIlMjBvZmZlbiUyMEslQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJUTyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMm5vcElPMyU0MFclMjQlM0RMci4yUzVnNnYhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMjUlNURod0tyQ0VyZm1yIS4qblZ+MHAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJtJTdCRXI1NiUyQipHMnR2TCU3QlZzVClYaCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0X2pvaW4lMjIlMjBpZCUzRCUyMnAlNUJJfmJKLiUyQiU3QiUzREdwJTNEOEglNUU3UU5HJTIyJTNFJTNDbXV0YXRpb24lMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkFERDAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJOSk5jJTI0QSUzQjYlMjRpR35XcU1ZVyUyRiUyRk8lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFc3RhdGUlNUJpZCUzRCouc3RhdGUlNUQlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBREQxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyKVMlNUIlM0ZOJTI1ZENCJTJDNiU2MDNUNC5uamolN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2dldEluZGV4JTIyJTIwaWQlM0QlMjIlM0RLQ2olMjROJTJDcGxzTyUyMyglM0ElMjN1QkIuUiUyMiUzRSUzQ211dGF0aW9uJTIwc3RhdGVtZW50JTNEJTIyZmFsc2UlMjIlMjBhdCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk1PREUlMjIlM0VHRVQlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldIRVJFJTIyJTNFRlJPTV9TVEFSVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlNUU0bmElMkZLJTNCMEVLODElNUQwJTNGJTI1R2h2aSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJxNyUyNGZLdCUzQlRhQ21wJTVEciUyNXROVmJ5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiU1RSUzQTNzKDclM0JMcTMlM0JzayU2MCU2MDlRKGYlNjAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIydSUyQjlaZ2NzNCU3QmhabFAlNDB1JTNGJTQwc28yJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVmYXVsdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyU2liJTYwJTdDTGVnUyUyQ1QlNUJEZ01NYXplSSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMlNsNCU0MFN4ZjIlMkJDNFIlMkYlN0JhTnVpJTVCJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTJDaClydmVPSlglM0RvJTJCJTJGWWclNDAxZiUyMyUyMiUzRU9mZmVuZUZlbnN0ZXIlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMiU3QyU3Q3Q0N1oyTyFhemtUYlY3JTVCS35EJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19mb3IlMjIlMjBpZCUzRCUyMjk0JTI1fi5sSn4lMjQ0My1tOUNzRGklNUQlNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMiU1QiU3RCU3RHVJdmpDJTNEJTVFUGJETHB2ZzclNUQlMkMlMjIlM0VqJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJGUk9NJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIudVdZNVpTOUhILiUyM1pUZFklMjNhX1YlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlRPJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJUdUxVRW0hKFlLIVhGLW9Vc1NEJTNGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTAlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxpc3RzX2xlbmd0aCUyMiUyMGlkJTNEJTIyKCUyNFhYLWdsKkt4anN5JTdDZTRWdDdVJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJiRFc2aSU1RDF4JTYwQngwVnN+JTNGaTdTaiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkJZJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJZcWpiTFdpT3ouMCF5JTJDNDMlN0QoKSglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETyUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJrVkdDR2JmZ3JBOG40SSU3Q1oqJTI1JTI0SiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1RSpJMmFqJTJDJTQwYWhqN3IpayEwJTYwJTNBTCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0V0ZXN0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJsJTNEa1UlM0FuOUtYSEVzUiUyQ3NuciU1RVRfJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19nZXRJbmRleCUyMiUyMGlkJTNEJTIyJTNCSEFPfiEpOE0lM0IlN0QlMjQlNjAlN0RsVl8yVWUlMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudCUzRCUyMmZhbHNlJTIyJTIwYXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFR0VUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUZST01fU1RBUlQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyKWYxWm9nTGwoWiU1RCU1RXJlNmslNUIzJTYwISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlM0Z5MGRIOFRid0YpKSU2MERhJTVEbCUzQilQJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjI1UGkocCUzRncxJTYwUyU3RFhTJTYwJTQwJTVETzFPQiUyMiUzRWklM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyM0doZCU2MCUyQiFiJTNGKXdvUiUzRnIpISUyQ1J+JTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlX3ZhciUyMiUyMGlkJTNEJTIyWUh5SXIlNURlJTYwLmpfKHlPenlPUldTJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMlBNTEMlNDByJTNCZUtLTkcqJTNBME5laCUyNHIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsaXN0c19nZXRJbmRleCUyMiUyMGlkJTNEJTIyJTVFMChmNiUzREZDNyUyRiUyNSUyNE05fnQyJTNBT2klMjIlM0UlM0NtdXRhdGlvbiUyMHN0YXRlbWVudCUzRCUyMmZhbHNlJTIyJTIwYXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJNT0RFJTIyJTNFR0VUJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSEVSRSUyMiUzRUZST01fU1RBUlQlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIySXVDOCltaiUyRnRjJTI1V1Y1JTI0ZE4lMkJuSiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyQUclNURoLjZXJTVEKnclN0R4JTVCWn5wSkhjRSUyMiUzRWklMjB2b24lMjBGZW5zdGVyJTIwb2ZmZW4lMjBLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQVQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJqJTJCRC4zJTJCJTI1QiUyMyUyMyU1RHJ+VGs4JTYwJTdETlElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMjVQaShwJTNGdzElNjBTJTdEWFMlNjAlNDAlNURPMU9CJTIyJTNFaSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfY2hhbmdlJTIyJTIwaWQlM0QlMjIlMkN2MFZJbi1pWUhWenQlN0QtQnNORyUzQSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyciUyQ2gpcnZlT0pYJTNEbyUyQiUyRllnJTQwMWYlMjMlMjIlM0VPZmZlbmVGZW5zdGVyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxUQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyR1klMkZsJTNENGNhZnJVMTNhJTVFJTNEYWZ6YSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJSVCUzQWgxaFEoJTVFbGIlM0JMJTdDJTYwemIlMkJ2WCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTElM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiU2MENzRnQuKXJqUiUyRi4lN0JBOCU3Q1lmaGclMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuWiVDMyVBNGhsZXIuSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMk4yUXY0ZSUzRlVRMXRWVyUyQ20pa2paJTdEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJyJTJDaClydmVPSlglM0RvJTJCJTJGWWclNDAxZiUyMyUyMiUzRU9mZmVuZUZlbnN0ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMnNGV3ozJTdCJTNCQTZGS3hZMyU1Qn4hbkxrJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTI1TTNlSSUyM0tZJTJDRnBlMiU2MCU1RCU3RDJlJTVFLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMjdYTkQ5NWp3JTVCJTNENik5ZlUlN0MlN0NTJTJGfiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5aJUMzJUE0aGxlci5LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJCWFJINWRPMmhsUTBsOVQlMjQwJTJCem4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ1cGRhdGUlMjIlMjBpZCUzRCUyMlIyR3olNUV6JTQwNiUyNUJIa1UlMkZ+JTJGd2olMjMlN0IlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuRmVuc3Rlcl9vZmZlbi5LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTdDUnpLKX5tNyUyRkhvdWYtWFNDNyFqJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydXBkYXRlJTIyJTIwaWQlM0QlMjJJNks0JTI1JTNEJTVFVSU3QkglMkIpdjBXMSUzRjMlN0NKJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXJfb2ZmZW4uSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU3QiUzQkRQNSUzREgucC1VUXElNjAlMkY5di13byUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
-
in Zeite 1, darf das da überhaupt stehen?
Meine Scripte fangen eigentlich mit einem Kommentar an!
-
@nobody28 sagte: in Zeite 1, darf das da überhaupt stehen?
Ja, das ist die Deklaration der globalen Variablen und wird von Blockly immer so erzeugt.
An den Debug-Block darf in der Schleife nur die Variable i übergeben werden:
-
@paul53 said in Fenster zählen, einmal state und einmal als opened:
@nobody28 sagte: in Zeite 1, darf das da überhaupt stehen?
Ja, das ist die Deklaration der globalen Variablen und wird von Blockly immer so erzeugt.
An den Debug-Block darf in der Schleife nur die Variable i übergeben werden.
Danke für die Erklärung
-
So, die beiden Sensoren werden wohl sauber im Array eingefügt:
javascript.0 2021-01-23 11:54:13.355 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: registered 2 subscriptions and 0 schedules javascript.0 2021-01-23 11:54:13.354 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: ['zigbee.0.00158d000163dacf.opened','mihome.0.devices.magnet_158d0002d6fefd.state'] javascript.0 2021-01-23 11:54:13.354 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: state[id=*.state]mihome.0.devices.magnet_158d0002d6fefd.state javascript.0 2021-01-23 11:54:13.175 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: state[id=*.opened]zigbee.0.00158d000163dacf.opened javascript.0 2021-01-23 11:54:12.991 info (1843) Start javascript script.js.common.Zählen.Offen_Fenster_Küche_neu1 javascript.0 2021-01-23 11:54:11.414 info (1843) Stop script script.js.common.Zählen.Offen_Fenster_Küche_neu1
Nach dem ersten öffnen, kommt dann das:
javascript.0 2021-01-23 11:56:03.917 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:56:03.916 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:56:03.916 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:56:03.911 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:56:03.911 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:30:9) javascript.0 2021-01-23 11:56:03.909 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:56:03.908 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: null javascript.0 2021-01-23 11:56:03.908 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:56:03.906 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:56:03.905 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:56:03.905 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:56:03.905 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:29:17) javascript.0 2021-01-23 11:56:03.903 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:56:03.903 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:56:03.902 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:56:03.902 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:56:03.902 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:56:03.901 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:30:9) javascript.0 2021-01-23 11:56:03.899 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:56:03.899 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: null javascript.0 2021-01-23 11:56:03.899 warn (1843) at processImmediate (internal/timers.js:461:21) javascript.0 2021-01-23 11:56:03.898 warn (1843) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5384:37) javascript.0 2021-01-23 11:56:03.898 warn (1843) at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:472:25) javascript.0 2021-01-23 11:56:03.898 warn (1843) at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1055:38) javascript.0 2021-01-23 11:56:03.897 warn (1843) at Object.<anonymous> (script.js.common.Zählen.Offen_Fenster_Küche_neu1:29:17) javascript.0 2021-01-23 11:56:03.895 warn (1843) getState "undefined" not found (3) javascript.0 2021-01-23 11:54:13.355 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: registered 2 subscriptions and 0 schedules javascript.0 2021-01-23 11:54:13.354 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: ['zigbee.0.00158d000163dacf.opened','mihome.0.devices.magnet_158d0002d6fefd.state'] javascript.0 2021-01-23 11:54:13.354 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: state[id=*.state]mihome.0.devices.magnet_158d0002d6fefd.state javascript.0 2021-01-23 11:54:13.175 info (1843) script.js.common.Zählen.Offen_Fenster_Küche_neu1: state[id=*.opened]zigbee.0.00158d000163dacf.opened javascript.0 2021-01-23 11:54:12.991 info (1843) Start javascript script.js.common.Zählen.Offen_Fenster_Küche_neu1 javascript.0 2021-01-23 11:54:11.414 info (1843) Stop script script.js.common.Zählen.Offen_Fenster_Küche_neu1
-
@nobody28 sagte:
Nach dem ersten öffnen, kommt dann das:
Du verwendest in der unteren Schleife die Zählvariable j, also muss auch für "Wert von Objekt" als Index in die Liste die Variable j verwendet werden.
-
@paul53 said in Fenster zählen, einmal state und einmal als opened:
@nobody28 sagte:
Nach dem ersten öffnen, kommt dann das:
Due verwendest in der unteren Schleife die Zählvariable j, also muss auch für "Wert von Objekt" als Index in die Liste die Variable j verwendet werden.
Wow @paul53
Das war das Problem...das ist mir auf dem Surface Display bei niedrigem Zoom nicht aufgefallen das dort ein j stand!!!
Vielen Dank. Nun klappt alles
Dann steht dem Scriptumbau nichts mehr im Wege. Und ich kann nach und nach vom Xiaomi Adapter zum ZigBee Adapter wechseln
-
Eine Frage noch zu den Variablen...
sind die jeweils nur in dem Script aktiv, d.h., ich kann die gleichen Namen jeweils in den anderen Scripten benutzen, und muss nur die Selektoren anpassen?
Oder gibt das Konflikte....ich glaube ja nicht.
Aber glauben heißt ja nicht wissen -
@nobody28 sagte: Variablen sind die jeweils nur in dem Script aktiv, d.h., ich kann die gleichen Namen jeweils in den anderen Scripten benutzen, und muss nur die Selektoren anpassen?
Richtig.