NEWS
[neuer Adapter] smartgarden adapter for Gardena smart system
-
@jpgorganizer Ich habe den Error 429 nun auch nicht mehr im Log
-
Ich hatte mich vor ein paar Tagen an den Gardena Support gewandt, vielleicht hat es ja geholfen?
Auch bei mir war die letzte Unterbrechung am 29.07. gegen 15h. Hoffen wir mal
-
@netfriend sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
ch hatte mich vor ein paar Tagen an den Gardena Support gewandt, vielleicht hat es ja geholfen?
da wirst du nicht der Einzige gewesen sein.
Hast du von dort eine Antwort erhalten?
-
@jpgorganizer Ja, ich habe eine freundliche Antwort erhalten. Ist ja gut, wenn sich mehrere Leute dort melden. Dann erweckt es nicht Eindruck, das Problem liegt beim Einzelnen sondern doch eher auf Seiten des Herstellers.
-
Seit gestern 15:17 Uhr auch kein Error 429 im Log mehr. Auf ein entspanntes Bewässern.
-
Bei mir ist der Error 429 jetzt eigentlich auch wieder weg..
Dafür bekomme ich immer mal wieder einen errer 400
smartgarden.0
2022-08-03 11:01:29.579 error Error: request returned 400 Bad RequestWenn ich dann die Instanz neu starte, ist alles wieder ok...
???
-
@mameier1234 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Dafür bekomme ich immer mal wieder einen errer 400
das ist ein allgemeiner Fehler den Gardena ausgibt. Der Adapter kann da nichts machen. Versuch mal den Befehl neu zu senden statt den Adapter zu stoppen und wieder zu starten.
-
@jpgorganizer wie könnte ich denn abfangen, dass der Befehl nicht kam ? damit ich nur bei Bedarf neu sende ?
-
@mameier1234 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
@jpgorganizer wie könnte ich denn abfangen, dass der Befehl nicht kam ? damit ich nur bei Bedarf neu sende ?
du solltest sowieso
activity_value
überwachen, denn sonst weißt du ja nie, ob der befehl ausgeführt wurde. Nur weil er vom Server akzeptiert wurde, muss z.B. ein Ventil noch lange nicht geöffnet werdenIst das immer der gleiche Befehl, der auf einen Error 400 rausläuft oder sind das verschiedene befehle? Mach mal bitte Beispiele und ggfs. Logs mit Level 3
Ich habe gerade alle Logs seit 29.7. durchgesehen. Ich habe keine Error 400 und auch keine anderen drin. Und ich habe täglich verschiedenste Befehle angestossen. -
@jpgorganizer
Ich steuere die Duration_value eines Bewässerungsventils an... klappt 100x hintereinander.. wenn dann aber ein paar Stunden ins Land gehen, dann kommt immer wieder mal der Fehler 400... der geht erst weg, wenn ich die Instanz neu starte...Logs muss ich noch provozieren / erzeugen.
-
@mameier1234 sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Ich steuere die Duration_value eines Bewässerungsventils an.
immer mit dem gleichen Wert? Machst du das manuell?
wenn dann aber ein paar Stunden ins Land gehen, dann kommt immer wieder mal der Fehler 400... der geht erst weg, wenn ich die Instanz neu starte...
Was heißt "ein paar Stunden ins Land gehen"? Siehst du eine Zeitabhängigkeit?
Woher weißt du, dass der dann nur weggeht, wenn du neu startest? Was hast du sonst so versucht?Mach mal ein Log - Level 3 einschalten!
-
Ich benutze den Adapter "Gartenbewässerung" ..
Der bewässert morgens um 7.00 und abends um 21.00 meinen Garten.. Das sind die "paar Stunden"
manchmal klappt alles, manchmal kommt aber eben der Fehler 400 , wenn ein Ventil schalten soll.. Wenn ich das Ventil dann manuell über den Adapter nochmal schalten will.. wieder 400...
Dann Instanz neu starten und alles klappt wieder...
Log kommt.. aber heute nicht mehr.. ich geniese jetzt erstmal die Family
-
Hallo Freunde des automatisierten Gartens
Ich bin aktuell erst an der Evaluation und habe habe von meinem Nachbar dankenswerterweise mal einen Anbindungsversuch auf sein Gardena-System machen können.
Ich kann die Daten der API auslesen:
Leider habe ich es nicht geschafft eine Bewässerung zu starten. Soweit ich mich richtig eingelesen habe, müsste ich bei "duration_value" einen Wert in Sekunden eintragen. braucht es noch mehr? Es hat leider nicht funktioniert. Wo könnte ich nachforschen?
Grüsse
Michael -
@mimei doch... das ist schon richtig...
Allerdings sollten es nicht nur 5 sekunden sein, sondern mindestens 60 .. oder 120 ... Denke in Minuten !
-
@mameier1234 Die Schnittstelle zwischen SprinkleControl und Smartgarden habe ich über ein kleines Blockly gelöst, welches hier im Forum und auf github beschrieben wird.
on({id: [].concat(['javascript.0.SprinkleControl.Rasen_Terasse']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.SprinkleControl.Rasen_Terasse").val == true) { console.log('SprinkleControl startet Bewässerung Rasen_Terasse'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A6.duration_value"/*duration_value*/, 3540); } if (getState("javascript.0.SprinkleControl.Rasen_Terasse").val == false) { console.log('SprinkleControl beendet Bewässerung Rasen_Terasse'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A6.duration_value"/*duration_value*/, 'STOP_UNTIL_NEXT_TASK'); } }); on({id: [].concat(['javascript.0.SprinkleControl.Rasen_Oben']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.SprinkleControl.Rasen_Oben").val == true) { console.log('SprinkleControl startet Bewässerung Rasen_Oben'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A5.duration_value"/*duration_value*/, 3540); } if (getState("javascript.0.SprinkleControl.Rasen_Oben").val == false) { console.log('SprinkleControl beendet Bewässerung Rasen_Oben'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A5.duration_value"/*duration_value*/, 'STOP_UNTIL_NEXT_TASK'); } }); on({id: [].concat(['javascript.0.SprinkleControl.Rasen_Küche']), change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.SprinkleControl.Rasen_Küche").val == true) { console.log('SprinkleControl startet Bewässerung Rasen_Küche'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A4.duration_value"/*duration_value*/, 3540); } if (getState("javascript.0.SprinkleControl.Rasen_Küche").val == false) { console.log('SprinkleControl beendet Bewässerung Rasen_Küche'); setState("smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A4.duration_value"/*duration_value*/, 'STOP_UNTIL_NEXT_TASK'); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9leHQlMjIlMjBpZCUzRCUyMmguTXRhTlFJMEgoSyU2MCU1QjR3ZW5XfiUyMiUyMHglM0QlMjIzOCUyMiUyMHklM0QlMjIxMyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJZUCUyRlB3WnElMjUxOXBORHdJUUhGTCUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWphdmFzY3JpcHQuMC5TcHJpbmtsZUNvbnRyb2wuUmFzZW5fVGVyYXNzZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMk1vKnQlMjVUdVppJTI1UEYlNjA4ViU1RUdJJTYwLiUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMiU1QlZJdEg3c2VQWklUMlJRR1BuKWklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjIlMkMlMjViRSUyQiUzRipTJTVEJTJCU0VVJTYwJTYwJTdEISU3Q2o4JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9UZXJhc3NlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMiU3Qk8wNmIqZkdWQSU1RCU1RDglM0FfJTNCSihkdSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VUUlVFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyZC0xb3hXa2FJTnRzVWVjISUzRiU3QzUlM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjI5elMlMkZTJTdDdGdNczQ4Y2MlNDBDJTQwVyU2MDglMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU3ByaW5rbGVDb250cm9sJTIwc3RhcnRldCUyMEJldyVDMyVBNHNzZXJ1bmclMjBSYXNlbl9UZXJhc3NlJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJrJTVEQ3dlJTI1biUzRCUzQWRKVlI2NCU3Q0RuWnAlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VzbWFydGdhcmRlbi4wLkxPQ0FUSU9OXzkxNGU2MmE3LTJENTM0Ni0yRDRlZmYtMkQ5N2I5LTJEYjcyOTEyOWEzMjhhLkRFVklDRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC5TRVJWSUNFX1ZBTFZFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLTNBNi5kdXJhdGlvbl92YWx1ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjIlNDAyRSUzRCU1RW8hZ0ElM0QlNDBySk44ayU2MCUyM2QhJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMzU0MCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjIlN0ROJTNGJTdDZC5UMCUzREMlMkMlMkZQJTJCY1ZsN0clN0MlMjIlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJJRjAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19jb21wYXJlJTIyJTIwaWQlM0QlMjJPKlBleEMlM0QtOXJQUSUyQiU3Q0lqWnclMkMpJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT1AlMjIlM0VFUSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmdldF92YWx1ZSUyMiUyMGlkJTNEJTIyZE4hZiUzQUklMjQwbWF4ekxmaGIzakQlM0ElMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuU3ByaW5rbGVDb250cm9sLlJhc2VuX1RlcmFzc2UlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyc0NQYmFpdG9xREUlN0IlMkZhITNubmozJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyJTNEJTdCcDQzaiUyRkQxR1VEN082X29UbnklMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ5YiU3QyUzQSUzRCU1RGoxYSU3Q2xPJTYwKnhnSWo1aiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VTcHJpbmtsZUNvbnRyb2wlMjBiZWVuZGV0JTIwQmV3JUMzJUE0c3NlcnVuZyUyMFJhc2VuX1RlcmFzc2UlM0MlMkZmaWVsZCUzRSUzQyUyRnNoYWRvdyUzRSUzQyUyRnZhbHVlJTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2wlMjIlMjBpZCUzRCUyMmFUJTdDbUslMkMzLnRsaHIpdSU2MEVWY0YlMjQlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VzbWFydGdhcmRlbi4wLkxPQ0FUSU9OXzkxNGU2MmE3LTJENTM0Ni0yRDRlZmYtMkQ5N2I5LTJEYjcyOTEyOWEzMjhhLkRFVklDRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC5TRVJWSUNFX1ZBTFZFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLTNBNi5kdXJhdGlvbl92YWx1ZSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMjE0JTJGTDUlM0R3KSUyNFN3bGclM0IlMjN0MUFzISUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlRFWFQlMjIlM0VTVE9QX1VOVElMX05FWFRfVEFTSyUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjIlMjVoMiU1REZjJTJCS1VrJTVCKmVmJTdCeUhTYmolMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRW5lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBQ0tfQ09ORElUSU9OJTIyJTNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJPSUQwJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMmZpZWxkX29pZCUyMiUyMGlkJTNEJTIyaDElMkIlNUQlNURvMG9iJTI1WVVOZElEaW4lNUVOJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyb2lkJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIycUlOJTVFJTdCeCElMkNxV1BsJTdEYzElNjB6JTI1JTVEJTIzJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyWFIyQnBFZjlyOGwlMkNUJTNBUFBHNSUzQiUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyNEdaTX5vZ1YlNUVUKlZDZ25FXy4lMkNwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMnYzKHNCRG16VDcqJTdEdiUyMzRwKmolM0QoJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjIlNURlVXRhVSU1RUVyaTEyY2FXKUpDZVYlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJ6UFElM0Y5eiUzQVNtRElDYXBTT3pXKHQlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU3ByaW5rbGVDb250cm9sJTIwc3RhcnRldCUyMEJldyVDMyVBNHNzZXJ1bmclMjBSYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjI2NEtIRCU1RDBMYlFIc1FuJTdEQS5SJTI1QSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNtYXJ0Z2FyZGVuLjAuTE9DQVRJT05fOTE0ZTYyYTctMkQ1MzQ2LTJENGVmZi0yRDk3YjktMkRiNzI5MTI5YTMyOGEuREVWSUNFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLlNFUlZJQ0VfVkFMVkVfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQtM0E1LmR1cmF0aW9uX3ZhbHVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMmNwSEdsaCFmfnd4eGJhJTdEVlNsLlolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOVU0lMjIlM0UzNTQwJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMihzJTdCRks1MDU0JTdEYkVWXyU3QkVtMUljJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyJTVCa0IlN0RrJTJCMi4wYmdHJTIzWm5NbkV6NCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMm0wJTYwJTI1bzYlNURMdWt4eDhkJTdEJTVCQyUyMyUzRjAlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJBVFRSJTIyJTNFdmFsJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VqYXZhc2NyaXB0LjAuU3ByaW5rbGVDb250cm9sLlJhc2VuX09iZW4lM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJCJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfYm9vbGVhbiUyMiUyMGlkJTNEJTIyfnJvJTI0MCUyNVQ1JTI0OHlzR3pHJTNGbHlDTSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkJPT0wlMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZGVidWclMjIlMjBpZCUzRCUyMiUyNSUzRklqJTYwd3glM0JvJTdEWiUzRk8lMjRJb1ZRd2wlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIxfiUyM3VzUSpmMUFqJTI0dFRuSDZpaGclMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU3ByaW5rbGVDb250cm9sJTIwYmVlbmRldCUyMEJldyVDMyVBNHNzZXJ1bmclMjBSYXNlbl9PYmVuJTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjJGJTI0bnJTcE0lNUVTTGolMkYlMkZoJTNBViUzQU0lNUVBJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hcnRnYXJkZW4uMC5MT0NBVElPTl85MTRlNjJhNy0yRDUzNDYtMkQ0ZWZmLTJEOTdiOS0yRGI3MjkxMjlhMzI4YS5ERVZJQ0VfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQuU0VSVklDRV9WQUxWRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC0zQTUuZHVyYXRpb25fdmFsdWUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjJUY00lM0FMJTYwbiE0JTNGekg5JTJGJTNBMCo5WWslMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJURVhUJTIyJTNFU1RPUF9VTlRJTF9ORVhUX1RBU0slM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm9uX2V4dCUyMiUyMGlkJTNEJTIycyltNXolN0I4UVY5JTYwciU1REJHUnE5JTdCeSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGl0ZW1zJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQ09ORElUSU9OJTIyJTNFbmUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkFDS19DT05ESVRJT04lMjIlM0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMk9JRDAlMjIlM0UlM0NzaGFkb3clMjB0eXBlJTNEJTIyZmllbGRfb2lkJTIyJTIwaWQlM0QlMjJlUklwZ0tzRGR0ZmUlM0IoSiUzQSUyNUd+ViUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRWphdmFzY3JpcHQuMC5TcHJpbmtsZUNvbnRyb2wuUmFzZW5fSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyU1RBVEVNRU5UJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbHNfaWYlMjIlMjBpZCUzRCUyMlUpeGQ0aiU3QlElM0YuUDElNDAlMkJTZCUyM3BJTyUyMiUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMklGMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2NvbXBhcmUlMjIlMjBpZCUzRCUyMjN4dXljREFkMmNwYUVRMGIoJTdDKG0lMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPUCUyMiUzRUVRJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJBJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyZ2V0X3ZhbHVlJTIyJTIwaWQlM0QlMjJGKGREJTI1OFJ6MSUzRDhKJTJDT18lN0Npem90JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMkl4V3V4JTdCSiUzRlIlM0FRJTI1R2NfYWIlNjAlNDBwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRVRSVUUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMkRPMCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmRlYnVnJTIyJTIwaWQlM0QlMjJBJTI0JTNGSzklM0QlMjVGSFlnJTJCSCF3JTNGSiUyM2ElN0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJTZXZlcml0eSUyMiUzRWxvZyUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJ0ZXh0JTIyJTIwaWQlM0QlMjIlM0R1JTdCUSU2MExnSnglNDBKXzMlMjNONColM0JIJTJGJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNwcmlua2xlQ29udHJvbCUyMHN0YXJ0ZXQlMjBCZXclQzMlQTRzc2VydW5nJTIwUmFzZW5fSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIydFJ2THdxIWlMTlJqfl8lNURvVyU1QkhLJTIyJTNFJTNDbXV0YXRpb24lMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMTk5OSUyRnhodG1sJTIyJTIwZGVsYXlfaW5wdXQlM0QlMjJmYWxzZSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFc21hcnRnYXJkZW4uMC5MT0NBVElPTl85MTRlNjJhNy0yRDUzNDYtMkQ0ZWZmLTJEOTdiOS0yRGI3MjkxMjlhMzI4YS5ERVZJQ0VfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQuU0VSVklDRV9WQUxWRV81ZmU3NTAwNC0yRDUyZDAtMkQ0ZDUyLTJEOWQzNy0yRGZhNDg1YTAxMTFiZC0zQTQuZHVyYXRpb25fdmFsdWUlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyM2tpcyUyRnBmJTdEMFlWaWhsWVV0aW5HJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMzU0MCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDbmV4dCUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmNvbnRyb2xzX2lmJTIyJTIwaWQlM0QlMjJ1M290WHF3Wk1JeHolMjVtaHN0dmZBJTIyJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyeHd2VW9NJTI0VSkycll+b00uOGFYbiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJnZXRfdmFsdWUlMjIlMjBpZCUzRCUyMiUyQkJvdShDSlklMjN+KDNWNCUzQnB5NjFLJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXZhbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyT0lEJTIyJTNFamF2YXNjcmlwdC4wLlNwcmlua2xlQ29udHJvbC5SYXNlbl9LJUMzJUJDY2hlJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyQiUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMmxvZ2ljX2Jvb2xlYW4lMjIlMjBpZCUzRCUyMk16S0owaCUzRDUlNUUxN1IlMjVTZHdSVVFwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQk9PTCUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJETzAlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJkZWJ1ZyUyMiUyMGlkJTNEJTIyNiUyRlFOJTdCRW43VnU3JTQwUEwlN0MlMjQlN0MoWCUyQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMlNldmVyaXR5JTIyJTNFbG9nJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJURVhUJTIyJTNFJTNDc2hhZG93JTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMnVuUzFNOSU3QiU1Qk5ZUCUyNXh+ZGV3akRwJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNwcmlua2xlQ29udHJvbCUyMGJlZW5kZXQlMjBCZXclQzMlQTRzc2VydW5nJTIwUmFzZW5fSyVDMyVCQ2NoZSUzQyUyRmZpZWxkJTNFJTNDJTJGc2hhZG93JTNFJTNDJTJGdmFsdWUlM0UlM0NuZXh0JTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIyTFklM0RxbVdGJTVCJTNCUGRqMkFQc2x6JTJGTSUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRXNtYXJ0Z2FyZGVuLjAuTE9DQVRJT05fOTE0ZTYyYTctMkQ1MzQ2LTJENGVmZi0yRDk3YjktMkRiNzI5MTI5YTMyOGEuREVWSUNFXzVmZTc1MDA0LTJENTJkMC0yRDRkNTItMkQ5ZDM3LTJEZmE0ODVhMDExMWJkLlNFUlZJQ0VfVkFMVkVfNWZlNzUwMDQtMkQ1MmQwLTJENGQ1Mi0yRDlkMzctMkRmYTQ4NWEwMTExYmQtM0E0LmR1cmF0aW9uX3ZhbHVlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGV4dCUyMiUyMGlkJTNEJTIyRjklMjUoeDhmJTNGNDNTbTNYYyU1RSUzQSUyQjBSJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRVNUT1BfVU5USUxfTkVYVF9UQVNLJTNDJTJGZmllbGQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnZhbHVlJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGbmV4dCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGeG1sJTNF
-
@jpgorganizer Ich musste ähnlich wie @mameier1234 feststellen, dass heute Nacht nur 1 von 3 Ventile angesteuert wurden. Aus den Logs werde ich nicht schlau. Hast du einen heißen Tipp für mich/uns?
Ventil 1 hätte um 3 Uhr geöffnet werden soll:
03:00:00.178 info: javascript.0 (17790) script.js.SprinkleControl.SprinkleControl_Hilfsfunktion: SprinkleControl startet Bewässerung Rasen_Terasse 03:00:00.179 warn: javascript.0 (17790) You are assigning a number to the state "smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A6.duration_value" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions. 03:00:00.190 warn: javascript.0 (17790) at Object. (script.js.SprinkleControl.SprinkleControl_Hilfsfunktion:6:5) 03:00:00.204 info: javascript.0 (17790) State value to set for "smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A6.duration_value" has to be type "string" but received type "number" 03:00:00.221 info: sprinklecontrol.0 (20159) Set (calculation) ID: Rasen_Terasse, value: true, duration: 45:11 03:00:01.115 info: sprinklecontrol.0 (20159) Start zur festen Zeit (Fr) um 03:00 03:00:20.254 info: smartgarden.0 (20048) 2/ Valve command failure, options.url=https://api.smart.gardena.dev/v1/command/5fe75004-52d0-4d52-9d37-fa485a0111bd:6 03:00:20.254 info: smartgarden.0 (20048) 2/ Valve command failure: return with error 03:00:20.254 info: smartgarden.0 (20048) 2/ Valve command failure. No response 03:00:20.255 error : smartgarden.0 (20048) Error: Valve command failure. No response 03:04:54.434 info: smartgarden.0 (20048) 2/ ++ Closing connection. Reason: Too many missed heartbeats. 03:05:24.438 info: smartgarden.0 (20048) 2/ on_close: ### closed ### close.code=1006 close.reason= 03:05:24.439 info: smartgarden.0 (20048) 2/ on_close: trying to reconnect 03:05:24.439 info: smartgarden.0 (20048) 2/ reconnect! 03:05:24.440 info: smartgarden.0 (20048) 2/ reconnectWithRefreshToken!!!!
Ventil 2 hätte um 03:45 Uhr geöffnet werden sollen
03:40:24.696 info: smartgarden.0 (20048) 2/ Connection failure. 03:40:24.696 info: smartgarden.0 (20048) 2/ Connection failure:..return with error 03:40:24.697 error : smartgarden.0 (20048) Error: no connect response 03:40:24.697 info: smartgarden.0 (20048) 2/ getConnection: returned connection error: no connect response 03:40:24.697 info: smartgarden.0 (20048) 2/ getConnection: trying to connect again in 300 seconds 03:45:13.667 info: javascript.0 (17790) script.js.SprinkleControl.SprinkleControl_Hilfsfunktion: SprinkleControl beendet Bewässerung Rasen_Terasse 03:45:13.676 error : smartgarden.0 (20048) Error: sendCommand: command not send, because not connected to Gardena Webservice 03:45:13.741 info: sprinklecontrol.0 (20159) Set (calculation) ID: Rasen_Terasse, value: false 03:45:16.654 info: javascript.0 (17790) script.js.SprinkleControl.SprinkleControl_Hilfsfunktion: SprinkleControl startet Bewässerung Rasen_Oben 03:45:16.656 info: sprinklecontrol.0 (20159) Set (calculation) ID: Rasen_Oben, value: true, duration: 34:58 03:45:16.654 warn: javascript.0 (17790) You are assigning a number to the state "smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A5.duration_value" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions. 03:45:16.659 warn: javascript.0 (17790) at Object. (script.js.SprinkleControl.SprinkleControl_Hilfsfunktion:18:5) 03:45:16.669 info: javascript.0 (17790) State value to set for "smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A5.duration_value" has to be type "string" but received type "number" 03:45:16.677 error : smartgarden.0 (20048) Error: sendCommand: command not send, because not connected to Gardena Webservice 03:45:24.698 info: smartgarden.0 (20048) 2/ getConnection... 03:45:24.698 info: smartgarden.0 (20048) 2/ connectToGardena... 03:45:24.699 info: smartgarden.0 (20048) 2/ connecting to Gardena Smart System Service ... 03:45:24.699 info: smartgarden.0 (20048) 2/ Gardena Smart System Service hosts at: smart_host: https://api.smart.gardena.dev authentication_host: https://api.authentication.husqvarnagroup.dev 03:45:24.700 info: smartgarden.0 (20048) 2/ connect ... empty application secret 03:45:24.700 info: smartgarden.0 (20048) 2/ connect ... using password grant 03:45:24.727 info: smartgarden.0 (20048) 2/ Connection failure: return with error 03:45:24.727 info: smartgarden.0 (20048) 2/ Connection failure. 03:45:24.728 info: smartgarden.0 (20048) 2/ Connection failure:..return with error 03:45:24.728 error : smartgarden.0 (20048) Error: no connect response 03:45:24.729 info: smartgarden.0 (20048) 2/ getConnection: returned connection error: no connect response 03:45:24.729 info: smartgarden.0 (20048) 2/ getConnection: trying to connect again in 300 seconds 03:50:24.730 info: smartgarden.0 (20048) 2/ getConnection... 03:50:24.731 info: smartgarden.0 (20048) 2/ connectToGardena... 03:50:24.731 info: smartgarden.0 (20048) 2/ connecting to Gardena Smart System Service ... 03:50:24.731 info: smartgarden.0 (20048) 2/ Gardena Smart System Service hosts at: smart_host: https://api.smart.gardena.dev authentication_host: https://api.authentication.husqvarnagroup.dev 03:50:24.732 info: smartgarden.0 (20048) 2/ connect ... empty application secret
Ventil 3 um 4:20 Uhr <- da hat es dann geklappt
04:17:55.931 info: smartgarden.0 (20048) 2/ on_pong: ++ pong'ed ++ 04:20:13.782 info: javascript.0 (17790) script.js.SprinkleControl.SprinkleControl_Hilfsfunktion: SprinkleControl beendet Bewässerung Rasen_Oben 04:20:13.831 info: sprinklecontrol.0 (20159) Set (calculation) ID: Rasen_Oben, value: false 04:20:14.754 info: smartgarden.0 (20048) 2/ Valve command successful. options.url=https://api.smart.gardena.dev/v1/command/5fe75004-52d0-4d52-9d37-fa485a0111bd:5 response.statusCode/Message=202/Accepted 04:20:16.716 info: javascript.0 (17790) script.js.SprinkleControl.SprinkleControl_Hilfsfunktion: SprinkleControl startet Bewässerung Rasen_Küche 04:20:16.717 info: sprinklecontrol.0 (20159) Set (calculation) ID: Rasen_Küche, value: true, duration: 45:11 04:20:16.716 warn: javascript.0 (17790) You are assigning a number to the state "smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A4.duration_value" which expects a string. Please fix your code to use a string or change the state type to number. This warning might become an error in future versions. 04:20:16.721 warn: javascript.0 (17790) at Object. (script.js.SprinkleControl.SprinkleControl_Hilfsfunktion:30:5) 04:20:16.734 info: javascript.0 (17790) State value to set for "smartgarden.0.LOCATION_914e62a7-2D5346-2D4eff-2D97b9-2Db729129a328a.DEVICE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd.SERVICE_VALVE_5fe75004-2D52d0-2D4d52-2D9d37-2Dfa485a0111bd-3A4.duration_value" has to be type "string" but received type "number" 04:20:17.599 info: smartgarden.0 (20048) 2/ Valve command successful. options.url=https://api.smart.gardena.dev/v1/command/5fe75004-52d0-4d52-9d37-fa485a0111bd:4 response.statusCode/Message=202/Accepted 04:20:18.123 info: smartgarden.0 (20048) 2/ parseMessage: VALVE_SET found 04:20:18.123 info: smartgarden.0 (20048) 2/ setServiceStates: relationship searching 04:20:18.128 info: smartgarden.0 (20048) 2/ parseMessage: VALVE found
-
@saschas sagte in [neuer Adapter] smartgarden adapter for Gardena smart system:
Hast du einen heißen Tipp für mich/uns?
ein Log mit Level 3 könnte mehr Aufschluss geben
Du hast ein Verbindungsproblem. Les mal die Logausgaben.
-
@jpgorganizer Hab jetzt das Loglevel auf 3 geändert.
Connection failure: return with error
Hoffentlich ist man dann beim nächsten Mal schlauer. Ich tue mir schwer auf den Logs jetzt irgendwas erkennen zu können.
-
du hast die LoginProcedur noch nicht umgestellt auf Application Secret und API-Key. Es gibt von mir keinen Support mehr für Login mit USername + Passwort. .... Steht auch im Readme
-
@jpgorganizer Danke für den Tipp! Das war mir gar nicht so bewusst, dass bei mir der Adapter nicht auf Application Secret und API-Key läuft. Als ich den Adapter seinerseits installiert habe, habe ich offenbar nur Application Key, aber nicht den Application Secret eingetragen gehabt.
Warum weiß ich auch nicht. Die Informationen waren ja da...
Also mal kurz die Daten eingetragen. Adapter neugestartet. Jetzt abwarten bis zum nächsten Triggerpunkt. Erstmal schauen die Logins fehlerfrei aus
smartgarden.0 2022-08-04 12:54:57.833 info 3/ get_locations ... smartgarden.0 2022-08-04 12:54:57.832 info 3/ connected ... auth_data=eyJhXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXX-XXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-XXXX-XXXXXXXXXXXXXX smartgarden.0 2022-08-04 12:54:57.830 info 3/ Connection: expires_in/timeout/factor:86399 / 86485 / 1.001 smartgarden.0 2022-08-04 12:54:57.829 info 3/ Connection: successful: response.statusCode / statusMessage=200 / OK smartgarden.0 2022-08-04 12:54:57.745 info 3/ ---> State change by device: state sg.0.info.adapterversion changed: 2.0.0 (ack = true) smartgarden.0 2022-08-04 12:54:57.659 info 3/ ---> State change by device: state sg.0.info.revision changed: Main: 2831 / API: 2831 (ack = true) smartgarden.0 2022-08-04 12:54:57.655 info 3/ ---> State change by device: state sg.0.info.connection changed: false (ack = true) smartgarden.0 2022-08-04 12:54:57.647 info 3/ ---> State change by device: state sg.0.info.connection changed: false (ack = true) smartgarden.0 2022-08-04 12:54:57.637 info 3/ sgSetState: info.revision value=Main: 2831 / API: 2831 ack=true smartgarden.0 2022-08-04 12:54:57.562 info 3/ connect ... using client credentials grant smartgarden.0 2022-08-04 12:54:57.561 info 3/ connect ... empty password smartgarden.0 2022-08-04 12:54:57.560 info 3/ connect ... empty username smartgarden.0 2022-08-04 12:54:57.560 info 3/ Gardena Smart System Service hosts at: smart_host: https://api.smart.gardena.dev authentication_host: https://api.authentication.husqvarnagroup.dev smartgarden.0 2022-08-04 12:54:57.559 info 3/ connecting to Gardena Smart System Service ... smartgarden.0 2022-08-04 12:54:57.557 info 3/ sgSetState: info.connection value=false ack=true smartgarden.0 2022-08-04 12:54:57.553 info 3/ connectToGardena... smartgarden.0 2022-08-04 12:54:57.551 info 3/ getConnection... smartgarden.0 2022-08-04 12:54:57.488 info starting. Version 2.0.0 in /opt/iobroker/node_modules/iobroker.smartgarden, node: v14.19.3, js-controller: 4.0.23 smartgarden.0 2022-08-04 12:54:51.480 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason smartgarden.0 2022-08-04 12:54:51.479 info terminating
DANKE!!!