Mähroboter: Worx Landroid, Kress, Landxcape: Unterschied zwischen den Versionen

Aus FHEMWiki
(Die Seite wurde neu angelegt: „{{Baustelle}} ==Voraussetzungen== Ein Mähroboter der genannten Hersteller mit Cloudanbindung. Ein aktuelles Fhem (Stand ab 21.04.2023, mindestes jedoch MQTT2_CLIENT, HttpUtils, LandroidUtils). '''<big>Betriebssystem:</big>''' Debian/Raspbian ab Version Stretch, bei anderen Betriebssystemen muss die SSL-Version das '''<big>ssl_alpn_protocol</big>''' unterstützen. ==Kurzübersicht== Die Statusdaten der genannten Mähroboter können mit Hilfe…“)
 
(Bei Voraussetzungen wurde das Datum angepasst. Anpassung der loginUrl durch Positec bei Worx und Kress.)
 
(5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Baustelle}}
Die Kontrolle und/oder Steuerung der im Seitentitel genannten Mähroboter ist aus FHEM heraus mit Hilfe der folgenden Anleitung möglich.
 
Alternativ gibt es (u.U. nur für einen Teil der Mäher) noch das Modul '''[[LANDROID]]'''.


==Voraussetzungen==
==Voraussetzungen==
Ein Mähroboter der genannten Hersteller mit Cloudanbindung.
Um diese Anleitung nutzen zu können sind die folgenden Voraussetzungen zu erfüllen:
 
* Ein Mähroboter der genannten Hersteller mit Cloudanbindung.
Ein aktuelles Fhem (Stand ab 21.04.2023, mindestes jedoch [[MQTT2_CLIENT]], [[HttpUtils]], LandroidUtils).
* Ein aktuelles FHEM
 
** Stand ab 01.06.2023 mit
'''<big>Betriebssystem:</big>''' Debian/Raspbian ab Version Stretch, bei anderen Betriebssystemen muss die SSL-Version das '''<big>ssl_alpn_protocol</big>''' unterstützen.  
** '''[[MQTT2_CLIENT]]'''
** '''[[HttpUtils]]''' - Http(s) Hilfsfunktionen
** '''[[LandroidUtils]]''' - FHEM Hilfsfunktionen für die genannten Mähroboter
* Betriebssystem: Debian/Raspbian ab Version Stretch, bei anderen Betriebssystemen muss die SSL-Version das <code>ssl_alpn_protocol</code> unterstützen.  


==Kurzübersicht==
==Kurzübersicht==
Die Statusdaten der genannten Mähroboter können mit Hilfe des [[MQTT2_CLIENT]] empfangen und er kann gesteuert werden.
Die Statusdaten der genannten Mähroboter können mit Hilfe des Moduls MQTT2_CLIENT empfangen und der Mähroboter kann gesteuert werden.


==Define==
==Define==
<syntaxhighlight>
<syntaxhighlight lang="perl">
defmod MQTT_Worx MQTT2_CLIENT xx
defmod MQTT_Worx MQTT2_CLIENT xx
attr MQTT_Worx connectFn {use LandroidUtils;;Landroid_connect($NAME,"worx",1)}
attr MQTT_Worx connectFn {use LandroidUtils;;Landroid_connect($NAME,"worx",1)}
Zeile 19: Zeile 24:
</syntaxhighlight>
</syntaxhighlight>


'''Erläuterung:'''
'''Erläuterungen zum DEF/DEFMOD:'''
 
;xx
'''xx''' kann als Platzhalter stehen bleiben, die Url wird über LandroidUtils.pm ermittelt.
:kann als Platzhalter stehen bleiben, die Url wird über LandroidUtils.pm ermittelt
 
;username und password  
'''username''' und '''password''' sind die Zugangsdaten von Benutzerkonto des Mähers. (bei Worx Landroid z.B. https://account.worxlandroid.com)
:die Zugangsdaten vom Benutzerkonto des Mähers (bei Worx Landroid z.B. https://account.worxlandroid.com).
 
Im Attribut ''connectFn'':
<code>connectFn {use LandroidUtils;;Landroid_connect($NAME,"worx",1)}</code>
;1
 
:autocreate aktiv, damit wird ein '''[[MQTT2_DEVICE]]''' mit den Mäherdaten aus der API angelegt. Werden die Daten nicht benötigt, kann autocreate mit '''0''' deaktiviert werden.
'''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"  
Damit autocreate funktioniert muss zusätzlich das "globale" [[Autocreate]] in Fhem aktiv sein.
:ID spezifiziert den Hersteller des Mähers (siehe nachfolgende Tabelle).
 
'''"worx"''' (= ID) bezieht sich auf den Hersteller des Mähers.
 
{| class="wikitable"
{| class="wikitable"
|+Achtung: case sensitive!
|+ Übersicht über Hersteller und IDs
|-
|-
!ID!!Hersteller
!ID!!Hersteller
Zeile 43: Zeile 45:
|-
|-
|landxcape||LandXcape Robotics
|landxcape||LandXcape Robotics
|-
| colspan="2" | ''Achtung: die IDs sind case sensitive, müssen also exakt wie angegeben benutzt werden!''
|-
|}
|}


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


Folgende Attribute können bei Bedarf angepasst werden:
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 maximale Anzahl an Anmeldeversuchen nach einem Verbindungsabbruch an


'''nextOpenDelay''' = gibt vor, in wie vielen Sekunden nach einem Verbindungsabbruch der Client einen neuen Anmeldeversuch startet
Beide Attribute sollten mit Bedacht geändert werden; zu kurze Intervalle und zu viele Versuche können eine Sperre am 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  
 
:<code>set <name> connect</code>  
'''maxFailedConnects''' = gibt die max. Anzahl an Anmeldeversuche nach einem Verbindungsabbruch an
oder ein Neustart ausgeführt werden.
 
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 <code>set <name> connect</code> oder ein Neustart ausgeführt werden.


==Device==
==Device==
Für das neu angelegte [[MQTT2_DEVICE]] kann ein [[AttrTemplate]] angewendet werden:
Für das neu angelegte MQTT2_DEVICE kann ein [[AttrTemplate]] angewendet werden:
 
:<code>set <NAME> attrTemplate worx_landroid</code>
<code>set <NAME> attrTemplate worx_landroid</code>
Damit werden teilweise die Daten in "lesbare" Readings übersetzt und es wird eine '''[[setList]]''' zum Steuern des Mähers angelegt.
 
Damit werden teilweise die Daten in "lesbare Readings" übersetzt und eine setlist zum Steuern des Mähers angelegt.


==Funktion==
==Anmerkung==
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.
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.pm ein neuer Token angefordert und die Verbindung wieder geöffnet.


==Links==
==Links==
{{Link2Forum|Area= |Topic=111959 |Message= |LinkText=MQTT2 für Worx Landroid Mähroboter }}
* {{Link2Forum|Topic=111959|Message= |LinkText=MQTT2 für Worx Landroid Mähroboter (Forum)}}
* Eine Alternative zur Anbindung von Mährobotern stellt das Modul '''[[LANDROID]]''' dar


[[MQTT2_CLIENT]]
[[Kategorie:Gerätemodul]]
[[Kategorie:Mähroboter]]
[[Kategorie:Other Components]]
[[Kategorie:MQTT]]

Aktuelle Version vom 1. Juni 2023, 10:24 Uhr

Die Kontrolle und/oder Steuerung der im Seitentitel genannten Mähroboter ist aus FHEM heraus mit Hilfe der folgenden Anleitung möglich.

Alternativ gibt es (u.U. nur für einen Teil der Mäher) noch das Modul LANDROID.

Voraussetzungen

Um diese Anleitung nutzen zu können sind die folgenden Voraussetzungen zu erfüllen:

  • Ein Mähroboter der genannten Hersteller mit Cloudanbindung.
  • Ein aktuelles FHEM
  • 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 Moduls MQTT2_CLIENT empfangen und der Mähroboter 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äuterungen zum DEF/DEFMOD:

xx
kann als Platzhalter stehen bleiben, die Url wird über LandroidUtils.pm ermittelt
username und password
die Zugangsdaten vom Benutzerkonto des Mähers (bei Worx Landroid z.B. https://account.worxlandroid.com).

Im Attribut connectFn:

1
autocreate aktiv, damit wird ein MQTT2_DEVICE mit den Mäherdaten 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 spezifiziert den Hersteller des Mähers (siehe nachfolgende Tabelle).
Übersicht über Hersteller und IDs
ID Hersteller
worx Worx Landroid
kress Kress
landxcape LandXcape Robotics
Achtung: die IDs sind case sensitive, müssen also exakt wie angegeben benutzt werden!

Client

Nach dem Anlegen des MQTT2_CLIENT ist ein

set <name> connect

erforderlich. Nach wenigen Sekunden sollte der Client auf "opened" stehen. Benötigte Attribute usw. werden automatisch über die LandroidUtils.pm 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 maximale Anzahl an Anmeldeversuchen nach einem Verbindungsabbruch an

Beide Attribute sollten mit Bedacht geändert werden; zu kurze Intervalle und zu viele Versuche können eine Sperre am 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 es wird eine setList zum Steuern des Mähers angelegt.

Anmerkung

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.pm ein neuer Token angefordert und die Verbindung wieder geöffnet.

Links