Nachdem ich lange nach DEM Robomäher gesucht habe, bin ich endlich fündig geworden. Ich habe mir einen Husqvarna Automower 315 x zugelegt. Meine Entscheidungskriterien findest Du in dem Beitrag Husqvarna Automower – Entscheidungshilfen für einen Rasenroboter.
Damit ich über den Status informiert werde, nutze ich natürlich auch die Husqvarna App. Dennoch möchte ich den Status auch mit FHEM überwachen und den Automower in die Hausautomation für zukünftige Anwendungsszenarien integrieren. So könnte man beispielsweise verhindern, dass der Robomäher unterwegs ist, wenn die Bewässerungsanlage aktiv ist oder den Rolladen der Robomäher-Garage hoch- bzw. runterfahren.
Aus diesem Grund habe ich mich dazu entschlossen ein eigenes Modul zu entwickeln. Wie so eine Modulentwicklung funktioniert, zeige ich Dir demnächst in einem Tutorial. In diesem Beitrag möchte ich Dir das Husqvarna Automower Modul für FHEM näher vorstellen.
Mein Modul ermöglicht die Kommunikation zwischen der Husqvarna Cloud und FHEM. Damit kann jeder Automower, der über ein original Husqvarna Connect Modul (SIM) verfügt, überwacht und gesteuert werden. Dies ist bei der X-Serie der Fall. Der Automower muss vorab in der Husqvarna App eingerichtet sein.
Um den Automower in FHEM einzubinden, muss das Gerät wie folgt definiert werden:
define myMower HusqvarnaAutomower
attr myMower username YOUR_USERNAME
attr myMower password YOUR_PASSWORD
Es müssen die beiden Attribute username und password gesetzt werden. Diese sind identisch mit den Logindaten der Husqvarna App, also Deine Email-Adresse und Passwort.
Optional kannst Du noch bestimmen, welcher Deiner bei Husqvarna registrierten Automower verwendet werden soll:
attr myMower mower 1
In diesem Fall wäre es der zweite Automower in der Liste. Welche das genau ist, sagt Dir das Modul in den Readings. Der erste wäre mower = 0.
Es stehen Dir die folgenden Readings zur Verfügung:
- expires: Datum wann die Session der Husqvarna Cloud abläuft
- mower_id: ID des Automowers
- mower_lastLatitude: letzte bekannte Position (Breitengrad)
- mower_lastLongitude: letzte bekannte Position (Längengrad)
- mower_mode: aktueller Arbeitsmodus (e. g. AUTO)
- mower_name: Name des Automowers
- mower_nextStart: nächste Startzeit
- mower_status: aktueller Status (e. g. OFF_HATCH_CLOSED_DISABLED)
- provider: Sollte immer Husqvarna sein
- state: Status der Verbindung zur Husqvarna Cloud (e. g. connected)
- token: aktueller Sitzungstoken für die Husqvarna Cloud
- user_id: Nutzer-ID in der Husqvarna Cloud
Du findest das Modul im FHEM Repository, im FHEM SVN oder in meinem Git-Repository:
https://github.com/krannich/dkFHEM
Da es mein erstes Modul ist, wäre ich sehr dankbar über Feedback.
Im FHEM-Forum gibt es hierfür einen eigenen Bereich:
https://forum.fhem.de/index.php/topic,83416.msg782310.html
Hallo,
Erstmal Danke für die Integration. Habe es erfolgreich in der FTUI implementiert. Mit welchen Befehlen in FHEM kann ich den Roboter den starten ?
Hi,
das geht ganz einfach über „set myMower start“ oder in FHEM über die GUI.
Bitte noch einmal die aktuelle Version aus GitHub laden, ich hatte noch einen Fehler in der Programmierung.
Viele Grüße
Dennis
Hallo,
Das Modul ist Spitze. Habe es bei mir in FHEM integriert. In der App gibt es die Möglichkeit beim Parken zwei Optionen anzugeben:
1. Bis aus weiteres
2. Startet mit nächster Timer-Einstellung
Wie muss das Park-Kommando aus sehen, dass er parkt bis zur nächsten Timereinstellung?
Viele Grüße Thomas
Hi Thomas,
da bin ich auch schon dran, muss es eigentlich nur noch umsetzen.
Es gibt:
Parken bis nächster Timer: …/control/park/duration/timer
Parken bis auf Weiteres: /control/park
Parken für x Stunden: /control/park/duration/period
Selbiges gibt es auch für Starten.
In einem nächsten Update (bitte noch etwas Geduld) werde ich das umsetzen.
Viele Grüße
Dennis
Hallo Dennis,
kannst Du mir Bescheid geben, wenn die Funktion umgesetzt hast. Würde dann auch testen und dir ein Feedback geben.
Viele Grüße
Thomas
Hallo an alle!
Ich finde das Modul für den Automower auch super!!
Es ermöglicht z.B. über FHEM die Durchfahrten für enge Passagen
mit einem Homematic-Relais-Modul über ein zweites Kabel zu sperren,
damit der Automower sich nicht beim Mähen darin verirrt.
Seitdem geht es bei mir zum ersten Mal einen Tag ohne Störung gut,
ohne dass er ständig in den Durchfahrten feststeckt 🙁
Wobei ich nicht verstehe, wieso Husqvarna das nicht in
der Software hinbekommt, dass der Mäher während des
Mähens NICHT in die Durchfahrt fährt (als Option),
das wären ca. 5-10 Zeilen Code, vielleicht auch nur 2 🙂
Eine wichtige Frage habe ich nun noch,
da dies auch das zweite große Manko beim Automower beheben würde:
Mit welchem API-Befehl kann man die Korridorbreite für das SUCHKABEL auf 0-9 verstellen?
Mit der App geht das ja jederzeit (auch mitten während der „Heimfahrt“)
Dann könnte FHEM bei der Hin- und Rückfahrt in den engen Durchfahrten
anhand GPS die Breite auf 0 stellen, auf der Wiese wieder auf 9.
So habe ich Spuren auf der Wiese, denn die Korridorbreitenerkennung funktioniert leider nicht
wie sie soll und alle Korridorbreiten > 0 führen auf meiner engen Brücke 🙂 zu erheblichen Problemen,
wenn er wegen der Korridorbreite von der Brücke abhauen will, obwohl die Begrenzungskabel
SEHR dicht zusammen liegen…
Kann mir da jemand helfen?
Das wäre wirklich super!
Wenn jemand Interesse an der „Elektrik“ der „Durchfahrtsperre“ hat´,
möge er sich melden…
Vielen Dank!
Ingo
Hallo Ingo,
die URL lautet: /app/v1/mowers/MOWERID/settings
Per PUT werden dort folgende Daten als JSON geschickt:
{„settings“: { „boundary“: { „followGuideHome“: true, „delayTime“: 11, „corridorWidthMin“: 2, „corridorWidthMax“: 4 } } }
Wenn Du noch mehr brauchst, gib mit Bescheid. Du kannst sonst auch selbst den Traffic der App in Deinem WLAN mitschneiden. Wie das geht, beschreibe ich in diesem Artikel:
https://blog.krannich.de/https-netzwerk-traffic-von-ios-apps-beobachten-man-in-the-middle-attack-mitm/
Viele Grüße
Dennis
Hi,
kannst du mir sagen wie du dies mit dem Relais Modul schaltest?
Einen normalen 230v Aktor und dann ein Relais modul, welches das Leitkabel-Signal weiterleitet?
Danke.
Hallo Henrik
Nein, keine 230V.
Es gibt 5-25Volt-Homematic-Relais Boards, z.B. HM-LC-Sw1-PCB,
die ein Relais als Wechsler (3 Anschlüsse COM, NC, NO) enthalten (ca. 20 EUR)
Begrenzungskabel zu BEGINN der Durchfahrt durchtrennen
a) Die Ankommende Seite des Begrenzungskabels an COM des Relais
b) Die bestehende weggehende Seite des durchtrennten Kabels an NO
c) Ein neues Stück Begrenzungskabel am ENDE der Durchfahrt mit T-Stück an das
Begrenzungskabel anschließen (dasselbe, was vorne durchtrennt wurde),
, das neue Kabel so legen, das es die Durchfahrt am ENDE und dann VORNE verschließt,
d.h. IN der Durchfahrt am Besten direkt neben das andere Begrenzungskabel der Durchfahrt legen
und vorne wieder an NC des Relais anschließen.
=> Im Normalfall (Relais nicht aktiviert, NC) ist die Fahrt auf beiden Seiten verschlossen,
während der Automower auf „Anfahrt“ oder „Abfahrt“ geht, per FHEM -Notify das Relais anziehen lassen.
Hardware:
Spannungsversorgung mit 4 großen Batterien (=6V) in einem Batterienhalter aus dem Internet bestellen und das Ganze in eine wasserfeste Box einbauen. Da die Elektronik fast keinen Strom braucht und das Relais ja immer nur ein paar Minuten pro Anfahrt angezogen ist, sollten die Batterien mind. 2 Jahre halten.
Viele Grüße,
Ingo
Hallo Dennis
Vielen Dank!
Kann es sein, dass dies der Befehl für das
BEGRENZUNGSKABEL und nicht für das SUCHKABEL ist?
WIe lautet der Befehl für das Suchkabel? Dort kann man ja nur EINEN Wert und nicht min/max eingeben in der App…
Gilt dies nur für die Rückfahrt oder auch für die Hinfahrt?
(weil dort „followGuideHome“ steht…)
Viele Grüße,
Ingo
Hallo Dennis
Der Befehl {„settings“: { „boundary“: { „followGuideHome“: true, „delayTime“: 11, „corridorWidthMin“: 2, „corridorWidthMax“: 4 } } }
wirft sowohl auf
/app/v1/mowers/MOWERID/Settings
als auch auf
/v1/mowers/MOWERID/Settings
ein „HTTP 405 Method Not Allowed“ als Antwort aus.
Ist das für die neue API noch aktuell bzw. ist die Einstellung „boundary“ wirklich
für das Suchkabel und nicht für das Begrenzungskabel?
Viele Grüße,
Ingo
Hallo Dennis
Der Befehl wirft bei mir sowohl bei
/app/v1/mowers/MOWERID/settings
als auch bei
/v1/mowers/MOWERID/settings
ein „HTTP 405 Method Not Allowed“ aus.
Ist dies für die aktuelle API?
Viele Grüße
Ingo
Hi Ingo,
ja das ist für die aktuelle API der APP.
Vielleicht wird dort auch noch mehr geschickt, ich habe dort jedenfalls die Änderungen vorgenommen.
Sonst schau mal selber ob Du bei Dir im WLAN und am Handy eine Man In the Middle Attacke durchführen kannst.
Anleitung findest Du hier:
https://blog.krannich.de/https-netzwerk-traffic-von-ios-apps-beobachten-man-in-the-middle-attack-mitm/
Viele Grüße
Dennis
Hallo,
ich habe festgestellt, dass die interne Uhr des Mähers sehr ungenau ist. Habe schon zweimal diesen Sommer nachgestellt. (ca. 3 Min.)
Kann das jemand bestätigen?
Weil ich den Timer des Mähers noch verwende kam es durch die falsche Uhrzeit des Mähers zu Problemen.
Ansonsten bin ich mit dem Modul sehr zufrieden.
Gut wär es noch wenn,
Parken bis nächster Timer: …/control/park/duration/timer
Parken bis auf Weiteres: /control/park
Parken für x Stunden: /control/park/duration/period
funktionieren würde.
Grüße Thomas
Hallo !
Wie genau integriere ich das in FHEM ? (finde ich einfach nicht)
Viele Grüße
Kevin
Hi Kevin,
Du kannst das ganz einfach über die fhem.cfg-Datei machen und dort dann den folgenden Code eingeben.
define myMower HusqvarnaAutomower
attr myMower username YOUR_USERNAME
attr myMower password YOUR_PASSWORD
Bitte Passwort und Benutzername entsprechend anpassen, dann ist das Gerät in FHEM vorhanden.
Viele Grüße
Dennis
Hallo
Bin eigentlich Laie aber ich habe an diesem Thema Interesse, Husqvarna hat die API Schnittstelle freigegeben siehe Link “ https://developer.1689.cloud/ “
Vielleicht hilft das bei der Umsetzung.
Viele Grüße Manfred
Hallo Manfred,
Danke für die Info. Das schaue ich mir gleich mal an.
Viele Grüße
Dennis
Hallo,
Ich habe das Problem, dass ich auf ein SET PARK Befehl im LOG einen Fehler angezeigt bekomme.
Im Modul wird im Connect reading dann natürlich auch ein ERROR angezeigt und das Programm bleibt dann hängen.
Die Rückmeldung von einem Husqvarna Server ist ein TIMEOUT ERROR.
Hat Husqvarna einen Server geändert?
Gruß Jogi
Hallo Dennis, aus FHEM und dem Roboter Forum kommt die Anfrage, das Licht über FHEM ein- und auszuschalten.
Hättest du Zeit, eine solche Funktion (set light on) einzubauen?
Gruß Helmut
Hallo Dennis,
wird denn eigentlich das Husqvarna Modul für FHEM weiterentwickelt?
Es gibt paar neue Funktionen zb. Licht, Schnitthöhe usw. die man eventuell ins Modul mit einbauen kann?!
Gruß Tobias
Hallo Dennis,
wie ist der aktuelle Stand zu dem Modul in FHEM. Wird es noch gewartet und werden noch neue funktionen eingebaut? (Licht, Schnitthöhe usw.)
mfg Tobias