Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Worx v0.4.x

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Test Adapter Worx v0.4.x

Scheduled Pinned Locked Moved Tester
worxlandroid
198 Posts 36 Posters 31.2k Views 35 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • hsteinmeH hsteinme

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

    In welchen Abständen fragt der MQTT Server die Daten ab?

    In diesem gesamten Szenario ist der Mäher der Publisher von Informationen. Der Adapter, die App o.ä. sind die Subscriber der Informationen. Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst.

    In der iobroker Logdatei kannst Du im Debug Modus sehen, dass der Mäher alle 10 Minuten was schickt sowie dann, wenn eine wichtige Statusänderung erfolgt. Welche Statusänderungen wichtig sind, entscheidet dabei der Mäher selbst.

    Der MQTT Server fordert im Normalfall keine Informationen vom Mäher an, außer wenn er einen Poll-Auftrag von einem Subscriber erhält. Nach meinem Verständnis gibt der Adapter lediglich bei seinem Start einen Poll-Auftrag ab, dann nicht mehr. (Die Zusage mit Polls sparsam unzugehen, war übrigens eine wichtige Bedingung, die Positec gestellt hatte, um den Adapter-Einsatz zu tolerieren,)

    Hier gibt's übrigens eine kleine Bettlektüre zum Thema MQTT.

    haselchenH Offline
    haselchenH Offline
    haselchen
    Most Active
    wrote on last edited by
    #135

    @hsteinme

    Stimmt dann noch der Ablauf den du eben geschrieben hast?

    MQTT Server an Mäher = Schick Status

    Darunter habe ich was anderes verstanden als das was du jetzt geschrieben hast.

    Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

    hsteinmeH 1 Reply Last reply
    0
    • hsteinmeH hsteinme

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

      In welchen Abständen fragt der MQTT Server die Daten ab?

      In diesem gesamten Szenario ist der Mäher der Publisher von Informationen. Der Adapter, die App o.ä. sind die Subscriber der Informationen. Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst.

      In der iobroker Logdatei kannst Du im Debug Modus sehen, dass der Mäher alle 10 Minuten was schickt sowie dann, wenn eine wichtige Statusänderung erfolgt. Welche Statusänderungen wichtig sind, entscheidet dabei der Mäher selbst.

      Der MQTT Server fordert im Normalfall keine Informationen vom Mäher an, außer wenn er einen Poll-Auftrag von einem Subscriber erhält. Nach meinem Verständnis gibt der Adapter lediglich bei seinem Start einen Poll-Auftrag ab, dann nicht mehr. (Die Zusage mit Polls sparsam unzugehen, war übrigens eine wichtige Bedingung, die Positec gestellt hatte, um den Adapter-Einsatz zu tolerieren,)

      Hier gibt's übrigens eine kleine Bettlektüre zum Thema MQTT.

      W Offline
      W Offline
      womi
      wrote on last edited by
      #136

      @hsteinme
      Das klingt alles sehr logisch.
      Wenn sich jetzt also der MQTT-Server, die App und der Adapter ruhig verhält, und der Mäher alleinig entscheidet, wann er sich meldet: Was könnte ihn ab und zu dazu bewegen, sich zu entscheiden, sich eben nicht mehr zu melden? Bis er gefragt wird.
      Ich nehme an, wenn ich im Adapter irgendwelche Parameter ändere, die den Mäher betreffen, würden die via MQTT-Server an den Mäher weitergereicht. Und dann käme sicherlich auch der Status zurück.
      Kann ich vielleicht auf diese Weise eine Art Minimal-Polling (bei Offline) triggern?
      Im Moment lasse ich den Adapter lediglich Start- und ggf. schon vor Regen Stoppbefehle senden, mehr nicht.

      Bedeutet das nebenbei bemerkt dann auch, dass z.B. ein eingestelltes Zeitprogramm ebenfalls im Mäher "wohnt"? Der Mäher ist also, einmal eingestellt, weitestgehend autark?

      hsteinmeH 1 Reply Last reply
      0
      • haselchenH haselchen

        @hsteinme

        Stimmt dann noch der Ablauf den du eben geschrieben hast?

        MQTT Server an Mäher = Schick Status

        Darunter habe ich was anderes verstanden als das was du jetzt geschrieben hast.

        hsteinmeH Online
        hsteinmeH Online
        hsteinme
        wrote on last edited by
        #137

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

        MQTT Server an Mäher = Schick Status
        Darunter habe ich was anderes verstanden als das was du jetzt geschrieben hast.

        Wie soll ich mir dazu eine Meinung bilden, solange Du für Dich behältst, wie Dein anderes Verständnis aussieht`?

        haselchenH 1 Reply Last reply
        0
        • W womi

          @hsteinme
          Das klingt alles sehr logisch.
          Wenn sich jetzt also der MQTT-Server, die App und der Adapter ruhig verhält, und der Mäher alleinig entscheidet, wann er sich meldet: Was könnte ihn ab und zu dazu bewegen, sich zu entscheiden, sich eben nicht mehr zu melden? Bis er gefragt wird.
          Ich nehme an, wenn ich im Adapter irgendwelche Parameter ändere, die den Mäher betreffen, würden die via MQTT-Server an den Mäher weitergereicht. Und dann käme sicherlich auch der Status zurück.
          Kann ich vielleicht auf diese Weise eine Art Minimal-Polling (bei Offline) triggern?
          Im Moment lasse ich den Adapter lediglich Start- und ggf. schon vor Regen Stoppbefehle senden, mehr nicht.

          Bedeutet das nebenbei bemerkt dann auch, dass z.B. ein eingestelltes Zeitprogramm ebenfalls im Mäher "wohnt"? Der Mäher ist also, einmal eingestellt, weitestgehend autark?

          hsteinmeH Online
          hsteinmeH Online
          hsteinme
          wrote on last edited by hsteinme
          #138

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

          Was könnte ihn ab und zu dazu bewegen, sich zu entscheiden, sich eben nicht mehr zu melden?

          Woher weißt Du, wo die Ursache des Problems ist?

          • Kann der Mäher keine Information schicken?
          • Kann der MQTT Server keine Information empfangen?
          • Kann der MQTT Server keine Information weitergeben?
          • Kann der Adapter keine Information empfangen?
          • Kann der Adapter die Information nicht in den Datenpunkten abstellen?

          Meine Empfehlung:

          • Stelle die Adapter-Instanz auf den Log-Level Debug ein.
          • Falls noch nicht bekannt, schaue Dir an, wie Du die Logdatei eines Mähers auslesen kannst.
          • Im Problemfall studiere die Logdateien des Adapters und des Mähers und prüfe, ob dort etwas Auffälliges zu sehen ist, was als Hinweis auf die Problemursache verstanden werden kann.

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

          Ich nehme an, wenn ich im Adapter irgendwelche Parameter ändere, die den Mäher betreffen, würden die via MQTT-Server an den Mäher weitergereicht. Und dann käme sicherlich auch der Status zurück.

          Teste es.

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

          Kann ich vielleicht auf diese Weise eine Art Minimal-Polling (bei Offline) triggern?

          Und wenn Du es damit übertreibst, wird Dein Account halt für eine Zeit gesperrt werden. Und wenn sehr viele es damit übertreiben, wird halt @Meistertr ein Schreiben von der Positec'schen Rechtsabteilung bekommen.

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

          Bedeutet das nebenbei bemerkt dann auch, dass z.B. ein eingestelltes Zeitprogramm ebenfalls im Mäher "wohnt"?

          Stell über App oder Adapter den Zeitplan ein, schalte WLAN aus und schau Dir an, wie der Mäher seine Mähdienste gemäß Zeitplan ausführt.

          1 Reply Last reply
          0
          • hsteinmeH hsteinme

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

            MQTT Server an Mäher = Schick Status
            Darunter habe ich was anderes verstanden als das was du jetzt geschrieben hast.

            Wie soll ich mir dazu eine Meinung bilden, solange Du für Dich behältst, wie Dein anderes Verständnis aussieht`?

            haselchenH Offline
            haselchenH Offline
            haselchen
            Most Active
            wrote on last edited by
            #139

            @hsteinme

            Hatte ich oben schon beschrieben. Ich behalte selten was für mich ;)

            1. schreibst du das: MQTT Server an Mäher = Schick Status
            2. schreibst du das: Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst

            @womi

            Nicht zu lange aus dem WLAN lassen, nach 3 Tagen ohne Einwahl ins heimische Netzwerk + bei eingestellter Diebstahlsperre in der App wird der Mäher gesperrt.
            Du kannst per USB Stick ein Log auslesen, in dem alle Infos stehen.
            Mähzeiten + Zeiten für den Kantenschnitt.

            Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

            hsteinmeH 1 Reply Last reply
            0
            • haselchenH haselchen

              @hsteinme

              Hatte ich oben schon beschrieben. Ich behalte selten was für mich ;)

              1. schreibst du das: MQTT Server an Mäher = Schick Status
              2. schreibst du das: Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst

              @womi

              Nicht zu lange aus dem WLAN lassen, nach 3 Tagen ohne Einwahl ins heimische Netzwerk + bei eingestellter Diebstahlsperre in der App wird der Mäher gesperrt.
              Du kannst per USB Stick ein Log auslesen, in dem alle Infos stehen.
              Mähzeiten + Zeiten für den Kantenschnitt.

              hsteinmeH Online
              hsteinmeH Online
              hsteinme
              wrote on last edited by
              #140

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

              schreibst du das: MQTT Server an Mäher = Schick Status
              schreibst du das: Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst

              1. beschreibt den Nicht-Normalfall, wenn durch die Anwahl der App der Adapter Informationen erhält.
              2. beschreibt den Normalfall, nämlich die Kommunikation Mäher - MQTT Server - Adapter (ohne dass jemand anderes, z.B. die App dazwischen funkt.
              haselchenH 1 Reply Last reply
              0
              • hsteinmeH hsteinme

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

                schreibst du das: MQTT Server an Mäher = Schick Status
                schreibst du das: Der MQTT Server ist der Makler (Broker) in der Mitte. Im Normalfall schickt der Mäher seinen Status an den MQTT Server. Dieser schickt den Status an alle Subscriber weiter. Wann und wie oft der MQTT Server Informationen vom Mäher bekommt, entscheidet allein der Mäher, niemand sonst

                1. beschreibt den Nicht-Normalfall, wenn durch die Anwahl der App der Adapter Informationen erhält.
                2. beschreibt den Normalfall, nämlich die Kommunikation Mäher - MQTT Server - Adapter (ohne dass jemand anderes, z.B. die App dazwischen funkt.
                haselchenH Offline
                haselchenH Offline
                haselchen
                Most Active
                wrote on last edited by
                #141

                @hsteinme

                Wie wäre die Live-Aktualisierung , wenn ich ein 2.Handy benutze , dass nur im WLAN ist und die App geöffnet lasse (sagen wir permanent)?

                Synology DS218+ & 2 x Fujitsu Esprimo (VM/Container) + FritzBox7590 + 2 AVM 3000 Repeater & Homematic & HUE & Osram & Xiaomi, NPM 10.9.4, Nodejs 22.21.0 ,JS Controller 7.0.7 ,Admin 7.7.19

                hsteinmeH 1 Reply Last reply
                0
                • haselchenH haselchen

                  @hsteinme

                  Wie wäre die Live-Aktualisierung , wenn ich ein 2.Handy benutze , dass nur im WLAN ist und die App geöffnet lasse (sagen wir permanent)?

                  hsteinmeH Online
                  hsteinmeH Online
                  hsteinme
                  wrote on last edited by
                  #142

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

                  Wie wäre die Live-Aktualisierung , wenn ich ein 2.Handy benutze , dass nur im WLAN ist und die App geöffnet lasse (sagen wir permanent)?

                  Ich habe oben den Ablauf nach einem Poll durch die App beschrieben. Ein Poll wird beim Starten der App durchgeführt oder durch einen Benutzer-Eingriff. Wenn ein Handy "nur einfach so rumliegt" führt, die App keinen Poll durch. Die Aktualisierung würde also immer nur vom Mäher aus erfolgen, nicht von der App aus.

                  1 Reply Last reply
                  0
                  • arteckA 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 Offline
                    S Offline
                    Sandmanyz
                    wrote on last edited by
                    #143

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

                    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                                                                   
                                    }  
                                }
                                
                    

                    Wie würde das in Blockly aussehen?

                    1. „startTime“ auf z.B. 10:00 setzen
                    2. 5 Sekunden Pause
                    3. „workTime“ auf 10 setzen

                    Was ist mit „borderCut“? Muss das nicht auch noch auf true gesetzt werden? Finde ich in dem Skript nicht.

                    arteckA 1 Reply Last reply
                    0
                    • S Sandmanyz

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

                      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                                                                   
                                      }  
                                  }
                                  
                      

                      Wie würde das in Blockly aussehen?

                      1. „startTime“ auf z.B. 10:00 setzen
                      2. 5 Sekunden Pause
                      3. „workTime“ auf 10 setzen

                      Was ist mit „borderCut“? Muss das nicht auch noch auf true gesetzt werden? Finde ich in dem Skript nicht.

                      arteckA Offline
                      arteckA Offline
                      arteck
                      Developer Most Active
                      wrote on last edited by
                      #144

                      @Sandmanyz der borderCut steht bei mir immer auf true..deshalb setzte ich den nicht im script..mit blockly..kein plan..
                      würde aber sagen so wie du es beschreibst ja

                      zigbee hab ich, zwave auch, nuc's genauso und HA auch

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        Sandmanyz
                        wrote on last edited by
                        #145

                        Gut das kann ich ja auch machen bzw. habe ich borderCut einfach erst einmal immer auf true.

                        Nun habe ich mit Blockly folgendes gebaut....

                        1. Schreibe in "startTime" die aktuelle Zeit plus 60 Sekunden
                        2. Warte 5500ms
                        3. Schreibe in "workTime" 10 (Minuten)

                        Mein Roboter fährt dann jedoch zum Mähen und nicht zum Kantenmähen raus. Was macht dein Sktipt neben dem Setzen der beiden Objekte (startTime, workTime) noch?

                        Ich habe von Javascript maximal wenig Ahnung.

                        hsteinmeH 1 Reply Last reply
                        0
                        • S Sandmanyz

                          Gut das kann ich ja auch machen bzw. habe ich borderCut einfach erst einmal immer auf true.

                          Nun habe ich mit Blockly folgendes gebaut....

                          1. Schreibe in "startTime" die aktuelle Zeit plus 60 Sekunden
                          2. Warte 5500ms
                          3. Schreibe in "workTime" 10 (Minuten)

                          Mein Roboter fährt dann jedoch zum Mähen und nicht zum Kantenmähen raus. Was macht dein Sktipt neben dem Setzen der beiden Objekte (startTime, workTime) noch?

                          Ich habe von Javascript maximal wenig Ahnung.

                          hsteinmeH Online
                          hsteinmeH Online
                          hsteinme
                          wrote on last edited by
                          #146

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

                          Schreibe in "startTime" die aktuelle Zeit plus 60 Sekunden
                          Warte 5500ms
                          Schreibe in "workTime" 10 (Minuten)

                          Du musst borderCut auf true setzen, wenn Du einen Kantenschnitt haben möchtest. Bitte beachte aber: Der Mäher fährt nur einen geplanten Kantenschnitt pro Tag. Weitere Kantenschnittaufträge im Zeitplan werden als reine Mähaufträge ausgeführt.

                          S 1 Reply Last reply
                          0
                          • hsteinmeH hsteinme

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

                            Schreibe in "startTime" die aktuelle Zeit plus 60 Sekunden
                            Warte 5500ms
                            Schreibe in "workTime" 10 (Minuten)

                            Du musst borderCut auf true setzen, wenn Du einen Kantenschnitt haben möchtest. Bitte beachte aber: Der Mäher fährt nur einen geplanten Kantenschnitt pro Tag. Weitere Kantenschnittaufträge im Zeitplan werden als reine Mähaufträge ausgeführt.

                            S Offline
                            S Offline
                            Sandmanyz
                            wrote on last edited by
                            #147

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

                            Der Mäher fährt nur einen geplanten Kantenschnitt pro Tag. Weitere Kantenschnittaufträge im Zeitplan werden als reine Mähaufträge ausgeführt.

                            Jetzt ist mir das Verhalten klar. Das ist zum Testen natürlich blöd. Danke für die Info.

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              MartyBr
                              wrote on last edited by
                              #148

                              Hallo, ich habe eine Frage zu dem Befehl "sendCommand". Ich möchte bei Regen den Worx direkt in seine Garage schicken. Ich finde leider keinen Trigger "go Home" oder so ähnlich. Ich vermute daher, dass man sendCommand mit einem Parameter nutzen muss.

                              Das Blocky dazu sollte kein Problem sein.

                              Hier meine Konfiguration:

                              FW: 3.08
                              Worx M1000
                              Worx Adapter 1.1.0 (gitHub)

                              Habt ihr einen Tipp für mich?

                              Gruß
                              Martin


                              Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                              Raspeberry mit USB Leseköpfen für Smartmeter
                              Homematic und Homematic IP

                              T 1 Reply Last reply
                              0
                              • M MartyBr

                                Hallo, ich habe eine Frage zu dem Befehl "sendCommand". Ich möchte bei Regen den Worx direkt in seine Garage schicken. Ich finde leider keinen Trigger "go Home" oder so ähnlich. Ich vermute daher, dass man sendCommand mit einem Parameter nutzen muss.

                                Das Blocky dazu sollte kein Problem sein.

                                Hier meine Konfiguration:

                                FW: 3.08
                                Worx M1000
                                Worx Adapter 1.1.0 (gitHub)

                                Habt ihr einen Tipp für mich?

                                T Offline
                                T Offline
                                tazdevil20
                                wrote on last edited by
                                #149

                                @MartyBr
                                Hi,
                                einfach den den Wert "Home" auswähle bzw im Script/Blockly die 3 setzen.

                                M 1 Reply Last reply
                                0
                                • T tazdevil20

                                  @MartyBr
                                  Hi,
                                  einfach den den Wert "Home" auswähle bzw im Script/Blockly die 3 setzen.

                                  M Offline
                                  M Offline
                                  MartyBr
                                  wrote on last edited by
                                  #150

                                  @tazdevil20
                                  So:
                                  Bildschirmfoto 2020-06-14 um 20.44.02.png

                                  Gruß
                                  Martin


                                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                  Raspeberry mit USB Leseköpfen für Smartmeter
                                  Homematic und Homematic IP

                                  T 1 Reply Last reply
                                  0
                                  • M MartyBr

                                    @tazdevil20
                                    So:
                                    Bildschirmfoto 2020-06-14 um 20.44.02.png

                                    T Offline
                                    T Offline
                                    tazdevil20
                                    wrote on last edited by
                                    #151

                                    @MartyBr
                                    Sollte so passen.

                                    M 1 Reply Last reply
                                    0
                                    • T tazdevil20

                                      @MartyBr
                                      Sollte so passen.

                                      M Offline
                                      M Offline
                                      MartyBr
                                      wrote on last edited by
                                      #152

                                      @tazdevil20 Dann warte ich mal auf Regen. Danke für deine Hilfe :+1:

                                      Gruß
                                      Martin


                                      Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                                      Raspeberry mit USB Leseköpfen für Smartmeter
                                      Homematic und Homematic IP

                                      1 Reply Last reply
                                      0
                                      • F Offline
                                        F Offline
                                        Flopsi
                                        wrote on last edited by
                                        #153

                                        Hallo

                                        leider finde ich den Datenpunkt Home nicht ....

                                        auch die Version 1.1.0 ist mir unbekannt ich habe noch Version 1.0.2 ....

                                        Könnt ihr mir helfen ?

                                        hsteinmeH 1 Reply Last reply
                                        0
                                        • F Flopsi

                                          Hallo

                                          leider finde ich den Datenpunkt Home nicht ....

                                          auch die Version 1.1.0 ist mir unbekannt ich habe noch Version 1.0.2 ....

                                          Könnt ihr mir helfen ?

                                          hsteinmeH Online
                                          hsteinmeH Online
                                          hsteinme
                                          wrote on last edited by
                                          #154

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

                                          Datenpunkt Home

                                          mower.state = false steuert die Heimfahrt an.

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

                                          Version 1.1.0

                                          Das ist die aktuell in GitHub befindliche Version.

                                          1 Reply Last reply
                                          -1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          604

                                          Online

                                          32.7k

                                          Users

                                          82.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe