Quantcast
Channel: TechnikBlog
Viewing all articles
Browse latest Browse all 190

Mit Loxone einen Husqvarna Automower per WLAN steuern

$
0
0

Mein Husqvarna Automower in seinem Eigenbau-HäuschenIn diesem Beitrag geht es detailiert um die Einbindung von Komponenten in Loxone die man http Requests anpingen kann und eine XML Antwort liefern. In diesem spezifischen Fall geht es um die WLAN Erweiterung Robonect, welche ich in meinem Husqvarna Automower 305 verbaut habe. Damit lässt sicher der Roboterrasenmäher einfach per Webinterface steuern, dank der vorhanden API will ich das natürlich gleich mit Loxone machen. So kann ich ihn auch wetterabhängig mähen lassen und während des Regens, darf er in seiner schönen Holzhütte pausieren. Loxone ist ein Smart Home System, welches ich bei mir angefangen habe zu verbauen. Dieses wird ständig ausgebaut und ich berichte hier immer wieder darüber, Fragen und Inputs sind gerne gesehen!

Status abfragen

Als erstes wollte ich einmal den aktuellen Status des Automowers abfragen. Dazu schickt man einen „http Request“ an die IP von Robonect, diese vergibt man am besten statisch im Router damit sie nicht ändert. Die Anfrage und die passende Antwort sehen dann so aus:

http://192.168.1.165/xml?cmd=status

XML Antwort direkt im Browsers:

<robonect>
<successful>true</successful>
<status>
<status>0</status>
<duration>5819</duration>
<mode>2</mode>
<battery>97</battery>
<hours>124</hours>
</status>
<timer>
<status>0</status>
</timer>
<wlan>
<signal>-81</signal>
</wlan>
</robonect>

Aus diesen Informationen kann ich einiges entschlüsseln, doch dazu später mehr. Ich will die Daten jetzt erstmal in Loxone bringen. Dazu muss ich mir einen virtuellen Eingang anlegen.

Loxone - virtueller HTTP Eingang

Loxone – virtueller HTTP Eingang

Virtueller HTTP Eingang

In Loxone im Reiter des Miniservers, lege ich einen neuen „Virtuellen HTTP Eingang“ an. Diesen bezeichne ich Automower und gebe ihm als URL die vorherige Abfrage mit: http://192.168.1.165/xml?cmd=status. Ich hole diesen Wert momentan alle 10 Sekunden ab während Tests, später dann werde ich den Wert auf 1 Minute erhöhen.

Als nächstes gilt es nun das XML zu entschlüsseln, die erste Hilfe dabei ist das Robonect Forum mit der entsprechenden Erläuterung der Kommandos und Antworten. Als Beispiel möchte ich jetzt den Status des Automowers wissen, dieser verbirgt sich hinter dem XML node Status. Das nennt sich in Loxone wiederum „Virtueller HTTP Eingang Befehl“. Dort gebe ich bei Befehlserkennung ein: <status><status>\v, weil sich die Antwort nach zweimaligen status Nodes verbirgt. In meine Fall eine „1“.

Loxone XML Nodes abfragen

Loxone XML Nodes abfragen

Im Loxone Interface nun einfach eine 1 auszugeben wäre ganz schön schwach. Man nimmt sich einfach einen Status-Block zur Hilfe und weist den verschiedenen Codes, die entsprechenden Zustände zu. In meinem bei Status=1 ist der Automower nämlich geparkt. Das vorgehen der virtuellen Eingangsbefehle kann man nun wiederholen, bis man alle Status-Infos abgefragt hat, die nötig sind.

Loxone Status definieren

Virtueller Ausgang – Rasenmäher fernsteuern

Jetzt kommen wir zum interessanten Teil. Anfangs habe ich mich hier einige Mühen gemacht, die so nicht nötig sind. Wichtig zu wissen ist bei Robonect vor allem, dass er im Modus Auto nach vollständiger Ladung losfährt um zu Mähen. Es gibt Ausnahmefälle, diese wären das Wochenpensum ist bereits überschritten, eure Ladestation hat keinen Strom und zu guter letzt, der Akku ist nicht vollständig geladen. Vollständig heisst, es fliesst kein Ladestrom mehr, wenn die Batterieanzeige auf 100% steht ist das noch nicht zwingend der Fall, das ist etwas der Krux. Will man den Automower nun zurückholen oder verhindern, dass er nach der nächsten vollständigen Ladung sofort wieder rausfährt, versetzt man ihn in den Home-Modus. Diese zwei Befehle reichen alleine aus um den Automower zu steuern. Die sehen so aus.

/xml?cmd=mode&mode=home

/xml?cmd=mode&mode=auto
Loxone - virtueller Eingang

Loxone – virtueller Eingang

Wie ihr dem Screenshot entnehmen könnt, habe ich einen virtuellen Ausgang namens Automower erstellt und dort die IP Adresse zum Aufruf hinterlegt. Erst in den beiden virtuellen Ausgangsbefehlen habe ich die eigentlichen Kommandos abgelegt wie oben erwähnt. Also für Auto zum Beispiel eben „/xml?cmd=mode&mode=auto“. Damit ändere ich auf dem Automower den Modus, das Feedback des Befehls (ebenfalls XML) frage ich nicht ab, ich sehe ob die Änderung geklappt hat, wenn ich das nächsten Mal den Status lese.

Wie ihr die Daten jetzt verwendet bleibt euch überlassen. Anhand des Loxone Wetterservers steuern, einfach über die integrierte Zeitschaltuhr oder manuell. Jetzt stehen euch alle Türen offen…

Fazit

Genau wegen solchen Spielereien habe ich zu Loxone gegriffen. Die Lösung bietet einfach sehr viele Wege und Möglichkeiten, selber zusätzliche Geräte ins Smart Home einzubinden. Derzeit bin ich noch an einer Lösung um mein Velux Dachfenster einzubinden, läuft schon in der ersten Phase und wird dann wieder dokumentiert. Wie eingangs schon erwähnt, Ideen, Vorschläge und Verbesserungen dürfen angebracht werden…

Der Artikel Mit Loxone einen Husqvarna Automower per WLAN steuern erschien zuerst auf TechnikBlog. Du kannst den TechnikBlog auf verschiedene Arten abonnieren, viel Spass beim Lesen!


Viewing all articles
Browse latest Browse all 190