Die Motivation zu dieser Anleitung entstand, weil ich mit 5 von 5 Loxone Stellantrieben immer wieder Probleme hatte. Ventil steht angeblich auf 0, trotzdem heizt Loxone zum Fenster raus. Homematic war schon vor Loxone da, deshalb zunächst 1 Stück der Konkurrenz getestet. Und dann die letzten 2-3 Jahre nach und nach alle Loxone Antriebe in den Ruhestand geschickt. Schade um das Geld, was die mal gekostet haben. Bei mir läuft es genau nach der Anleitung seit mehreren Wintern tip-top!
Ich habe diese Stellantriebe im Einsatz:
Homematic Funk-Heizkörperthermostat HM-CC-RT-DN für Smart Home / Hausautomation
Gibt auch 3er-Sets, die nochmal ein paar Euro günstiger sind. IP Stellantriebe dürften vermutlich ähnlich funktionieren.
Vorteile Homematic Stellantriebe:
- Deutlich günstiger (48€ statt über 100€)
- Deutlich stabiler, etwa ein vernünftiges Rad zum Festschrauben und wenn Stellantrieb zu ist der Heizkörper auch wirklich nicht warm
- Kommunizieren sofort! Etwa bei geöffnetem Fenster ist nach wenigen Sekunden Bewegung. Loxone Antriebe checken nur alle 5-20 Min die Lage (einstellbar)
- Gefühlt leiser als die von Loxone und mehr Power
- Haben ein Display und Tasten, etwa für 10 Minuten Boost. Tastensperre ebenfalls möglich.
- Zwei Systeme
- Bei Erst-Konfiguration höherer Aufwand, dafür aber ja diese Anleitung
Voraussetzung:
- Loxone Miniserver
- Eine Homematic Instanz, CCU2, CCU3, RaspberryMatic..
- Beide im gleichen Netzwerk und sollten beide eine feste IP-Adresse haben
- Bei Homematic zwei Plugins, einmal XML-API (Auf dieser Seite "xmlapi_addon-1.xx.tar.gz" laden und dann bei [Einstellungen -> Zusatzsoftware] installieren)
- Und CUx-Daemon, das bekommt ihr auf dieser Seite. Es muss noch eingerichtet werden, siehe diese Seite. Erstellt das virtuelle Gerät wie beschrieben, dann solltet ihr genau bei der Seriennummer CUX2801001 sein, die auch ich verwende. (Falls nicht einfach anpassen, es geht nur um das Skript im letzten Punkt.)
Los geht es mit Homematic:
- Stellantrieb anlernen und benennen, in meinem Beispiel "Stellantrieb Stefan" [Einstellungen -> Geräte -> In der Liste auf den Namen klicken]
- Die Auto-Modi des Stellantriebs löschen, damit HM nicht selbst steuert. [Einstellungen -> Geräte -> Einstellen]
Außerdem gleich die Seriennummer aufschreiben, im Bild rot markiert, etwa in einen Editor. Den brauchen wir eh noch mehrmals. Oder Pastebin.com nutzen
- Die Seite http://<IP-Homematic>/addons/xmlapi/statelist.cgi aufrufen, also etwa http://192.168.1.20/addons/xmlapi/statelist.cgi
- Suchen mit Strg + F nach der Seriennummer. Sollte dann so aussehen:
- Wir brauchen die ID vom Wert SET_TEMPERATURE, im Bild blau markiert, dort ist es die "3809" -> aufschreiben
- Außerdem die ID vom Wert MANU_MODE, zwei Zeilen darunter, im Bild "3798" -> ebenfalls aufschreiben
Jetzt gehts an Loxone:
Wir brauchen einen Benutzer, der mit Klardaten in Homematic Skripts hinterlegt wird. Ist benötigt damit Loxone die aktuelle Temperatur bekommt. Entweder man nimmt einen bestehenden. Oder man legt einen neuen Benutzer an, und gibt diesem nur die Rechte für den Virtuellen Eingang.
(Meine Empfehlung: Neuer Benutzer, eigenes Passwort, Standard Rechte. Wenn alles klappt, kann man danach den Nutzer immer noch einschränken. Ein zu eingeschränkter Nutzer ist eine gute Möglichkeit, sich selbst Fallstricke einzubauen *hust*)
- Einen Baustein "Intelligente Raumregelung" erstellen oder vorhandenen nutzen
- Einen Virtuellen Eingang erstellen und an den Eingang ϑi (Aktuelle Temp.) hängen
- Bei Eigenschaften den Anschluss notieren etwa "VI12"
- Einen Virtuellen Ausgang erstellen, in den Einstellungen unter Adresse die IP-Adresse von HM eintragen
Den Virtuellen Ausgang auswählen und dann einen "Virtueller Ausgang Befehl" erstellen, dieser steuert letztlich unseren Stellantrieb.
- Bei den Eigenschaften den Haken entfernen bei: Als Digitalausgang verwenden
- Verbinden mit unserem Intelligente Raumregelung Baustein, ACHTUNG auf den Ausgang AQt (dieser Ausgang liefert direkt die Zieltemp., im Gegensatz zu H)
- Und Zuletzt das Wichtigste, bei "Befehl bei EIN" eintragen:
/addons/xmlapi/statechange.cgi?ise_id=<ID SET_TEMPERATURE>&new_value=<v.1>&ise_id=<ID MANU_MODE>
/addons/xmlapi/statechange.cgi?ise_id=3809&new_value=<v.1>&ise_id=3798
Nun ist unsere Loxone Config fertig und sollte so aussehen:
In Miniserver speichern. Fertig mit Loxone!
Fast geschafft! Nur eins fehlt noch, Homematic soll die Temperatur übermitteln. Dazu wieder zurück zu Homematic:
- Neues Programm anlegen bei [Programme und Verknüpfungen -> Programme & Zentralenverknüpfung -> Neu]
- Bedingung: Wenn <Stellantrieb> <IST-Temperatur> <bei jeder Temperatur> <bei Änderung auslösen>
- Dann: Skript <sofort>
var source = dom.GetObject("BidCos-RF.<Seriennr Stellantrieb>:4.ACTUAL_TEMPERATURE").Value(); string url="http://<LoxoneBenutzer:LoxonePW>@<IP-Adresse-Loxone>/dev/sps/io/<oben erstellter Virtueller Eingang>/" # source; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
var source = dom.GetObject("BidCos-RF.OEQ1706299:4.ACTUAL_TEMPERATURE").Value(); string url="http://<LoxoneBenutzer:LoxonePW>@192.168.1.10/dev/sps/io/VI12/" # source; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");
Fertig!! Wer bis hier durchgehalten hat, hat nun einen HM Stellantrieb in Loxone, den wir genauso steuern können wie einen von Loxone selbst.
Fragen, Kritik, Anregungen? Gerne her damit!
Kommentar