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.8k

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

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

Test Adapter Worx v0.4.x

Geplant Angeheftet Gesperrt Verschoben Tester
worxlandroid
198 Beiträge 36 Kommentatoren 28.8k 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.
  • W worxweis

    Hallo Leute!

    auch ich habe das Problem, das Worx meinen Account sperrt, da ich mit IO Broker auf den Server zugreife.

    Habe mich daraufhin an den Support gewandt, da ich ja der Meinung war, das Meistertr, der ja den Adapter geschrieben hat, diesen in Abstimmung mit Worx entwickelt hat.

    Als Antwort vom Support erhielt ich diese Meldung: Sie sollen IoBroker einfach nicht mehr verwenden.

    Wenn Sie eine inoffizielle App, Software oder Suite nutzen, sollten Sie diese deinstallieren und vom Roboter trennen. Wir unterstützen nur die offizielle Worx-Landroid-App, die Sie im App Store/Play Store herunterladen können. Die meisten Apps von Drittanbietern können sich negativ auf die Servereinstellungen auswirken, sodass wir sie vorerst nicht unterstützen. Wir weisen darauf hin, dass einige dieser Apps von unseren Sicherheitssystemen als bösartig eingestuft werden könnten, was eine vorübergehende Sperrung des Kontos zur Folge hat.

    Somit, denke ich, wird sich hier nichts ändern und Worx wird den Zugang von IOBROKER immer wieder sperren.
    Somit macht dieser Adapter keinen Sinn!

    Es bringt ja nichts, wenn man sich alle paar Tage abmelden muss, 24-48 Stunden warten muss, damit der Account wieder aktiviert wird! Bei mir wurde er von alleine gar nicht mehr aktiv!

    Sollte jemand eine andere Lösung oder ein Update des Adapters haben, welcher dieses Problem löst, bin ich gerne wieder mit dabei!

    Jey CeeJ Online
    Jey CeeJ Online
    Jey Cee
    Developer
    schrieb am zuletzt editiert von
    #128

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

    Somit, denke ich, wird sich hier nichts ändern und Worx wird den Zugang von IOBROKER immer wieder sperren.

    Du hast aber schon Verstanden das der Support dir gesagt hat das sie keinen Support für Drittanbieter Software leisten?!

    Das hat nichts damit zu tun das die API verfügbar ist und auch genutzt werden kann.
    Sie sperren nur wenn ein Benutzer zu viel Last verursacht, das ist unabhängig von der Software. Das würde sogar passieren wenn die Offizielle App zu viele Anfragen an den Server stellt.

    Persönlicher Support
    Spenden -> paypal.me/J3YC33

    1 Antwort Letzte Antwort
    0
    • KnallochseK Offline
      KnallochseK Offline
      Knallochse
      schrieb am zuletzt editiert von Knallochse
      #129

      Und das https://forum.iobroker.net/post/421753 wurde wohl auch nicht gelesen

      HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

      1 Antwort Letzte Antwort
      0
      • eric2905E Offline
        eric2905E Offline
        eric2905
        schrieb am zuletzt editiert von eric2905
        #130

        Dieser Post des Entwicklers sagt genug.... (ist erst 1,5 Monate her)
        https://forum.iobroker.net/topic/24231/test-adapter-worx-v0-4-x/38

        Roses are red, violets are blue,

        if I listen to metal, my neighbours do too

        1 Antwort Letzte Antwort
        0
        • S skokarl

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

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

          das ist leider nicht so ganz neu.

          Link Text

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

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

          W Offline
          W Offline
          womi
          schrieb am zuletzt editiert von
          #131

          Hallo @skokarl ,@Meistertr
          Ich muss nochmals auf das Problem mit dem Online-Status des Mähers im Adapter zurückkommen. Das Wlan hat am Mäher, wenn in der Basis zwei Balken(ca. -60 dBm), sollte also passen. Irgendwo im Garten ist es vermutlich schlechter, mag sein. Jetzt passiert es mir neuerdings regelmässig, dass der Adapter auf mower.online=false geht und dann da bleibt. Und natürlich den Mähstatus nicht mehr aktualisiert. Auch wenn der Mäher brav in der Basis steht. Der Adapter zeigt dann z.B. noch „mowing“. Und zwar genau so lange, bis ich in der Worx-App den Status abrufe.
          Ohne dass ich am Wlan fummle, also nur durch ein Polling meinerseits.
          Und wenn der Status dann in der App aktualisiert wird, hat sie auch der Adapter.
          Ist es jetzt also so, dass sobald der Mäher in ein Wlan-Loch kommt, der Adapter beleidig ist? Aber warum kommt er dann wieder online, wenn ich in der App den Status abrufe, nicht aber sonst? Das verstehe ich nicht.
          Wenn ich den Adapter neu starte, aktualisiert es ebenfalls (das ist bekannt, aber auch, dass man sich da wohl ins Abseits schiessen kann, wenn man das zu oft macht).
          Was bedeutet denn der Online-Status im Adapter überhaupt, und warum hängt der von der Handy-App ab?

          hsteinmeH 1 Antwort Letzte Antwort
          0
          • W womi

            Hallo @skokarl ,@Meistertr
            Ich muss nochmals auf das Problem mit dem Online-Status des Mähers im Adapter zurückkommen. Das Wlan hat am Mäher, wenn in der Basis zwei Balken(ca. -60 dBm), sollte also passen. Irgendwo im Garten ist es vermutlich schlechter, mag sein. Jetzt passiert es mir neuerdings regelmässig, dass der Adapter auf mower.online=false geht und dann da bleibt. Und natürlich den Mähstatus nicht mehr aktualisiert. Auch wenn der Mäher brav in der Basis steht. Der Adapter zeigt dann z.B. noch „mowing“. Und zwar genau so lange, bis ich in der Worx-App den Status abrufe.
            Ohne dass ich am Wlan fummle, also nur durch ein Polling meinerseits.
            Und wenn der Status dann in der App aktualisiert wird, hat sie auch der Adapter.
            Ist es jetzt also so, dass sobald der Mäher in ein Wlan-Loch kommt, der Adapter beleidig ist? Aber warum kommt er dann wieder online, wenn ich in der App den Status abrufe, nicht aber sonst? Das verstehe ich nicht.
            Wenn ich den Adapter neu starte, aktualisiert es ebenfalls (das ist bekannt, aber auch, dass man sich da wohl ins Abseits schiessen kann, wenn man das zu oft macht).
            Was bedeutet denn der Online-Status im Adapter überhaupt, und warum hängt der von der Handy-App ab?

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

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

            Der Adapter zeigt dann z.B. noch „mowing“. Und zwar genau so lange, bis ich in der Worx-App den Status abrufe.
            Ohne dass ich am Wlan fummle, also nur durch ein Polling meinerseits.

            Das ist der Ablauf:

            • App an MQTT Server: Schick Status!
            • MQTT Server an Mäher: Schick Status!
            • Mäher schickt Status an MQTT Server
            • MQTT Server schickt den Status an alle Subscriber weiter, also nicht nur an die App, sondern auch an den Adapter (und evtl andere Subscriber)

            @Meistertr : Mir ist völlig unklar, worauf sich die Online Aussage bezieht. Auf ioBroker, also das heimische Netz? Auf den Wetter-Webserver? Auf den MQTT-Server? Auf den Mäher? Was testet denn der Adapter hier ab?

            haselchenH 1 Antwort Letzte Antwort
            0
            • hsteinmeH hsteinme

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

              Der Adapter zeigt dann z.B. noch „mowing“. Und zwar genau so lange, bis ich in der Worx-App den Status abrufe.
              Ohne dass ich am Wlan fummle, also nur durch ein Polling meinerseits.

              Das ist der Ablauf:

              • App an MQTT Server: Schick Status!
              • MQTT Server an Mäher: Schick Status!
              • Mäher schickt Status an MQTT Server
              • MQTT Server schickt den Status an alle Subscriber weiter, also nicht nur an die App, sondern auch an den Adapter (und evtl andere Subscriber)

              @Meistertr : Mir ist völlig unklar, worauf sich die Online Aussage bezieht. Auf ioBroker, also das heimische Netz? Auf den Wetter-Webserver? Auf den MQTT-Server? Auf den Mäher? Was testet denn der Adapter hier ab?

              haselchenH Offline
              haselchenH Offline
              haselchen
              Most Active
              schrieb am zuletzt editiert von
              #133

              @hsteinme

              In welchen Abständen fragt der MQTT Server die Daten ab? Das wäre wahrscheinlich des Rätsels Lösung hier.

              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 Antwort Letzte Antwort
              0
              • haselchenH haselchen

                @hsteinme

                In welchen Abständen fragt der MQTT Server die Daten ab? Das wäre wahrscheinlich des Rätsels Lösung hier.

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

                @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 W 2 Antworten Letzte Antwort
                1
                • 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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #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 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von
                                #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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #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 Antwort Letzte Antwort
                                  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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Sandmanyz
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #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 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

                                          793

                                          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