NEWS
Adapter: Worx Landroid v2.x.x
-
Bei mir auch (Seit Sonntagabend 2.4 bis jetzt 7.4 ohne Probleme) und jetzt kann Ich den Worx weder per iobroker noch per App starten.
Fehlermeldung:worx.0 2023-04-07 18:51:25.142 debug {"message":"Unauthorized","code":"401.000"} worx.0 2023-04-07 18:43:25.344 error "<!DOCTYPE html>\n<!--[if lt IE 7]> <html class=\"no-js ie6 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 7]> <html class=\"no-js ie7 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if IE 8]> <html class=\"no-js ie8 oldie\" lang=\"en-US\"> <![endif]-->\n<!--[if gt IE 8]><!--> <html class=\"no-js\" lang=\"en-US\"> <!--<![endif]-->\n<head>\n\n\n<title>id.eu.worx.com | 504: Gateway time-out</title>\n<meta charset=\"UTF-8\" />\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\" />\n<meta name=\"robots\" content=\"noindex, nofollow\" />\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\" />\n<link rel=\"stylesheet\" id=\"cf_styles-css\" href=\"/cdn-cgi/styles/main.css\" />\n\n\n</head>\n<body>\n<div id=\"cf-wrapper\">\n\n \n\n <div id=\"cf-error-details\" class=\"p-0\">\n <header class=\"mx-auto pt-10 lg:pt-6 lg:px-8 w-240 lg:w-full mb-8\">\n <h1 class=\"inline-block sm:block sm:mb-2 font-light text-60 lg:text-4xl text-black-dark leading-tight mr-2\">\n \n <span class=\"inline-block\">Gateway time-out</span>\n <span class=\"code-label\">Error code 504</span>\n </h1>\n <div>\n Visit <a href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" target=\"_blank\" rel=\"noopener noreferrer\">cloudflare.com</a> for more information.\n </div>\n <div class=\"mt-3\">2023-04-07 16:43:25 UTC</div>\n </header>\n \n <div class=\"my-8 bg-gradient-gray\">\n <div class=\"w-240 lg:w-full mx-auto\">\n <div class=\"clearfix md:px-8\">\n \n<div id=\"cf-browser-status\" class=\" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center\">\n <div class=\"relative mb-10 md:m-0\">\n \n <span class=\"cf-icon-browser block md:hidden h-20 bg-center bg-no-repeat\"></span>\n <span class=\"cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4\"></span>\n \n </div>\n <span class=\"md:block w-full truncate\">You</span>\n <h3 class=\"md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3\">\n \n Browser\n \n </h3>\n <span class=\"leading-1.3 text-2xl text-green-success\">Working</span>\n</div>\n\n<div id=\"cf-cloudflare-status\" class=\" relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center\">\n <div class=\"relative mb-10 md:m-0\">\n <a href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n <span class=\"cf-icon-cloud block md:hidden h-20 bg-center bg-no-repeat\"></span>\n <span class=\"cf-icon-ok w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4\"></span>\n </a>\n </div>\n <span class=\"md:block w-full truncate\">Milan</span>\n <h3 class=\"md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3\">\n <a href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" target=\"_blank\" rel=\"noopener noreferrer\">\n Cloudflare\n </a>\n </h3>\n <span class=\"leading-1.3 text-2xl text-green-success\">Working</span>\n</div>\n\n<div id=\"cf-host-status\" class=\"cf-error-source relative w-1/3 md:w-full py-15 md:p-0 md:py-8 md:text-left md:border-solid md:border-0 md:border-b md:border-gray-400 overflow-hidden float-left md:float-none text-center\">\n <div class=\"relative mb-10 md:m-0\">\n \n <span class=\"cf-icon-server block md:hidden h-20 bg-center bg-no-repeat\"></span>\n <span class=\"cf-icon-error w-12 h-12 absolute left-1/2 md:left-auto md:right-0 md:top-0 -ml-6 -bottom-4\"></span>\n \n </div>\n <span class=\"md:block w-full truncate\">id.eu.worx.com</span>\n <h3 class=\"md:inline-block mt-3 md:mt-0 text-2xl text-gray-600 font-light leading-1.3\">\n \n Host\n \n </h3>\n <span class=\"leading-1.3 text-2xl text-red-error\">Error</span>\n</div>\n\n </div>\n \n </div>\n </div>\n\n <div class=\"w-240 lg:w-full mx-auto mb-8 lg:px-8\">\n <div class=\"clearfix\">\n <div class=\"w-1/2 md:w-full float-left pr-6 md:pb-10 md:pr-0 leading-relaxed\">\n <h2 class=\"text-3xl font-normal leading-1.3 mb-4\">What happened?</h2>\n <p>The web server reported a gateway time-out error.</p>\n </div>\n \n <div class=\"w-1/2 md:w-full float-left leading-relaxed\">\n <h2 class=\"text-3xl font-normal leading-1.3 mb-4\">What can I do?</h2>\n <p class=\"mb-6\">Please try again in a few minutes.</p>\n </div>\n </div>\n \n </div>\n\n <div class=\"cf-error-footer cf-wrapper w-240 lg:w-full py-10 sm:py-4 sm:px-8 mx-auto text-center sm:text-left border-solid border-0 border-t border-gray-300\">\n <p class=\"text-13\">\n <span class=\"cf-footer-item sm:block sm:mb-1\">Cloudflare Ray ID: <strong class=\"font-semibold\">7b43b943f9babb09</strong></span>\n <span class=\"cf-footer-separator sm:hidden\">•</span>\n <span id=\"cf-footer-item-ip\" class=\"cf-footer-item hidden sm:block sm:mb-1\">\n Your IP:\n <button type=\"button\" id=\"cf-footer-ip-reveal\" class=\"cf-footer-ip-reveal-btn\">Click to reveal</button>\n <span class=\"hidden\" id=\"cf-footer-ip\">178.197.249.25</span>\n <span class=\"cf-footer-separator sm:hidden\">•</span>\n </span>\n <span class=\"cf-footer-item sm:block sm:mb-1\"><span>Performance & security by</span> <a rel=\"noopener noreferrer\" href=\"https://www.cloudflare.com/5xx-error-landing?utm_source=errorcode_504&utm_campaign=id.eu.worx.com\" id=\"brand_link\" target=\"_blank\">Cloudflare</a></span>\n \n </p>\n <script>(function(){function d(){var b=a.getElementById(\"cf-footer-item-ip\"),c=a.getElementById(\"cf-footer-ip-reveal\");b&&\"classList\"in b&&(b.classList.remove(\"hidden\"),c.addEventListener(\"click\",function(){c.classList.add(\"hidden\");a.getElementById(\"cf-footer-ip\").classList.remove(\"hidden\")}))}var a=document;document.addEventListener&&a.addEventListener(\"DOMContentLoaded\",d)})();</script>\n</div><!-- /.error-footer -->\n\n\n </div>\n</div>\n</body>\n</html>\n\n" worx.0 2023-04-07 18:43:25.344 error AxiosError: Request failed with status code 504 worx.0 2023-04-07 18:41:25.113 info rawMqtt receive 401 error. Refresh Token in 60 seconds worx.0 2023-04-07 18:41:25.113 debug {"message":"Unauthorized","code":"401.000"}
-
@iobroker2001 said in Adapter: Worx Landroid v2.x.x:
@lucky_esa Gleiche bei mir, ist ein Worx-Serverproblem.
Ja irgendwas mit cloudflare.
-
Habe gerade bei Facebook gesehen, dass es noch andere betrifft, die sich auch nicht mehr in der App anmelden können.
Es liegt also nicht an dem Adapter oder iobroker.
Im log kann man auch die Meldung sehen, dass der Dienst nicht erreichbar ist. -
@falke69 Fehler 500 oder 504 liegen bei worx also einfach gedulden
-
Scheint wieder zu funktionieren. Musste mich allerdings in der APP ein mal abmelden und neu anmelden.
Gruß//Lucky
-
Hallo in die Runde!
Gibt es das "Problem" bei anderen auch / ist es bereits bekannt?:Ich habe einen M700 und in meiner View einen Hinweis eingebaut der angezeigt wird, wenn die neuste angebotene Firmware eine andere Bezeichnung hat als die bei mir installierte (also letztendlich signalisiert das, wenn es eine neue Version gibt). Dieser Hinweis wird mir seit Inbetriebnahme des Mähers nach der Winterpause vor ein paar Tagen angezeigt.
Wollte daher nun die neue Firmware installieren und habe dabei festgestellt, daß es gar keine neue gibt. Bei mir ist V3.28 installiert.
Genaueres Nachsehen ergab dann:
Aber:
Wo die ganzen Nachkommastellen herkommen? Keine Ahnung.
Witzigerweise scheinen sie auch nicht immer da zu sein, denn von Zeit zu Zeit verschwindet mein Anzeigehinweis für kurze Zeit. Leider bisher immer so kurz, daß ich es noch nicht geschafft habe, genau dann den Datenpunktwert anzusehen und einen Screenshot zu erstellen.
Was mir auch aufgefallen ist:
Der Typ der Firmwaredatenpunkte ist Zahl und nicht Zeichenkette. Ist das Absicht? Was passiert, wenn Worx eine Firmware der Form 3.28.x herausbringt? -
also ich habe den M500 und bei mir passt es. Ich habe aber heute gerade erst bei Facebook gesehen, das einige darüber berichten, das laut App, die installierte Firmware neuer ist, als die angebotene.
Ich vermute, dass es an den "Schluckauf" von gestern bei Worx zusammenhängt.
Vielleicht liegt es daran?
Bei mir ist die v2.0.3 vom Adapter installiert (zuzügl. aktuelle Änderungen von git).
Eventuell mal den Adapter neu starten.Bei mir sind beide Datenpunkte als Zahl angegeben.
-
@falke69 Danke für die Rückmeldung, aber daß es mit dem "Schluckauf" von gestern zu tun hat, kann ich mir nicht vorstellen, da es ja auch die Tage vorher schon so war und auch noch immer so ist. Neustart Adapter/Instanz hatte ich schon gemacht, behob das "Problem" jedoch nicht.
Habe auch die V2.0.3 des Adapters, jedoch ohne Git-Aktualisierungen. Da es ja kein "lebensbedrohliches Problem" ist, will ich möglichst bei "stable" bleiben.Dachte nur, ich tue meine Beobachtung hier mal kund, denn wenn sowieso gerade am Adapter gebastelt wird, kann der Entwickler ja vielleicht entscheiden, ob da noch Änderungen notwendig/sinnvoll sind, auch bezüglich Datentyp.
-
worx.0 2023-04-07 17:46:52.197 info State value to set for "worx.0.1234.mower.firmware" has to be type "string" but received type "number"
Kannst du bitte mal schauen was bei dir eingetragen wird.
worx.0.xxx.mower.firmwareWo die ganzen Nachkommastellen herkommen? Keine Ahnung. -> Gute Frage
Der Typ der Firmwaredatenpunkte ist Zahl und nicht Zeichenkette. Ist das Absicht? -> Ja, hatte mir tagelang Gedanken zu gemacht. Schau mal unter worx.0.xxx.mower.firmware_available_all, dort kommt so ein Format nicht vor.Kann der Entwickler ja vielleicht entscheiden, ob da noch Änderungen notwendig/sinnvoll sind, auch bezüglich Datentyp. -> Das soll eigentlich bei Number bleiben. Bitte weiter beobachten.
Bei mir tritt dieses Thema nicht auf.Auf dem GIT ist nun der Fehler "calJson_sendto" behoben.
Gruß//Lucky
-
@lucky_esa
Bei mir steht da 3.26 (hab noch alte Firmware).
Hab aber gestern schon das Object manuell auf "number" geändert, seit dem kommt die Meldung nicht mehr. -
habe vorhin nochmal die aktuelle Version von git geladen. Beim starten kam wieder der selbe Fehler wie gestern Abend, das der Server von Worx nicht erreichbar ist. Danach neue IP auf der FritzBox geholt, Adapter neu gestartet --> alles wieder grün.
Dann neue Zeiten vergeben und in die worx.0.xxxxxxxxxxx.calendar.calJson_tosend eingespielt.
worx.0 2023-04-08 16:37:57.810 info Request Counter: 2 worx.0 2023-04-08 16:31:01.817 info Request Counter: 1 worx.0 2023-04-08 16:30:49.109 info Min Time between requests are 1000ms this commands was 46 ms is not allowed. Request worx.0.xxxxxxxxxxx.calendar.calJson_tosend with value {"m": 1,"d": [["09:00",90,1],["09:00",90,0],["09:00",90,1],["09:00",90,0],["09:00",90,0],["11:30",90,0],["09:00",90,0] ], "dd": [["16:00",90,0],["16:00",90,0],["16:00",90,1],["16:00",90,0],["16:00",90,0],["16:00",90,0],["16:40",90,0] ], "distm": 0, "p": 0 } was not sended worx.0 2023-04-08 16:30:35.014 info Min Time between requests are 1000ms this commands was 5 ms is not allowed. Request worx.0.xxxxxxxxxxx.calendar.calJson_tosend with value {"m": 1,"d": [["09:00",90,0],["09:00",90,0],["09:00",90,1],["09:00",90,0],["09:00",90,0],["11:30",90,0],["09:00",90,0] ], "dd": [["16:00",90,0],["16:00",90,0],["16:00",90,1],["16:00",90,0],["16:00",90,0],["16:00",90,0],["16:40",90,0] ], "distm": 0, "p": 0 } was not sended
Da mir der Log gesagt hatte, das es nicht gesendet wurde, wurde ein erneuter Versuch nach paar Minuten gestartet, um die Daten hochzuladen und zu übertragen.
Was soll ich sagen, er ist jetzt das erste Mal damit gestartet.
-
@falke69
Freut mich. Bitte immer daran denken das die u. a. Datenpunkte ohne Timeout gesetzt werden müssen.
wochentagname/borderCut
wochentagname/startTime
wochentagname/workTimeDanach ein Timeout von 1,1 Sek. und worx.0.xxxxxxxxxxx.calendar.calJson_tosend auf true setzen.
In dieser Zeit darf natürlich nicht automatisch ein Update kommen, da die geänderten Zeiten wieder glöscht werden. Wenn das zu oft vorkommt, dann muss ich leider einen weiteren Datenpunkt hinzufügen der Updates von MQTT oder den 10 Minuten Refresh unterbindet.Das gleich gilt natürlich auch für diese:
mower.oneTimeWithBorder
mower.oneTimeWorkTimeUnd dann nach 1,1 Sek. worx.0.xxx.mower.oneTimeStart setzen.
Noch einige Änderungen:
worx.0.xxx.mower.AutoLock setzen und worx.0.xxx.mower.AutoLockTimer ist 0, wird automatisch 300 genommen.
Ist worx.0.xxx.mower.AutoLock false und man setzt worx.0.xxx.mower.AutoLockTimer eine neue Zeit, wird worx.0.xxx.mower.AutoLock automatisch true gesetzt.Gruß//Lucky
-
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
@falke69
Freut mich. Bitte immer daran denken das die u. a. Datenpunkte ohne Timeout gesetzt werden müssen.
wochentagname/borderCut
wochentagname/startTime
wochentagname/workTimeAus diesem Grund habe ich mir vorerst ein Blockly erstellt, welches dann in einem Rutsch alle Einträge der Mähzeiten aus meinen Datenpunkten direkt in der worx.0.xxxxxxxxxxx.calendar.calJson_tosend setzt.
Das mit dem TimeOut schaue ich mir nchmal an. Danke für den Hinweis.
-
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
@falke69
Freut mich. Bitte immer daran denken das die u. a. Datenpunkte ohne Timeout gesetzt werden müssen.
wochentagname/borderCut
wochentagname/startTime
wochentagname/workTime
Danach ein Timeout von 1,1 Sek. und worx.0.xxxxxxxxxxx.calendar.calJson_tosend auf true setzen.Verständnisfrage:
Was meinst Du mit "Timeout", meinst Du Pause?
Also: Die 3 Werte beschreiben ohne zwischendurch eine Pause einzulegen, dann aber mindestens eine Pause von 1,1 Sek, um ..._tosend auf true zu setzen? -
Verständnisfrage:
Was meinst Du mit "Timeout", meinst Du Pause?
Also: Die 3 Werte beschreiben ohne zwischendurch eine Pause einzulegen, dann aber mindestens eine Pause von 1,1 Sek, um ..._tosend auf true zu setzen?Gneau so. Die 1,1 Sekunden dienen zur Sicherheit das alle Daten wirklich gesetzt sind. Wenn jemand am Sonntag alle 14 Zeiten für die Folgewoche setzt sind das viele Daten die erst verarbeitet werden müssen. Wie bereits gesagt kann ich ein STOPP für die Aktualisierungen hinzufügen, dann kann man sich Zeit nehmen. Das wäre dann aber einiges an Aufwand für mich da man diesen STOPP eventuell auch versehntlich setzen könnte. Dann würden keine Updates mehr kommen.
Gruß//Lucky
-
@lucky_esa Alles klar, danke, es scheint zu funktionieren!!
-
@lucky_esa sagte in Adapter: Worx Landroid v2.x.x:
Wie bereits gesagt kann ich ein STOPP für die Aktualisierungen hinzufügen, dann kann man sich Zeit nehmen. Das wäre dann aber einiges an Aufwand für mich da man diesen STOPP eventuell auch versehntlich setzen könnte. Dann würden keine Updates mehr kommen.
Das kann man ja gut in Blockly abfangen. 1,1 s sind ja auch nicht so lange.
Bspw. könnte man eine "Belegt"-Variable setzen, die bei jedem Änderungsvorgang im Kalender gesetzt wird.
Ein Timeout von 1,1 s (oder besser 1,2 s) setzt diese Belegt-Variable zurück.
Bevor ein Wert geändert wird, muss die Belegt-Variable auf "nicht belegt" geprüft werden. Wenn "belegt" -> Datenpunkt nicht ändern. -
wenn ich die worx.0.xxxxxxxxxxx.calendar.calJson_tosend mit einemmal direkt mit meinem Blockly fülle und dann zwei Sekunden oder mehr warte, dann kommt nur der Request Counter ohne eine "Fehlermeldung" das scheint auf jeden Fall zu funktionieren.
Jetzt können wir nur hoffen, dass dies die worxcloud milde stimmt und den User nicht wieder für 24 Stunden sperrt.
-
@falke69
Könntest du das Blocky hier veröffentlichen? Ich bin leider ein Laie und komme mit Json nicht zurecht.
Vielen Dank im voraus. -
gerne, ich muss nur schauen, wie ich das in mein altes Script mit integriere. Mir war es aktuell wichtig, dass die Daten auch beim Mäher ankommen und ich nicht gesperrt werde.
Das einbetten als Code funktioniert leider nicht (code zu lang). Daher als *.txtIch bin auch kein Experte, vielleicht gibt es hier oder da auch noch Verbesserungsvorschläge (einfacher, übersichtlicher,...)