NEWS
Test Adapter shuttercontrol v1.7.x
-
@guitardoc Shuttercontrol reagiert auf alle von dir in Shuttercontrol konfigurierten States.
Das sind unter anderem ja logischerweise auch die Fensterkontakte und Helligkeitssensoren...Woher soll sonst Shuttercontrol wissen, was passiert in deinem System.
Da ich aber sehe, dass du sicher mit einem Script da mehrere Dinge machst, um den geschlossen Kontakt zu simulieren, bin ich da raus... Du hast da einfach zu viele Scripte, die da rumwerkeln und alles verzerren... -
@simatec Hmm, jetzt wird es zu durcheinander. Bitte zunächst erst mal die Frage worauf reagiert SC:
a) auf die Änderung aller States, egal zu welcher Tages- oder Nachtzeit,
b) nur auf Helligkeitsänderungen,
c) auf Änderungen aller States, solange die Helligkeit >0 ist.
Nicht falsch verstehen, du bist natürlich nicht verpflichtet das zu beantworten und das soll auch keinesfalls wie Prüfungsfragen klingen, ich versuche doch nur eventuelle Punkte zu finden wo es bei MEINER Konfiguration hakt und wo auch ANDERE drüber stolpern könnten - also am Ende SC für ALLE Anwender besser zu machen. -
@guitardoc Hatte ich doch bereits geschrieben… auf alle Änderungen von States reagiert Shuttercontrol. Alle States, die Shtuttercontrol bekannt sind, wird bei einer Änderung reagiert.
Bekannte States sind alle die, die du in der Config von Shuttercontrol eingetragen hast. Angefangen von den Rollläden, über Temperaturen, Helligkeit, Fensterkontakten, anderen Triggern wie Alarmen und Feiertagstriggern. Es wird auf jeder Änderung reagiert.
-
@guitardoc sagte in Test Adapter shuttercontrol v1.7.x:
jetzt wird es zu durcheinander.
richtig! Deswegen bittet dich @simatec seit langem alle Fremdsteuerungen abzuschalten, damit das debug-log auswertbar wird.
@guitardoc sagte in Test Adapter shuttercontrol v1.7.x:
worauf reagiert SC
reagiert wird, wie grundsätzlich unter js, auf alle states, die SC bekannt sind.
Ob und was dann aber daraus für eine Aktion erfolgt hängt von den diversen Einstellungen ab.Das siehst du doch im debug-log!
-
@guitardoc Hier wäre erstmal der States inkl. Script, welcher den State schaltet interessant.
0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren
Wird Ack gesetzt, was macht der Script etc...
Du manipulierst mit deinen Scripten States und ich soll so debuggen? Das geht nicht...
-
@simatec said in Test Adapter shuttercontrol v1.7.x:
Wird Ack gesetzt
Ich hole mir zunächst von den Geräten die Datenpunkte, die ich für Skripte brauche, in Alias-Datenpunkte. In den Skripten arbeite ich ausschließlich mit diesen und schreibe Ausgaben in Datenpunkte unter 0_userdata mittels "steuere", z.B.
Wenn ich es richtig verstände habe, dann wird Ack nicht gesetzt.
-
@guitardoc das ist nicht der Script für die Kontaktsensoren... Ack sollte immer gesetzt werden
-
@simatec Hier mal das Script für die Kombination der Kontaktsensoren:
-
@guitardoc Gehe mal bitte in dem Script oben rechts in die Menüleiste und lasse es dir als Javascript anzeigen.
Die Ausgabe bitte mal posten -
var k1, k2, k; // Wohnzimmer Tür zur Terrasse on({ id: [].concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor']).concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt']), change: 'ne' }, async (obj) => { k1 = getState('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor').val; k2 = getState('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt').val; k = false; if ((k1 == true) || (k2 == true)) { k = true; } setState('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Wohnzimmer Tür zur Terrasse */, k); }); // Gästezimmer on({ id: [].concat(['0_userdata.0.Fenster.Gästezimmer.Virtueller_Kontaktsensor']).concat(['alias.0.Fenster.Gästezimmer.Offen']), change: 'ne' }, async (obj) => { k1 = getState('0_userdata.0.Fenster.Gästezimmer.Virtueller_Kontaktsensor').val; k2 = getState('alias.0.Fenster.Gästezimmer.Offen').val; k = false; if ((k1 == true) || (k2 == true)) { k = true; } setState('0_userdata.0.Fenster.Gästezimmer.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Gästezimmer */, k); }); // Schlafzimmer on({ id: [].concat(['0_userdata.0.Fenster.Schlafzimmer.Virtueller_Kontaktsensor']).concat(['0_userdata.0.Fenster.Schlafzimmer.offen_geschlossen/angekippt']), change: 'ne' }, async (obj) => { k1 = getState('0_userdata.0.Fenster.Schlafzimmer.Virtueller_Kontaktsensor').val; k2 = getState('0_userdata.0.Fenster.Schlafzimmer.offen_geschlossen/angekippt').val; k = false; if ((k1 == true) || (k2 == true)) { k = true; } setState('0_userdata.0.Fenster.Schlafzimmer.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Schlafzimmer */, k); }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMGlkJTNEJTIyalJnYTMhZ0RYeEEhNGJ4SSUzQk16JTVFJTIyJTNFazElM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJFNGVqLTBsNjE2JTdESCUzQVUlNjBUJTNBJTVFJTdDJTNCJTIyJTNFazIlM0MlMkZ2YXJpYWJsZSUzRSUzQ3ZhcmlhYmxlJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZ2YXJpYWJsZSUzRSUzQyUyRnZhcmlhYmxlcyUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbW1lbnQlMjIlMjBpZCUzRCUyMllPQWM5Ti4lMjM5M3IzbyElN0N4JTI0dXUhJTIyJTIweCUzRCUyMjExMyUyMiUyMHklM0QlMjIzOCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VXb2huemltbWVyJTIwVCVDMyVCQ3IlMjB6dXIlMjBUZXJyYXNzZSUzQyUyRmZpZWxkJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIyJTQwLXlffml6MFdMJTI1N3g5JTNGJTdCZk1QRCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJSIUMhJTQwcUNrMXM4JTNBKW4lN0JJV1dmVyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyZzh6IThnJTdCMyUyQjVITlFkViU2MDhlJTVFdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLm9mZmVuX2dlc2NobG9zc2VuJTJGYW5nZWtpcHB0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIuQUhqbHpaOCpnJTdEJTIzMm5qbGhpdWElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmpSZ2EzIWdEWHhBITRieEklM0JNeiU1RSUyMiUzRWsxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMmdBfiUyRlYzZ3N2VlNOJTI1bSUyQi5uUFA5JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTJCJTI1NDUlNUVjYi4lM0ROeEctRHdhQTA3TCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMk8udjklM0ZmUmolN0RTdSUyQ0ZyNmQlN0J+azIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkU0ZWotMGw2MTYlN0RIJTNBVSU2MFQlM0ElNUUlN0MlM0IlMjIlM0VrMiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJJJTNEQSE4JTNEREpwKXZVYVpmXypLeGQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJsJTI1aTdoayU1QiU3QyU3QjJpQVZfeiUzRkklM0ZmXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLldvaG56aW1tZXIuVCVDMyVCQ3JfenVyX1RlcnJhc3NlLm9mZmVuX2dlc2NobG9zc2VuJTJGYW5nZWtpcHB0JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIybyU3Q2olN0Jhfi1CUkQwRyUyQlZJJTJDUE0lM0Q4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyLXclMjRzZnlYOVozVCUyNGJtciUzQiUzRmglM0R2JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjI0cSUzQWdjOHRnZTRLTU5WTzMhJTYweUMlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19tdWx0aV9vciUyMiUyMGlkJTNEJTIyKjBTKUg1JTI1V2hHZDJhLml+OF8uJTdDJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPUjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJpKVdGJTdEUSU3QjQxJTJDUVF5U29OfkxTZCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjI4fkslNjB6R0JhJTJDaUhpVSU1RGVQJTJGJTdDJTVFJTQwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJqUmdhMyFnRFh4QSE0YnhJJTNCTXolNUUlMjIlM0VrMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJfYiU2ME85dFp5JTdCTEthJTIzWUxpJTI1TmJ6JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT1IxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIydjJqTCplN0VhY21TKiUyNSUyRiklM0ItJTQwXyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjIlN0MlM0YlMjRVKUIteFVyU3RpUSU3RElzJTNEVjglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkU0ZWotMGw2MTYlN0RIJTNBVSU2MFQlM0ElNUUlN0MlM0IlMjIlM0VrMiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjI2JTJGJTVCcyU0MEd5JTI1NCpmcyUyQ2t+fjguYjYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMiUyMzlZLlBoLWklMkIlNjBWcyU0MCU1RHolNDAlM0EtMjMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk0yTFZGYy5IWG0lM0JBNWF6QSUyQ25CJTI1JTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJ6cnM4a2FHVUxMY25KZUNfJTdDJTNCWiUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydjglMjMlMkZrMiU3QzQlNUQlM0QlNDBUMiU1QnBlJTdEWWElN0IlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0UwX3VzZXJkYXRhLjAuRmVuc3Rlci5Xb2huemltbWVyLlQlQzMlQkNyX3p1cl9UZXJyYXNzZS5Lb21iaW5hdGlvbl9kZXJfS29udGFrdHNlbnNvcmVuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyQ3l0NSU3RFEuLWxuNzZtcnElMkZfdWhCJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb21tZW50JTIyJTIwaWQlM0QlMjJELTdzSDhXR0diRFdWZlpNKHBZVSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTU1FTlQlMjIlM0VHJUMzJUE0c3RlemltbWVyJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJrTShqKnhyVSU1RCkyJTQwcyU1RTNZJTJGcVIlM0YlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTI1KSUyMzRvYyU1RWIoaVNRR24tNUFsV3AlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJvaWQlMjIlM0UwX3VzZXJkYXRhLjAuRmVuc3Rlci5HJUMzJUE0c3RlemltbWVyLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyLiUyQlowKCU2MCUyNCUyRmZ3JTVEMyU1RCU3Q1ZMQnklN0R4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFYWxpYXMuMC5GZW5zdGVyLkclQzMlQTRzdGV6aW1tZXIuT2ZmZW4lM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMndiZ0cxbzhsZjVZKTIpdkh1SXolM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmpSZ2EzIWdEWHhBITRieEklM0JNeiU1RSUyMiUzRWsxJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMlhMciU3QyU2MCU2MHk3WGNHIV9lSVduJTYwYkMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJ+azglNDA3JTdEJTdDdyU3QiU1QiUyQiUzQVouaE9qN0x4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuRyVDMyVBNHN0ZXppbW1lci5WaXJ0dWVsbGVyX0tvbnRha3RzZW5zb3IlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjJ3KiUzRkhxJTJGJTJDUnV2SU9VKEN1cFI4MSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRTRlai0wbDYxNiU3REglM0FVJTYwVCUzQSU1RSU3QyUzQiUyMiUzRWsyJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZV92YXIlMjIlMjBpZCUzRCUyMl9CWl9tM0lmUmlTbSooJTJDRlhMciElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjIuRyUzQUVLaCUyNEYlM0FDOSUyM3MqSjcpMSU1RCU3RCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWFsaWFzLjAuRmVuc3Rlci5HJUMzJUE0c3RlemltbWVyLk9mZmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIySSUyRkE0WkNuUGglNUI5VH41Q2ElN0QlNDAlMjRhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyVCUyQjNpJTdEJTVCVjVQJTVFbGwlNjB2KDUlNURuJTVCNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyJTNCJTVCbjM4X2FOTVVFTSUzRl8xeEJNJTNCJTYwJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbXVsdGlfb3IlMjIlMjBpZCUzRCUyMjJ6QU4lN0NtJTNENnBLJTYwYVIlMjRGbWwlM0FEZyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMiUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT1IwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyRGM5NUs3WVBkJTNGbTZvSlhVJTJDOXpiJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19nZXQlMjIlMjBpZCUzRCUyMnAyTFpQSXYlN0IlM0FLMGtxJTdDMXhqR28lNDAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMmpSZ2EzIWdEWHhBITRieEklM0JNeiU1RSUyMiUzRWsxJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMm1mRElDRGslM0FpRyUzQWJQeHBwJTI0RyU3RDElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPUjElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJVZm01bUUlNUJTRFdlOHQlM0ZGQ2RIdyU1QiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfZ2V0JTIyJTIwaWQlM0QlMjJ2RUhFVHYlMjRvb2c5Q1h5RUkzJTVFRSU3QyUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyRTRlai0wbDYxNiU3REglM0FVJTYwVCUzQSU1RSU3QyUzQiUyMiUzRWsyJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMihOfiU1RTM0NiU3Q3pyb245JTI0VyUyQmhjbU4lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMnQlNURoJTVFJTNBTEoyVWxLandvdWElMjRCa1IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk0yTFZGYy5IWG0lM0JBNWF6QSUyQ25CJTI1JTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJWNklWNDQhM1ZhMDN5JTNCR09CbFI3JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlMjQlNUVjJTVCTG1ITyU3QmVLRWFKUi5OaElSJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuRyVDMyVBNHN0ZXppbW1lci5Lb21iaW5hdGlvbl9kZXJfS29udGFrdHNlbnNvcmVuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyJTI1ZW1WKCUyNVAlMjROflBndUZiV3ZVJTNCeiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTTJMVkZjLkhYbSUzQkE1YXpBJTJDbkIlMjUlMjIlM0VrJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29tbWVudCUyMiUyMGlkJTNEJTIyTGwlMjNldGk3MiU3RGpteW5jTCUyNE5jUkQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJDT01NRU5UJTIyJTNFU2NobGFmemltbWVyJTNDJTJGZmllbGQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjIoX1Z3JTVEKTczMlhnJTNEJTJCMCUyQmNOSSU3RGMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjIlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyWEVLSFQoQXU1YkpqfiUzRiUzQktMSiF0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuU2NobGFmemltbWVyLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQxJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyJTNGTjVwJTI1QyU3REQlNjBTZCElMjVBJTQwM0olN0IzRCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLlNjaGxhZnppbW1lci5vZmZlbl9nZXNjaGxvc3NlbiUyRmFuZ2VraXBwdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX3NldCUyMiUyMGlkJTNEJTIyZU1tSlBGdiF3MzhidFlpSyUzQWMlM0JMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJqUmdhMyFnRFh4QSE0YnhJJTNCTXolNUUlMjIlM0VrMSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjIlMjVPJTNCTzMtSUE5aCUyNSk2JTNENksuZyUzQiUzRiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMnR3WiUyQlhObmNhQyU0MGklNjAlMjQ0JTNGViUyQ0h0JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFMF91c2VyZGF0YS4wLkZlbnN0ZXIuU2NobGFmemltbWVyLlZpcnR1ZWxsZXJfS29udGFrdHNlbnNvciUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMkl2b1FRMGMlMkNSeHMyXzFKLW5KenMlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMkU0ZWotMGw2MTYlN0RIJTNBVSU2MFQlM0ElNUUlN0MlM0IlMjIlM0VrMiUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWVfdmFyJTIyJTIwaWQlM0QlMjJnJTNBJTNCME5KZVZPJTNBUlNTJTI1RXd1JTQwRiUyNCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFUVFIlMjIlM0V2YWwlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMi1PVVdofnN0OW5aJTNGKSUyNVl6bWpEdiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLlNjaGxhZnppbW1lci5vZmZlbl9nZXNjaGxvc3NlbiUyRmFuZ2VraXBwdCUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnZhcmlhYmxlc19zZXQlMjIlMjBpZCUzRCUyMkJNY34lMjVpZ0olM0IqZ2htTlRnJTI0VU9OJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJNMkxWRmMuSFhtJTNCQTVhekElMkNuQiUyNSUyMiUzRWslM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyTzNVciU1RCUyNVRtMyUyNWcoJTIzUyklMkJOMEclMjQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMmIlMjN3RlRBVHNVKSklNDB2V003Y0VVJTdEJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfbXVsdGlfb3IlMjIlMjBpZCUzRCUyMktIYSU1RCElMkIlN0IlM0J1JTdENkQ1JTI0UDZMKE4xJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwaXRlbXMlM0QlMjIyJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPUjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjIlN0MuUURISVREJTI0JTdDbk8lN0MlN0Rod2FZZlIlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyXzUlN0MlNDBCRSolN0IlN0Mzc0UlN0MlMkNiJTdCU28lNUJHJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJqUmdhMyFnRFh4QSE0YnhJJTNCTXolNUUlMjIlM0VrMSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJaNiE3ZnpQWEV5TSUyQk8tRyptMHZSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT1IxJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyR2ElM0RIV2NrVXppRFQlNDAxbSUyQ2dINyglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyQVJhJTdCVXd6ZWZvLSUyQjBYb0hHcklMJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVkFSJTIyJTIwaWQlM0QlMjJFNGVqLTBsNjE2JTdESCUzQVUlNjBUJTNBJTVFJTdDJTNCJTIyJTNFazIlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyJTJDSClnTlUtZiFXdmtwKCUzQkdsNlhFJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ2YXJpYWJsZXNfc2V0JTIyJTIwaWQlM0QlMjIlNjBwRUUlM0JURSUyNTQlMjNpLiElN0MlN0RsUDlDciUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlZBUiUyMiUyMGlkJTNEJTIyTTJMVkZjLkhYbSUzQkE1YXpBJTJDbkIlMjUlMjIlM0VrJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU2MHMqTTVjeSUyQnFwJTdDZmQwU3U0RyUzRkslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMk5uJTNGeVJydWpobVRYJTYwMH4lNURNUSUzQSUzRCUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRTBfdXNlcmRhdGEuMC5GZW5zdGVyLlNjaGxhZnppbW1lci5Lb21iaW5hdGlvbl9kZXJfS29udGFrdHNlbnNvcmVuJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydmFyaWFibGVzX2dldCUyMiUyMGlkJTNEJTIyd1ZPJTVCaSU3QzduOFd3aSglMkZSYUM1M2slMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJWQVIlMjIlMjBpZCUzRCUyMk0yTFZGYy5IWG0lM0JBNWF6QSUyQ25CJTI1JTIyJTNFayUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ4bWwlM0U=
-
// Wohnzimmer Tür zur Terrasse on({ id: [].concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor']).concat(['0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt']), change: 'ne' }, async (obj) => { const k1 = await getStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Virtueller_Kontaktsensor'); const k2 = await getStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.offen_geschlossen/angekippt'); const k = await getStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren'); await setStateAsync('0_userdata.0.Fenster.Wohnzimmer.Tür_zur_Terrasse.Kombination_der_Kontaktsensoren' /* Kombination der Kontaktsensoren Wohnzimmer Tür zur Terrasse */, (k1.val || k2.val) && !k.val ? true : false, true); });
Und alle Scripte prüfen, dass überall die States sauber mit ack gesetzt werden
-
@simatec sagte in Test Adapter shuttercontrol v1.7.x:
Und alle Scripte prüfen, dass überall die States sauber mit ack gesetzt werden
@guitardoc
übersetzt für Blockly:
nimm aktualisiere und nicht steuere -
@homoran Da mache ich doch mal ein wenig Werbung für unseren Matthias mit seinem befreundeten Youtubekanal.
@haus-automatisierung hat dazu ein schönes Video gemacht
-
@homoran said in Test Adapter shuttercontrol v1.7.x:
nimm aktualisiere und nicht steuere
Vielen Dank für die Info! Das werde ich gleich einbauen!
Ich hatte mich da an Blocklys für Dummies gehalten, wo stand, dass es (in den meisten Fällen) nur eine kosmetische Sache ist.Eine Frage noch - was muss ich in Blockly nehmen für await getStateAsync?
-
@guitardoc sagte in Test Adapter shuttercontrol v1.7.x:
dass es (in den meisten Fällen) nur eine kosmetische Sache ist.
Ist es leider oft nicht. Bitte einfach richtig machen und entweder die Werte selbst mit einem eigenen Script bestätigen (weil man etwas tun möchte, nachdem der Wert angesteuert wird) oder direkt bestätigt setzen.
Ersteres ist ja mit dem "neuen" bestätige-Baustein nochmal deutlich einfacher geworden:
Siehe https://forum.iobroker.net/topic/75237/javascript-8-5-2-blockly-10-bausteine-überarbeitet
-
@haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:
Ist es leider oft nicht.
Mittlerweile!!
die Info, dass Adapter nur noch bestätigte Werte in fremden Namespaces akzeptierrn ist relativ neu. -
@homoran Ne, schon immer (zumindest seit ich ioBroker kenne).
- Adapter reagieren immer nur auf unbestätigte Werte und
- in "fremde" Namespaces (außerhalb 0_userdata) schreibt man nie bestätigte Werte
Steht für mich auch noch auf ToDo, die Auswahl der Objekte dahingehend einzuschränken im JavaScript-Adapter. Also dass man im Steuere-Baustein nur Datenpunkte sieht, welche
write: true
definiert haben (und somit auch jemand darauf hört).Genauso arbeiten ja viele Adapter nur mit bestätigten Werten, wenn diese weiterverarbeitet werden. Der statistics-Adapter (und viele weitere meiner Adapter) ignorieren z.B. alles, was nicht bestätigt ist. Weil der Wert ja potenziell "falsch" ist.
EDIT: Gerade geschaut. Der statistics-Adapter macht das seit 7+ Jahren so (seit Version 0.0.2: https://github.com/iobroker-community-adapters/ioBroker.statistics/blob/8a72dbf16a0b6e0244cac8f3e939a180c794ac72/main.js#L996-L997)
-
@haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:
Ne, schon immer
Auch wenn's OT ist, das sollte man richtigstellen!
Du vermischst da anscheinend noch weitere Informationen.@haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:
Adapter reagieren immer nur auf unbestätigte Werte
..in den jeweiligen Adapternamespaces!
d'accord!@haus-automatisierung sagte in Test Adapter shuttercontrol v1.7.x:
in "fremde" Namespaces (außerhalb 0_userdata) schreibt man nie bestätigte Werte
ähm, zuviel Infos in einem Satz!
- Es gab eine lange Zeit vor 0_userdata.0!! da konnte man überall reinschreiben
- mache ich heute noch (Messwerte.0 und Systemvariablen.0)
- natürlich nicht in Adapternamespaces!
- Es wurde nie verboten dort unbestätigt zu schreiben
Es geht aber hier darum, dass Adapter wie z.B. shuttercontrol auch auf States in 0_userdata.0 oder alias.0 zugreift und dort nur noch bestätigte Werte akzeptiert!
DAS ist relativ neu.Ich kann mich noch an einen Thread erinnern, von dem ich fast nichts verstanden habe, in dem das ziemlich kontrovers diskutiert wurde.
- Es gab eine lange Zeit vor 0_userdata.0!! da konnte man überall reinschreiben
-
@haus-automatisierung Ich bin bei Javascript auf Version 8.7.6 und da ist der Baustein nicht drin, oder übersehe ich den?
-
@homoran sagte in Test Adapter shuttercontrol v1.7.x:
Es geht aber hier darum, dass Adapter wie z.B. shuttercontrol auch auf States in 0_userdata.0 oder alias.0 zugreift und dort nur noch bestätigte Werte akzeptiert!
DAS ist relativ neu.Ja, habe ich editiert mit einem Beispiel zu statistics, welches 7+ Jahre alt ist.
Wäre ja auch total falsch (aus meiner Sicht), wenn man z.B. ein Relais als Status "offen" loggt (oder die Zeit zählt wie lange das Gerät in Betrieb ist), aber der Befehl nie verarbeitet wurde, weil der Wert nie beim Gerät angekommen ist (unbestätigt wurde).
Oder man zeigt auf einem Geräte wie der LaMetric Time oder der TC001 (mit Awtrix 3) einen Wert an, welcher gar nicht der Realität entspricht, weil z.B. die Hue-Bridge offline war und gar nix geschaltet hat = unbestätigt.