Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Neuer Robonect HX Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Neuer Robonect HX Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • braindead
      braindead Developer @Latzi last edited by

      @Latzi Bevor ich Günther, meinen Mähroboter, letztes Jahr in den Winterschlaf versetzt habe, lief der Adapter bei mir ohne Probleme, wobei ich auch nicht die aktuellste Firmware genutzt habe. Wenn ich ihn demnächst wieder wecke, dann werde ich die neueste Firmware einspielen und dann den Adapter auf den neuesten Stand bringen.

      Latzi 1 Reply Last reply Reply Quote 0
      • Latzi
        Latzi @braindead last edited by

        @braindead
        Das klingt echt weltklassig, vielen Dank - freu mich schon drauf 👏

        1 Reply Last reply Reply Quote 0
        • braindead
          braindead Developer last edited by

          @Latzi Ich habe den Adapter aktualisiert, so dass er jetzt mit Robonect v1.1b funktioniert. Grundsätzlich ist die Unterstützung älterere Firmwares aus Mangel an Support Möglichkeiten nicht angedacht. Ob der Adapter also auch mit älteren Robonect Versionen funktioniert, kann ich Dir nicht sagen. Vielleicht kannst Du das testen und mir Rückmeldung geben.

          Latzi Bulli Bultmann 2 Replies Last reply Reply Quote 1
          • Latzi
            Latzi @braindead last edited by Latzi

            @braindead
            nach Installation des neuen Adapters (und noch alter FW des Robonect) unveränderte Fehlermeldungen:

            2020-03-15 10:19:34.736 - info: host.Pi4-Server "system.adapter.robonect.0" enabled
            2020-03-15 10:19:34.766 - info: host.Pi4-Server instance system.adapter.robonect.0 started with pid 4656
            2020-03-15 10:19:36.961 - info: robonect.0 (4656) starting. Version 0.0.5 in /opt/iobroker/node_modules/iobroker.robonect, node: v10.19.0
            2020-03-15 10:19:37.060 - info: robonect.0 (4656) Done
            2020-03-15 10:19:39.847 - error: robonect.0 (4656) uncaught exception: Cannot read property '0' of undefined
            2020-03-15 10:19:39.848 - error: robonect.0 (4656) TypeError: Cannot read property '0' of undefined
            at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:3961:84)
            at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
            at Request.emit (events.js:198:13)
            at Request. (/opt/iobroker/node_modules/request/request.js:1161:10)
            at Request.emit (events.js:198:13)
            at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1083:12)
            at Object.onceWrapper (events.js:286:20)
            at IncomingMessage.emit (events.js:203:15)
            at endReadableNT (_stream_readable.js:1145:12)
            at process._tickCallback (internal/process/next_tick.js:63:19)
            2020-03-15 10:19:39.850 - info: robonect.0 (4656) cleaned everything up...
            2020-03-15 10:19:40.399 - info: robonect.0 (4656) terminating
            2020-03-15 10:19:40.400 - info: robonect.0 (4656) Terminated (NO_ERROR): Without reason
            2020-03-15 10:19:40.404 - info: robonect.0 (4656) terminating
            2020-03-15 10:19:40.948 - error: host.Pi4-Server Caught by controller[0]: TypeError: Cannot read property '0' of undefined
            2020-03-15 10:19:40.949 - error: host.Pi4-Server Caught by controller[0]: at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:3961:84)
            2020-03-15 10:19:40.949 - error: host.Pi4-Server Caught by controller[0]: at Request.self.callback (/opt/iobroker/node_modules/request/request.js:185:22)
            2020-03-15 10:19:40.949 - error: host.Pi4-Server Caught by controller[0]: at Request.emit (events.js:198:13)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at Request. (/opt/iobroker/node_modules/request/request.js:1161:10)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at Request.emit (events.js:198:13)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at IncomingMessage. (/opt/iobroker/node_modules/request/request.js:1083:12)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at Object.onceWrapper (events.js:286:20)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at IncomingMessage.emit (events.js:203:15)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at endReadableNT (_stream_readable.js:1145:12)
            2020-03-15 10:19:40.950 - error: host.Pi4-Server Caught by controller[0]: at process._tickCallback (internal/process/next_tick.js:63:19)
            2020-03-15 10:19:40.950 - info: host.Pi4-Server instance system.adapter.robonect.0 terminated with code 0 (NO_ERROR)
            2020-03-15 10:19:40.951 - info: host.Pi4-Server Restart adapter system.adapter.robonect.0 because enabled
            2020-03-15 10:19:54.916 - info: host.Pi4-Server "system.adapter.robonect.0" disabled
            

            Ich aktualisiere jetzt mal die FW auf 1.1b und meld mich danach wieder. Hast du die ZeroConf auch upgedated?

            Update: Nach dem Update auf FW-Version 1.1b läuft der Hase!!!
            @braindead vielen Dank für die prompte Überarbeitung, jetzt hab ich wieder einiges zu "basteln" 👏 👏 👏

            1 Reply Last reply Reply Quote 0
            • braindead
              braindead Developer last edited by

              @Latzi Freut mich, dass der Adapter jetzt bei Dir läuft. Falls Dir noch etwas auffällt, wäre es sehr gut, wenn Du auf GitHub einen Issue erstellen könntest.

              Ich habe den Adapter außerdem soweit vorbereitet, dass er in das Latest Repository von ioBroker aufgenommen werden kann. Mal gucken, wie lange das dauert und ob ich irgendetwas übersehen habe.

              Latzi 2 Replies Last reply Reply Quote 1
              • Latzi
                Latzi @braindead last edited by

                @braindead wird eine Weile dauern, bin gerade dabei eine Visualisierung zu basteln und mit der Unmenge an DP´s wird die möglicherweise bevorstehende Quarantäne sicherlich ausgefüllt.
                Ich geb Bescheid, sobald mir etwas auffällt, herzlichen Dank nochmals.

                1 Reply Last reply Reply Quote 0
                • Latzi
                  Latzi @braindead last edited by

                  @braindead
                  Kann ich mit den DP´s auch aktiv eingreifen oder dienen sie nur der Anzeige?
                  Konkret geht es um folgendes:

                  • Im Fehlerfall möchte ich den Mäher neu starten (vorher den Fehler quittieren)

                  • manuellen Mähauftrag erteilen (wie könnte das genau ausgelöst werden?)

                  Gibt es eine Funktionsbeschreibung?

                  1 Reply Last reply Reply Quote 0
                  • braindead
                    braindead Developer last edited by

                    @Latzi Im begrenzten Umfang kannst Du den Mähroboter über den Adapter steuern, indem Du den DP robonect.0.status.mode setzt. Möglich Werte sind "Auto", "Home", "Manual", "End of day" und "Job" (nicht vollständig implementiert).

                    Ich lasse meinen Mähroboter z.B. jeden Tag von 13 - 19 Uhr mähen. Da er keinen eingebauten Regensensor hat, habe ich mir ein Script bebastelt, dass den DP auf "Home" setzt, wenn mein Homematic Regensensor Regen meldet. Sobald es wieder trocken ist, wird der DP wieder auf "Auto" gesetzt.

                    Bzgl. des Fehlerfalls weiß ich nicht genau, was Du machen möchtest. Immer wenn mein Mähroboter einen Fehler gemeldet hat, musste ich aktiv zu ihm hin, den Fehler beseitigen und danach Im Tastenfeld den Fehler bestätigen. Den Adapter habe ich dabei nie gebraucht.

                    Auch einen manuellen Mähauftrag (das müsste "Job" sein) habe ich bisher nicht gebraucht, lasse mich aber gerne eines besseren belehren, wenn es dafür wirklich Bedarf gibt.

                    Latzi 1 Reply Last reply Reply Quote 0
                    • Latzi
                      Latzi @braindead last edited by

                      @braindead
                      bei mir kommt des öfteren "eingesperrt" und es reicht, den Fehler zu quittieren und wieder zu starten, daher die Frage (kann´s aber über das Robonect Online Tool auch erledigen).

                      Hier mal meine bisher geschaffte Vis:
                      e0ee9040-d5b4-4c9b-861e-2119e1d0d9c4-grafik.png

                      M 1 Reply Last reply Reply Quote 1
                      • braindead
                        braindead Developer last edited by

                        Wie quitiert man denn den Fehler in der WebUI? Vielleicht kann man das ja auch über die API machen.

                        Übrigens, tolle VIS! Aber Du solltest die Messer mal wechseln. 😄

                        Latzi 1 Reply Last reply Reply Quote 0
                        • Latzi
                          Latzi @braindead last edited by

                          @braindead sagte in Neuer Robonect HX Adapter:

                          Aber Du solltest die Messer mal wechseln.

                          Stimmt, hab aber noch einige kleine Ästelchen rumliegen, da möchte ich keine neuen Messer "opfern".

                          Beim Online-Tool kommt ein Dialog, dass ein Fehler aufgetreten ist und der Fehler kann zurückgesetzt werden. Danach muss "Auto" gestartet werden. Wenn es das nächste mal vorkommt, mach ich ein paar Screenshots davon.

                          1 Reply Last reply Reply Quote 0
                          • opossum
                            opossum last edited by

                            Hallo, @Latzi ,

                            Deine Vis sieht super aus, würdest Du uns vielleicht den Export zur Verfüging stellen?
                            Ich habe jetzt die Version 1.1b auf dem Modul, mein Karlchen (HQ 315x) piept in regelmäßigen Abständen. Kann man das irgendwo in der Software ausschalten? habe auch wieder

                            robonect.0	2020-03-16 15:15:12.830	error	(19369) Error: read ECONNRESET
                            robonect.0	2020-03-16 15:15:12.826	error	(19369) Error: socket hang up
                            

                            Funktioniert aber eigentlich alles.

                            Latzi 1 Reply Last reply Reply Quote 0
                            • braindead
                              braindead Developer last edited by

                              @opossum Das Robonect Modul hält nicht alle Informationem im Speicher vor. Wenn die API Informationen abfragt, die nicht im Speicher sind, muss der Mähroboter dafür geweckt werden, was dieser mit einem Piepen bestätigt. Es gibt keine Möglichkeit das Piepen Softwareseitig zu verhindern. Du kannst den Adapter lediglich so einstellen, dass diese Information gar nicht erst abgefragt werden. Welche Abfragen das Piepen verursachen kann ich Dir nicht sagen, weil ich es nie getestet habe.

                              Bzgl. des Socket Fehlers: Hast Du die aktuelle Version des Adapters installiert? Ich habe dieses Problem bei mir nämlich nicht.

                              opossum 1 Reply Last reply Reply Quote 0
                              • Bulli Bultmann
                                Bulli Bultmann @braindead last edited by

                                @braindead Hallo, ich habe den Adapter gerade installiert und es läuft sofort ganz gut. Viele Informationen die es über MQTT nicht gibt. Vielen Dank für die tolle Arbeit. Wenn es noch etwas zu testen gibt, kann ich gerne unterstützen.
                                Gruß Uwe

                                1 Reply Last reply Reply Quote 0
                                • opossum
                                  opossum @braindead last edited by opossum

                                  Hallo, @braindead ,
                                  danke für die Info.

                                  @braindead sagte in Neuer Robonect HX Adapter:

                                  @opossum
                                  ....
                                  Bzgl. des Socket Fehlers: Hast Du die aktuelle Version des Adapters installiert? Ich habe dieses Problem bei mir nämlich nicht.

                                  Installierte Version ist 0.0.4. Wegen des Pieptons, nicht so schlimm, meine Nachbarn haben mich nur gefragt. Es stört aber nicht.

                                  braindead 1 Reply Last reply Reply Quote 0
                                  • opossum
                                    opossum last edited by opossum

                                    Hallo, @Latzi,

                                    Du hast auf Deiner Vis bei der Rubrik Messer Drehzahl und durchschnittl. Drehzahl. Welche Datenpunkte liegen dahinter? ich finde die nicht auf Anhieb. Vielen Dank für Deine Hilfe. Ich habe die Seite nun nachgebaut.

                                    a0e7df1d-4f20-45e7-8c16-7d6646b9a063-grafik.png

                                    Latzi 1 Reply Last reply Reply Quote 1
                                    • Latzi
                                      Latzi @opossum last edited by Latzi

                                      @opossum sagte in Neuer Robonect HX Adapter:

                                      würdest Du uns vielleicht den Export zur Verfüging stellen?

                                      sicherlich (Design ist geklaut - nicht meine Kreation)!

                                      Um den Modus und Status als Klartext darstellen zu können, hab ich 2 Datenpunkte angelegt (werden mit folgenden Skripten befüllt), diese lauten bei mir:

                                      • javascript.0.Status.Flocki.Mode

                                      • javascript.0.Status.Flocki.Status

                                      Skript für "Mode":

                                      var Mode_akt;
                                      
                                      on({id: "robonect.0.status.mode", change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        Mode_akt = getState("robonect.0.status.mode").val;
                                        if (Mode_akt == 0) {
                                          setState("javascript.0.Status.Flocki.Mode", 'Auto', true);
                                        } else if (Mode_akt == 1) {
                                          setState("javascript.0.Status.Flocki.Mode", 'Manuell', true);
                                        } else if (Mode_akt == 2) {
                                          setState("javascript.0.Status.Flocki.Mode", 'Home', true);
                                        } else if (Mode_akt == 98) {
                                          setState("javascript.0.Status.Flocki.Mode", 'End of day', true);
                                        } else if (Mode_akt == 99) {
                                          setState("javascript.0.Status.Flocki.Mode", 'Job', true);
                                        }
                                      });
                                      

                                      Skript für "Status":

                                      var Status_akt;
                                      
                                      on({id: "robonect.0.status.status", change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        Status_akt = getState("robonect.0.status.status").val;
                                        if (Status_akt == 0) {
                                          setState("javascript.0.Status.Flocki.Status", 'Unbekannt', true);
                                        } else if (Status_akt == 1) {
                                          setState("javascript.0.Status.Flocki.Status", 'Parken', true);
                                        } else if (Status_akt == 2) {
                                          setState("javascript.0.Status.Flocki.Status", 'Mähen', true);
                                        } else if (Status_akt == 3) {
                                          setState("javascript.0.Status.Flocki.Status", 'Suchen der Ladestation', true);
                                        } else if (Status_akt == 4) {
                                          setState("javascript.0.Status.Flocki.Status", 'Laden', true);
                                        } else if (Status_akt == 5) {
                                          setState("javascript.0.Status.Flocki.Status", 'Umsetzen', true);
                                        } else if (Status_akt == 7) {
                                          setState("javascript.0.Status.Flocki.Status", 'Fehler', true);
                                        } else if (Status_akt == 8) {
                                          setState("javascript.0.Status.Flocki.Status", 'Schleifensignal verloren', true);
                                        } else if (Status_akt == 16) {
                                          setState("javascript.0.Status.Flocki.Status", 'Abgeschaltet', true);
                                        } else if (Status_akt == 17) {
                                          setState("javascript.0.Status.Flocki.Status", 'Schlafen', true);
                                        }
                                      });
                                      

                                      Skript für die Mähtage:

                                      var Timer_Tage;
                                      
                                      
                                      schedule('{"time":{"exactTime":true,"start":"18:24"},"period":{"days":1}}', function () {
                                        Timer_Tage = '';
                                        if (getState("robonect.0.timer.0.weekdays.monday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'Mo';
                                          } else {
                                            Timer_Tage += ', Mo';
                                          }
                                        }
                                        if (getState("robonect.0.timer.0.weekdays.tuesday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'Di';
                                          } else {
                                            Timer_Tage += ', Di';
                                          }
                                        }
                                        if (getState("robonect.0.timer.0.weekdays.wednesday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'Mi';
                                          } else {
                                            Timer_Tage += ', Mi';
                                          }
                                        }
                                        if (getState("robonect.0.timer.0.weekdays.thursday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'Do';
                                          } else {
                                            Timer_Tage += ', Do';
                                          }
                                        }
                                        if (getState("robonect.0.timer.0.weekdays.friday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'Fr';
                                          } else {
                                            Timer_Tage += ', Fr';
                                          }
                                        }
                                        if (getState("robonect.0.timer.0.weekdays.saturday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'Sa';
                                          } else {
                                            Timer_Tage += ', Sa';
                                          }
                                        }
                                        if (getState("robonect.0.timer.0.weekdays.sunday").val == true) {
                                          if (Timer_Tage == '') {
                                            Timer_Tage += 'So';
                                          } else {
                                            Timer_Tage += ', So';
                                          }
                                        }
                                        if (Timer_Tage != '') {
                                          Timer_Tage += ' von ';
                                          Timer_Tage += String(('' + getState("robonect.0.timer.0.start_time").val));
                                          Timer_Tage += ' bis ';
                                          Timer_Tage += String(('' + getState("robonect.0.timer.0.end_time").val));
                                          Timer_Tage += ' Uhr';
                                        }
                                        setState("javascript.0.Status.Flocki.Tage_Timer"/*Tage_Timer*/, Timer_Tage, true);
                                      });
                                      

                                      Wetterpause & Fehler an telegram senden:

                                      var Flocki_Status_alt, timeout;
                                      
                                      on({id: "robonect.0.status.status"/*Current status*/, change: "ne"}, function (obj) {
                                        var value = obj.state.val;
                                        var oldValue = obj.oldState.val;
                                        Flocki_Status_alt = getState("robonect.0.status.status").val;
                                        if (Flocki_Status_alt == 2 && (getState("javascript.0.Wetterstation.Regen_Tag").val >= 0.5 || getState("javascript.0.Wetterstation.Aussentemperatur").val <= 1)) {
                                          // Pause: bisherige Regenmenge > 0,5 l/m² oder Temp < 1°C -> Feierabend
                                          setState("robonect.0.status.mode"/*Current mode*/, 98); //  -> Feierabend
                                          setState("javascript.0.Status.Flocki.Regenpause"/*Regenpause*/, ([formatDate(new Date(), "YYYY.MM.DD"),' ',formatDate(new Date(), "hh:mm:ss")].join('')), true);
                                        } else if (Flocki_Status_alt == 7) {
                                          // Fehler! Telegram-Nachricht senden
                                          timeout = setTimeout(function () {
                                            sendTo("telegram", "send", {
                                                text: (['Störung bei Flocki !!!','\n','Fehler: ',getState("robonect.0.error.0.message").val,'\n','am ',getState("robonect.0.error.0.date").val,' um ',getState("robonect.0.error.0.time").val,' Uhr!'].join(''))
                                            });
                                          }, 120000);
                                        }
                                      });
                                      

                                      Und hier noch die View: Robonect_view.txt
                                      WLAN-Empfang: Robonect_WLAN.txt
                                      Fehlermeldungen: Robonect_error.txt

                                      materialdesign (in allen Varianten die es gibt) sind erforderlich!

                                      Programmierung ist verbesserungswürdig (lerne gerade damit umzugehen) und vis ist eher als quick&dirty zu bezeichnen und noch nicht vollständig, z.B. Fehleranzeige, ... 😉

                                      nils50122 S 3 Replies Last reply Reply Quote 1
                                      • Latzi
                                        Latzi @opossum last edited by

                                        @opossum sagte in Neuer Robonect HX Adapter:

                                        Welche Datenpunkte liegen dahinter?

                                        • robonect.0.motor.blade.average

                                        • robonect.0.motor.blade.speed

                                        1 Reply Last reply Reply Quote 1
                                        • braindead
                                          braindead Developer @opossum last edited by

                                          @opossum Der Socket Fehler kommt daher, dass der Adapter in den alten Versionen gleichzeitig mehrere API Calls an das Robonect Modul schickt. Die neueren Firmwares des Moduls lassen aber nur wenige gleichzeitige Calls zu und die anderen Calls werden dann abgebrochen.

                                          Die aktuelle Version des Adapters wurde so umgebaut, dass die Calls nacheinander laufen. Bitte einmal die aktuelle Version installieren und testen, ob das Problem bei Dir behoben ist.

                                          opossum 1 Reply Last reply Reply Quote 0
                                          • D
                                            darkiop Most Active last edited by

                                            @braindead Gibt es eine Möglichkeit über die API den Timer zu bearbeiten?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            568
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            gardena garten husqvarna mähroboter robonect
                                            56
                                            454
                                            90614
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo