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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Neuer Robonect HX Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            837
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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