Homematic und Loxone

In diesem kleinen HowTo habe ich die wichtigsten Punkte zusammengefasst wie man eine Verbindung zwischen Homematic und Loxone herstellt. Wie im Beitrag Homematic CCU2 und andere Homematic Produkte beschrieben, sind für uns die Homematic Produkte (als reine Sensoren und Aktoren) eine gute Ergänzung zur Loxone. Das wird sich erst ändern wenn die Loxone Air Reihe einen gleichen bzw. ähnlichen Stand erreicht hat. Man ist doch etwas verwöhnt von der Loxone Config aber sich in das Thema Homematic CCU2 einzuarbeiten ist zu schaffen.

Fangen wir mit der Konfiguration der Homematic CCU2 an. Auf die Grundeinrichtung der Homematic CCU und die Kopplung der Geräte gehe ich nicht weiter ein. Dafür gibt es genügend HowTos im Netz und so schwer ist das auch nicht.

Die Zusatzsoftware

Wichtig ist die Zusatzsoftware. Für das Empfangen von Befehlen wird aus Sicht der Homematic CCU2 die XML-API (externer Link: XML-API) benötigt. Diese Schnittstelle kann nicht mit einem Passwort abgesichert werden. Das ist mit der Grund für den Einsatz einer Firewall. Für das Senden wird der CUx-Daemon (externer Link: CUx-Daemon) benötigt.

Nach dem Download können diese über Button Zusatzsoftware unter Einstellungen => Systemsteuerung installiert werden.

Die in diesem HowTo verwendeten Versionen sind:
CCU-Firmware 2.11.6
CUx-Daemon Version 0.62
XML-API 1.10

CUxD Gerät einrichten

Wenn noch kein CUxD “System Exec” Gerät vorhanden ist muss zuerst die CUxD Konfigurationsseite über http://<CCU IP>/addons/cuxd oder Systemsteuerung => CUx Daemon geöffnet werden. Auf der CUxD Konfigurationsseite dann auf den Button Geräte klicken und auf der linken Seite im Dropdown Menü (28) System und Funktion Exec wählen.CUxD Gerät anlegen - Homematic und Loxone

Nachdem man auf Gerät auf CCU erzeugen gedrückt hat, kann man zurück auf die Seite der Zentrale wechseln und auf Geräte anlernen klicken. Im Posteingang sollte dann ein Gerät mit einer Seriennummer wie z. B. CUX2801001 liegen, welches als Dummy für die System Exec Befehle dient.

Kommunikation zwischen Homematic und Loxone

Für jeden benötigten Sensor (Beispiel: Taste 1 – Tastendruck kurz) wird unter Programme & Zentralenverknüpfung wie folgt ein neues Programm angelegt:

Sensor - Homematic und Loxone

Im hinterlegten Skript müssen dann nur noch die Loxone Zugangsdaten, die Nummer vom virtuellen Eingang und unter 28nnnnn die Seriennummer vom CUxD Gerät (das wir oben erstellt haben) eingetragen werden.

string url="http://LoxoneUser:LoxonePassword@192.168.0.123/dev/sps/io/VIxxx/Impuls";
dom.GetObject("CUxD.CUX28nnnnn:1.CMD_EXEC").State( "wget -q -O - '"#url#"'");

Wird dann die Taste gedrückt, schickt die CCU über den CUx-Deamon einen Impuls auf den eingetragenen virtuellen Eingang.

Bei Aktoren sieht das ganze etwas anders aus. Hierzu wird die XML-API über einen vituellen Ausgang bzw. virtuellen Ausgang Befehl angesprochen.

virtueller Ausgang - Homematic und Loxone

Im virtuellen Ausgang Befehl trägt man dann unter Befehl bei EIN je nach Schaltzustand folgendes ein:

Aus = config/xmlapi/statechange.cgi?ise_id=xxxx&new_value=0
Ein = config/xmlapi/statechange.cgi?ise_id=xxxx&new_value=1

Die ISE ID der Aktoren kann man sich über http://<IP-Adresse CCU>/config/xmlapi/statelist.cgi anzeigen lassen.

16 Gedanken zu „Homematic und Loxone“

  1. Hallo,
    Möchte ebenfalls einen Funktaster (6fach)einbinden, hab auch den selben Code verwendet.
    Bei mir funktioniert es allerdings nur beim ersten betätigen des Taster. Alle weiteren werden nicht weitergeleitet. Starte ich die CCU neu wird der erste druck wieder weitergeleitet. Was könnte es haben??
    Lg
    Markus

    1. Hallo Markus,

      ich bin in Sachen Homematic selber nicht sooo fit aber du kannst ja mal folgendes probieren und dich nochmal melden. Wir finden sicherlich das Problem! Es hört sich ja stark danach an das die Homematic abstürzt?!

      – Einfach mal den http Befehl (http://LoxoneUser:LoxonePassword@192.168.0.123/dev/sps/io/VIxxx/Impuls) direkt im Browser ausführen. Wenn das nicht immer funktioniert, dann liegt es schonmal nicht an der Homematic.
      – In der Homematic Oberfläche unter Status => Geräte die Spalte Letzte Aktualisierung weiterhin aktualisiert wenn du eine Taste drückst? Wenn nicht lösche doch mal das Programm das du in der Homematic an den Taster gehängt hast und probiere nochmal.
      – Hast du das Programm Skript über den Button Fehlerüberprüfung getestet? Nicht das es ein Syntax Fehler ist.
      – Wenn der Fehler aufgetreten ist, siehst du unter http:///addons/cuxd/ einen Fehler bzw. eine Veränderung?

      Viele Grüße
      Stefan

      P. S. Ich habe die CCU-Firmware 2.11.6 und die CUx-Daemon Version 0.62 (gerade nochmal im Beitrag nachgetragen) verwendet. Ich hoffe nicht das es daran liegt?!

      1. Hallo Stefan

        Danke für die schnelle Antwort.
        Gebe ich de Befehl einfach so in de Browser ein funktioniert alles wie gewollt.
        Was mir aber aufgefallen ist ist eine Fehlermeldung im Full Syslog des CUx-Daemon.

        Jan 25 13:12:33 homematic-ccu2 local0.err ReGaHss: Error: IseESP::ExecError= Execution failed: [-1] 0 0x00 [0] 145 0x91 [1] 0 0x00 [2] 99 0x63 [3] 0 0x00 [4] 100 0x64 [../Platform/DOM/iseESPexec.cpp (11622)]

        Verwende die selbe Firmware für die CCU allerdings die CUx-Daemon 0.69, wollte es jetzt mal mit einer älteren Version probieren, finde jedoch nur die Aktuelle.

        1. Hallo Markus,

          ich habe mal meine Installation total kaputt gemacht und dabei einen ähnlichen Fehler produzieren können. Dabei ist mir aufgefallen das ich eventuell einen Schritt in meiner Anleitung vergessen habe. Ich glaube nicht das Default ein CUxDeamon “System Exec” Gerät vorhanden ist?! Ich meine damit das Gerät welches im Skript über CUxD.CUX28xxxxx:1 angesprochen wird. Ich habe es mal in der Anleitung (unter CUxD Gerät einrichten) vervollständigt und hoffe des dir hilft 🙂

          Viele Grüße
          Stefan

          P. S. Ich habe dabei auch die aktuellste Version 0.9 installiert mit dieser funktioniert es auch.

          1. Hallo Stefan,

            Danke!
            Hab einfach die neue CUx Version installiert und auf einmal klappts.
            Das CUxDeamon “System Exec” Gerät habe ich vorher auch eingerichtet gehabt…
            Komisch, aber Hauptsache es funktioniert jetzt.

            Besten Dank nochmal für dein bemühen.
            lg Markus

  2. Hallo Stefan
    Danke für die geniale Anleitung. Frage für dummies noch: ich habe zu Hause einige Sachen mit homematic /CCU2 realisiert. Die Oberfläche gefällt mir nicht so, dafür sind die Komponenten günstiger. Ein bekannter stellt sein Haus jetzt auf loxone um: coole Optik aberm. e. E. relativ teuer.
    Verstehe ich das richtig das ich mit deiner Anleitung die ccu2 durch den loxone mini Server “vollumfänglich” ersetzen kann?
    Kann ich meine Programme etc auf den mini Server umziehen? Macht das eigentlich Sinn? Mir gefällt die Optik von loxone halt an besten von allen Systemen…

    Denkst du das ich als normal begabter Techniker das hinbekomme? Wollte jetzt eigentlich die CCU2 mit rasp Pi ersetzen, aber das mit loxone wäre mein Zielzustand…
    Danke im Vorraussetzung für deine Einschätzung
    Vg
    Steffen

    1. Hallo Steffen,

      ob du mit dem Miniserver deine bestehende Homematic Installation ohne Anpassungen steuern kannst, kann ich dir nicht zu 100% sagen, da diese bei uns keinerlei Logik besitzt. Mir sind aber soweit keine Einschränkungen Loxone Homematic bekannt. Die CCU2 kannst du mit der Lösung nicht ersetzen. Du könntest aber die Logik vom Loxone Miniserver und die CCU2 als reine Schnittstelle nutzen.

      Je nachdem wie du später den Miniserver einsetzten willst, könnte vielleicht auch der Loxone Miniserver Go für dich interessant sein. Dieser ist etwas günstiger und hat bereits eine Air Extension integriert, ist jedoch für eine reine Visualisierung immer noch eine relativ teuere Variante.

      Viele Grüße
      Stefan

      1. Hallo Stefan!
        Habe eine Frage bezüglich Homematic Sensor=>Loxone: Kann man vom Heizkörperthermostat binäre Meldungen (z.B. Batterie Low) auch über ise_id auslesen? Wenn ja, mit welchem value= Attribut?
        Oder muss man es über den CUx Daemon machen, wie im Wiki beschrieben (Digitale Sensoren/Zustände) ist???

        Danke für Deine Hilfe.

        Ciao
        Martin

    2. späte Antwort, aber auch für alle die später dazukommen,

      eine komplette oder teilweise Homematic kann voll integriert werden in eine Loxone steuerung und das relativ einfach.
      alle eingangsdaten (also das state der einzelnen Aktoren oder sensoren uws) kann mittlerweile durch http eingänge durch den loxone server abgefragt werden, das ersetzt das oben angeführte script zum senden der daten durch die Homematic (CuxD)
      und alle Ausgangsbefehle werden direkt auf die Ise_Id der Aktoren/sensoren gesendet

      anstelle einer Verkabelung auf die einzelnen Loxone Bausteine hat man virtuelle (http) Eingänge und virtuelle Ausgänge, für letztere muss man nur einen Ausgangsverbinder anlegen und kann alle Ausgänge darüber laufen lassen,

      very easy

      1. Hallo Lenardo.

        Könntest du bitte ein Beispiel zeigen wie der HTTP Eingang eingestellt werden muss?
        Habe alles mögliche probiert bekomme aber die Werte nicht übertragen.

  3. Hallo Leonardo,
    ich verbinde gerade meine Homematic CCU2 mit dem Loxone Miniserver.
    Habe ich was verpasst oder wird der CuX jetzt wirklich nicht mehr benötigt?

    Ich habe folgendes gemacht:
    Für einen Homematic Taster “FB1″entsprechenden CuX Taster “CUX-FB1” auf der CCU2 angelegt.
    Dann auf CCU2 ein Programm “CUX-FB1” angelegt, dass bei Betätigen des Tasters “FB1” ein Script auslöst.
    Dieses Script sendet einen Befehl an den Miniserver.
    Am Miniserver vorher einen Virtuellen Eingang mit den Namen “CuX-FB1” angelegt.
    Dann noch zusätzlich auf dem Miniserver diesen virtuellen Eingang sofort mit einem Merker Verbunden – der Merker hat den Namen “CUX-FB1”.

    Vorteil: ab sofort kann ich jetzt auf jeder Seite der Lox- Konfig sofort den Merker so nutzen, als würde ich mit einer Loxone Komponente arbeiten. Um Homematic brauche ich mich dann nicht mehr zu kümmen.

    Jetzt zu meiner Frage: ist es jetzt wirklich nicht mehr nötig, diesen relativ komplizierten Weg über CUX zu gehen? … und wie soll das dann funktionieren???

    Liebe Grüsse

    1. Früher gab es nur eine Möglichkeit Daten von der Homematic zum Loxone MS zu bringen,- man hat den Wert von der Homematic auf einen virtuellen Eingang des MS “gepusht” mittels Script.
      So wie von Peter beschrieben,- wenn in der HM sich ein bestimmter Wert ändert, wird dieser auf den Loxone virtuellen Eingang gesendet,- z.b. Licht ein, oder RaumIstWert 24.5Grad usw.

      Seit es virtuelle Http Eingänge in Loxone gibt, können aber bestimmte oder alle Daten auch aus der XML API der Homematic abgefragt werden. So frage ich z.b. periodisch alle Ist Temperaturen ab, diese brauche nur alle 2 min,- kürzere Intervalle machen keinen Sinn. Dabei wird einfach die Adresse der XML Api aufgerufen und nach dem Wert gesucht und in Loxone übernommen.

      Die 2.Variante macht nur Sinn wenn man Zustände in Intervallen abfragen kann,- bei sichertsheitkritischen Ereignissen empfiehlt es sich noch immer das Ereignis sofort von der Homematic “pushen” zu lassen, z.b. Keymatic sperrt AUF oder ZU, da kann man nicht alle paar minuten abfragen , das will ich sofort wissen wenn das Ereignis eintritt.

  4. Hi Stefan,

    super Sache! Habe was ähnliches – allerdings ohne CCU – am laufen. Ich nutze homegear (www.homegear.eu) auf einem RaspberryPi mit CC1101 Funkmodul um AES verschlüsselt über die Loxone eine Keymatic zu schalten.

    Keep up the good work!

    1. Hallo Rene,

      ja, dass ist kein Problem! Einfach bei der Bedingung “Tastendruck lang” hinterlegen und für die Aktivität einen weiteren virtuellen Eingang in der Loxone Config erstellen.

      Viele Grüße
      Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert