27. September 2016
4 Minuten zu lesen

Mit Loxone einen Husqvarna Automower per WLAN steuern

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…

10 Comments

  1. John

    Toller Beitrag vielen Dank. Ich setze auch auf Loxone. Auch wenn ich noch keinen Automower habe, hilft mir dein Beitrag doch eventuell dabei meine Smappee Smartsockets mit Loxone zu verheiraten.

    Beste Grüße

  2. Florian Kratzke

    Guten Morgen,
    vielen Dank für die sehr schöne Anleitung!
    Auch ich setzte LOXONE im ganzen Haus ein. Leider bekomme ich die Abfrage für den Ladezustand einfach nicht hin. Könntest du das evtl. noch mal erklären?
    Vielen Dank für Deine Bemühungen.

    Gruß Florian

    • Woifi

      Hallo Zusammen,

      mit ist aufgefallen das ich was vergessen habe.

      2. Virtueller Befehl (z.B.Batterie): \v

      sollte so aussehen. Sorry.

      Gruß Woifi

      • Woifi

        Hallo Zusammen,

        mit ist aufgefallen das ich was vergessen habe.

        2. Virtueller Befehl (z.B.Batterie): «\v»
        // Eingebe ohne «» diese Website löscht immer eckige Klammer auf dann battery eckige Klammer zu.

        sollte so aussehen. Sorry.

        Gruß Woifi

  3. Peter

    Hallo Hans,
    vielen Dank für die ausführliche Anleitung. Ich hoffe du liest das Kommentar und kannst mir weiterhelfen 🙂

    Alles funktioniert bei mir, bis auf die Battery.
    Wenn ich im Browser /xml?cmd=status aufrunde bekomme ich

    17
    false
    9471
    0
    100

    Leider wird mir der Battery Wert nicht im Loxone angezeigt, alle andere Werte kann ich abfragen.
    Ebenfalls würde mich bitte interessieren, wie du dir den Batteriewert anzeigen lässt? Machst du das mit im Statusbaustein? Weil alle 100 Werte eintragen und mit «==» abrufen ist ja sicher zu aufwendig 😉

    Danke für deine Hilfe!

    BG
    Peter

  4. Richi

    Hallo
    Loxone ist bei mir im Einsatz. Nun hat sich der Automower 230 verabschiedet. Welches Modell macht aktuell im Bezug Smarthome, Connect, Zukunftssicherheit Sinn ? Eine Gardena Sileno oder etwas im Bereich Husqvarna 315 mit Original Connect oder Robonect ? Danke für Eure Erkenntnisse

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .

Hat Ihnen der Artikel gefallen? Bitte teilen Sie Ihre Gedanken mit anderen.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie mehr darüber, wie Ihre Kommentardaten verarbeitet werden .