Startverzögerung über API

Du möchtest Deinen Automower in Deine Hausautomatisierung einbinden oder eine eigene App entwicklen?
Hier wird diese offene Schnittstelle zum Robonect Hx Modul beschrieben.
Antworten
Benutzeravatar
Kasulske
Beiträge: 17
Registriert: Di 24. Apr 2018, 14:57
Wohnort: Marl
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0 Beta 7a

Startverzögerung über API

Beitrag von Kasulske » Do 3. Mai 2018, 20:16

Hallo Fabian,

ich bastele schon geraume Zeit daran, meinen Robbi mit einem Raspberry Pi zu verheiraten.
Das läuft mittlerweile auch ganz anständig. Als Problem hat sich allerdings das zügige Losfahren aus der Ladestation ergeben. Durch Polling des Status ist der Pi nicht immer schnell genug, Robbi zu stoppen. Dann rammt der erst mal das Rolltor. Schön wäre, wenn es einen parametrierbaren Delay geben würde.
Es würde schon ausreichen, wenn Robbi nach dedektieren des entsprechenden Status vom HX gestoppt wird.
Das würde der Pi ja dann in aller Ruhe auslesen können, das Rolltor öffnen und dann Robbi per API starten.

Die Zeilen in Pyhton sehen bisher wie folgt aus:

Code: Alles auswählen

if status == 0 or status == 5:
          if status_alt == 17 or status_alt == 4 :
          	print ,'Robbi fährt raus'
                request = Request('http://192.168.0.24/json?user=Kasulske&pass=XXXXXXXX&cmd=stop')
                response = urlopen(request)
                echo = response.read()
                print echo
                print 'Robbi gestoppt'
                print 'Tor öffnen'
                #dummy für Toröffnung****
                sleep(20)
                # ***************************
                print 'Tor geöffnet'
                request = Request('http://192.168.0.24/json?user=Kasulske&pass=XXXXXXXX&cmd=start')
                response = urlopen(request)
                echo = response.read()
                print echo
                print 'Mäher gestartet'

Noch eleganter wäre natürlich eine variable Startverzögerung mit Delay(x Sekunden) . Bei Eingabe von 999 würde Robby dann auf Stopp bleiben.

Liebe Grüße aus Marl
Ulrich

Lampi
Beiträge: 152
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.1b

Re: Startverzögerung über API

Beitrag von Lampi » Do 3. Mai 2018, 22:24

Hallo Ulrich,

wenn du den Status über API abfragst bekommst du wenn Status 17 o. 4 doch auch die nächste Startzeit mit übertragen. Wäre es da nicht einfacher x Sekunden vorher das Tor zu öffnen? Erspart dir dann auch das umständliche Stoppen und wieder Starten.

Gruß
Jörg

Benutzeravatar
Kasulske
Beiträge: 17
Registriert: Di 24. Apr 2018, 14:57
Wohnort: Marl
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0 Beta 7a

Re: Startverzögerung über API

Beitrag von Kasulske » Do 3. Mai 2018, 22:33

Hallo Jörg,

die Übertragung der Startzeiten ist wohl irgendwie auf der Strecke gebleiben. Jedenfalls habe ich noch keine finden können.
Würde aber auch nicht weiter helfen, da ich das Tor auch beim Nachtanken schließen möchte. Außerdem kriege ich so
Robbi weder beim manuellen Start noch beim Mähauftrag aus der Hütte.

Das Starten und Stoppen funktioniert übrigens reibungslos.

Grüße aus Marl
Ulrich.

Benutzeravatar
Kasulske
Beiträge: 17
Registriert: Di 24. Apr 2018, 14:57
Wohnort: Marl
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0 Beta 7a

Re: Startverzögerung über API

Beitrag von Kasulske » Do 3. Mai 2018, 22:38

Hier einmal den API-Response bei einer Statusabfrage:

{"name": "Robbi", "id": "9BC6FD", "status": {"status": 17, "stopped": false, "duration": 823, "mode": 2, "battery": 100, "hours": 724}, "timer": {"status": 1}, "blades": {"quality": 83, "hours": 35, "days": 10}, "wlan": {"signal": -85}, "health": {"temperature": 24, "humidity": 29}, "error": {"error_code": 0, "error_message": "Unbekannter Fehlercode!", "date": "1970-01-01", "time": "00:00:00", "unix": 0}, "clock": {"date": "2018-05-03", "time": "22:34:39", "unix": 1525386879}, "successful": true}

Lampi
Beiträge: 152
Registriert: Di 14. Feb 2017, 17:07
Mäher: Husqvarna Automower 330X
Firmware des Mähers (MSW): MSW 7.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect Hx (Rev.1)
Robonect Firmware: V1.1b

Re: Startverzögerung über API

Beitrag von Lampi » Fr 4. Mai 2018, 00:01

Bei mir kommt

<robonect><name>H330x</name><id>D09515</id><status><status>1</status><stopped>false</stopped><duration>1016</duration><mode>0</mode><battery>100</battery><hours>5529</hours></status><timer><status>2</status><next><date>2018-05-04</date><time>04:29:00</time><unix>1525408140</unix></next></timer><blades><quality>78</quality><hours>45</hours><days>5</days></blades><wlan><signal>-77</signal></wlan><health><temperature>20</temperature><humidity>20</humidity></health><error><error_code>0</error_code><error_message>Unbekannter Fehlercode!</error_message><date>1970-01-01</date><time>00:00:00</time><unix>0</unix></error><clock><date>2018-05-03</date><time>23:47:45</time><unix>1525391265</unix></clock><successful>true</successful></robonect>

Mir scheint es, dass die nächste Startzeit immer wenn im Status 4 (läd) oder der Timer im Status 2 (stand by) ist mitgesendet wird. Zumindest bei xml?cmd=status. Ob es bei json?cmd=status auch so ist kann ich Dir leider nicht sagen.

Gruß
Jörg

Benutzeravatar
Kasulske
Beiträge: 17
Registriert: Di 24. Apr 2018, 14:57
Wohnort: Marl
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0 Beta 7a

Re: Startverzögerung über API

Beitrag von Kasulske » Fr 4. Mai 2018, 07:20

Hallo Jörg,

du hast recht. Nach Tageswechsel zeigt auch die json-Version die nächste Startzeit an.
Da ich die Öffnungszeiten der Hütte minimieren will, hilft das allerdings nicht viel weiter.
Hintergrund des Vorhabens ist die Minimierung der Blattansammlung an windigen Tagen in der Hütte. Auch möchte ich den "Besuch" des neugierigen Pekinesen unseres Nachbarn verhindern.
Da ich die Hütte abends indirekt beleuchte, könnte ich auf einem Blick sehen, ob Robbi im Bett ist. :D

Liebe Grüße aus Marl
Ulrich
Dateianhänge
Hütte.jpg
Hütte.jpg (66.17 KiB) 1620 mal betrachtet

Benutzeravatar
automatic
Beiträge: 25
Registriert: Mi 27. Jan 2016, 09:04
Wohnort: Leipzig
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 5.xx.xx
Herstellungsjahr: 2014
Robonect-Modul: Robonect H30x (Rev.0)
Robonect Firmware: BL:0.4 AT:1.4.0 SDK:2.1.0 FW:0.0(23.07.2017)

Re: Startverzögerung über API

Beitrag von automatic » Fr 4. Mai 2018, 11:03

Ich hatte für Leute, die ihren Robby sowieso mit irgendeiner Automation steuern, schon mal folgende Vorgehensweise vorgeschlagen(evtl. mal nach meinen Beiträgen suchen(sind nicht viele)):

Ruhezustand: robby(home:schläft), tor zu
-wenn mähzeit erreicht: tor auf, warten, robby umstellen auf (auto:startet/ausfahrt)
-wenn robby(auto:mäht) tor zu (entl.verzögert)
-wenn robby(auto:sucht ladestation) dann tor auf
-wenn robby(auto:lädt) tor zu und robby umstellen auf (home:lädt)
-wenn robby(home:schläft) und weiter gemäht werden soll dann zyklus wieder von vorn

zu sendende Kommandos sind fett und zu prüfende Zustände sind unterstrichen

Damit das funktioniert müssen alle Timer gelöscht sein oder auf immer stehen, sonst kann der Robby nicht mit home/auto gesteuert werden.
R40Li MSW-Date:2014-12-05 (Model 2015)

Benutzeravatar
Kasulske
Beiträge: 17
Registriert: Di 24. Apr 2018, 14:57
Wohnort: Marl
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0 Beta 7a

Re: Startverzögerung über API

Beitrag von Kasulske » Fr 4. Mai 2018, 11:36

Hallo automatic,

klar würde das so funktionieren. Dann müsste ich allerdings die komplette Steuerung inclusive Webside im Pi nachbauen.
Damit würde ich allerdings auf die von Fabian so toll gebaute Webside verzichten müssen.
Ich möchte das eigentlich genau andersrum gestalten und die bestehenden Funktionen erhalten. Das Ganze soll weiterhin von der gesamten Familie bedienbar bleiben. Ich möchte Robbi auch nicht in meine Hausautomation integrieren, sondern eine separate Struktur für die Gartenautomation, bestehend aus den Komponenten Beleuchtung, Bewässerung, Ladestation mit Hütte und Robbi, aufbauen. Alle Funktionen von Robbi sollen weiterhin bedienbar bleiben.

Dies ist eine Vorgabe meiner ehemaligen Verlobten, also Gesetz. Ihr jetzt auch noch die Programmierung einer Webseite
beizubringen schaffe ich nicht. Dann mähe ich lieber den Rasen mit der Nagelschere.

Liebe Grüße aus Marl
Ulrich

Benutzeravatar
Kasulske
Beiträge: 17
Registriert: Di 24. Apr 2018, 14:57
Wohnort: Marl
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: 1.0 Beta 7a

Re: Startverzögerung über API

Beitrag von Kasulske » Di 31. Jul 2018, 11:11

Hallo Fabian,

du hast meine Bitte super mit der neuen Firmware umgesetzt. Meinen herzlichsten Dank dafür.
Beim Austesten der neuen Funktion ist mir eine Abweichung zu deiner Beschreibung aufgefallen.
Du beschreibst den Rückgabewert der Statusabfrage bei aktiver Torfunktion mit dem Wert "12".
Bei mir erscheint durchgängig eine "18". Ist für die Torsteuerung natürlich völlig egal, könnte in der Dokumentation allerdings angepasst werden.

Liebe Grüße aus dem hochsommerlichen Marl
Ulrich

ing-michel
Beiträge: 47
Registriert: Fr 29. Jun 2018, 21:36
Mäher: Gardena R40Li
Firmware des Mähers (MSW): MSW 6.xx.xx
Herstellungsjahr: 2017
Robonect-Modul: Robonect Hx (Rev.5)
Robonect Firmware: V1.0 Beta 6a

Re: Startverzögerung über API

Beitrag von ing-michel » Di 31. Jul 2018, 15:42

Es ist hex (0x)12 = dezimal 18

Antworten

Zurück zu „API für Robonect® Hx“