Plugin-Daten
AutorMichael Schlenstedt
Logo
StatusSTABLE
Version0.6.2
Min. LB Version2.2.0
Release Downloadhttps://github.com/mschlenstedt/LoxBerry-Plugin-Landroid-NG/archive/refs/tags/LoxBerry-Plugin-Landroid-NG-0.6.2.zip
BeschreibungSteuerung der Worx/Landxcape/Kress Mährobotor über Loxone
SprachenEN
Diskussionhttps://www.loxforum.com/forum/projektforen/loxberry/plugins/306569-plugin-worx-landroid

Worx Landroid Mährobotor NG

Funktion des Plugins

Das Plugin dient zur Steuerung der Landroid Mähroboter sowie auch kompatibler Mäher von Landxcape und Kress. Das Plugin verwendet dazu die Software MQTT Landroid Bridge Es können Daten vom Mäher empfangen werden und in Loxone weiterverarbeitet werden und der Mäher kann über Loxone auch gesteuert werden.

Da das ursprüngliche Plugin Worx Landroid Mährobotor von Hismastersvoice auf Grund einer API-Änderung nicht mehr funktioniert, wurde dieses Plugin (NG - "Next Generation") entwickelt.

Installation

Das Plugin wird ganz normal über die Pluginschnittstelle installiert. Unter LoxBerry 2.x muss zusätzlich das MQTT Gateway Plugin installiert sein!

Erstkonfiguration

Account Sperrungen

Bei zu häufigen Zugriffen auf die API sperrt Euch Worx für 24h von eurem Account aus. Während die Bridge läuft, beachtet sie das und greift entsprechend selten auf die API zu. Vermeidet aber die Bridge zu häufig neu zu starten! Benutzt nicht das Plugin und die Hersteller App parallel. Seltene Zugriffe auch über die App sollten kein Problem darstellen, wenn ihr aber zu häufig parallel auf euren Cloud-Account zugreift, werdet ihr gesperrt. Weder das Plugin noch die App funktionieren dann für 24h. Das Plugin erkennt eine 24h Sperre automatisch und pausiert sich in diesem Fall automatisch.

Wintermodus

Wenn ihr den Roboter eingewintert habt. stoppt die Bridge bis zum nächsten Frühjahr. Das verhindert unnötige Zugriffe und eventuelle Account-Sperrungen.

Zur Verwendung des Plugins benötigt ihr einen Cloud Account für euren Mäher. Der Mäher muss in der Cloud registriert sein.

Bei der Konfiguration muss die Email-Adresse und das Passwort für euren Cloudzugang eingegeben werden. Wählt aus welchen Mäher ihr habt (Worx, Landroid oder Kress). Des weiteren müsst ihr alle Seriennummern der Mäher eintragen (eine Seriennummer pro Zeile), die ihr im Plugin verwenden wollt. Die Seriennummern eurer Mäher findet ihr in eurem Cloud-Account. Im Reiter MQTT könnt ihr noch das MQTT Topic festlegen.

Nach der Konfiguration muss die Bridge neu gestartet werden.

Library Update

Das Plugin verwendet im Hintergrund die Sofiware MQTT Landroid Bridge zur Anbindung der Cloud. Sollte es zu Problemen mit der Kommunikation des Mähers kommen (z. B. weil der Hersteller die API-Schnittstelle geändert hat), kann die entsprechende Bibliothek aktualisiert werden. Das geschieht automatisch, nachdem ihr auf "Update" geklickt habt. Nach dem Upgrade muss die Bridge neu gestartet werden.

Empfangbare Daten (MQTT)

Die Anbindung an Loxone erfolgt über das MQTT Gateway (Daten empfangen) und virtuellen Eingängen. Detaillierte Informationen finden sich hier:

MQTT Gateway - Schritt für Schritt

Das Senden von Daten erfolgt über Virtuelle HTTP Ausgänge. Die Einrichtung ist weiter oben im Kapitel "Befehle senden" bereits beschrieben.

Status

Topic Beschreibung
landroid_SERIAL_mowerdata_cfg_cmd Ausgeführtes Kommando
landroid_SERIAL_mowerdata_cfg_dt Datum
landroid_SERIAL_mowerdata_cfg_id ID
landroid_SERIAL_mowerdata_cfg_lg Sprache
landroid_SERIAL_mowerdata_cfg_rd Regenverzögerung in Minuten
landroid_SERIAL_mowerdata_cfg_sc_distm PartyMode Zeit in Minuten
landroid_SERIAL_mowerdata_cfg_sc_m PartyMode 0/1=aus 2=ein
landroid_SERIAL_mowerdata_cfg_sc_ots_bc Einmaliger Zeitplan ohne/mit (0/1) Kantenschnitt
landroid_SERIAL_mowerdata_cfg_sc_ots_wtm Einmaliger Zeitplan Arbeitszeit in Minuten
landroid_SERIAL_mowerdata_cfg_sc_p ?
landroid_SERIAL_mowerdata_cfg_sn Seriennummer
landroid_SERIAL_mowerdata_cfg_tm Uhrzeit
landroid_SERIAL_mowerdata_dat_act Mäher aktiv (0/1)
landroid_SERIAL_mowerdata_dat_bt_c Lädt gerade 0/1
landroid_SERIAL_mowerdata_dat_bt_m ?
landroid_SERIAL_mowerdata_dat_bt_nr Ladezyklen
landroid_SERIAL_mowerdata_dat_bt_p Ladezustand in %
landroid_SERIAL_mowerdata_dat_bt_t Tempertur in Celsius
landroid_SERIAL_mowerdata_dat_bt_v Spannung in V
landroid_SERIAL_mowerdata_dat_conn Verbindungsart
landroid_SERIAL_mowerdata_dat_dmp_0 Steigung in Grad
landroid_SERIAL_mowerdata_dat_dmp_1 Neigung in Grad
landroid_SERIAL_mowerdata_dat_dmp_2 Richtung in Grad
landroid_SERIAL_mowerdata_dat_fw Firmware Nummer
landroid_SERIAL_mowerdata_dat_fwb ?
landroid_SERIAL_mowerdata_dat_le Fehler (siehe Tabelle "Fehler-Codes)
landroid_SERIAL_mowerdata_dat_lk Sperre aus/ein (0/1)
landroid_SERIAL_mowerdata_dat_lk ?
landroid_SERIAL_mowerdata_dat_ls Status (siehe Tabelle "Status-Codes)
landroid_SERIAL_mowerdata_dat_lz Nächste Zone (Zonenschritt). Beispiel: 3 = Zone für Schritt 30% wird angefahren
landroid_SERIAL_mowerdata_dat_mac MAC Adresse
landroid_SERIAL_mowerdata_dat_modules_DF_stat Modul Off-Limit
landroid_SERIAL_mowerdata_dat_modules_US_stat Modul ACS
landroid_SERIAL_mowerdata_dat_rain_cnt Verbleibende Minuten
landroid_SERIAL_mowerdata_dat_rain_s Regen aktiv 0/1
landroid_SERIAL_mowerdata_dat_rsi Verbindungsstärke dB
landroid_SERIAL_mowerdata_dat_st_b Gesamt-Klingenzeit "seit Geburt des Mähers" in Minuten
landroid_SERIAL_mowerdata_dat_st_bl Kantenlänge (borderLength)
landroid_SERIAL_mowerdata_dat_st_bwt Aktuelle Klingenzeit in Minuten?
landroid_SERIAL_mowerdata_dat_st_d Gesamt-Strecke "seit Geburt des Mähers" in Meter
landroid_SERIAL_mowerdata_dat_st_wt Gesamt-Arbeitszeit "seit Geburt des Mähers" in Minuten
landroid_SERIAL_mowerdata_dat_time_l ?
landroid_SERIAL_mowerdata_dat_time_r ?
landroid_SERIAL_mowerdata_dat_tr ?
Status Beschreibung
0: Idle Standby
1: Home in Ladestation
2: Start sequence Sequenz starten
3: Leaving home Ladestation verlassen
4: Follow wire Draht folgen
5: Searching home Ladestation suchen
6: Searching wire Begrenzungsdraht suchen
7: Mowing Mähen
8: Lifted Angehoben
9: Trapped Festgefahren
10: Blade blocked Klinge blockiert
11: Debug Debug Modus
12: Remote control Fernsteuerung
30: Going home Fährt zur Ladestation
31: Zone training Zonentraining
32: Border Cut Kante mähen
33: Searching zone Zone suchen
34: Pause Pause
Fehler Beschreibung
0: No error Kein Fehler
1: Trapped festgefahren / blockiert
2: Lifted Mäher angehoben
3: Wire missing Kabel fehlt/unterbrochen
4: Outside wire außerhalb der Begrenzung
5: Raining regnet
6: Close door to mow Deckel schließen zum mähen
7: Close door to go home Deckel schließen um zu Ladestation zu fahren
8: Blade motor blocked Klingenmotor blockiert
9: Wheel motor blocked Radmotor blockiert
10: Trapped timeout festgefahren / blockiert Zeit überschritten
11: Upside down Mäher umgedreht
12: Battery low Batterie leer (Unterspannung)
13: Reverse wire Umgekehrter Draht ??
14: Charge error Ladefehler
15: Timeout finding home Ladestation nicht gefunden
16: Mower locked Mäher gesperrt
17: Battery over temperature Batterie hat Übertempertur

Zeitplan

Topic Beschreibung Topic Beschreibung
landroid_SERIAL_mowerdata_cfg_sc_d_0_0 1. Sonntag Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_0_0 2. Sonntag Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_0_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_0_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_0_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_0_2 Kantenmähen 0/1
landroid_SERIAL_mowerdata_cfg_sc_d_1_0 1. Montag Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_1_0 2. Montag Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_1_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_1_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_1_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_1_2 Kantenmähen 0/1
landroid_SERIAL_mowerdata_cfg_sc_d_2_0 1. Dienstag Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_2_0 2. Dienstag Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_2_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_2_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_2_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_2_2 Kantenmähen 0/1
landroid_SERIAL_mowerdata_cfg_sc_d_3_0 1. Mittwoch Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_3_0 2. Mittwoch Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_3_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_3_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_3_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_3_2 Kantenmähen 0/1
landroid_SERIAL_mowerdata_cfg_sc_d_4_0 1. Donnertag Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_4_0 2. Donnertag Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_4_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_4_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_4_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_4_2 Kantenmähen 0/1
landroid_SERIAL_mowerdata_cfg_sc_d_5_0 1. Freitag Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_5_0 2. Freitag Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_5_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_5_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_5_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_5_2 Kantenmähen 0/1
landroid_SERIAL_mowerdata_cfg_sc_d_6_0 1. Samstag Startzeit landroid_SERIAL_mowerdata_cfg_sc_dd_6_0 2. Samstag Startzeit
landroid_SERIAL_mowerdata_cfg_sc_d_6_1 Dauer in Minuten landroid_SERIAL_mowerdata_cfg_sc_dd_6_1 Dauer in Minuten
landroid_SERIAL_mowerdata_cfg_sc_d_6_2 Kantenmähen 0/1 landroid_SERIAL_mowerdata_cfg_sc_dd_6_2 Kantenmähen 0/1

Zonen

Topic Beschreibung
landroid_SERIAL_mowerdata_cfg_mz_0 Meter bis Zone 1
landroid_SERIAL_mowerdata_cfg_mz_1 Meter bis Zone 2
landroid_SERIAL_mowerdata_cfg_mz_2 Meter bis Zone 3
landroid_SERIAL_mowerdata_cfg_mz_3 Meter bis Zone 4
landroid_SERIAL_mowerdata_cfg_mzv_0 Zone für 10% 1-4
landroid_SERIAL_mowerdata_cfg_mzv_1 Zone für 20% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_2 Zone für 30% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_3 Zone für 40% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_4 Zone für 50% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_5 Zone für 60% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_6 Zone für 70% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_7 Zone für 80% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_8 Zone für 90% 1-4 
landroid_SERIAL_mowerdata_cfg_mzv_9 Zone für 100% 1-4 

Befehle senden

Um Befehle an den Mäher zu senden, benötigt ihr einen Virtuellen HTTP Ausgang. Testweise funktionieren die Befehle natürlich auch im Browser. Die URL lautet:

http://username:password@loxberry/admin/plugins/landroid-ng/landroid.cgi?do=BEFEHL&value=VALUE&serial=SERIAL

Legt zunächst einen Virtuellen Ausgang mit dem ersten Teil der URL an:

Anschließend für jede Aktion darunter einen Virtuellen Ausgang Befehl mit dem zweiten Teil der URL anlegen:

Den BEFEHL und ggf. VALUE entnehmt ihr der unten stehenden Tabelle. Zusätzlich müsst ihr SERIAL gegen die Seriennummer des Mähers ersetzen, der den Befehl ausführen soll. Einige Befehle benötigen einen Wert, der mit übergeben werden muss (value). Wenn ihr diesen per Programm setzen wollt, dann deaktiviert ihr "Als Digitalausgang verwenden" und nutzt <v> anstelle des festen Wertes in der URL.

Befehl Value Beschreibung
start - Startet den Mäher
pause - Pausiert den Mäher
stop - Fährt zurück zur Ladestation
edgecut - Führt einen Kantenmähschnitt durch. Nicht für alle Modelle verfügbar und nur mit aktuellster Firmware!
set_lock - Sperrt den Mäher
set_unlock - Entsperrt den Mäher
set_reboot - Neustart / Reset des Mähers
get_status - Zeigt die empfangbaren Daten (siehe oben) als JSON an
set_partymode 0, 1, oder 2 Partymodus dauerhaft an (2) oder aus (0 oder 1)
set_partymodetime 0-1440 Partymodus mit Zeitbegrenzung von 0-1440 Min.
set_raindelay 0-300 Regenverzögerung in Minuten
set_areacfg 0-500,0-500,0-500,0-500 Zonen einteilen, Value: Meter bis Zone 0,Meter bis Zone 1,Meter bis Zone 2,Meter bis Zone 3 z. B. Zone 0 startet bei 0m, Zone 1 bei 15m, Zone 2 bei 30m und Zone 3 bei 50m, ergibt &value=0,15,30,50
set_startsequences 0-3,0-3,0-3,0-3,0-3,0-3,0-3,0-3,0-3,0-3 Zonen % einteilen, je 10%-Schritt muss eine Zone (0-3) definiert werden. z. B. Gewichtung der Mähzeit: Zone 0 30% / Zone 1 30% / Zone 2 20% Zone 3 20% ergibt &value=0,1,2,3,0,1,2,3,0,1

Einbinden in Loxone Config

Status in der Loxone Config anzeigen

Zunächst legt ihr je einen nicht visualisierten Statusbaustein für den Status und den Fehlercode an.

Anschließend verbindet ihr die Ausgänge der beiden nicht visualisierten Statusbausteine mit einem visualisierten Statusbautein:

Nutzt dazu einen Radiotasten-Baustein. Über einen verzögerten Impuls setzen wir diesen Baustein mit 1-2 Sekunden Verzögerung immer wieder auf den Ausgangszustand zurück. So kann man im Dropdown eine Aktion auswählen, die der Mäher dann direkt ausführt. Der Baustein setzt sich dann wieder für die nächste Aktion zurück.

Visualisierung

In der Visualisierung sieht das dann wie folgt aus (mit noch einigen anderen Bausteinen). Das Icon nutze ich als SVG über das Icon-Watchdog Plugin (das Rasenmäher Icon wird mitgeliefert).

Weitere Hinweise / Anleitungen

Roadmap

Deutsche Übersetzung (zugewiesen an Michael Schlenstedt)

Weite Ausgangsbefehle hinzufügen(Erledigt: Fertig) (zugewiesen an Michael Schlenstedt)

EdgeCut hinzufügen (zugewiesen an Michael Schlenstedt)

Fragen stellen und Fehler melden