NEWS
Neuer Robonect HX Adapter
-
Dieses Wochenende wurde die neue Robonect 1.0 Beta5 Firmware veröffentlicht. Ich habe den Adapter so angepasst, dass er mit der neuen Firmware funktioniert.
@ManinBlack: Dein Problem sollte auch gelöst sein.
Hier der Link zum Adapter: https://github.com/braindead1/ioBroker.robonect
-
Hey,
ja vielen Dank. Das haut nun hin!
Wobei ich das hier noch immer im Log habe:
robonect.0 2018-06-12 11:01:34.175 error TypeError: Cannot read property 'enable' of undefined at Request._callback (/opt/iobroker/node_modules/iobroker.robonect/lib/robonect.js:4182:86) at Request.self.callback (/opt/iobroker/node_m robonect.0 2018-06-12 11:01:34.174 error uncaught exception: Cannot read property 'enable' of undefined
Außerdem wird die Akkutemperatur nicht übernommen. Das liegt wohl hieran:
-
Außerdem wird die Akkutemperatur nicht übernommen. Das liegt wohl hieran:
Die Akkutemperatur wir bei mir angezeigt:
Allerdings habe ich auch Fehler im Log. ( In der Web-UI ist der Mower erreichbar und "schläft" )
VG Uwe
-
Ich habe jetzt meinen WLAN Kanal optimiert ( nach dem Standort des Mower ) damit sind die Connection lost weg aber ich bekomme neue Fehler, anscheinden immer wenn der Mower "schläft"
-
Bei mir meldet der Mähroboter seit gestern, dass der Begrenzungsdraht defekt ist. Dummerweise ist der Akku komplett leer und er lädt nicht ohne Begrenzungsdraht. Den Kabel Tester habe ich bestellt und ich hoffe, dass am Wochenende wieder alles läuft. Bis dahin kann ich auf jeden Fall nicht Testen.
@HAL: Versuch es mal mit der IP Adresse des Mähroboters und auch ohne Port. Evtl. ist das Dein Problem.
@ManinBlack: Danke für den konkreten Hinweis auf den Fehler. Wenn ich wieder testen kann, dann werde ich ihn beheben.
-
Hätte auch was beizutragen: Mäher geupdatet auf 1.0B5, Adapter ebenfalls aktualisiert. Mäher ist problemlos über WLAN erreichbar und steuerbar. Sieht der Adapter aber anders:
robonect.0 2018-06-13 23:30:26.567 error Error: connect ECONNRESET 192.168.1.107:80 robonect.0 2018-06-13 23:27:56.774 error Error: socket hang up robonect.0 2018-06-13 23:27:26.414 error Error: socket hang up robonect.0 2018-06-13 23:25:56.946 error Error: socket hang up robonect.0 2018-06-13 23:25:26.386 error Error: socket hang up robonect.0 2018-06-13 23:24:56.497 error Error: socket hang up robonect.0 2018-06-13 23:24:26.380 error Error: socket hang up robonect.0 2018-06-13 23:23:56.220 error Error: socket hang up robonect.0 2018-06-13 23:23:26.325 error Error: socket hang up robonect.0 2018-06-13 23:21:56.522 error Error: socket hang up robonect.0 2018-06-13 23:21:26.306 error Error: socket hang up robonect.0 2018-06-13 23:20:26.279 error Error: read ECONNRESET robonect.0 2018-06-13 23:20:26.273 error Error: read ECONNRESET robonect.0 2018-06-13 23:20:26.270 error Error: socket hang up robonect.0 2018-06-13 23:19:28.208 error No connection to lawn mower. Check network connection. robonect.0 2018-06-13 23:15:26.189 error Error: read ECONNRESET robonect.0 2018-06-13 23:15:26.188 error Error: read ECONNRESET robonect.0 2018-06-13 23:15:26.183 error Error: read ECONNRESET robonect.0 2018-06-13 23:15:26.174 error Error: read ECONNRESET
Im Adapter habe ich nur die 192.168.1.107 eingetragen, ein Port steht dort nicht. Unter der IP ist der Mäher auch wie gesagt problemlos erreichbar, die Ping Zeiten sind bei 2ms. Das WLAN Signal ist jetzt nicht Weltklasse, aber ok, die Browserverbindung läuft problemlos und ohne Aussetzer.
Viele Grüße
Christian
-
@HAL: Versuch es mal mit der IP Adresse des Mähroboters und auch ohne Port. Evtl. ist das Dein Problem. `
Vermutlich wurde der Fehler ausgelöst von einem "#" Zeichen in meinem Passwort. Ich habe das jetzt gelöscht und bisher taucht der Fehler im Log nicht mehr auf.
-
Hallo.
Wollte wissen ob mir jemand sagen kann wie man den Robonect Adapter in Verbindung mit IoBroker und Alexa verknüpfen kann.
Mein Problem ist dass im Status des Brokers der jeweilige Modus ausgewählt werden kann das heißt ich gehe rechts darauf und dort ist ein Pfeil nach unten wo man den Status dann ändern kann. Wenn ich den jeweiligen Mode ausgewählt habe fährt der RI40 auch los jedoch kann ich den Mode nicht in alexa einbinden.
Unter Cloud Adapter und hinzufügen kann der „State“ nicht ausgewählt werden.
Weiß da jemand was man da tun muss?
-
Ich hänge mich mal hier mit dran. Läuft bei mir mit einem R40, Baujahr 2016.
Edit:
Wie lasse ich mit denn am sinnvollsten den Mode in VIS anzeigen? Der DP robonect.0.status.status liefert aktuell 'nur'
0: "Unbekannt", 1: "Parken", 2: "Mähen", 3: "Suchen der Ladestation", 4: "Laden", 5: "Umsetzen", 7: "Fehler", 8: "Schleifensignal verloren", 16: "Abgeschaltet", 17: "Schlafen"
Eigener DP und via Skript entsprechend befüllen? Oder übersehe ich gerade etwas?
-
Genau so habe ich es gemacht….
Gesendet von iPhone mit Tapatalk
-
Ich jetzt auch, falls es jemand braucht (Blockly Import):
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id="wNq%qfGC20jG:5FHgvIu" x="-1262" y="-112"><field name="NAME">Garten.Rasenmaehroboter.Status</field> <next><block type="comment" id="`o*^YK^x2GS8xhlEJ]WY"><field name="COMMENT">Status Rasenroboter aus Zahl wird Text</field> <next><block type="comment" id="NJzR}Y_1c;hL-u.il{bG"><field name="COMMENT">http://192.168.1.200/json?cmd=status</field> <next><block type="on_ext" id="-B/i{)JmeNNtfm#+y*,T"><mutation items="1"></mutation> <field name="CONDITION">ne</field> <value name="OID0"><shadow type="field_oid" id="an8k{`9WavP`j9Ii!0F5"><field name="oid">robonect.0.status.status</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="8r9y{dBZ/putAzAMN:(T"><mutation elseif="9"></mutation> <value name="IF0"><block type="logic_compare" id="]{H@q-E31KX[g{L}=?(D"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="HqT+m/+P!ZH3E?JdW7~9"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="K9cj`OY`:={BNYkT4:)q"><field name="NUM">0</field></block></value></block></value> <statement name="DO0"><block type="control" id=")[dRZf|IwXo`GBz{(~q%"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="J8O9uo-_F`UV/1,-.rAJ"><field name="TEXT">Unbekannt</field></block></value></block></statement> <value name="IF1"><block type="logic_compare" id="D-W^PenR~EBTf,SR,Drr"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="b2i3y+mUrh?/=TYVPb{{"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="/]AK/,9)EDuTtTuZX+yN"><field name="NUM">1</field></block></value></block></value> <statement name="DO1"><block type="control" id="6l9#Jbgv+1l6{KS=tP;x"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="#j6G+s+yVaMD~R:jVUe#"><field name="TEXT">Parken</field></block></value></block></statement> <value name="IF2"><block type="logic_compare" id="H-@m@esL`H%1pyrC%vo5"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="w{dW?wNtQz2/N`BdN4W#"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="*74BIyzbf2Zu(u]BnQJc"><field name="NUM">2</field></block></value></block></value> <statement name="DO2"><block type="control" id="@AcaO@P=ERP((Mj,GVcC"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="I%g1~j0xv+-zyKz4f)#e"><field name="TEXT">Mähen</field></block></value></block></statement> <value name="IF3"><block type="logic_compare" id="vL_7{!)KG.OZk3T8Vd~0"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="[wa@wSrf9h~KLU:cz|O;"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="q#4zs]1/SYRw^KT|w({V"><field name="NUM">3</field></block></value></block></value> <statement name="DO3"><block type="control" id="KZG[gNyjtJr]7TZd.Bgs"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="0pF{qi5WoQn|C7L35yOQ"><field name="TEXT">Heimweg</field></block></value></block></statement> <value name="IF4"><block type="logic_compare" id="9cLNe#wOZHO?ufo{n+qd"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="~KS)U]7%Tq0M[7b7:G,5"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="km)]e-6;lP9,M?Up5)}p"><field name="NUM">4</field></block></value></block></value> <statement name="DO4"><block type="control" id="I9xZ1;JaS2N9igLGDX9b"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="OaDfAVugZc{Qz(^IPEh,"><field name="TEXT">Laden</field></block></value></block></statement> <value name="IF5"><block type="logic_compare" id="vm{PKJR[7A4b5(OGg`a3"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="w.Fh|6/Ie0|*p=nOEt;z"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="YhrorUcm-q^peG*i5fq)"><field name="NUM">5</field></block></value></block></value> <statement name="DO5"><block type="control" id="9uTl5]/#[kJ_;cjEc@Ru"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="KX`k)x~QE6G:_BSXU?Ak"><field name="TEXT">Umsetzen</field></block></value></block></statement> <value name="IF6"><block type="logic_compare" id="y4y6y0YP;oECHzaChe?k"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Y!|PPtO(,[i6uJBMn1a3"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="s7gZ9nxE.!O#_u0uZz~v"><field name="NUM">7</field></block></value></block></value> <statement name="DO6"><block type="control" id="BoH6M[{+@Ti7YQae]9.P"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="@JbK2^k?Cj?N|y,rc7cI"><field name="TEXT">Fehler</field></block></value></block></statement> <value name="IF7"><block type="logic_compare" id="H6S;T5uWMfZNcaQl,E-D"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="C%@5XTqznC5?-LJ`^BFZ"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="D^X;NvhKn+]-8_47(*Zc"><field name="NUM">8</field></block></value></block></value> <statement name="DO7"><block type="control" id="yBv2n82jhaho]zDiW2Pd"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="U{cb)@yPpoCf;7u8LbP3"><field name="TEXT">Schleifensignal verloren</field></block></value></block></statement> <value name="IF8"><block type="logic_compare" id="0`(DDd4(eurNc9ULEd0k"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="R^Ud_rXao`2|#O5Wf6N~"><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="+4nr;0^vG(CGHXl/]En="><field name="NUM">16</field></block></value></block></value> <statement name="DO8"><block type="control" id="9bXjr,Xi9T66aBXkD)=@"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="}{EyFUA(Y,y^9e%v9I@k"><field name="TEXT">Abgeschaltet</field></block></value></block></statement> <value name="IF9"><block type="logic_compare" id="Qv9@bF3g82oaaszlkIps"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="NLCX}_=_smm*elwm@_p["><field name="ATTR">val</field> <field name="OID">robonect.0.status.status</field></block></value> <value name="B"><block type="math_number" id="7-6I5ln!.ov@d3:G({*q"><field name="NUM">17</field></block></value></block></value> <statement name="DO9"><block type="control" id="ET7SB`S^RLl~_Fv_@,:q"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.Garten.Rasenmaehroboter.Status</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="{C|TqZmr7a2-Usj3LMg9"><field name="TEXT">Schläft</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></xml>
-
Aktuell werden die DPs next_date, next_time und next_unix nicht befüllt. Im JSON sind diese Werte auch nicht vorhanden:
Ist der Fehler bekannt?
-
Was kann ich mit dem Blockly Skript nun anfangen?
Bekomme meinen Status nicht in den Cloud Adapter reingepackt.
-
Das war ja auch nicht gefragt…
Aber du kannst den Status im VIS sichtbar machen....
-
So, mein Mäher funktioniert wieder. Das Problem war nicht der Begrenzungsdraht. Das Kabel vom Netzteil zur Ladestation hatte einen Kabelbruch, so dass die Ladestation mal Strom hatte und mal nicht.
Wollte wissen ob mir jemand sagen kann wie man den Robonect Adapter in Verbindung mit IoBroker und Alexa verknüpfen kann. `
Da kann ich leider nicht helfen. Ich habe zwar eine Alexa, mein Mäher läuft aber rein über Timer.Aktuell werden die DPs next_date, next_time und next_unix nicht befüllt. Im JSON sind diese Werte auch nicht vorhanden.
Ist der Fehler bekannt? `
Das ist kein Fehler, sondern so gewollt. Robonect gibt die Werte nur aus, wenn gerade kein Timer läuft und er auf den nächsten Timer wartet. Mein Mäher ist für heute fertig und zeigt mir an, dass er morgen um 13:00 Uhr wieder anfangen wir zu mähen.Ein Frage in die Runde: Läuft der Adapter bei Euch so stabil, dass ich ihn in die offizielle ioBroker Adapter Liste aufnehmen lassen kann? Wie schon öfters erwähnt, habe ich absolut keine Probleme, aber ich habe auch sehr guten WLAN Empfang im Garten.
-
Kann man da wirklich nix dran machen den "Status" als Schalter einzubinden?
Eine Timerprogrammierung mit fest eingestellten Tagen macht keinen Sinn finde ich, da man nie weiss wie das Wetter so mitspielt.
Man kann da bestimmt anhand der Wettervorhersage was programmieren, jedoch bin ich in dem Gebiet zu unerfahren was programmieren angeht.
Sofern ich den Status ausgewählt habe, wäre es da nicht möglich dann im Broker auf das + zu tippen um den aktuell ausgewählten Status als Verknüpfung anzulegen?
Mit einem Landroid Worx habe ich gelesen geht dies ohne Probleme.
-
Das ist kein Fehler, sondern so gewollt. Robonect gibt die Werte nur aus, wenn gerade kein Timer läuft und er auf den nächsten Timer wartet. Mein Mäher ist für heute fertig und zeigt mir an, dass er morgen um 13:00 Uhr wieder anfangen wir zu mähen. `
Ok, dann werde ich mir das nochmal im Detail anschauen.
Ein Frage in die Runde: Läuft der Adapter bei Euch so stabil, dass ich ihn in die offizielle ioBroker Adapter Liste aufnehmen lassen kann? Wie schon öfters erwähnt, habe ich absolut keine Probleme, aber ich habe auch sehr guten WLAN Empfang im Garten. `
Bisher stabil, allerdings hatte ich heut Mittag ein paar Erros im Log, falls ich die wieder sehe schreibe ich sie hier.
Kann ich über den Adapter dem Roboter auch einen Einzelauftrag geben (Job)? Bisher noch nicht gesehen, wollte mir morgen mal deinen Code genauer anschauen.
@Schmaviator: Du kannst du den Status über robonect.0.status.mode setzen?
-
Eine Timerprogrammierung mit fest eingestellten Tagen macht keinen Sinn finde ich, da man nie weiss wie das Wetter so mitspielt. `
Ich habe genau einen Timer. Jeden Tag von 13-20 Uhr wird gemäht. Regnet es dann setze ich den Mode auf Home. Regnet es nicht mehr, dann wird der Mode auf Auto gesetzt. Mehr Logik brauche ich nicht.Kann ich über den Adapter dem Roboter auch einen Einzelauftrag geben (Job)? Bisher noch nicht gesehen, wollte mir morgen mal deinen Code genauer anschauen. `
Job ist noch nicht implementiert. Wenn Du das übernehmen kannst, dann wäre das eine super Sache. Ansonsten guck ich mir das auch nochmal an, auch wenn ich es nicht brauche. Siehe oben. -
Ja den Status JOB kann ich auswählen und der Robbi fährt daraufhin los. Nur über den Status JOB ist es auch möglich den RI40 aus seinem Parkzustand aufzuwecken und daraufhin loszufahren. AUTO geht ja nur bei programmierten Timer und bei MANUELL wartet er bis er manuell aus der Station genommen wird und seine Arbeit verrichtet bis der Akku leer ist und das Teil stehen bleibt.
-
Ich habe mir die Doku der API gerade mal angesehen: https://forum.robonect.de/viewtopic.php … &hilit=job
Eigentlich fehlen nur die fünf Datenpunkte remotestart, after, start, end und duration. Die Implementierung könnte so aussehen, dass der User die fünf Datenpunke nach eigenen Wünschen setzt und anschließend den Mode auf Job stellt. Der Job wird an Robonect übertragen und die fünf Datenpunkte geleert. Entspricht das Euren Erwartungen?
Edit: Sowohl im Robonect WebUI, als auch in der Robonect App kann man die Duration nicht setzen. Ich würde es also erstmal analog dazu umsetzen.