Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter Worx v0.4.x

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter Worx v0.4.x

    This topic has been deleted. Only users with topic management privileges can see it.
    • arteck
      arteck Developer Most Active last edited by arteck

      ich mach es so

      müsst ihr aber einen Datenpunkt anlegen über den getriggert wird.

      let worx = 'worx.0.id_des_mover';
      let laufzeit =  60;
      let plusMinuten = 1;
      
      on({id: worx + '.mower.state', change: "ne"}, function (obj) {   
          let stat = getState(worx + '.mower.state').val;
      
          if (!stat) {
              worxLos(new Date(), '00:00', 0);  // wenn fertig dann wird wieder alles gelöscht 
          }
      });
      
      on({id: '0_userdata.0.draussen.worxKantenschnitt', change: "any"}, function (obj) {   
          if (getState('0_userdata.0.draussen.worxKantenschnitt').val) {
              if (!getState(worx + '.mower.state').val) {    // robi muss in der garage sein
       
                   
                              let jetzt = new Date();    
                              jetzt.setMinutes(jetzt.getMinutes() + plusMinuten );
                              let los = new Date(jetzt);
                  
                              let startUm ;
                  
                              if (los.getMinutes() < 10) {
                                  startUm = los.getHours() + ':0' + los.getMinutes();
                              } else {
                                  startUm = los.getHours() + ':' + los.getMinutes();
                              }
                  
                         
                  
                              worxLos(los, startUm, laufzeit);
                  
                          }
                      }
                  });
                  
                  
                  function worxLos(zeitstempel, startUm, laufzeit) {
                      switch (zeitstempel.getDay()) {
                          case 0:
                              setState(worx + '.calendar.sunday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.sunday.workTime', laufzeit); 
                              }, 1000 * 5); // warte 5 sekunden               
                              break;
                          case 1:
                              setState(worx + '.calendar.monday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.monday.workTime', laufzeit);  
                              }, 1000 * 5); // warte 5 sekunden                               
                              break;
                          case 2:
                              setState(worx + '.calendar.tuesday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.tuesday.workTime', laufzeit);  
                              }, 1000 * 5); // warte 5 sekunden                               
                              break;
                          case 3:
                              setState(worx + '.calendar.wednesday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.wednesday.workTime', laufzeit);   
                              }, 1000 * 5); // warte 5 sekunden                              
                              break;
                          case 4:
                              setState(worx + '.calendar.thursday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.thursday.workTime', laufzeit); 
                              }, 1000 * 5); // warte 5 sekunden                                
                              break;
                          case 5:
                              setState(worx + '.calendar.friday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.friday.workTime', laufzeit);
                              }, 1000 * 5); // warte 5 sekunden 
                              break;
                          case 6:
                              setState(worx + '.calendar.saturday.startTime', startUm);
                              setTimeout(function () {
                                  setState(worx + '.calendar.saturday.workTime', laufzeit);  
                              }, 1000 * 5); // warte 5 sekunden                                                                   
                      }  
                  }
                  
      
      S 1 Reply Last reply Reply Quote 0
      • T
        tazdevil20 last edited by tazdevil20

        Ich habe einen klein wenig anderen Ansatz.
        Muss aber auch gestehen, dass ich glaube, dass ich aktuell noch ein Problem mit dem deaktivieren habe. Muss ich noch genauer Prüfen. Manche Variablen haben auch einen nicht perfekten Namen.

        @arteck
        Du betrachtest nicht den Start um x:59. Dann würde bei dir der EdgeCut nicht starten.

        An zwei Stellen muss die eigene ID eingetragen werden. Muss ich noch anpassen, dass es nur noch eine Stelle ist.

        var events = 'EigeneDatenpunkte.0.History.Events';
        var MowerStatus = 'worx.0.!!!!mowerID!!!!.mower.status';
        var script = "javascript.0.scriptEnabled.Garten.Mähroboter_Rasenkante";
        var lastEdgeCut = "EigeneDatenpunkte.0.LandroidZuletztRasenkante"
        var workingtime = 10;
        var buffer = 2;
        var enabledschedule, setval;
        
        function EdgeCut() {
            var day, startzeittmp, currentHour, currentMin, starttime;
            day = getWeekday();
            var schedule = 'worx.0.!!!!mowerID!!!!.calendar.' + day + ".";
            
            var currentHour, currentMin, currentMonth;
            var startzeittmp = new Date();
            var gesamtzeit_start = new Date()/1;
            if (startzeittmp.getHours() < 10) { currentHour = '0' + startzeittmp.getHours();} else {currentHour = startzeittmp.getHours()};
            currentMin = startzeittmp.getMinutes()+buffer;
            if (currentMin < 10)
            { 
                currentMin = '0' + currentMin;
            } else {
                if (currentMin == 60) { currentMin = "00"; currentHour = currentHour +1};
                if (currentMin == 61) { currentMin = "01"; currentHour = currentHour +1};
            };
        
            starttime = currentHour  + ":" + currentMin;
            
            setState(schedule + "startTime", starttime);
            setval = setTimeout(function () {
                setState(schedule + "workTime", workingtime);
            }, 5000);
        
            setval = setTimeout(function () {
                setState(schedule + "borderCut", true);
            }, 10000);
            
            log(schedule + "worktime");
            log("Schneide Rasenkante um " + starttime);
            setState(events, "Schneide Rasenkante um " + starttime);
        }
        
        function getWeekday() {
            var d = new Date();
            var weekday = new Array(7);
            weekday[0] = "sunday";
            weekday[1] = "monday";
            weekday[2] = "tuesday";
            weekday[3] = "wednesday";
            weekday[4] = "thursday";
            weekday[5] = "friday";
            weekday[6] = "saturday";
        
            var n = weekday[d.getDay()];
            return n;
        };
        
        EdgeCut();
        
        on({id: MowerStatus, change: "ne"}, function (obj) {
            if(getState(MowerStatus).val >= 2 && enabledschedule === true) {
                setState(lastEdgeCut, formatDate(new Date(), 'DD.MM. hh:mm'));
                setState(schedule + "startTime", "00:00");
                setval = setTimeout(function () {
                    setState(schedule + "workTime", 0);
                }, 5000);
                setval = setTimeout(function () {
                    setState(schedule + "borderCut", false);
                }, 10000);
                setState(script, false);
            };
        });
        

        Kritik und Verbesserungsvorschläge sind ausdrücklich gewünscht.

        arteck 1 Reply Last reply Reply Quote 0
        • arteck
          arteck Developer Most Active @tazdevil20 last edited by arteck

          @tazdevil20 doch die minuten addition macht das automatisch.. das ist eine javascript funktion

          var date = "2012-01-18T16:59";
           let jetzt = new Date(date);    
           jetzt.setMinutes(jetzt.getMinutes() + 1);
           let los = new Date(jetzt);
           let startUm = los.getHours() + ':' + los.getMinutes();
          
          log ("wert zurück  " + startUm);
          
          T 1 Reply Last reply Reply Quote 0
          • T
            tazdevil20 @arteck last edited by

            @arteck
            Danke. Habe ich bei mir mal angepasst. Muss ich später mal testen.

            Das Problem warum das Script nicht mehr gestoppt wurde habe ich auch gefunden. Wenn ich meine Tests durch habe kann ich es gerne nochmal bereitstellen. Allerdings arteck sein Script funktioniert ja scheinbar ohne Probleme.

            1 Reply Last reply Reply Quote 0
            • L
              LJSven last edited by

              Gibt es dieses Script auch als Blockly und ohne den internen Zeitplan? Ich habe es bei mir über den Google Calendar gelöst. Was muss ich genau machen, um den Kantenschnitt zu aktivieren? Wie ist die Folge?

              arteck 1 Reply Last reply Reply Quote 0
              • arteck
                arteck Developer Most Active @LJSven last edited by

                @LJSven es gibt keine Reihenfolge.. du musst halt nur die Zeitplandaten eintragen ..

                1 Reply Last reply Reply Quote 0
                • cvidal
                  cvidal Forum Testing last edited by

                  Seit heute habe ich neue Errors, hat das noch jemand?

                  worx.0	2020-05-30 08:50:01.144	error	(16835) ERROR: StatusCodeError: 403 - "<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>403 Forbidden</h1></center>\r\n</body>\r\n</html>\r\n"
                  worx.0	2020-05-30 08:50:01.143	error	(16835) Could not Connect to Worx Server: StatusCodeError: 403 - "<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>403 Forbidden</h1></center>\r\n</body>\
                  worx.0	2020-05-30 08:50:00.948	info	(16835) starting. Version 1.0.2 in /opt/iobroker/node_modules/iobroker.worx, node: v10.20.1, js-controller: 3.1.4
                  
                  S hsteinme 2 Replies Last reply Reply Quote 0
                  • S
                    skokarl @cvidal last edited by

                    @cvidal

                    da steht doch forbidden. Geht die App noch, oder hast Du das Kennwort geändert ?

                    cvidal 1 Reply Last reply Reply Quote 0
                    • cvidal
                      cvidal Forum Testing @skokarl last edited by

                      @skokarl
                      Die App läuft noch. "forbidden" ist ja keine Lösung, Neuanmeldung mit den Adapter bringt auch nichts.
                      Das Passiert bei Neuanmeldung:

                      (16835) No mower found! {"_events":{},"_eventsCount":6,"_maxListeners":100,"USER":"***@***","PASS":"***,"adapter":{"logList":[],"aliases":{},"aliasPatterns":[],"objects":{
                      

                      Die Adapterversion ist 1.0.2

                      arteck 1 Reply Last reply Reply Quote 0
                      • arteck
                        arteck Developer Most Active @cvidal last edited by arteck

                        @cvidal und du kannst dich mit denselben daten wie du diese im Adapter eingetragen hast auf
                        https://account.worxlandroid.com/login anmelden

                        cvidal 2 Replies Last reply Reply Quote 0
                        • cvidal
                          cvidal Forum Testing @arteck last edited by

                          @arteck
                          Unbenannt.PNG
                          Ja das Funktioniert.

                          1 Reply Last reply Reply Quote 0
                          • cvidal
                            cvidal Forum Testing @arteck last edited by

                            @arteck Aber scheint wieder zu laufen, der letzte Fehler war heute um 06:16Uhr, danach läuft der Adapter wieder. Ich hatte heute aber noch nichts geändert.

                            1 Reply Last reply Reply Quote 0
                            • cvidal
                              cvidal Forum Testing last edited by

                              Hat nicht lange gehalten, fehler ist wieder da....

                              (14847) Onlinecheck: couldnt get data StatusCodeError: 403 - "<html>\r\n<head><title>403 Forbidden</title></head>\r\n<body bgcolor=\"white\">\r\n<center><h1>403 Forbidden</h1></center>\r\n</body>\r\n
                              
                              
                              arteck 1 Reply Last reply Reply Quote 0
                              • W
                                womi last edited by

                                Hallo
                                Zunächst mal: Super Sache mit dem Worx Adapter!
                                Läuft bei mir seit ca. 6 Wochen.
                                Aber ich weiß nicht, ob ich etwas verpasst habe, ich sehe neu zwei Probleme:
                                (1) Seit ein paar Tagen geht der EdgeCut nicht mehr. Der Mäher fährt nur nich den Draht entlang. Ohne Messer. Egal welche Verzögerungszeit ich einstelle. Geht das etwa nur noch mit einer gescripteten Zeitplanänderung?
                                Interessanterweise ist es so, dass wenn ich den Mäher mit Der roten Stop-Taste anhalte und dann per Home-Taste am Gerät heimschicke, schaltet der das Messer an.
                                (2) Viel schlimmer ist, dass seit heute der Adapter den Online Status immer auf false hat. Nach dem Start des Adapters geht er auf true, dann nach einiger Zeit auf false und aktualisiert nichts mehr. Habe schon den kompletten iobroker neu gestartet, keine Änderung. Ich hoffe Worx hat da nichts unanständiges gemacht. In der App geht alles normal.
                                Im log sehe ich keine Fehlermeldungen.
                                Der Mäher ist ein M500 mit FW 3.08 und der Adapter is auf 1.02.

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

                                  @womi sagte in Test Adapter Worx v0.4.x:

                                  Hallo
                                  Zunächst mal: Super Sache mit dem Worx Adapter!
                                  Läuft bei mir seit ca. 6 Wochen.
                                  Aber ich weiß nicht, ob ich etwas verpasst habe, ich sehe neu zwei Probleme:
                                  (1) Seit ein paar Tagen geht der EdgeCut nicht mehr. Der Mäher fährt nur nich den Draht entlang. Ohne Messer. Egal welche Verzögerungszeit ich einstelle. Geht das etwa nur noch mit einer gescripteten Zeitplanänderung?
                                  Interessanterweise ist es so, dass wenn ich den Mäher mit Der roten Stop-Taste anhalte und dann per Home-Taste am Gerät heimschicke, schaltet der das Messer an.

                                  das ist leider nicht so ganz neu.

                                  Link Text

                                  (2) Viel schlimmer ist, dass seit heute der Adapter den Online Status immer auf false hat. Nach dem Start des Adapters geht er auf true, dann nach einiger Zeit auf false und aktualisiert nichts mehr. Habe schon den kompletten iobroker neu gestartet, keine Änderung. Ich hoffe Worx hat da nichts unanständiges gemacht. In der App geht alles normal.
                                  Im log sehe ich keine Fehlermeldungen.
                                  Der Mäher ist ein M500 mit FW 3.08 und der Adapter is auf 1.02.

                                  Kann das sein, dass du ein Wlan Problem hast ?
                                  Wenn der Mäher weiter weg ist, geht das Signal auf false .......

                                  W 2 Replies Last reply Reply Quote 0
                                  • W
                                    womi @skokarl last edited by

                                    @skokarl
                                    Danke für die schnelle Antwort!

                                    Zu (1): Ok, vielen Dank. Ich hatte sowas weiter oben gesehen, aber nicht den genauen Post und war mir Unsicher. Ich hätte schwören können, (auch schon mit FW 3.07) hatte ich anfangs Edge-Cut. Vielleicht wächst mein Gras am Rand so langsam 🙂
                                    Dann muss ich nochmals an mein Mäh-Script ran.

                                    Zu (2): Mmh, ja, das WLan ist schwach. War es zwar vorgestern auch schon, aber wer weiß. Ich prüfe das mal genauer. Hast Du eine Erklärung, warum es mit der App trotzdem aktualisiert? Ist ja das gleiche WLan.

                                    S 1 Reply Last reply Reply Quote 0
                                    • arteck
                                      arteck Developer Most Active @cvidal last edited by

                                      @cvidal hmm.. komisch komisch.. 403 besagt du darfst nicht.. hast du Sonderzeochen im PSW

                                      cvidal 1 Reply Last reply Reply Quote 0
                                      • S
                                        skokarl @womi last edited by

                                        @womi
                                        Wlan ist mir spontan eingefallen.... klar, gleiche wlan, aber wer weiß was da noch alles ne Rolle spielt.... versuch einfach mal nen bisschen zu experimentieren

                                        1 Reply Last reply Reply Quote 0
                                        • cvidal
                                          cvidal Forum Testing @arteck last edited by

                                          @arteck Ja ich habe ein Rufzeichen im PW. Momentan läuft es wieder.
                                          Wenn ich nochmal nen Fehler bekomme ändere ich erstmal das Passwort.

                                          Danke dir.

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

                                            @womi sagte in Test Adapter Worx v0.4.x:

                                            Seit ein paar Tagen geht der EdgeCut nicht mehr.

                                            Hast Du vor ein paar Tagen einen Update der Mäher-Firmware durchgeführt? Mit den Versionen 3.0x werden leider die Messer angehalten, wenn die Heimfahrt von einer App oder von einem Adapter angestoßen wird. Es gibt Hinweise, dass diese Änderung mit dem nächsten Update wieder zurück genommen wird.

                                            @womi sagte in Test Adapter Worx v0.4.x:

                                            Geht das etwa nur noch mit einer gescripteten Zeitplanänderung?

                                            Ja, über Zeitpläne funktioniert der Kantenschnitt noch.

                                            @womi sagte in Test Adapter Worx v0.4.x:

                                            dass seit heute der Adapter den Online Status immer auf false

                                            Mir ist völlig unklar, worauf sich die Online Aussage bezieht. Auf ioBroker, also das heimische Netz? Auf den Wetter-Webserver? Auf den MQTT-Server? Auf den Mäher?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            landroid worx
                                            36
                                            198
                                            20050
                                            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