Roaming mit Homematic

Hallo zusammen,

bei mir läuft homegear auf einem Raspberry Pi2 mit einem cc1101 Modul, und openhab auf einem anderen Rechner. Das Setup hat soweit gut funktioniert, nur das es ein paar kleine Funklöcher gab. Um die Funklöcher abzudecken habe ich einen zweiten Raspi mit einem cc1101 Modul ausgestattet und darauf auch homegear installiert. Die db habe ich vom ersten Raspi kopiert.
Auf den Homematic Aktoren (Jalousieaktoren, Thermostate und 4-Fach Schalter) habe ich das Roaming eingeschaltet.

Wie kriege ich es denn jetzt hin das openhab auch alle Homematic Geräte erreicht? Ich kann da ja nur eine Homegearinstanz konfigurieren.
Als Idee hatte ich probiert auf dem openhab-Server noch eine Homegearinstanz zu installieren, und dort die beiden Raspi´s als HM-Cfg-LAN per rpc anzusprechen. Damit habe ich aber nur erreicht das gar keine Messages mehr empfangen wurden.

Kann mir jemand mit meinem Vorhaben weiterhelfen?

Vielen Dank!
Der Adler

Hallo,

in dieser Form kannst du zum Beispiel über MQTT arbeiten. Damit kannst du mit OpenHAB zwei Homegear-Instanzen parallel betreiben. Allerdings empfehle ich dir, statt des zweiten Raspberry Pi mit Homegear ein über Netzwerk ansprechbares Kommunikationsmodul an deine erste Homegear-Instanz anzubinden. Dann kannst du auch den Konfigurationsparameter “ROAMING” setzen, welcher die Beste Kommunikationsschnittstelle automatisch wählt :wink:.

Viele Grüße

Sathya

Hallo sathya,

danke für die Info!
Ich scheue mich davor jetzt noch ein LAN-Gateway anzuschaffen… Gibt es nicht eine Möglichkeit mit den cc1101 Modulen? Davon habe ich hier noch einige rumliegen.

Oder wäre die sauberste Lösung das ich in jeder Etage eine Homegear Instanz laufen lasse an der nur die Aktoren angemeldet sind die sich auch auf dieser befinden? Das könnte dann wiederum per mqtt angesprochen werden (wobei ich da auch nicht so richtig weis wie das zu konfigurieren wäre).

Viele Grüße
Der Adler

Hallo,

die Lösung, die CC1101-Module direkt zu verwenden, müsste erst programmiert werden. Das ist zwar nicht viel Arbeit, ich weiß aber nicht, wann ich dazu komme. Es gibt aber auch freie "IP-"Hardware wie zum Beispiel den CUNX, welche du verwenden könntest. Eine Homegear-Instanz pro Etage mit MQTT ginge aber auch. Grob zur Konfiguration:

[ul]
[li] mosquitto auf irgendeinen Rechner installieren.[/li]
[li] MQTT auf jedem Homegear-Rechner in der mqtt.conf aktivieren.[/li]
[li] ID in der mqtt.conf anpassen und Verbindungsdaten zu mosquitto eingeben.[/li]
[li] MQTT in OpenHAB konfigurieren.[/li][/ul]

Viele Grüße

Sathya

OK, da es (noch) keine Möglichkeit gibt die cc1101 Module zu verwenden würde ich jetzt erstmal auf die Variante mit den mehreren homegear Instanzen mit mqtt gehen. Dafür habe ich schon die Hardware, und muss nicht wieder etwas kaufen.

mqtt läuft auch schon mit mosquitto bei mir. Bisher kommunizieren verschiedene esp8266 Module darüber. OpenHAB bekommt darüber z.B. noch die Aussentemperatur und die Lichtintensität.
In homegear hatte ich mqtt auch schon eingeschaltet, konnte aber nichts damit anfangen, ausser das ich die Messages im Broker sehe. Wie muss denn in openhab ein Homematic Device angelegt werden wenn ich über mqtt arbeiten will? Mit dem Homematic Binding wird ja die Adresse des Aktors angegeben. Und im Binding wird homegear als Kommunikationsschnittstelle konfiguriert. Wie funktioniert das wenn ich das über mqtt machen will?

Danke für die Hilfe!

Hallo,

konkrete Informationen zur Konfiguration kann dir “prego” geben. Wieder grob:

[ul]
[li] Zur Anlage der OpenHAB-Items: https://github.com/openhab/openhab/wiki/MQTT-Binding[/li]
[li] Zu MQTT in Homegear und dem Aufbau der Topics: https://doc.homegear.eu/data/homegear/communication_protocols.html#mqtt[/li][/ul]

Viele Grüße

Sathya

Sers,

Ich benutze hier Homegear 0.7 mittlerweile ohne openhab aber meine Kommunikation läuft komplett über mqtt.
In 0.6 sind glaube die MQTT-Sachen aus der Doku noch nicht komplett drin

Wo homegear die Werte im mqtt ablegt, hast du ja schon gefunden. Du musst dir jetzt einfach nur ein Item bauen, was “Eingang” und “Ausgang” separat über mqtt empfängt und sendet.

Das Setzen von Werten passiert über doc.homegear.eu/data/homegear/c … t-variable. Dieses Topic packst du einfach als Ausgangstopic an dein openhab-item.

Beispielhaft mal ein Dimmer, den ich mal angebunden hatte (nicht über homegear)

Dimmer wzLampCeilingDim "Decke [%d%%]" (gWz) { mqtt=">[broker:sensor/wzdecke/dim/set:command:*:default], <[broker:sensor/wzdecke/dim:state:default]" }

Man achte auf die Richtung der Pfeilklammern. Die Topics musst du natürlich noch für homegear, je nach gewünschter Instanz (homegearId), anpassen. Die Syntax von openhab (state:default, etc.) ist aber auch noch mal im von sathya gelinkten openhab-Wiki erklärt, im Speziellen als Beispiel das hier github.com/openhab/openhab/wiki … igurations.

Für homegear könnte es also so aussehen (ungetestet):

Switch "Jalousie" (group) { mqtt=">[broker:homegear/<homegearId>/set/15/1/STATE:command:ON:TRUE], >[broker:homegear/<homegearId>/set/15/1/STATE:command:OFF:FALSE], <[broker:homegear/<homegearId>/plain/15/1/STATE:state:ON:TRUE], <[broker:homegear/<homegearId>/plain/15/1/STATE:state:OFF:FALSE]" }
So wird auch openhab’s “ON/OFF” in das vom Homematic-Channel benötigte “TRUE/FALSE” übersetzt. Schau dir für die Channel-Info’s entweder die device-reference an (z.B. homegear.eu/index.php/HM-LC … _Reference) oder direkt mit der homegear Konsole:

homegear -r fs 0 ds <device-id> config print

Meld dich einfach, wenn du Hilfe brauchst :slight_smile:

so long,
p

Moin!

Vielen Dank für die ausführliche Erklärung. Damit kann ich jetzt erstmal arbeiten.
Meine ganzen Devices umstellen wird wohl etwas dauern :open_mouth:
Aber die Kommunikation via mqtt hat noch den praktischen Nebeneffekt das die Aktoren nicht ausschliesslich per openhab angesprochen werden können, und auch Hardwaredefekte schnell kompensiert werden können.

Viele Grüße
Der Adler

Hallo beisammen,

ich hoffe, ihr könnt mir helfen zu verstehen, was das konkrete Ergebnis in dem Thread ist. Ich glaube folgendes verstanden zu haben:

  1. Anforderung: Ein Gerät soll sich per Roaming mit dem nächstgelegenen Funk-Empfänger verbinden können.
  2. Eine direkte Kommunikation von Homegear-Instanzen ist derzeit nicht vorgesehen. -> aktuell kein einfaches Roaming mit Homegear.
  3. Workaround:
    3.1Mehrere Homegear-Instanzen installieren.
    3.2. Diese mit MQTT als Bus verbinden.
    3.3. Die benötigten Werte über MQTT erfragen/bearbeiten.

Der Vorteil, den ich verstehe ist, dass man im Frontend nur auf den MQTT-Bus zugreifen muss und die verwendete Hardware dahinter egal sein kann.

Bezogen auf die Topic würde das bedeuten, dass Roaming nicht möglich ist und der Ausfall eines Funk-Moduls nicht durch ein zweites kompensiert werden kann. Oder habe ich etwas übersehen?

Grüße,
max

Wenn ich dich jetzt richtig verstanden habe, ja.

Eventuell kann aber @sathya dazu was sagen.

Hallo,

die Idee mit der Kompensation von Hardwareausfällen habe ich inzwischen mehr oder weniger verworfen.
Ich habe mir zur Reichweitervergrößerung ein HM-LAN-GW gekauft, und betreibe die Homematicgeräte alle über Roaming. Homegear spricht mit openHab dabei über mqtt.

Um doch noch für den Fall der Fälle gerüstet zu sein, sprich der Raspi mit dem cc1101 Modul und installiertem homegear fällt aus, habe ich einen zweiten Raspi laufen. Auf dem ist homegear zwar installiert, aber nicht gestartet. Die homegear Datenbank wird jede Nacht einmal per Cronjob von der laufenden Instanz gezogen. Das ist auch als Backup ganz Sinnvoll.
Aktuell wird beim Ausfall des führenden Raspi noch nicht automatisch umgeschaltet, weil es einfach zu viele Möglichkeiten gibt die zu einer Funktionsstörung führen könnten. Möglich wäre das aber auch.

Grüße
Der Adler

1 Like

Richtig.

Die Lösung von @Schwarzer_Adler ist gut. Alternativ oder zusätzlich kann auch Hardware verwendet werden, die für Zuverlässigkeit und Langlebigkeit gebaut wurde, z. B. bestimmte Einplatinencomputer von Siemens. Diese ist aber deutlich teurer als der Raspberry Pi.

Viele Grüße

Sathya