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.
    • 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
                                      • opossum
                                        opossum @braindead last edited by

                                        Hallo, @braindead
                                        @braindead sagte in Neuer Robonect HX Adapter:

                                        @opossum ...
                                        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.

                                        Ich hatte nicht unter GitHub geschaut. Nun ist die 0.0.6 installiert, Fehler ist weg. Danke.

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

                                          @darkiop said in Neuer Robonect HX Adapter:

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

                                          Soweit ich weiß können Timer über die Robonect API gesetzt werden. Der Adapter kann es aber nicht. Momentan ist der Adapter dahingehend beschränkt, dass er fast alle verfügbaren Information abfragt und den Modus setzen kann.

                                          @opossum said in Neuer Robonect HX Adapter:

                                          Ich hatte nicht unter GitHub geschaut. Nun ist die 0.0.6 installiert, Fehler ist weg. Danke.

                                          Gerne!

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

                                            @braindead sagte in Neuer Robonect HX Adapter:

                                            Modus setzen kann

                                            Hierbei funktioniert "Auto", "Home" und "End of day", richtig?

                                            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

                                            945
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            gardena garten husqvarna mähroboter robonect
                                            56
                                            454
                                            90763
                                            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