NEWS
Adapter: Worx Landroid v2.x.x
-
Seit dem js controller update auf 4.0.24 kommt jede Nacht um 00:01 diese Error…
Hat das noch jemand?
host.iobroker 2023-01-20 00:01:00.787 error instance system.adapter.worx.0 terminated with code 6 (UNCAUGHT_EXCEPTION) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: at processImmediate (node:internal/timers:466:21) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5919:53) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: at Worx.emit (node:domain:489:12) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: at Worx.emit (node:events:513:28) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: at Worx.onStateChange (/opt/iobroker/node_modules/iobroker.worx/main.js:967:26) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: at Worx.changeMowerCfg (/opt/iobroker/node_modules/iobroker.worx/main.js:1305:32) host.iobroker 2023-01-20 00:01:00.787 error Caught by controller[1]: TypeError: Cannot read properties of null (reading 'payload') host.iobroker 2023-01-20 00:01:00.786 error Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: worx.0 2023-01-20 00:01:00.178 error Cannot read properties of null (reading 'payload') worx.0 2023-01-20 00:01:00.178 error TypeError: Cannot read properties of null (reading 'payload') at Worx.changeMowerCfg (/opt/iobroker/node_modules/iobroker.worx/main.js:1305:32) at Worx.onStateChange (/opt/iobroker/node_modules/iobroker.worx/main.js:967:26) at Worx.emit (node:events:513:28) at Worx.emit (node:domain:489:12) at Immediate.<anonymous> (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:5919:53) at processImmediate (node:internal/timers:466:21) worx.0 2023-01-20 00:01:00.071 error unhandled promise rejection: Cannot read properties of null (reading 'payload') worx.0 2023-01-20 00:01:00.064 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
-
Ja, hab den Adapter aber zur Zeit deaktiviert da Onkel im Winterschlaf ist…
-
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Seit dem js controller update auf 4.0.24 kommt jede Nacht um 00:01 diese Error…
Hat das noch jemand?
Kann das gerade nicht bestätigen da mein Adapter deaktiviert ist. Habe das Thema schon gefunden und kann das zum Saisonbeginn fixen.
Allerdings muss ich mir die Frage stellen, warum dieser Fehler kommt...Hat da Worx schon wieder was geändert...
Der Fehler kommt um 00:01 weil du den Blockly aus diesem Forum für VIS-Anzeige verwendest...Gruß//Lucky
-
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Seit dem js controller update auf 4.0.24 kommt jede Nacht um 00:01 diese Error…
Hat das noch jemand?
Kann das gerade nicht bestätigen da mein Adapter deaktiviert ist. Habe das Thema schon gefunden und kann das zum Saisonbeginn fixen.
Allerdings muss ich mir die Frage stellen, warum dieser Fehler kommt...Hat da Worx schon wieder was geändert...
Der Fehler kommt um 00:01 weil du den Blockly aus diesem Forum für VIS-Anzeige verwendest...Gruß//Lucky
Ja das habe ich mittlerweile auch rausgefunden. Aber auch wenn ich einen wert im calender manuell in Objekte ändere kommt es auch zum absturzt.
Mein Robby ist aber auch noch im Winterschlaf, aber der Fehler tritt erst seit kurzem auf. Gleichzeitig mit dem update vom js controller auf 4.0.24 zufall?
-
Mein Robby ist aber auch noch im Winterschlaf, aber der Fehler tritt erst seit kurzem auf. Gleichzeitig mit dem update vom js controller auf 4.0.24 zufall?
Da habe ich eine Vermutung. Wenn der Worx x Monate Offline ist kommen dann die Payload Daten nicht mehr. Das mit JS-Controller ist nur ein Zufall.
Deaktiviere den Adapter oder das Script.Gruß//Lucky
-
Alles klar. Funktioniert dann wieder alles wenn Robby wieder online ist, oder muss am Adapter was gefixt werden?
-
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Alles klar. Funktioniert dann wieder alles wenn Robby wieder online ist, oder muss am Adapter was gefixt werden?
Wird wieder funktionieren wenn der Mower wieder Online ist. Aber für den nächsten Winterschlaf werde ich das trotzdem fixen.
Gruß//Lucky
-
@saeft_2003 Probier mal die GitHub version zu installieren ob das verhalten dann weg ist.
-
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Alles klar. Funktioniert dann wieder alles wenn Robby wieder online ist, oder muss am Adapter was gefixt werden?
Wird wieder funktionieren wenn der Mower wieder Online ist. Aber für den nächsten Winterschlaf werde ich das trotzdem fixen.
Gruß//Lucky
Ok alles klar jetzt hab ichs kapiert
-
@tombox sagte in Adapter: Worx Landroid v2.x.x:
@saeft_2003 Probier mal die GitHub version zu installieren ob das verhalten dann weg ist.
Das war jetzt für mich nicht so gut. Habe doch viele Veränderungen auf`m Git die die fehlerhaften Abfragen blockiert und somit das Blockly umbrauchbar macht. Habe eigentlich den Text für die neuen Funktionen fertig und das neue Blockly zu 90%...Aber du hast ja Recht, ihr werdet jetzt über Sentrys zugespamt...
-
Ich hab gerade aktualisiert über git. Heißt das ich kann jetzt mein blockly nicht mehr verwenden, oder habe ich das falsch verstanden?
-
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Ich hab gerade aktualisiert über git. Heißt das ich kann jetzt mein blockly nicht mehr verwenden, oder habe ich das falsch verstanden?
So ist es!
-
Hier mein Text den ich im November geschrieben hatte.
Hallo zusammen,
kurz vor der Winterpause gibt es noch ein Update auf dem GIT was ich gerne noch erklären möchte.
Fix:- bei 2 Mäher mit Off Limit Modul
- versenden von calJson und calJson2
- edgeCut
Neu:
- Die 24h Sperre wird nun im Log angezeigt. Wenn ihr den u. a. Text im Log findet, dann öffnet bitte eure Worx APP und wischt mal von oben nach unten. Wenn dann ein "Verbindungsfehler" angezeigt wird, dann bitte iobroker bzw. den Worx Adapter nicht neu starten. Die Mqtt Verbindung wird automatisch getrennt und nach 24h wieder neu gestartet und alles ist GUT. Macht ihr einen Restart, löscht ihr den Intervall und müsst dann nach 24h manuelll den Adapter neu starten. Leider spreche ich aus eigener Erfahrung... Kommt kein Verbindungsfehler ist eventuell euer Worx Offline oder Worx hat ein Problem.
"Maybe your connection is blocked from Worx. Restart Mqtt connection automatic in 24h" - Wenn ihr Blocklys erstellt und Datenpunkte steuert, muss immer min. 1,1 Sekunden Timeout zwischen dem Setzen sein. Wer diese nicht einhält bekommt diese Meldung: "Time between requests within (die Zahl) ms is not allowed. STOP Request (Datenpunkt) with value (Wert)"
- Für den der automatischen Mähplan aktiviert hat sind die DB im Folder "Calendar" gesperrt. Wenn ihr diese ändert, wird die APP sofort seine geplanten Zeiten erneut zum Mower senden, daher diese Sperre. Meldung: "Automatic mowing plan active! Times cannot be changed."
- CMD Commands sind von 0 bis 9 begrenzt. Habe zum testen immer eine Zahl >9 verwendet und wurde gesperrt. Ob es wirklich daran lag, kann ich natürlich nicht bestätigen.
- Es gibt einen neuen Datenpunkt xx.mower.last_command. Hier werden eure Request und Response vom Worx gespeichert (Max. 20x). Diesen Inhalt könnt ihr auswerten und prüfen, ob euer Request vom Worx empfangen wurde. Die Daten könnt ihr auswerten und euch per VIS anzeigen lassen. Wie ihr das umsetzen könnt werde ich noch ein Blockly als Beispiel hier einfügen. Bei "user" kann nur iobroker oder APP stehen...
Wenn ich viel Zeit habe, werde ich ein korrigiertest Blockly für die Vis Darstellung zur Verfügung stellen.
Gruß//Lucky
-
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Ich hab gerade aktualisiert über git. Heißt das ich kann jetzt mein blockly nicht mehr verwenden, oder habe ich das falsch verstanden?
So ist es!
Kann ich nicht einfach die 2.0.3 drüber installieren? Sonst gehe ich mit einem snapshot zurück…
-
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
@saeft_2003 sagte in Adapter: Worx Landroid v2.x.x:
Ich hab gerade aktualisiert über git. Heißt das ich kann jetzt mein blockly nicht mehr verwenden, oder habe ich das falsch verstanden?
So ist es!
Kann ich nicht einfach die 2.0.3 drüber installieren? Sonst gehe ich mit einem snapshot zurück…
Es werden einfach nicht die Zeiten gelöscht die um 00:01 gelöscht werden sollen. Das ist euch nie aufgefallen da es eigentlich keinen Impakt auf die Mähzeiten hat. Du kannst vom GIT laden...Ohne Mäher kannst du den Blockly sowieso nicht gebrauchen
Gruß//Lucky
-
Hallo zusammen,
es wird hier darüber berichtet, dass der Adapter eine 24h Sperre auslöst.
Woran es wirklich liegt kann ich derzeit leider nicht sagen. Hatte gestern gegen 18 Uhr meinen Mäher aufgestellt und den Adapter wieder aktiviert. Es lief alles min. 12 Stunden einwandfrei und aufgrund dieses Issues musste ich meinen Dev Server starten. Folglich im Live System Adapter deaktiviert und auf dem Dev gestartet. Nach 2 x absenden eines Befehls habe ich nun auch die 24h Sperre vor mir.Zur Sichertheit möchte ich noch das unötige Absenden von Befehlen reduzieren. Hierzu gibt es bald 2 neue Datenpunkte:
worx.0.xxx.calendar.calJson_tosend: Wenn ihr Zeiten eintragt (wahrscheinlich über Blockly) werden diese hier als JSON gesammelt.
worx.0.xxx.calendar.calJson_sendto Wenn ihr alle Änderungen vorgenommen habt. muss dieser Button zum versenden auf true gesetzt werden.Warum dieser Umstand?
Die Blocklys hier im Forum steuern alles einzeln.
Vortag borderCut -> Wird sofort versendet 1. MQTT Übertragung
Vortag startTime -> Wird sofort versendet 2. MQTT Übertragung
Vortag workTime -> Wird sofort versendet 3. MQTT Übertragung
Heute borderCut -> Wird sofort versendet 4. MQTT Übertragung
Heute startTime -> Wird sofort versendet 5. MQTT Übertragung
Heute workTime -> Wird sofort versendet 6. MQTT Übertragung
Und das ganze zeitgleich noch für den schedule2 diese sowieso nicht durchgehen da dieser zeitgleich gestartet wird.
Dann noch tagsüber mehrfache Zeitenänderung in der Reihenfolge 1-3 wie oben beschrieben.Ihr müsst dann nur worx.0.xxx.calendar.calJson_sendto am Ende eure 4 x schedules (2 x Datensetzung 3min vor Startzeit und 2 x Löschung des von vor zwei Tagen um 00:01) setzen...Am besten mit einem 3 Sekunden timeout.
Bei den minütlichen Interval bei jedem Tag hinzufügen und um Mitternacht am Ende der Funktion "Zeiten_setzen".Gruß//Lucky
-
@lucky_esa Zum Verständnis: Das passiert, wenn man über den Adapter was ändert? Nicht, wenn man nur liest?
-
@merlin123 sagte in Adapter: Worx Landroid v2.x.x:
@lucky_esa Zum Verständnis: Das passiert, wenn man über den Adapter was ändert? Nicht, wenn man nur liest?
Das kann ich leider nicht bestätigen. Das probiere ich gerade aus daher kann ich die Änderungen vom Code nicht testen. Das müsst ihr dann machen. Gebe bescheid wenn die Änderungen auf`m GIT sind.
Gruß//Lucky
-
Auch auf die Gefahr hin hier als Alleinunterhalter von einem Admin gesperrt zu werden, mache ich trotzdem weiter.
Auf`m GIT sind nun die o. g. Änderung implementiert. Ihr müsst eure Blocklys wie oben beschrieben anpassen. Aktualisierungen der Datenpunkte xx.calendar.wochentag können dann ohne "Timeout" gesetzt werden.
Es gibt allerdings noch die Möglichkeit, dass beim Ausführen euer Blockys der Interval für die Aktualisierung startet. Dann werden eure Daten eventuell fehlerhaft übertragen.
Wenn das zu oft vorkommt, muss ich dann noch einen dritten Datenpunkt hinzufügen, der die automatische Aktualisierung unterbindet.
Des Weiteren haben wir eine kleine Änderung hinzugefügt um die 24h Sperre eventuell zu verhindern.Ihr müsst nun die aktuelle Version vom GIT laden um zu testen.
Gruß//Lucky
-
hättest Du vielleicht ein fertiges Blockly mit den Datenpunkten, welches Du zur Verfügung stellen könntest?
Danke