Hallo liebe Robonect Community,
erstmal muss ich ein großes Dankeschön loswerden, dass es so etwas wie Robonect überhaupt gibt...hab bis zum ersten Akkuwechsel gewartet (und damit das Garantiesiegel eh gebrochen werden musste) und jetzt einen Robonect eingebaut: bin maximal begeistert und mit einem aktuellen Problem konnte mir Robonect auch schon gewaltig helfen...
... und damit komme ich dann auch zum Hintergrund meines Posts bzw. meiner Frage: mein Automower 315 hat aktuell das Problem, dass er in der Ladestation (aus welchen Gründen auch immer) ab und zu und leider nicht reproduzierbar nicht lädt, sondern ein negativer Ladestrom anliegt. Der eigentlichen Ursache muss ich noch auf den Grund gehen... das kann ja z.B. Trafo, Kabel, wenns dumm läuft, ne Leiterplatine oder ein Kontaktproblem sein (die Kontakte an Ladestation und Mäher habe ich bereits mehrfach geschliffen und sauber gemacht). Sollte jmd. evtl. für das Problem einen Tipp haben, bin ich natürlich auch sehr dankbar.
Ein Workaround für das Problem (den ich per VPN Fernzugriff jetzt auch aus dem Urlaub nutzen konnte) ist gleichzeitig, den Mäher kurz per Joystick aus der Ladestation rausfahren zu lassen, wenn er sich im Status "Lädt" befindet, und gleichzeitig ein negativer Ladestrom anliegt. Wenn er dann draußen ist, fährt er bei Start des normalen "Auto" Modus wieder sauber in die Station und bei diesem "zweiten Versuch" funktioniert das dann auch mit einem positiven Ladestrom von ca. 1.1A.
Jetzt ist das halt doof, wenn ich ständig aufs Handy schauen muss, um zu prüfen, ob der Status "Lädt" anliegt und der Ladestrom negativ ist, um ihn dann manuell 20cm aus der Ladestation fahren lassen zu müssen und wieder in den Auto Modus zu versetzen... das geht ja auch via Smart home (in meinem Fall basiert das auf Node Red). Die Anbindung sowohl per HTTP API, also auch per MQTT funktioniert bereits und ich bekomme zum Beispiel den Status (also ob der Mäher aktuell lädt) und auch den Ladestrom (per http://MY_IP/json?cmd=battery&user=MY_USER&pass=MY_PASSWORD) raus. Die JSON Antwort bekomme ich ebenfalls ausgewertet, nur...
... ich schaffe es aktuell nicht, den Mäher per API kurz aus der Station rausfahren zu lassen. Die Idee, das über den manuellen Betriebsmodus oder Senden eines sofortigen Mähauftrags zu realisieren, funktioniert leider nicht, da dafür der Akku ja voll sein sein (was er logischerweise nicht ist, da der Mäher gerade reingefahren ist und leider mit negativem Ladestrom lädt). Von daher lief es dann bisher händisch über den Joystick: einfach kurz ca. 5 Sekunden nach hinten ziehen, dann den Auto Modus anschalten (dann fährt der Mäher ja gleich wieder rein) und schwupps, lädt er.
Und genau das würde ich jetzt gern über die API bzw. über MQTT lösen wollen, habe dazu aber noch keine Möglichkeit gefunden... hätte da jmd hier eine Idee, wie ich das gelöst bekommen könnte bzw. ob/wie die Ansteuerung des Joysticks per API/MQTT funktioniert?
vielen Dank bereits im Voraus und beste Grüße
Mario
Joystick per HTTP API / MQTT
Moderator: Lampi
-
- erfahrener Forum-Nutzer
- Beiträge: 86
- Registriert: Mi 10. Aug 2016, 09:59
- Mäher: Gardena R70Li
- Firmware des Mähers (MSW): MSW 6.xx.xx
- Herstellungsjahr: 2016
- Robonect-Modul: Robonect Hx (Rev.3)
- Robonect Firmware: 1.3b / WLAN 1.7.6 / ZeroConf 1.9
Re: Joystick per HTTP API / MQTT
Hi, so in etwa müsste das über die API gehen
http://IP-vom-Mäher/?Stop=
http://IP-vom-Mäher/xml?cmd=direct&left=-20&right=-20&timeout=5000 (links und rechts 20% rückwärts für 5 Sekunden)
http://IP-vom-Mäher/xml?cmd=direct&left=20&right=20&timeout=6000 (links und rechts 20% vorwärts für 6 Sekunden)
http://IP-vom-Mäher/Status?mode=3
Mit dem Username und Passwort musst Du dann noch spielen, das hab ich nicht bei mir.
Gruss
minipilot
http://IP-vom-Mäher/?Stop=
http://IP-vom-Mäher/xml?cmd=direct&left=-20&right=-20&timeout=5000 (links und rechts 20% rückwärts für 5 Sekunden)
http://IP-vom-Mäher/xml?cmd=direct&left=20&right=20&timeout=6000 (links und rechts 20% vorwärts für 6 Sekunden)
http://IP-vom-Mäher/Status?mode=3
Mit dem Username und Passwort musst Du dann noch spielen, das hab ich nicht bei mir.
Gruss
minipilot
-
- Forum-Anfänger
- Beiträge: 4
- Registriert: Sa 3. Jun 2023, 17:25
- Mäher: Husqvarna Automower 315
- Firmware des Mähers (MSW): MSW 7.xx.xx
- Herstellungsjahr: 2017
- Robonect-Modul: Robonect Hx (Rev.6)
- Robonect Firmware: 1.3b
Re: Joystick per HTTP API / MQTT
Hi minipilot,
ja sensationell... vielen Dank für den Tip! Das werde ich auf jeden Fall direkt ausprobieren und gut zu wissen, dass es da ein command 'direct' gibt. Gleichzeitig dazu noch eine kurze Frage: muss tatsächlich mit gleichen Werten für 'left' und 'right' agiert werden (positiv für vorwärts bzw. negativ für rückwärts) oder gibt es ggf. sogar direkt Parameter wie forward/backward oder forward/reverse? Zumindest vom API Design her wär das eleganter...
Beste Grüße
Mario
ja sensationell... vielen Dank für den Tip! Das werde ich auf jeden Fall direkt ausprobieren und gut zu wissen, dass es da ein command 'direct' gibt. Gleichzeitig dazu noch eine kurze Frage: muss tatsächlich mit gleichen Werten für 'left' und 'right' agiert werden (positiv für vorwärts bzw. negativ für rückwärts) oder gibt es ggf. sogar direkt Parameter wie forward/backward oder forward/reverse? Zumindest vom API Design her wär das eleganter...
Beste Grüße
Mario
-
- erfahrener Forum-Nutzer
- Beiträge: 86
- Registriert: Mi 10. Aug 2016, 09:59
- Mäher: Gardena R70Li
- Firmware des Mähers (MSW): MSW 6.xx.xx
- Herstellungsjahr: 2016
- Robonect-Modul: Robonect Hx (Rev.3)
- Robonect Firmware: 1.3b / WLAN 1.7.6 / ZeroConf 1.9
Re: Joystick per HTTP API / MQTT
Hi,
wüsste ich nicht.
Aber für Dein "lädt nicht, rausfahren, reinfahren, lädt endlich" sollte das klappen. Kannst Du ja in Nodered super komplett automatisieren.
Ich habe beim letzten Update für den 70er selbst im Changelog einen Eintrag, das er bis zu 8x andockt, wenn er nicht ordentlich lädt. Vielleicht gibts das beim 315er ja auch. Ich kann das Update per USB machen. Wie es beim 315er ist, weiss ich nicht.
Gruss
minipilot
PS: Solltest Du den Joystick im Nodered realisiert bekommen, würde ich mich freuen, den zu bekommen!
wüsste ich nicht.
Aber für Dein "lädt nicht, rausfahren, reinfahren, lädt endlich" sollte das klappen. Kannst Du ja in Nodered super komplett automatisieren.
Ich habe beim letzten Update für den 70er selbst im Changelog einen Eintrag, das er bis zu 8x andockt, wenn er nicht ordentlich lädt. Vielleicht gibts das beim 315er ja auch. Ich kann das Update per USB machen. Wie es beim 315er ist, weiss ich nicht.
Gruss
minipilot
PS: Solltest Du den Joystick im Nodered realisiert bekommen, würde ich mich freuen, den zu bekommen!
-
- Forum-Anfänger
- Beiträge: 4
- Registriert: Sa 3. Jun 2023, 17:25
- Mäher: Husqvarna Automower 315
- Firmware des Mähers (MSW): MSW 7.xx.xx
- Herstellungsjahr: 2017
- Robonect-Modul: Robonect Hx (Rev.6)
- Robonect Firmware: 1.3b
Re: Joystick per HTTP API / MQTT
Hi minipilot,
yep, genau das wäre der Plan und wenn das mit den positiven/negativen left/right commands so funktioniert, alles bestens... weil stimmt, mit Node-RED so auch bestens automatisierbar (bin nur heut nicht dazu gekommen, das mal auszuprobieren... hoffe, das klappt mal halbwegs ungestört übers Wochenende). Und ganz klar: bekommst Du natürlich, sobald das halbwegs fliegt!
vielen Dank jetzt schonmal!
yep, genau das wäre der Plan und wenn das mit den positiven/negativen left/right commands so funktioniert, alles bestens... weil stimmt, mit Node-RED so auch bestens automatisierbar (bin nur heut nicht dazu gekommen, das mal auszuprobieren... hoffe, das klappt mal halbwegs ungestört übers Wochenende). Und ganz klar: bekommst Du natürlich, sobald das halbwegs fliegt!
vielen Dank jetzt schonmal!
-
- Forum-Anfänger
- Beiträge: 4
- Registriert: Sa 3. Jun 2023, 17:25
- Mäher: Husqvarna Automower 315
- Firmware des Mähers (MSW): MSW 7.xx.xx
- Herstellungsjahr: 2017
- Robonect-Modul: Robonect Hx (Rev.6)
- Robonect Firmware: 1.3b
Re: Joystick per HTTP API / MQTT
Hi minipilot
so, ich glaub ich hab’s… und dein Tip mit dem Direct Command in der API war der Bringer! Tausend Dank nochmal dafür (hab zuerst nicht geschnallt, dass der Mäher erst in den Stop Modus muss und hab mich gewundert, dass die API zwar Success meldet, mit allen korrekten Werten im JSON Format, der Roboter aber stoisch in der Station stehen blieb… im Stop Modus hat’s aber dann perfekt funktioniert).
Jetzt hab ich das in Node Red zusammengeklickt und dazu die HTTP Push Funktion genutzt. Dadurch vermeide ich Traffic, da nur „Beim Betreten“ eines Modus bzw. eines Status, ein API Call getriggert wird und dann
1. filtere ich auf den Status „Lädt“
2. lasse mir 2 Mal mit 60s Delay den Ladestrom geben, ist der negativ, dann entlädt er sich (2 Mal, um nen einmaligen Messfehler o.ä. zu vermeiden… da gibts evtl noch Optimierungspotential, etwa durch Speichern des Batteriestatus und wenn die Prozentzahl sinkt bei folgenden Messungen, dann entlädt er sich)
3. wenn er sich entlädt werden die API Calls für Stop, 4 Sekunden zurückfahren und Auto Modus jeweils mit ausreichend großen Delays losgeschickt.
so, ich glaub ich hab’s… und dein Tip mit dem Direct Command in der API war der Bringer! Tausend Dank nochmal dafür (hab zuerst nicht geschnallt, dass der Mäher erst in den Stop Modus muss und hab mich gewundert, dass die API zwar Success meldet, mit allen korrekten Werten im JSON Format, der Roboter aber stoisch in der Station stehen blieb… im Stop Modus hat’s aber dann perfekt funktioniert).
Jetzt hab ich das in Node Red zusammengeklickt und dazu die HTTP Push Funktion genutzt. Dadurch vermeide ich Traffic, da nur „Beim Betreten“ eines Modus bzw. eines Status, ein API Call getriggert wird und dann
1. filtere ich auf den Status „Lädt“
2. lasse mir 2 Mal mit 60s Delay den Ladestrom geben, ist der negativ, dann entlädt er sich (2 Mal, um nen einmaligen Messfehler o.ä. zu vermeiden… da gibts evtl noch Optimierungspotential, etwa durch Speichern des Batteriestatus und wenn die Prozentzahl sinkt bei folgenden Messungen, dann entlädt er sich)
3. wenn er sich entlädt werden die API Calls für Stop, 4 Sekunden zurückfahren und Auto Modus jeweils mit ausreichend großen Delays losgeschickt.