Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Adapter: Worx Landroid v2.x.x

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter: Worx Landroid v2.x.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • falke69
      falke69 @Lucky_ESA last edited by falke69

      @lucky_esa

      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.👍

      L 1 Reply Last reply Reply Quote 0
      • L
        Lucky_ESA Developer Most Active @falke69 last edited by Lucky_ESA

        @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.
        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.oneTimeWorkTime

        Und 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

        falke69 I 3 Replies Last reply Reply Quote 0
        • falke69
          falke69 @Lucky_ESA last edited by

          @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

          Aus 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.

          M 1 Reply Last reply Reply Quote 0
          • I
            iobroker2001 @Lucky_ESA last edited by

            @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?

            L 1 Reply Last reply Reply Quote 0
            • L
              Lucky_ESA Developer Most Active @iobroker2001 last edited by

              @iobroker2001

              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

              I falke69 3 Replies Last reply Reply Quote 0
              • I
                iobroker2001 @Lucky_ESA last edited by

                @lucky_esa Alles klar, danke, es scheint zu funktionieren!!

                1 Reply Last reply Reply Quote 0
                • I
                  iobroker2001 @Lucky_ESA last edited by

                  @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.

                  1 Reply Last reply Reply Quote 0
                  • falke69
                    falke69 @Lucky_ESA last edited by

                    @lucky_esa

                    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.

                    1 Reply Last reply Reply Quote 0
                    • M
                      MartyBr @falke69 last edited by

                      @falke69
                      Könntest du das Blocky hier veröffentlichen? Ich bin leider ein Laie und komme mit Json nicht zurecht.
                      Vielen Dank im voraus.

                      falke69 1 Reply Last reply Reply Quote 0
                      • falke69
                        falke69 @MartyBr last edited by

                        @martybr

                        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 *.txt

                        zeiten_setzen.txt

                        Ich bin auch kein Experte, vielleicht gibt es hier oder da auch noch Verbesserungsvorschläge (einfacher, übersichtlicher,...)

                        M 2 Replies Last reply Reply Quote 1
                        • M
                          MartyBr @falke69 last edited by

                          @falke69 Vielen Dank für das Script. Ich schaue mal, ob ich damit zurecht komme.
                          Ich werde mal einige Routinen im alten Script abschalten, so dass keine Infos gesendet werden.

                          1 Reply Last reply Reply Quote 0
                          • M
                            MartyBr @falke69 last edited by

                            @falke69
                            Kannst du noch dein Hauptscript posten, ich habe eine andere Datenpunkt-Ordnung. Bei mir liegen alle DPs in einem Ordner:
                            Bildschirmfoto 2023-04-08 um 18.58.53.png

                            falke69 1 Reply Last reply Reply Quote 0
                            • falke69
                              falke69 @MartyBr last edited by falke69

                              @martybr

                              Ich habe zwei Scripte parallel laufen lassen, eins für die erste Zeit und eins für die zweite Zeit.
                              Ich habe damit immer nur den Kalender im Adapter für die erste Zeit befüllt. Da irgendwie die zweite Zeit im Kalender nicht funktioniert hatte.

                              Du brauchst ja nur die Datenpunke im Script anklicken und gegen Deine zu tauschen.
                              Aktuell bin ich mir noch nicht ganz sicher, wie in Zukunft vorgehe. Wie gesagt, mir ging es aktuell nur darum, dass ich nicht gesperrt werde und die Daten auch übertragen werden.
                              Ich bin auch nicht der Experte.
                              In den anderen beiden Scripte werden Deine Datenpunke auch nicht mit meinen übereinstimmen.

                              Schau mal hier im Forum.
                              Ich will auch nicht unhöflich erscheinen, aber hier geht es um den Adapter und nicht um das Script.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                MartyBr @falke69 last edited by

                                @falke69
                                Ich habe jetzt im Editor die Datenpunkte angepasst. Nun stimmt es mit meinen überein.

                                1 Reply Last reply Reply Quote 0
                                • Littlericket
                                  Littlericket last edited by

                                  @Lucky_ESA es war tatsächlich ein Serverproblem die letzten Tage. Hat mir der Support bestätigt. Es sollte jetzt behoben sein.

                                  3a32ade1-1ec2-4009-810d-5bcfbfde61bf-image.jpeg

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    Andersmacher @Lucky_ESA last edited by

                                    @lucky_esa sagte in Adapter: Worx Landroid v2.x.x:

                                    Wo die ganzen Nachkommastellen herkommen? Keine Ahnung. -> Gute Frage

                                    Ich könnte mir vorstellen, daß das mit dem "klassischen Problem" der Behandlung von Fließkommazahlen in Rechnern/CPUs zu tun hat. Die Darstellung einer solchen Fließkommazahl ist halt unter bestimmten Randbedingungen nicht exakt möglich. Dadurch "schummeln" sich am Ende manchmal ein paar Digits dazu.

                                    Bei Integer-Zahlen tritt dieser Effekt in der Regel nicht auf. Bei Strings übrigens auch nicht, daher meine "vorsichtige Anfrage", ob der Typ String vielleicht besser geeignet wäre.

                                    Wenn es dennoch bei Typ Zahl bleiben soll (weil Du davon ausgehst, daß ein Format wie 3.28.x nicht auftreten wird), könnte es vielleicht helfen, den Wert auf z. B. 2 Nachkommastellen zu runden (weil man dann ja auch davon ausgehen könnte, daß ein Format wie z. B. 3.28y nicht auftreten wird)?

                                    Was spricht denn gegen den Typ Zeichenkette? Dort gäbe es die Ungenauigkeits-/Stellenproblematik doch gar nicht. Und letztendlich ist doch eine Firmwareversionsangabe nach meinem Verständnis von der Logik her auch keine Zahl, sondern eine Zusammensetzung aus zwei weitgehend unabhängig von einander bestehenden Einzelzahlen, weil nach 1.99 nicht zwangsweise 2.00, sondern z. B. 1.100 kommen kann.

                                    Zeichenkette wäre aus meiner Sicht daher der (Zukunfts)"sichere" Typ, der immer funktionieren wird und nicht nur, wenn bestimmte Randbedingungen/Annahmen zutreffen - oder?

                                    hsteinme 1 Reply Last reply Reply Quote 0
                                    • M
                                      muuulle @iobroker2001 last edited by

                                      @iobroker2001 said in Adapter: Worx Landroid v2.x.x:

                                      @lucky_esa sagte in Adapter: Worx Landroid v2.x.x:

                                      @iobroker2001 Ich versuche alle Befehle zu einen zu ändern. Scheiter aber schon an Areas. Habe keine Ahnung was man dort einstellen könnte. Kann das nicht testen da ich keine Areas habe. Dann werde ich Autolock zusammenführen und OneTime. Leider weiß ich auch noch nicht wofür OneTime sein soll. Habe mein Mäher auf automatischen Mähplan stehen und musste bis dato nie was ändern.

                                      Mit OneTime kann man - ohne den Mähplan zu ändern - den Roboter für einstellbare, vorgegebene Schritte für 30, 60, 90,... Minuten einmal (deshalb "One"Time) zum Mähen schicken.
                                      Ist ganz praktisch aus der App heraus zu bedienen, aber für eine ioBroker-Steuerung m. Mn. (!) nach nicht nötig.

                                      Moin,

                                      ich stelle mich gerade ganz doof an. Steuerst du den onetimestart mit dem Blockly Element „umschalten“ an?

                                      Danke

                                      I nik82 2 Replies Last reply Reply Quote 0
                                      • I
                                        iobroker2001 @muuulle last edited by

                                        @muuulle Den One-Time-Scheduler verwende ich z. Zt. noch nicht in ioBroker, nur per App.
                                        Aber von meinem Verständnis her müsste oneTimeWorkTime gesetzt werden (in Minuten), und oneTimeStart (ist ja boolean) auf true.
                                        Ich würde es mit "Steuern" versuchen.

                                        1 Reply Last reply Reply Quote 0
                                        • nik82
                                          nik82 Most Active @muuulle last edited by

                                          @muuulle
                                          Ich steuere recht viel mit Onetimer und mach das so, klappt wunderbar:

                                          7c373220-10c8-4b16-a04b-c95621a52302-image.png

                                          1 Reply Last reply Reply Quote 1
                                          • hsteinme
                                            hsteinme @iobroker2001 last edited by

                                            @iobroker2001 sagte in Adapter: Worx Landroid v2.x.x:

                                            Mit OneTime kann man - ohne den Mähplan zu ändern - den Roboter für einstellbare, vorgegebene Schritte für 30, 60, 90,... Minuten einmal (deshalb "One"Time) zum Mähen schicken.
                                            Ist ganz praktisch aus der App heraus zu bedienen, aber für eine ioBroker-Steuerung m. Mn. (!) nach nicht nötig.

                                            Es gibt viele Funktionen, die in der App praktisch zu bedienen sind und dennoch ihre Daseinsberechtigung im ioBroker haben. Nicht jeder mag halt die Worx App. Es gibt z.B. Anwender, die Start- und Endezeit einer Einmal-Mähsession in einen Google-Kalender eintragen. Dieser Eintrag wird dann in ioBroker ausgewertet und entsprechend der One-Time-Scheduler aus ioBroker heraus angesteuert.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            753
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            121
                                            1194
                                            378588
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo