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.
    • S
      Semmy @hsteinme last edited by

      @hsteinme sagte in Adapter: Worx Landroid:

      @hsteinme sagte in Adapter: Worx Landroid:

      Diese Logik kannst Du in einem kleinen Skript realisieren

      So zum Beispiel:

      'use strict';
      const startSequenceKey = "worx.0.999...999.areas.startSequence";
      var Arr = JSON.parse(getState(startSequenceKey).val);
      Arr.unshift(Arr.pop());
      setState(startSequenceKey, JSON.stringify(Arr));
      
      • In Zeile 3 wird der startSequence-String ausgelesen und in eine eindimensionale Tabelle konvertiert.
      • Zeile 4: Arr.pop() liefert den rechten Wert der Tabelle und entfernt ihn dort, unshift stellt ihn an den Anfang der Tabelle.
      • Zeile 5 konvertiert die Tabelle zurück in einen String der Art [x, ...,x] und stellt diesen wieder in startSequence ab.

      Hallo
      Ich habe Firmware 3.25 installiert und jetzt funktioniert das Script nicht mehr, kommt immer folgende Fehlermeldung:

      javascript.0 (9961) script.js.Mähroboter.Sequenz_verschieben: SyntaxError: Unexpected token , in JSON at position 1

      Was kann das jetzt wieder sein?

      Viele Grüße
      Semmy

      hsteinme 1 Reply Last reply Reply Quote 0
      • hsteinme
        hsteinme @Semmy last edited by

        @semmy : Welcher Wert steht denn vor dem Skriptlauf bei Dir in worx.0.999...999.areas.startSequence?

        S 1 Reply Last reply Reply Quote 0
        • S
          Semmy @hsteinme last edited by

          @hsteinme sagte in Adapter: Worx Landroid:

          @semmy : Welcher Wert steht denn vor dem Skriptlauf bei Dir in worx.0.999...999.areas.startSequence?

          Das steht davor:
          const startSequenceKey = "worx.0.

          hsteinme 1 Reply Last reply Reply Quote 0
          • hsteinme
            hsteinme @Semmy last edited by

            @semmy Missverständnis, 2. Versuch: Bevor Du das Skript startest, gehe bitte in den Objekte-Reiter zu dem Objekt worx.0.999...999.areas.startSequence und gib hier dessen Wert an.

            S 1 Reply Last reply Reply Quote 0
            • S
              Semmy @hsteinme last edited by

              @hsteinme Hier steht das: [0,1,2,0,1,2,0,0,1,2]
              Hast du das gemeint?

              hsteinme 1 Reply Last reply Reply Quote 0
              • hsteinme
                hsteinme @Semmy last edited by

                @semmy Ja. Das sieht aber sauber aus.

                Du hast oben nur meine Version des Skriptes zitiert. Für die Fehlersuche wäre es aber nötig, Dein Skript hier vollständig zu posten (nach Maskierung der Seriennummer).

                S 2 Replies Last reply Reply Quote 0
                • S
                  Semmy @hsteinme last edited by Semmy

                  @hsteinme So sieht es aus:
                  'use strict';
                  const startSequenceKey = "worx.0.99999.areas.startSequence";
                  var Arr = JSON.parse(getState(startSequenceKey).val);
                  Arr.unshift(Arr.pop());
                  setState(startSequenceKey, JSON.stringify(Arr));

                  hsteinme 1 Reply Last reply Reply Quote 0
                  • S
                    Semmy @hsteinme last edited by

                    @hsteinme Hallo
                    Hast du schon einen Fehler entdeckt?

                    Viele Grüße
                    Semmy

                    C 1 Reply Last reply Reply Quote 0
                    • C
                      Conector777 @Semmy last edited by

                      Das sind doch die Start Zonen oder ?

                      Ich kämpfe auch gerade damit rum ... da ich diese zur Zeit Steuerung verwenden will.

                      .areas.actualAreaIndicator sagt dir wo er beim zählen ist und .areas.startSequence zeigt an wo er wann starten soll.

                      Ich würde gerne die Sequence auslesen abhängig vom Indicator auslesen und dann sagen wenn er in Zone 0 startet dann bitte die Arbeitszeit auf 30 min legen. Da die fläche so klein ist.

                      Kann mir einer sagen wie ich die sequenz [0,2,0,2,2,2,2,2,2,2] in blockly abhängig von Indicator 6 auslese damit ich eine Gleichung erstellen kann ?

                      1 Reply Last reply Reply Quote 0
                      • hsteinme
                        hsteinme @Semmy last edited by

                        @semmy sagte in Adapter: Worx Landroid:

                        So sieht es aus:

                        Das ist zu 100% mein Skript. Einen Übertragungsfehler können wir also ausschließen. Bitte lass mal testweise folgendes Skript laufen:

                        'use strict';
                        const startSequenceKey = "worx.999...999.areas.startSequence";
                        console.log('startSequence vorher: ' + getState(startSequenceKey).val);
                        var Arr = JSON.parse(getState(startSequenceKey).val);
                        console.log('Arr[0] vorher: ' + Arr[0]);
                        Arr.unshift(Arr.pop());
                        console.log('Arr[0] nachher: ' + Arr[0]);
                        console.log('startSequence nachher: ' + JSON.stringify(Arr));
                        setState(startSequenceKey, JSON.stringify(Arr));
                        

                        Dann stell bitte alle zu diesem Zeitpunkt auftretenden Logdatei-Einträge zu Worx und Javascript vollständig hier rein.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Semmy @hsteinme last edited by

                          @hsteinme ```Hallo, dieses steht jetzt im log.

                          2021-08-26 16:37:05.541 - info: javascript.0 (16111) Stop script script.js.Mähroboter.Test
                          2021-08-26 16:37:05.553 - info: javascript.0 (16111) Start javascript script.js.Mähroboter.Test
                          2021-08-26 16:37:05.562 - info: javascript.0 (16111) script.js.Mähroboter.Test: startSequence vorher: 0,1,2,0,1,2,0,0,1,2
                          2021-08-26 16:37:05.563 - info: javascript.0 (16111) script.js.Mähroboter.Test: registered 0 subscriptions and 0 schedules
                          2021-08-26 16:37:05.565 - error: javascript.0 (16111) script.js.Mähroboter.Test: SyntaxError: Unexpected token , in JSON at position 1
                          2021-08-26 16:37:05.566 - error: javascript.0 (16111) at JSON.parse ()
                          2021-08-26 16:37:05.567 - error: javascript.0 (16111) at script.js.Mähroboter.Test:4:16
                          2021-08-26 16:37:05.567 - error: javascript.0 (16111) at script.js.Mähroboter.Test:10:3
                          2021-08-26 16:37:05.568 - error: javascript.0 (16111) at Script.runInContext (vm.js:130:18)

                          hsteinme 1 Reply Last reply Reply Quote 0
                          • hsteinme
                            hsteinme @Semmy last edited by

                            @semmy sagte in Adapter: Worx Landroid:

                            startSequence vorher: 0,1,2,0,1,2,0,0,1,2

                            Hoppala! Da fehlen ja die eckigen Klammern! Wer hat die denn geklaut? Laut Deiner Nachricht vom 24. Aug. 2021, 22:10 sind sie im Objekt-Reiter zu sehen, aber nun nicht mehr im Javaskript. In meiner ioBroker-Umgebung sind die Klammern im Skript vorhanden.

                            Da hat sich aber in Deiner Umgebung etwas schrecklich Grundlegendes geändert. Setzt Du die Javascript Version 5.2 ein? Dann ist hier der "Schuldige" geständig:

                            BreakingChange.png

                            Ich habe jetzt einige Jahrzehnte beruflich in der Programmierwelt verbracht, aber dass es jemand wagt, einen derart dreisten Bruch in eine Programmierschnittstelle einzubauen, hätte ich mir in meinen kühnsten Träumen nicht vorstellen können ☹

                            Also merke: Nicht alles, was auf einmal nicht mehr läuft, sollte man der Firmware des Mähers in die Schuhe schieben ☝

                            Ich kann's in meiner Umgebung nicht testen. Probier bitte bei Dir aus, welche der beiden folgenden Skript-Variationen funktioniert:

                            'use strict';
                            const startSequenceKey = "worx.0.999...999.areas.startSequence";
                            var Arr = getState(startSequenceKey).val;
                            Arr.unshift(Arr.pop());
                            setState(startSequenceKey, Arr);
                            
                            'use strict';
                            const startSequenceKey = "worx.0.999...999.areas.startSequence";
                            var Arr = getState(startSequenceKey).val.split(',');
                            Arr.unshift(Arr.pop());
                            setState(startSequenceKey, Arr.join(','));
                            
                            S Jens Meyer 2 Replies Last reply Reply Quote 0
                            • S
                              Semmy @hsteinme last edited by

                              @hsteinme Hallo, das erste hat funktioniert. Ich habe das zweite dann gar nicht mehr probiert.
                              Vielen Dank für die geniale Hilfe.

                              Viele Grüße
                              Semmy

                              1 Reply Last reply Reply Quote 1
                              • Jens Meyer
                                Jens Meyer @hsteinme last edited by

                                @hsteinme
                                hallo, wo finde ich den Dein Script für den Worx.. habe schon paar Seiten zurück geblättert

                                S hsteinme 2 Replies Last reply Reply Quote 0
                                • S
                                  Semmy @Jens Meyer last edited by

                                  @jens-meyer sagte in Adapter: Worx Landroid:

                                  @hsteinme
                                  hallo, wo finde ich den Dein Script für den Worx.. habe schon paar Seiten zurück geblättert

                                  Ist auf Seite 20 zu finden.

                                  Jens Meyer 1 Reply Last reply Reply Quote 0
                                  • Jens Meyer
                                    Jens Meyer @Semmy last edited by Jens Meyer

                                    @semmy
                                    vielen Dank,
                                    du meinst post 20?
                                    die GIthub seite geht da aber nicht mehr

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      Semmy @Jens Meyer last edited by

                                      @jens-meyer Seite 20 vom 21.06.2021

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        Conector777 last edited by Conector777

                                        @jens-meyer
                                        @sammy

                                        Guten Tag erstmal,

                                        Ich bin relative neu hier und befasse mich eigentlich mit Automatisierungstechnik im Industriebereich. Nun möchte ich für Zuhause viele IObroker Sachen umsetzten unter anderem der Worx Rasenmäher.

                                        Ich habe schon ein laufendes Programm dieses möchte ich aber noch um einige Sachen ergänzen. unter anderem, möchte ich die nächste Startzone auslesen und abhängig von dieser dann die Arbeitszeit verkürzen.

                                        Umgesetzt habe ich das alles so wie hier beschrieben https://www.smarthome-tricks.de/software-iobroker/blockly-zeichenfolge-parsen/

                                        iobroker.JPG

                                        Nur leider kommt immer eine Fehler Meldung :

                                        javascript.0 (19499) script.js.Rasenmäher: TypeError: (intermediate value)(intermediate value)(intermediate value).split is not a function
                                        error javascript.0 (19499) at Object.<anonymous> (script.js.Rasenmäher:425:50)

                                        Ich kann damit noch nicht viel anfangen aber evtl.. hättet ihr die Güte mir weiterzuhelfen.

                                        Vielen dank

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

                                          Hallo,
                                          ist es eigentlich normal das sich die "Klingen-Arbeitszeit" nicht mit der App abgleicht?
                                          Wenn ich diese in der App zurücksetze, steht im Iobroker immer noch bei "totalBladeTime" die komplette Zeit seit Inbetriebnahme.
                                          Obwohl ich jetzt schon zweimal in der App die Zeit auf 0 gesetzt habe?

                                          00c3cb80-ee4d-42db-af45-1d0ad8f672d3-image.png

                                          b183f4b5-3142-4d40-8fac-db8fc5f1ecb3-image.png

                                          hsteinme 1 Reply Last reply Reply Quote 0
                                          • hsteinme
                                            hsteinme @Jens Meyer last edited by

                                            @jens-meyer sagte in Adapter: Worx Landroid:

                                            wo finde ich den Dein Script für den Worx.

                                            Mein Script für den Worx? Ich habe nicht den blassesten Schimmer, was Du meinst. Ich habe schon zig Skripte zu meinem Rasenmäher geschrieben. Was konkret meinst Du denn nun?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            937
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            121
                                            1194
                                            354077
                                            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