Mähroboter: Worx Landroid, Kress, Landxcape

Aus FHEMWiki
Version vom 24. April 2023, 17:10 Uhr von Ph1959de (Diskussion | Beiträge) (syntaxhighlight korrigiert)
Zur Navigation springen Zur Suche springen


Clock - Under Construction.svg An dieser Seite wird momentan noch gearbeitet.


Voraussetzungen

Ein Mähroboter der genannten Hersteller mit Cloudanbindung.

Ein aktuelles Fhem (Stand ab 21.04.2023, mindestes jedoch MQTT2_CLIENT, HttpUtils, LandroidUtils).

Betriebssystem: Debian/Raspbian ab Version Stretch, bei anderen Betriebssystemen muss die SSL-Version das ssl_alpn_protocol unterstützen.

Kurzübersicht

Die Statusdaten der genannten Mähroboter können mit Hilfe des MQTT2_CLIENT empfangen und er kann gesteuert werden.

Define

defmod MQTT_Worx MQTT2_CLIENT xx
attr MQTT_Worx connectFn {use LandroidUtils;;Landroid_connect($NAME,"worx",1)}
attr MQTT_Worx username ab@c.de
set MQTT_Worx password secret

Erläuterung:

xx kann als Platzhalter stehen bleiben, die Url wird über LandroidUtils.pm ermittelt.

username und password sind die Zugangsdaten von Benutzerkonto des Mähers. (bei Worx Landroid z.B. https://account.worxlandroid.com)

connectFn {use LandroidUtils;;Landroid_connect($NAME,"worx",1)}

1 = autocreate aktiv, damit wird ein MQTT2_DEVICE mit den Mowerdaten aus der API angelegt. Werden die Daten nicht benötigt, kann autocreate mit 0 deaktiviert werden.

Damit autocreate funktioniert muss zusätzlich das "globale" Autocreate in Fhem aktiv sein.

"worx" (= ID) bezieht sich auf den Hersteller des Mähers.

Achtung: case sensitive!
ID Hersteller
worx Worx Landroid
kress Kress
landxcape LandXcape Robotics

Client

Nach dem Anlegen des MQTT2_CLIENT ist ein set <name> connect erforderlich. Nach wenigen Sekunden sollte die Client auf "opened" stehen. Benötigte Attribute usw. werden automatisch über die LandroidUtils angelegt.


Folgende Attribute können bei Bedarf angepasst werden:

nextOpenDelay = gibt vor, in wie vielen Sekunden nach einem Verbindungsabbruch der Client einen neuen Anmeldeversuch startet

maxFailedConnects = gibt die max. Anzahl an Anmeldeversuche nach einem Verbindungsabbruch an

Beide Attr. sollten mit Bedacht geändert werden, zu kurze und zu viele Versuche können eine Sperre vom Server auslösen. Als Standard ist hier nextOpenDelay mit 180s und maxFailedConnects mit 20 angegeben (d.h. nach einen Verbindungsabbruch sollte der Client nach 20 x 180s = 60 Min wieder "opened" sein. Ist dies nicht der Fall, muss ein manuelles set <name> connect oder ein Neustart ausgeführt werden.

Device

Für das neu angelegte MQTT2_DEVICE kann ein AttrTemplate angewendet werden:

set <NAME> attrTemplate worx_landroid

Damit werden teilweise die Daten in "lesbare Readings" übersetzt und eine setlist zum Steuern des Mähers angelegt.

Funktion

Die Anmeldung am MQTT-Server wurde im Herbst 2022 auf Bearer Token umgestellt. Der Token ist aktuell eine Stunde gültig, danach beendet der Server die Verbindung. Automatisch wird mittels LandroidUtils ein neuer Token angefordert und die Verbindung wieder geöffnet.

Links

MQTT2 für Worx Landroid Mähroboter

MQTT2_CLIENT