Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

Test Adapter Worx v0.4.x

Geplant Angeheftet Gesperrt Verschoben Tester
worxlandroid
198 Beiträge 36 Kommentatoren 28.7k Aufrufe 35 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Termina

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

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

    Ich habe mir eine Übersicht meiner Timer erstellt. Gibt es auch die Möglichkeit die Info als Datenpunkt zu erhalten, ob der Timer an Tag X aktiv ist?

    Ich kenne keinen derartigen Datenpunkt des Adapters.

    Du könntest Dir höchstens einen "privaten" Datenpunkt erstellen und diesen per eigenem Skript jeweils füllen:

    • Wochentag von Tag X bestimmen
    • Ist calendar.<Wochentag>.workTime > 0?
    • Ist mower.mowTimeExtend > 0?

    Diese "Berechnung" müsstest Du erneuern, sobald sich das Datum ändert, sobald sich eine workTime ändert und sobald sich mowTimeExtend ändert.

    Den privaten Datenpunkt kannst Du dann in vis abgreifen.

    Vielen Dank für Deine Bemühungen! Das merke ich mir schon mal... :)

    Gibt es so einen Datenpunkt auch nicht in der API lieber @Meistertr ? :angel:

    hsteinmeH Online
    hsteinmeH Online
    hsteinme
    schrieb am zuletzt editiert von
    #80

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

    Gibt es so einen Datenpunkt auch nicht in der API

    Leider nein :disappointed:

    hsteinmeH 1 Antwort Letzte Antwort
    1
    • hsteinmeH hsteinme

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

      Gibt es so einen Datenpunkt auch nicht in der API

      Leider nein :disappointed:

      hsteinmeH Online
      hsteinmeH Online
      hsteinme
      schrieb am zuletzt editiert von
      #81

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

      Leider nein

      Stell mal Deine Worx Instanz in der Loglevel-Spalte auf Debug, starte die Instanz neu, warte 10 Minuten und suche in der Logdatei nach einem Eintrag dieser Art:

      2020-05-03 01:10:34.826  - debug: worx.0 (4571) GET MQTT DATA from API: {"cfg":{"id":0,"lg":"it","tm":"01:10:34","dt":"03/05/2020","sc":{"m":1,"p":0,"d":[["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,0]]},"cmd":0,"mz":[0,0,0,0],"mzv":[0,0,0,0,0,0,0,0,0,0],"rd":1,"sn":"2019****************","modules":{}},"dat":{"mac":"************","fw":3.08,"bt":{"t":9.3,"v":18.87,"p":95,"nr":318,"c":0,"m":0},"dmp":[1.8,-2.5,325.4],"st":{"b":27699,"d":506623,"wt":29203,"bl":90},"ls":1,"le":0,"lz":6,"rsi":-69,"lk":0,"act":1,"tr":0,"conn":"wifi","modules":{"DF":{"stat":"ok"}}}}
      

      Da kannst Du dann sehen, was über die API rüber kommt.

      1 Antwort Letzte Antwort
      1
      • hsteinmeH Online
        hsteinmeH Online
        hsteinme
        schrieb am zuletzt editiert von
        #82

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

        Kommt bei mir auch hin und wieder im Log vor.

        Auch wenn's für Euch kein Trost sein kann: Ihr seid nicht allein mit diesen Log-Einträgen. Schaut mal hierhin.

        1 Antwort Letzte Antwort
        0
        • dslraserD dslraser

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

          das kommt bei mir einmal am Tag .....
          woher kommt das ?

          1.PNG

          Kommt bei mir auch hin und wieder im Log vor. Ein Muster ist aber nicht erkennbar. Die Uhrzeit ist auch immer eine andere, meistens irgendwann nachts, aber auch nicht immer...

          MeistertrM Offline
          MeistertrM Offline
          Meistertr
          Developer
          schrieb am zuletzt editiert von
          #83

          @dslraser das ist nix wildes. ich gehe davon aus, dass der Server sich einmal am tag neustartet und daher kommt der fehler. der muss noch abgefangen werden. Ist wie beim Telegramm adapter, der hat auch einmal in der nacht eine error weil der Server neustartet. Its nicht schön aber auch nicht schlimm

          S 1 Antwort Letzte Antwort
          1
          • dslraserD dslraser

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

            das kommt bei mir einmal am Tag .....
            woher kommt das ?

            1.PNG

            Kommt bei mir auch hin und wieder im Log vor. Ein Muster ist aber nicht erkennbar. Die Uhrzeit ist auch immer eine andere, meistens irgendwann nachts, aber auch nicht immer...

            MeistertrM Offline
            MeistertrM Offline
            Meistertr
            Developer
            schrieb am zuletzt editiert von
            #84

            @dslraser in der aktuellen gitversion wird der fehler nicht mehr angezeigt

            1 Antwort Letzte Antwort
            2
            • MeistertrM Meistertr

              @dslraser das ist nix wildes. ich gehe davon aus, dass der Server sich einmal am tag neustartet und daher kommt der fehler. der muss noch abgefangen werden. Ist wie beim Telegramm adapter, der hat auch einmal in der nacht eine error weil der Server neustartet. Its nicht schön aber auch nicht schlimm

              S Offline
              S Offline
              skokarl
              schrieb am zuletzt editiert von
              #85

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

              @dslraser das ist nix wildes. ich gehe davon aus, dass der Server sich einmal am tag neustartet und daher kommt der fehler. der muss noch abgefangen werden. Ist wie beim Telegramm adapter, der hat auch einmal in der nacht eine error weil der Server neustartet. Its nicht schön aber auch nicht schlimm

              jipp könnte sein, gute Idee

              IOBroker mit Proxmox auf Celeron Nuc mit 16 GB und Debian11, Sonos API, Echo Show 15 als Wandtablet, Homematic IP, HUE, Sonos, Echos, DS718+ als Backup

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                tazdevil20
                schrieb am zuletzt editiert von
                #86

                @Meistertr
                Hoffe es ist ok. Habe ein pull request mit folgenden Änderungen eingestellt:

                • Hinzufügen von "sendCommand". Dadurch kann man alle (?) aktuell verfügbaren Commands an Worx AWS senden. Hatte dadurch gehofft, dass ich das Problem mit dem EdgeCut (M500 mit FW 3.07+) durch etwas spielen könnte.
                • Entfernen von "math.round" für die totalTime/Distance/BladeTime. Hat nur bis zur ersten Stelle nach dem Komma gerundet. Fand ich nicht schön.

                Habe auch noch in meinem Git Neigung, Steigung und Richtung integriert. Leider weiß ich nicht wie ich einen weiteren pull request stellen könnte. Der würde dann auch noch kommen.

                L 1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  Phtevn
                  schrieb am zuletzt editiert von
                  #87

                  Hallo zusammen,
                  ich bin völlig neu in der Welt der Rasenmäherroboter und auch im iobroker.
                  Ich habe alle möglichen "Lösungsansätze aus den verschieden topics für den Kantenschnitt probiert und bin immer wieder zum Mäher gegangen, der fleißig seine Runden drehte, aber eben ohne dabei zu mähen. Jetzt habe ich dieses Thema gefunden. Ich verstehe natürlich warum der Kantenschnitt mit der "alten Lösung" nicht mehr funktioniert.

                  Wäre es vielleicht möglich per script den Mähplan adaptiv jedesmal so zu ändern, dass es z.B. so aussieht:
                  es ist 9:50 Uhr morgens. Setze nun den Mähplan für den aktuellen tag auf Start: aktuelle Zeit + x Minuten mit Kantenschnitt. Dann sollte der Mäher doch eigentlich den edgecut mitmachen, oder?

                  Mein Mäher: Landroid M WR141E mit Firmware 3.08

                  Grüße
                  Phtevn

                  hsteinmeH T 2 Antworten Letzte Antwort
                  0
                  • P Phtevn

                    Hallo zusammen,
                    ich bin völlig neu in der Welt der Rasenmäherroboter und auch im iobroker.
                    Ich habe alle möglichen "Lösungsansätze aus den verschieden topics für den Kantenschnitt probiert und bin immer wieder zum Mäher gegangen, der fleißig seine Runden drehte, aber eben ohne dabei zu mähen. Jetzt habe ich dieses Thema gefunden. Ich verstehe natürlich warum der Kantenschnitt mit der "alten Lösung" nicht mehr funktioniert.

                    Wäre es vielleicht möglich per script den Mähplan adaptiv jedesmal so zu ändern, dass es z.B. so aussieht:
                    es ist 9:50 Uhr morgens. Setze nun den Mähplan für den aktuellen tag auf Start: aktuelle Zeit + x Minuten mit Kantenschnitt. Dann sollte der Mäher doch eigentlich den edgecut mitmachen, oder?

                    Mein Mäher: Landroid M WR141E mit Firmware 3.08

                    Grüße
                    Phtevn

                    hsteinmeH Online
                    hsteinmeH Online
                    hsteinme
                    schrieb am zuletzt editiert von
                    #88

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

                    Wäre es vielleicht möglich per script den Mähplan adaptiv jedesmal so zu ändern, dass es z.B. so aussieht:
                    es ist 9:50 Uhr morgens. Setze nun den Mähplan für den aktuellen tag auf Start: aktuelle Zeit + x Minuten mit Kantenschnitt. Dann sollte der Mäher doch eigentlich den edgecut mitmachen, oder?

                    Ja, das funktioniert bestens. Ich habe eine derartige Lösung im Einsatz. Für erste Details schau doch mal hierhin.

                    1 Antwort Letzte Antwort
                    0
                    • P Phtevn

                      Hallo zusammen,
                      ich bin völlig neu in der Welt der Rasenmäherroboter und auch im iobroker.
                      Ich habe alle möglichen "Lösungsansätze aus den verschieden topics für den Kantenschnitt probiert und bin immer wieder zum Mäher gegangen, der fleißig seine Runden drehte, aber eben ohne dabei zu mähen. Jetzt habe ich dieses Thema gefunden. Ich verstehe natürlich warum der Kantenschnitt mit der "alten Lösung" nicht mehr funktioniert.

                      Wäre es vielleicht möglich per script den Mähplan adaptiv jedesmal so zu ändern, dass es z.B. so aussieht:
                      es ist 9:50 Uhr morgens. Setze nun den Mähplan für den aktuellen tag auf Start: aktuelle Zeit + x Minuten mit Kantenschnitt. Dann sollte der Mäher doch eigentlich den edgecut mitmachen, oder?

                      Mein Mäher: Landroid M WR141E mit Firmware 3.08

                      Grüße
                      Phtevn

                      T Offline
                      T Offline
                      tazdevil20
                      schrieb am zuletzt editiert von tazdevil20
                      #89

                      @Phtevn
                      Ist eine gute Idee. Läst sich nur per Script realisieren. Bei meinem Versuch hat es funktioniert. Jedoch ist es über diesen Modus "nrur" einmal am Tag möglich die Rasenkante zu schneiden. "Nachteil" ist, dass er dann anschließend noch mäht. Das hat er auch gemacht als ich direkt nach dem Start die Konfiguration wieder entfernt habe.
                      Müsste ich aber vielleicht auch nochmal etwas genauer testen.

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        Phtevn
                        schrieb am zuletzt editiert von
                        #90

                        Ah super Anleitung im Roboter Forum.
                        Ich werde mal versuchen das bei mir zu implementieren. Für den Anfang bin ich von der Mächtigkeit des ioBroker noch etwas überfordert. Hier ein Adapter, da eine neue Version :)
                        Vielleicht hat ja einer von euch eine gute Seite mit Tipps oder Tutorials?

                        1 Antwort Letzte Antwort
                        0
                        • streethawkS Offline
                          streethawkS Offline
                          streethawk
                          schrieb am zuletzt editiert von
                          #91

                          Hi

                          @☺Meistertr: Ich hääte mal ne Frage. Wäre es möglich auch die Landxcape Modelle zu unterstützen. Welche ja baugleich mit den Landroid / Worx Mähern sind allerdings einen anderen Server nutzen.

                          In der Desk App konnte ich ihn einbinden und funktioniert auch. Hier musste nur die Adresse der WebApi eingetragen werden und der der SSL Schlüssel.

                          MeistertrM 1 Antwort Letzte Antwort
                          0
                          • streethawkS streethawk

                            Hi

                            @☺Meistertr: Ich hääte mal ne Frage. Wäre es möglich auch die Landxcape Modelle zu unterstützen. Welche ja baugleich mit den Landroid / Worx Mähern sind allerdings einen anderen Server nutzen.

                            In der Desk App konnte ich ihn einbinden und funktioniert auch. Hier musste nur die Adresse der WebApi eingetragen werden und der der SSL Schlüssel.

                            MeistertrM Offline
                            MeistertrM Offline
                            Meistertr
                            Developer
                            schrieb am zuletzt editiert von
                            #92

                            @streethawk sollte mit dem worx Adapter von git gehen. In der Config kann nun der hersteller geändert werden

                            1 Antwort Letzte Antwort
                            0
                            • T tazdevil20

                              @Meistertr
                              Hoffe es ist ok. Habe ein pull request mit folgenden Änderungen eingestellt:

                              • Hinzufügen von "sendCommand". Dadurch kann man alle (?) aktuell verfügbaren Commands an Worx AWS senden. Hatte dadurch gehofft, dass ich das Problem mit dem EdgeCut (M500 mit FW 3.07+) durch etwas spielen könnte.
                              • Entfernen von "math.round" für die totalTime/Distance/BladeTime. Hat nur bis zur ersten Stelle nach dem Komma gerundet. Fand ich nicht schön.

                              Habe auch noch in meinem Git Neigung, Steigung und Richtung integriert. Leider weiß ich nicht wie ich einen weiteren pull request stellen könnte. Der würde dann auch noch kommen.

                              L Offline
                              L Offline
                              LJSven
                              schrieb am zuletzt editiert von
                              #93

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

                              @Meistertr
                              Hoffe es ist ok. Habe ein pull request mit folgenden Änderungen eingestellt:

                              • Hinzufügen von "sendCommand". Dadurch kann man alle (?) aktuell verfügbaren Commands an Worx AWS senden. Hatte dadurch gehofft, dass ich das Problem mit dem EdgeCut (M500 mit FW 3.07+) durch etwas spielen könnte.
                              • Entfernen von "math.round" für die totalTime/Distance/BladeTime. Hat nur bis zur ersten Stelle nach dem Komma gerundet. Fand ich nicht schön.

                              Habe auch noch in meinem Git Neigung, Steigung und Richtung integriert. Leider weiß ich nicht wie ich einen weiteren pull request stellen könnte. Der würde dann auch noch kommen.

                              Kommen diese Funktionen in der neuen Version? Mathematische Rundung find ich auch nicht gut - wie kann ich bei der aktuellen FW EdgeCut starten? Haben einen WR 105.SI mit der FW 3.52 / habe gestern auf EdgeCut gedrückt, der Roboter ist losgefahren, aber ohne zu mähen.

                              T 1 Antwort Letzte Antwort
                              0
                              • L LJSven

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

                                @Meistertr
                                Hoffe es ist ok. Habe ein pull request mit folgenden Änderungen eingestellt:

                                • Hinzufügen von "sendCommand". Dadurch kann man alle (?) aktuell verfügbaren Commands an Worx AWS senden. Hatte dadurch gehofft, dass ich das Problem mit dem EdgeCut (M500 mit FW 3.07+) durch etwas spielen könnte.
                                • Entfernen von "math.round" für die totalTime/Distance/BladeTime. Hat nur bis zur ersten Stelle nach dem Komma gerundet. Fand ich nicht schön.

                                Habe auch noch in meinem Git Neigung, Steigung und Richtung integriert. Leider weiß ich nicht wie ich einen weiteren pull request stellen könnte. Der würde dann auch noch kommen.

                                Kommen diese Funktionen in der neuen Version? Mathematische Rundung find ich auch nicht gut - wie kann ich bei der aktuellen FW EdgeCut starten? Haben einen WR 105.SI mit der FW 3.52 / habe gestern auf EdgeCut gedrückt, der Roboter ist losgefahren, aber ohne zu mähen.

                                T Offline
                                T Offline
                                tazdevil20
                                schrieb am zuletzt editiert von
                                #94

                                @LJSven
                                Hi,
                                das ist ein Problem von Worx. Aktueller Workaround ist ein Script welches EdgeCut startet.

                                Ich habe in meinem Script einfach zu der aktuellen Zeit 2 Minuten hinzugezählt und die Parameter für das automatische Mähen entsprechend gesetzt mit der Option EdgeCut = true.

                                Kann gerade leider das Script nicht posten, da ich unterwegs bin. Kann ich bei Bedarf aber gerne noch machen. Als Vorwarnung: Das Script ist sicherlich Verbesserungswürdig, da ich einiges sicherlich zu kompliziert gebaut habe.

                                L S 2 Antworten Letzte Antwort
                                0
                                • T tazdevil20

                                  @LJSven
                                  Hi,
                                  das ist ein Problem von Worx. Aktueller Workaround ist ein Script welches EdgeCut startet.

                                  Ich habe in meinem Script einfach zu der aktuellen Zeit 2 Minuten hinzugezählt und die Parameter für das automatische Mähen entsprechend gesetzt mit der Option EdgeCut = true.

                                  Kann gerade leider das Script nicht posten, da ich unterwegs bin. Kann ich bei Bedarf aber gerne noch machen. Als Vorwarnung: Das Script ist sicherlich Verbesserungswürdig, da ich einiges sicherlich zu kompliziert gebaut habe.

                                  L Offline
                                  L Offline
                                  LJSven
                                  schrieb am zuletzt editiert von
                                  #95

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

                                  @LJSven
                                  Hi,
                                  das ist ein Problem von Worx. Aktueller Workaround ist ein Script welches EdgeCut startet.

                                  Ich habe in meinem Script einfach zu der aktuellen Zeit 2 Minuten hinzugezählt und die Parameter für das automatische Mähen entsprechend gesetzt mit der Option EdgeCut = true.

                                  Kann gerade leider das Script nicht posten, da ich unterwegs bin. Kann ich bei Bedarf aber gerne noch machen. Als Vorwarnung: Das Script ist sicherlich Verbesserungswürdig, da ich einiges sicherlich zu kompliziert gebaut habe.

                                  Kannst du mir das schicken, wenn du "Zeit" hast?

                                  1 Antwort Letzte Antwort
                                  0
                                  • T tazdevil20

                                    @LJSven
                                    Hi,
                                    das ist ein Problem von Worx. Aktueller Workaround ist ein Script welches EdgeCut startet.

                                    Ich habe in meinem Script einfach zu der aktuellen Zeit 2 Minuten hinzugezählt und die Parameter für das automatische Mähen entsprechend gesetzt mit der Option EdgeCut = true.

                                    Kann gerade leider das Script nicht posten, da ich unterwegs bin. Kann ich bei Bedarf aber gerne noch machen. Als Vorwarnung: Das Script ist sicherlich Verbesserungswürdig, da ich einiges sicherlich zu kompliziert gebaut habe.

                                    S Offline
                                    S Offline
                                    steimi
                                    schrieb am zuletzt editiert von
                                    #96

                                    @tazdevil20 bitte das Skript 'für alle' bereitstellen. danke

                                    1 Antwort Letzte Antwort
                                    0
                                    • arteckA Offline
                                      arteckA Offline
                                      arteck
                                      Developer Most Active
                                      schrieb am zuletzt editiert von arteck
                                      #97

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

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

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • T Offline
                                        T Offline
                                        tazdevil20
                                        schrieb am zuletzt editiert von tazdevil20
                                        #98

                                        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.

                                        arteckA 1 Antwort Letzte Antwort
                                        0
                                        • T 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.

                                          arteckA Offline
                                          arteckA Offline
                                          arteck
                                          Developer Most Active
                                          schrieb am zuletzt editiert von arteck
                                          #99

                                          @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);
                                          

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

                                          T 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          927

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe