@Wildbill
ah super, habe direkt mal ne Kiste Bier spendiert.
Schönes Wochenende,
P
NEWS
Best posts made by Phil Ipp
-
RE: Test Adapter deConz v2.0.x
Latest posts made by Phil Ipp
-
RE: Blockly-Scripte wollen nach deconz(zigbee) Update nicht mehr
Danke für Deine AW @wildbill!
Da hast Du recht und das war mir tatsächlich nicht bewusst.Ich habe diesen allerdings vorhin nur angehagt, um eventuell mehr Infos bei der Fehlersuche zu bekommen, als die Scripte nicht liefen.
Aber was soll ich sagen. Ausgeschaltet + Script neugestartet: es läuft wieder.Sowas macht mich ja verrückt... Aber seis drum: Danke!
-
Blockly-Scripte wollen nach deconz(zigbee) Update nicht mehr
Hallo zusammen,
nach einigem Schluckauf meines Zigbee-Netzwerks (deconz) läuft dieses nun wieder.
Die Objekte sind da, aktuallisieren und sind steuerbar.
Allerdings funktionieren meine Blockly-Scripte nicht mehr.
Ein mal ne simple Bewegungssteuerung und einmal Heizungssteeurung mit einem Fensterkontakt.
Beide schmeißen mir Fehler aus.
Habt ihr dazu eine Idee?Danke danke,
PhilippLicht Blockly
Licht Script
on({ id: [].concat(['deconz.1.sensors.00158d0004663765.presence']), val: true }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; setState('deconz.1.lights.842e14fffe14ce4f.on' /* On */, true); if (compareTime('00:01', '08:00', 'between', null)) { setState('deconz.1.lights.842e14fffe14ce4f.level' /* Level */, 1); } if (compareTime('08:00', '23:59', 'between', null)) { setState('deconz.1.lights.842e14fffe14ce4f.level' /* Level */, 40); } }); on({ id: [].concat(['deconz.1.sensors.00158d0004663765.presence']), val: false }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; setStateDelayed('deconz.1.lights.842e14fffe14ce4f.on' /* On */, false, 120000, false); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMmYlN0IpVmRtNSFzOHltJTJCJTVFa1k5Ni5CJTIyJTIweCUzRCUyMjEzOCUyMiUyMHklM0QlMjItNDEyJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0V0cnVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTJGTFJ0cmMwd35ZTXZ5cSUyNEpybkY4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFZGVjb256LjEuc2Vuc29ycy4wMDE1OGQwMDA0NjYzNzY1LnByZXNlbmNlJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlN0ItITExJTIzVSUzQSUyQ0tWJTNGLiU2MERZbl9KayUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWRlY29uei4xLmxpZ2h0cy44NDJlMTRmZmZlMTRjZTRmLm9uJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTI1REhjTiU1Qih3VUxTN0pwMEVLN0FTJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMjglNURLNV8zJTNGUWtvX2ZMRFFTVXhkNSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVfY29tcGFyZV9leCUyMiUyMGlkJTNEJTIycCUyM2lBcyUyQjMlNUIlN0JRV3clMkJiSyU1RC41biUyQiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGVuZF90aW1lJTNEJTIydHJ1ZSUyMiUyMGFjdHVhbF90aW1lJTNEJTIydHJ1ZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVVNFX0FDVFVBTF9USU1FJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1BUSU9OJTIyJTNFYmV0d2VlbiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyU1RBUlRfVElNRSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJuJTNEKCpTKCUyNXRLJTNCKC4wUiUyRiU1RXMlMjUpTiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwMCUzQTAxJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkVORF9USU1FJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiU1RSUzQkRYcHApWnJ5XzVtQVglMkMlNURQWlclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFMDglM0EwMCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMmdfViUzQmNPSEZqJTdENGklNjAwZkohJTNELUslMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMS5saWdodHMuODQyZTE0ZmZmZTE0Y2U0Zi5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJGR3lpayU3QiUyRmslM0FXciEwJTVFMmNQZmZjJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIqSTZlTmNhNiolNDAzT0d4VlclN0QlNjBaQiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRpbWVfY29tcGFyZV9leCUyMiUyMGlkJTNEJTIyOHpsemdOJTdCeSU0MGpjX3UlM0F2JTNCJTVFY1MlMjQlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBlbmRfdGltZSUzRCUyMnRydWUlMjIlMjBhY3R1YWxfdGltZSUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlVTRV9BQ1RVQUxfVElNRSUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QVElPTiUyMiUzRWJldHdlZW4lM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlNUQVJUX1RJTUUlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyN05SQUoyJTIzLVpfNEJmJTYwZSU3Q3k3aSU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UwOCUzQTAwJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkVORF9USU1FJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMiUyQksySVVTeiU3QyUzRHpGciUzRnVqVSUyNG1LXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0UyMyUzQTU5JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyVnhZWGUub0tacGclMjUlNUUlM0QlMjNJTkE3JTJGJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjEubGlnaHRzLjg0MmUxNGZmZmUxNGNlNGYubGV2ZWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyUjFDX29WZ2sxJTNCJTdDKiUyQiF0SCUzQlRLZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTQwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMlM0YXJ0TyhhZyUzRGclM0QhSC0lM0QlNUIlN0J4bCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFZmFsc2UlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJDbSglNDAlM0EqdkJZN2duKFN0ciU0MCU2MHElNUUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWNvbnouMS5zZW5zb3JzLjAwMTU4ZDAwMDQ2NjM3NjUucHJlc2VuY2UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiUyNCU3RDRUKUclNjB0WGolNUVORmZlbyUyQnAlNjB+JTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJ0cnVlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VkZWNvbnouMS5saWdodHMuODQyZTE0ZmZmZTE0Y2U0Zi5vbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkRFTEFZX01TJTIyJTNFMiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRW1pbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkFTJTNBVTFBYSUzRCUyQjQtLU5hYmJPYlA5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
Licht Protokoll
18.10.2023, 18:58:30.969 [info ]: javascript.0 (1084) script.js.Licht.TOI: setForeignState(id=deconz.1.lights.842e14fffe14ce4f.on, state={"val":true,"ack":false,"ts":1697648310969,"q":0,"from":"system.adapter.javascript.0","lc":1697645822172,"c":"script.js.Licht.TOI"}) 18.10.2023, 18:58:30.969 [warn ]: javascript.0 (1084) script.js.Licht.TOI: setForeignState(id=deconz.1.lights.842e14fffe14ce4f.on, state={"val":true,"ack":false,"ts":1697648310969,"q":0,"from":"system.adapter.javascript.0","lc":1697645822172,"c":"script.js.Licht.TOI"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 18.10.2023, 18:58:30.970 [info ]: javascript.0 (1084) script.js.Licht.TOI: setForeignState(id=deconz.1.lights.842e14fffe14ce4f.level, state={"val":40,"ack":false,"ts":1697648310970,"q":0,"from":"system.adapter.javascript.0","lc":1697648310970,"c":"script.js.Licht.TOI"}) 18.10.2023, 18:58:30.970 [warn ]: javascript.0 (1084) script.js.Licht.TOI: setForeignState(id=deconz.1.lights.842e14fffe14ce4f.level, state={"val":40,"ack":false,"ts":1697648310970,"q":0,"from":"system.adapter.javascript.0","lc":1697648310970,"c":"script.js.Licht.TOI"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
Heizen Blockly
Heizen Script
var Fensterstatus; // Datenpunkt Fensterstatus_Bad nach offenen Fenstern steuern on({ id: [].concat(['deconz.1.sensors.00158d00044f4e5b.open']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; Fensterstatus = 0; if (getState('deconz.1.sensors.00158d00044f4e5b.open').val == true) { Fensterstatus = (typeof Fensterstatus === 'number' ? Fensterstatus : 0) + 1; } setState('javascript.0.Heizung.FensterstatusKüche' /* Heizung.FensterstatusKüche */, Fensterstatus, true); }); // Heizung ein oder ausschalten, wenn Fenster offen oder zu on({ id: [].concat(['javascript.0.Heizung.FensterstatusKüche']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('javascript.0.Heizung.FensterstatusKüche').val > 0) { if (getState('tado.0.569521.Rooms.5.setting.power').val == 'ON') { setState('tado.0.569521.Rooms.5.setting.power' /* Power */, 'OFF'); } } else { if (getState('tado.0.569521.Rooms.5.setting.power').val == 'OFF') { setStateDelayed('tado.0.569521.Rooms.5.overlayClearZone' /* Clear Zone Overlay */, true, 900000, false); } } }); // Wenn Heizung über Tado eingeschaltet wird, obwohl Fenster offen, dann wieder ausschalten on({ id: [].concat(['tado.0.569521.Rooms.5.setting.power']), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == 'ON') { if (getState('javascript.0.Heizung.FensterstatusKüche').val > 0) { setState('tado.0.569521.Rooms.5.setting.power' /* Power */, 'OFF'); } } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyRWZ5JTQweS1yT1BVNCUzRjMlMjUlMjNXbHIoJTdEJTIyJTNFRmVuc3RlcnN0YXR1cyUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyaGNKdiU3QiglM0QlMkIlM0JScnlYcTg0anhMMSUyMiUyMHglM0QlMjItNjMlMjIlMjB5JTNEJTIyLTQxMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VEYXRlbnB1bmt0JTIwRmVuc3RlcnN0YXR1c19CYWQlMjBuYWNoJTIwb2ZmZW5lbiUyMEZlbnN0ZXJuJTIwc3RldWVybiUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIybiElMjU1eiUyQkt6KCUyMyU3Q2s1dSpXbEZuJTVFJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIxJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT05ESVRJT04lMjIlM0VuZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMigqWGc2RE02SmJtMGQlNUQ3JTVFJTNCJTJDT1MlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0VkZWNvbnouMS5zZW5zb3JzLjAwMTU4ZDAwMDQ0ZjRlNWIub3BlbiUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIySVVUaSUyMyUzRFhiV04lMkZqeiUyNXpLZksybCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRWZ5JTQweS1yT1BVNCUzRjMlMjUlMjNXbHIoJTdEJTIyJTNFRmVuc3RlcnN0YXR1cyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyciUzREIhcDN6JTVCRCU3QnFKTyUyQiU3REU4N3ZlJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyazk4STlHWiU3QnZwQUwlNURGJTdEMGRlMyklMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlMjRYJTJGTGYlMkJOX3NHMndhemp+Z1JkJTdDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyc28lNjB6VmdRUFFqMmlhVW4lNDBTWm1mJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFZGVjb256LjEuc2Vuc29ycy4wMDE1OGQwMDA0NGY0ZTViLm9wZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyMWdwJTdDJTdDQy1QLTdBRFklMkNHblJhVHMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9jaGFuZ2UlMjIlMjBpZCUzRCUyMk0lMjQ1JTNCVCUyRipUNyUyNSolN0JtZmprNiklM0Z5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJFZnklNDB5LXJPUFU0JTNGMyUyNSUyM1dsciglN0QlMjIlM0VGZW5zdGVyc3RhdHVzJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJERUxUQSUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyVkQ2Q2R4dzlwX2Z3JTJGYWNDWS0lNjAtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ1cGRhdGUlMjIlMjBpZCUzRCUyMmtJJTYwcTIzM0U0VCl0cVlaX2I4QlElMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuSGVpenVuZy5GZW5zdGVyc3RhdHVzSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnYlMkJTJTJDSCUyNShnKSUyNUd4USUzQkhQZiUzQWFzJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJFZnklNDB5LXJPUFU0JTNGMyUyNSUyM1dsciglN0QlMjIlM0VGZW5zdGVyc3RhdHVzJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyJTNCbyU2MCopb2tzblZtJTJDJTJGbCU1QlMqd0RtJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09NTUVOVCUyMiUzRUhlaXp1bmclMjBlaW4lMjBvZGVyJTIwYXVzc2NoYWx0ZW4lMkMlMjB3ZW5uJTIwRmVuc3RlciUyMG9mZmVuJTIwb2RlciUyMHp1JTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjIyOEJUU3clM0FZJTI1VXJQLXQqdzNqTmolMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyMyUyQmtYSiFPKVMhbDYlMkIlM0YlN0IlNUVkfkRyJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFamF2YXNjcmlwdC4wLkhlaXp1bmcuRmVuc3RlcnN0YXR1c0slQzMlQkNjaGUlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJNJTVFdyUzQmlvNSU3QyU2MCU1QiUzQlRDa1o3V2dGcCUyMiUzRSUzQ211dGF0aW9uJTIwZWxzZSUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUzRCUyRiFUYnZsNUZpYiklN0J+JTI1ZyhmViUyNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFR1QlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUzQiUzQUZIJTJCKiU1RGFndXBOOTIwd0YlN0IqMCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC5IZWl6dW5nLkZlbnN0ZXJzdGF0dXNLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJZdGclNUUlN0N3NlZCWHQtLn5reEMzJTQwJTVEJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMlh+QiU0MCUzQWstWilMSH5za0YlN0IlNUVfXyUzQSUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiUyM3dtSERNJTJDWCU1RSU1RWElM0JQJTdDb0dnJTI0MkUlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJBZlIlN0RhJTNCWiUzRkc2QyU1QiUyRlglNUVsQW1zJTI0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFdGFkby4wLjU2OTUyMS5Sb29tcy41LnNldHRpbmcucG93ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyamklNUVRWSUyM28xczVFbklIQkU0eEtMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRU9OJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJBRCUyRkowLmglNjAlM0IlMkIwNSUyNSU3Q2l1U3d1WSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXRhZG8uMC41Njk1MjEuUm9vbXMuNS5zZXR0aW5nLnBvd2VyJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyJTVEVSU1QkNqQlhZdyF+eXFHSjEybXlDJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRU9GRiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRUxTRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ2RiUyQkhSKEg1ZyU1RDYqKjJCa2YlN0NiViUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMmUzb1pMbiU2MDJrMm5YaUh0ZkMzJTVFMyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMmNLd19oKCUyM1klN0JfWWs1ZyUyQ3gqLS1KJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFdGFkby4wLjU2OTUyMS5Sb29tcy41LnNldHRpbmcucG93ZXIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyQVVDeSU3Q2VTZlJpU211cGQhdV9rSiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VPRkYlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMlFIcV9mJTdDflZpdXUlMjUodSUyQm52YnQlN0IlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMnRydWUlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXRhZG8uMC41Njk1MjEuUm9vbXMuNS5vdmVybGF5Q2xlYXJab25lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVlfTVMlMjIlM0UxNSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRW1pbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ0xFQVJfUlVOTklORyUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMjBNZi4qaWVxen4lNUVlbiU1RSUzRjUhNGdJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyLU4hbSUyRlVxd04lMjRrUGR+SSUyNTdHKkslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFV2VubiUyMEhlaXp1bmclMjAlQzMlQkNiZXIlMjBUYWRvJTIwZWluZ2VzY2hhbHRldCUyMHdpcmQlMkMlMjBvYndvaGwlMjBGZW5zdGVyJTIwb2ZmZW4lMkMlMjBkYW5uJTIwd2llZGVyJTIwYXVzc2NoYWx0ZW4lM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMiU1QjFScU9ZJTI1X2ElMkMlMkNLNyU3QndQaHdobCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJRJTJCYWJ2KiU2MCElN0IlM0ZZJTNCaGxlLW1KSTclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0V0YWRvLjAuNTY5NTIxLlJvb21zLjUuc2V0dGluZy5wb3dlciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMjFWdWpqWkElNURTQ0VVJTJGRmUlM0QuV1pDJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyQUVPJTI0NSUzRCU1RUpDN3J0ciUyM2hGdnVpJTVCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX3NvdXJjZSUyMiUyMGlkJTNEJTIySG84Sn50RGF6JTNEVHVrQ2FZdXJ1OSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0VzdGF0ZS52YWwlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyfiElM0JLZHAlMkJpYjUlMkNmZEFGJTQwJTVEN1dMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRU9OJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyTXNXV1klN0JOOVYpQVZDQWMyXzNsSiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMjN4cSU0MHZNYzclMkIlNjAlM0E3fiU1QmpRJTJGQi1XJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VHVCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyWWpLYSU0MFVqJTdEJTJCSlM3SU5jJTJCSChCLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWphdmFzY3JpcHQuMC5IZWl6dW5nLkZlbnN0ZXJzdGF0dXNLJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjJCRSUyNSU3RGklNUVyUiU1RSU1RDF1RUY4KCUyQ25yLSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMiUyQ3QtKWd2JTJDJTI0ajhPMEhHMVd0NWFkJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFdGFkby4wLjU2OTUyMS5Sb29tcy41LnNldHRpbmcucG93ZXIlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJyKVBrVCl2dmkwJTdDaUMoQyUzQXROJTVCMSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VPRkYlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
Heizen Protokol
18.10.2023, 19:15:30.040 [info ]: javascript.0 (1084) script.js.Heizen.WRK_TFK_neu: getState(id=deconz.1.sensors.00158d00044f4e5b.open, timerId=undefined) => {"val":true,"ack":true,"ts":1697649330039,"q":0,"from":"system.adapter.deconz.1","user":"system.user.admin","lc":1697649330039} 18.10.2023, 19:15:30.041 [info ]: javascript.0 (1084) script.js.Heizen.WRK_TFK_neu: setForeignState(id=javascript.0.Heizung.FensterstatusKüche, state={"val":1,"ack":true,"ts":1697649330041,"q":0,"from":"system.adapter.javascript.0","lc":1697649330041,"c":"script.js.Heizen.WRK_TFK_neu"}) 18.10.2023, 19:15:30.042 [warn ]: javascript.0 (1084) script.js.Heizen.WRK_TFK_neu: setForeignState(id=javascript.0.Heizung.FensterstatusKüche, state={"val":1,"ack":true,"ts":1697649330041,"q":0,"from":"system.adapter.javascript.0","lc":1697649330041,"c":"script.js.Heizen.WRK_TFK_neu"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist 18.10.2023, 19:15:32.317 [info ]: javascript.0 (1084) script.js.Heizen.WRK_TFK_neu: getState(id=deconz.1.sensors.00158d00044f4e5b.open, timerId=undefined) => {"val":false,"ack":true,"ts":1697649332316,"q":0,"from":"system.adapter.deconz.1","user":"system.user.admin","lc":1697649332316} 18.10.2023, 19:15:32.317 [info ]: javascript.0 (1084) script.js.Heizen.WRK_TFK_neu: setForeignState(id=javascript.0.Heizung.FensterstatusKüche, state={"val":0,"ack":true,"ts":1697649332317,"q":0,"from":"system.adapter.javascript.0","lc":1697448227356,"c":"script.js.Heizen.WRK_TFK_neu"}) 18.10.2023, 19:15:32.317 [warn ]: javascript.0 (1084) script.js.Heizen.WRK_TFK_neu: setForeignState(id=javascript.0.Heizung.FensterstatusKüche, state={"val":0,"ack":true,"ts":1697649332317,"q":0,"from":"system.adapter.javascript.0","lc":1697448227356,"c":"script.js.Heizen.WRK_TFK_neu"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
Infos zum Host:
Verfügbar: 5.0.12 Installiert: 4.0.24 Ereignisse: ⇥9 / ↦13 Plattform: linux Betriebssystem: linux Architektur: x64 CPUs: 2 Geschwindigkeit: 2900 MHz Modell: Intel(R) Pentium(R) CPU G4400T @ 2.90GHz RAM: 4 GB Node.js: v18.7.0 Adapter-Anzahl: 504 NPM: v8.18.0 Datenträgergröße: 7.8 GB Freier Festplattenspeicher: 4.7 GB Aktive Instanzen: 8 Pfad: /opt/iobroker/ aktiv: true _nodeCurrent: 18.7.0 _nodeNewest: 18.18.2 _nodeNewestNext: 16.20.2 _npmCurrent: 8.18.0 _npmNewest: 8.15.0 _npmNewestNext: 8.19.4
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
Heureka!
Fragt mich nicht warum, aber heute morgen ist der Stick verbunden und das Licht lässt sich steuern!Ein wenig unbefriedigend, da es a) gestern abend nicht ging und heute morgen, ohne ersichtliche Änderung auf einmal einfach geht und ich b) nicht genau sagen kann, was nun der Fix war.
Vielleicht war es die Androhung das ganze komplett neu aufzusetzen ,)
Ich wäre dann den Anleitungen von @hansmeier gefolt.Nichtsdestotrotz ein herzliches Dankeschön an @dp20eic für Deinen Willen & Hilfsbereitschaft und auch an @hansmeier und @Thomas-Braun für Eure Denkanstöße!
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
@dp20eic sagte in Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC):
ist denn jetzt der User, der Deconz auf dem LXC 104 nutzt, in der Gruppe dialout?
jup.
myadmin@deconz:~$ id myadmin uid=1001(myadmin) gid=1001(myadmin) groups=1001(myadmin),20(dialout) myadmin@deconz:~$ id deconz uid=1000(deconz) gid=1000(deconz) groups=1000(deconz),20(dialout)
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
@dp20eic
Here we go:im PVE: # ls -la /lxc/104/devices/ttyACM0
root@pve:~# ls -la /lxc/104/devices/ttyACM0 crw-rw---- 1 100000 100020 166, 0 Oct 17 15:56 /lxc/104/devices/ttyACM0
Im 104: ls -la /dev/ttyACM0
myadmin@deconz:~$ ls -la /dev/ttyACM0 crw-rw---- 1 root dialout 166, 0 Oct 17 13:56 /dev/ttyACM0
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
@dp20eic meinst du die 104.conf?
root@pve:~# cat /etc/pve/lxc/104.conf arch: amd64 cores: 2 features: nesting=1 hostname: deconz memory: 1024 net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.20.1,hwaddr=86:2E:93:A8:1C:56,ip=192.168.20.6/24,ip6=dhcp,type=veth onboot: 1 ostype: ubuntu rootfs: local-lvm:vm-104-disk-0,size=2G swap: 512 unprivileged: 1 lxc.cgroup2.devices.allow: c 166:* rwm lxc.mount.entry: /lxc/104/devices/ttyACM0 dev/ttyACM0 none bind,optional,create=file
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
@dp20eic
ja gestern mal rebootet und abgesteckt.
Aber seit ID014 nicht mehr bewegt oder neugestartet...
Kabel passt, hatte ich am PC probiert.Ich habe das Gefühl, mit jedem Neustart des LXC kommt was dazu. Bin jetzt bei 046
root@pve:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 046: ID 1cf1:0030 Dresden Elektronik ZigBee gateway [ConBee II] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Ich bin nun mal nach dieser Anleitung vorgegangen: https://gist.github.com/crundberg/a77b22de856e92a7e14c81f40e7a74bd
Nun wird der Conbee II erkannt, aber leider immer noch nciht verbunden:
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
Dank Dir @dp20eic
Leider wird der Conbee bei beiden Varianten nicht verbunden
Eine Beochbachtung noch:
lsusb gibt mir immer weiter steigende Device IDs aus. Bin nun bei 40 angelangt.root@pve:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 040: ID 1cf1:0030 Dresden Elektronik ZigBee gateway [ConBee II] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Edit:
2 Stunden später, ich bin bei 44 angelangt:root@pve:~# lsusb Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 044: ID 1cf1:0030 Dresden Elektronik ZigBee gateway [ConBee II] Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
@dp20eic
Danke, dass Du am Ball bleibst. Ich wehre mich auch nicht gegen die Erkenntnis, bin maximal verwirrrt, wie die config so zerschossen werden konnte.
Wenn ich Dich richtig verstehe soll der Teil dann so aussehen:
lxc.cgroup2.devices.allow: c 189* rwm lxc.mount.entry: dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2220381-if00 dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2220381-if00 none bind> lxc.cgroup2.devices.allow: c 166:* rwm #lxc.mount.entry: /var/lib/lxc/104/devices/ttyACM0 dev/ttyACM0 none bind,optional,create=file
So wird er leider weiterhin nicht verbunden.
Was mich auch verwirrt, ist die Tatsache, dass die geforderten Details aus der Anleitung gar nicht mehr dabei sind, auch nicht relevant zu sein scheinen:
Am Ende der Datei werden entsprechend der zuvor gesammelten Informationen folgende Zeilen am Ende eingefügt:
lxc.cgroup.devices.allow: c 189:* rwm lxc.mount.entry: /dev/bus/usb/001/007 dev/bus/usb/001/007 none bind,optional,create=file lxc.cgroup.devices.allow: c 188:* rwm lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
Zur Erinnerung: Die genannten Werte sind nur Beispielhaft und müssen durch die zuvor, individuell ermittelten Werte aus 5. ersetzt werden!
In die 1. Zeile kommt die 189 (die aus der Ausgabe von ls -l /dev/bus/usb/001/007 kommt). Damit wird dem Container der Zugriff auf USB-Bus-Devices gestattet.
In der 2. Zeile kommt 2 mal der Bus-Device-Pfad, genau so, wie er auch beim ls verwendet wurde. Damit wird das Bus-Device des Node im Container genau unter dem selben Pfad gemountet.
In der 3. Zeile wird dem Container der Zugriff auf USB-Serial-Devices eingerichtet. (die 188 kommt aus dem ls -l /dev/ttyUSB*)
In der 4. Zeile wird das USB-Serial-Device ttyUSB0 unter demselben Pfad im LXC-Container gemountet.Bei den beiden Mount-Angaben ist der erste Teil immer die Quelle, also der Pfad auf dem Node und der zweite Teil das Ziel, also der Pfad im LXC-Container. Die Devices können bei Bedarf und Wunsch also auch unter anderen Bezeichnungen im LXC-Container verfügbar gemacht werden.
@dp20eic sagte in Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC):
Und die Dokumentation aus dem FHEM Forum ist auch aus 2022
Ja, dachte die ist "erst" aus 2022 ist ja noch fast druckfrisch ,)
-
RE: Conbee II nach deconz Update "nicht verbunden" (Proxmox LXC)
@hansmeier
Das hatte ich auch direkt probiert. Leider hat es bei mir nicht funktioniert.
Darf ich fragen, welcher Anleitung du beim Setup gefolgt bist?