Kommunikation - Openhab -> Homegear -> Homematic

Hallo zusammen,

ich bin noch ganz neu bei Thema Homeautomation dabei und habe mich entschieden bei mir Zuhause die Kombination
Openhab <-> Homegear <-> Homematic
einzusetzten.
Ich habe mich dazu in den letzten Tagen wirklich queer durch das Homegear und Openhab Forum gelesen um mein System ans laufen zubekommen. Mein System sieht dabei wie folgt aus:

  • RaspberryPI 3 (Raspbian/Jessie) mit Openhab(1.8.3) und Homegear (0.6.7-1545)
  • PI Funkmodul ist das Busware-SCC mit neuster Firmware
  • Homematic (alles im Homegear gepairt)
  • Wandthermostat (HM-TC-IT-WM-W-EU)
  • Heizungsthermostat (HM-CC-RT-DN) wird über das Wandthermostat gesteuert

Es funktioniert soweit euch alles ohne Probleme. Die Bindings in Openhab zeigen mir sofort die Änderungen am Wandthermostat an wenn ich an diesem etwas einstelle.
Soweit so gut, nun dachte ich mir, da so auch mein plan war, dass ich über mein Openhab das Wandthermostat “bedienen” kann.
Ein kurzes Beispiel die Boost Funktion. Diese möchte ich nicht nur direkt am Thermostat aktivieren können sondern auch über Openhab. Also habe ich mir folgende Item angelegt:

Switch boost “Aktivere Boost” (gHomematic ,gBadezimmer) {homematic=“address=MEQ1572048, channel=2, parameter=BOOST_MODE , forceUpdate=true”, autoupdate=“false”}

Damit lässt sich auch im Wandthermostat die Boost Funktion aktvieren, jedoch teilt dieses die Information nicht dem Heizkörper mit.

Und so komme ich zu meine Frage, habe ich bei dem Aufbau etwas flasch gemacht bzw. die Verbindungen falsch verstanden, oder liegt das Problem in einer nicht vorgenommenen Einstellung?

Ich hoffe ihr könnt mir weiter helfen, denn ich habe bereist alles ausprobiert was ich zu diesem Thema finden konnte.

  • pairing der Teilnehmer mit Homegear-Manager.
  • Zuerst Teilnehmer pairen und dann beide mit Homegear pairen

Das homegear.err Log habe ich auch überprüft - dort wird nichts geloggt, sprich keine Einträge erzeugt.

Schon mal vielen Dank für eure Hilfe.

Dazu gibt es mehrere Möglichkeiten. Entweder man erstellt Regeln in openHab, die die Zustände des Thermostaten an den Heizungsregler weitergibt, oder man erstellt direkte Verknüpfungen in Homegear/homematic. Dazu wird der Kanal 2 des Thermostaten mit Kanal 2 der Heizungsregler oder des Heizungsreglers verknüpft. Das geht am besten über die homegear Funktion addLink.
Auf diese Weise habe ich einen Thermostaten mit 4 Reglern verknüpft. Funktioniert auch bestens mit openHab. Set_Temperatur am Thermostat einstellen reicht. Wird dann per Verknüpfung weitergeleitet.

Vielen Dank für die schnelle Antwort, aber leider bingt mich das nicht weiter.
Denn eigendlich sind die beiden geräte ja verlinkt.

Das ist meine peers list:

ID │ Name │ Address │ Serial Number │ Type │ Type String │ Firmware │ Conf │ Unreach │ Low Bat
2 │ │ 3F810E │ MEQ1572048 │ 00AD │ HM-TC-IT-WM-W-EU │ 1.3 │ No │ No │ No
3 │ │ 46B85B │ NEQ0312796 │ 0095 │ HM-CC-RT-DN │ 1.4 │ No │ No │ No

Das ist die peers list für ID1

Channel: 3 Address: 0xfdc485 Remote channel: 3 Serial number: VBC0945107 Virtual: True
Channel: 2 Address: 0x46b85b Remote channel: 2 Serial number: NEQ0312796 Virtual: False

Und das die für ID2

Channel: 3 Address: 0xfdc485 Remote channel: 3 Serial number: VBC0945107 Virtual: True
Channel: 2 Address: 0x3f810e Remote channel: 2 Serial number: MEQ1572048 Virtual: False

Ich habe jetzt auch mal den addLink propiert. Und zwar so

sudo homegear -e rc ‘$hg->addLink(2, 2, 3, 2);’

Darauf hat homegear die Datein /var/log/homegear/homegear-scriptengine.err und homegear-scriptengine.log erstelllt.
Das Error ist leer und im Log steht folgendes:

Info: Trying to connect…
12/04/16 15:54:14.481 Script Engine (9273): Connected.
12/04/16 15:54:14.482 Script Engine (9273): Info: Client registered to server.
12/04/16 15:54:14.482 Script Engine (9273): Info: Server is calling RPC method: executeScript
12/04/16 15:54:14.507 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:14.508 Script Engine (9273): Info: Server is calling RPC method: broadcastUpdateDevice
12/04/16 15:54:15.034 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:15.088 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:17.622 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:17.625 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:19.513 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:19.514 Script Engine (9273): Info: Server is calling RPC method: broadcastUpdateDevice
12/04/16 15:54:22.580 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:24.524 Info: Script 1 exited with code 0.
12/04/16 15:54:49.797 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:49.802 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:54:58.067 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:56:12.326 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:56:12.327 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:56:22.330 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:56:32.326 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:56:32.327 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:57:13.873 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:57:13.875 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:58:36.827 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:58:36.828 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:58:46.832 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:58:56.829 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:58:56.830 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:59:55.625 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 15:59:55.630 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:00:46.829 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:00:46.831 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:00:56.833 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:01:06.829 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:01:06.830 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:02:23.126 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:02:23.128 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:03:46.331 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:03:46.332 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:04:06.331 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:04:06.332 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:04:36.127 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:04:36.130 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:06:31.583 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:06:31.584 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:06:51.583 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:06:51.584 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:07:38.629 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent
12/04/16 16:07:38.631 Script Engine (9273): Info: Server is calling RPC method: broadcastEvent

Damit kann ich leider auch nicht anfagen.
An eine Regel in openHab habe ich auch schon gedacht, finde ich aber nicht so gut.
Den die Verbindung zwischen WT und Heizung besteht ja. Nur wenn ich über die Bindings Werte setze werde diese nicht weiter gegeben.

Ich habe die direkten Verknüpfungen über den homematic-manager (hm-manager) erstellt. Die Kommandozeile von homegear kenne ich nur rudimentär. Ich weiß gerade auch nicht, wie man sich die direkten Verknüpfungen in der Kommandzeile ausgeben lassen kann.
Im hm-manager sieht es dann so aus:


Kanal 2 vom Thermostat ist mit Kanal 2 des Heizungsreglers verknüpft. Ich habe auf die Weise vier Heizungsregler mit dem Thermostat verknüpft. Die Regler sind untereinander auch noch verknüpft, aber das wäre bei dir ja nicht relevant.

Der passende RPC-Befehl wäre z.B. addLink(“MEQ1572048:2”,“NEQ0312796:2”) mit deinen Geräten.

Edit: ich habe deine Ausgabe der peers list der einzelnen Geräte geprüft, das sieht soweit ja tatsächlich ok aus. Genau so bediene ich die Heizungsregler, indem ich den Sollwert am Thermostat einstelle. Auch alle anderen Funktionen, wie Modus, etc., kann ich so vom Thermostat aus einstellen.

Also die Funktion addLinks habe ich auch gestern das erste mal benutzt. Denn ich hatte hier im Forum einen Thread gefunden der auch dem hm-manager empfohlen hatte und so habe ich die derzeit bestehenden Links mit dem hm-manager gemacht.
Wobei ich dort zu erst Probleme hatte. Da die aktuelle hm-manager version etwas buggy ist, lassen sich mit dieser keine
Verknüpfungen anlegen. So habe ich mir eine älter Version (1.0.12) installiert mit der konnte ich dann auch die Links anlegen. Und diese funktionieren auch ohne Probleme ob ich etwas am WT oder am Heizkörper einstelle, die beiden Geräte teilen es sofort dem jeweils anderen mit.

Ich wollte jetzt mal ausprobieren den parameter=SET_TEMPERATURE zu beschreiben, aber ich bekomme es nicht hin.
Hast du evtl. ein Beispiel wie du die Items dafür angelegt hast?

Hier noch mal mein Switch für den Boost

Switch boost “Aktivere Boost” (gHomematic ,gBadezimmer) {homematic=“address=MEQ1572048, channel=2, parameter=BOOST_MODE , forceUpdate=true”, autoupdate=“false”}

Und einmal der Auszug aus meinem hm-manager:

Ich will die Tage auch noch mal Versuchen alles auf Werkseinstellungen zu reseten und dann alle Pairings noch mal zuerstellen.
Außer du hast noch mal einen guten Tip für mich :smile:

Hier ist meine Item-Defintion für die Soll- und Isttemperatur:

Number RTemp_EG_Wohnzimmer_set "Soll [%.1f °C]" <temperature> (EG_Wohnzimmer)                           { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQ0441441:2#SET_TEMPERATURE" }
Number RTemp_EG_Wohnzimmer_act "Ist (WZ) [%.1f °C]" <temperature> (EG_Wohnzimmer, gRTemp)       { channel="homematic:HG-HM-TC-IT-WM-W-EU:homegear:LEQ0441441:1#TEMPERATURE" }

Hoffentlich hilfts …

Ich habe jetzt alles was mit eingefallen ist noch mal probiert.

  • alles neu pairen - keinen erfolg
  • deine Items - funktionieren bei mir nicht. wobei ich dort noch mal gerne wissen würde wie dein Item zum senden der setTemp ausieht und wie du den wert erzeugst.
  • direkt setTemp schrieben - gleiches ergebnis wie bisher

Ich checke das wirklich nicht. Aber ich habe das gefühl das ich beim aufsetzen von homegear und homematic irgendwo einen fehler gemacht habe.

Ich hoffe das noch irgendwer anders eine Idee hat, ich poste auch gerne noch mal alle logs.

edit: Ich habe gerade gesehen das deine Items aus openhab2 sind ist das richtig??

Das erste Item ist das Item zum setzen der Temperatur.
Ich habe das in der sitemap wie folgt angebunden:
Setpoint item=RTemp_EG_Wohnzimmer_set minValue=16 maxValue=28 step=0.5
Das sieht dann in der BasicUI so aus:

… und funktioniert wunderbar. Ich weiß nicht, was ich anders mache.
Viel Erfolg

Oh, ich sehe gerade im ersten Post, dass du oh1.8.3 nutzt. Da sind meine Tips ja etwas fehl am Platz…
Aber das Ganze funktioniert so gut, dass ich das Upgrade empfehlen kann.
Die Beta von homegear nutze ich, weil ich damit Intertechno-Komponenten schalten möchte. Das geht nur mit der Beta-Version 0.7.0.

Vielleicht noch soviel:
Ich nutze aktuell openHAB2 b4 und homegear mit fologenden Komponenten:
ii homegear 0.7.0-1487 armhf Interface program to your smart home devices
ii homegear-homematicbidcos 0.7.0-1487 armhf HomeMatic BidCoS module for Homegear
ii homegear-intertechno 0.7.0-1487 armhf Intertechno module for Homegear
ii homegear-openweathermap 1.1.2-1 all Provides an OpenWeatherMap device for Homegear.
ii libhomegear-base 0.7.0-1487 armhf Base library for Homegear

Ich habe es endlich hin bekommne :grin:

Nach dem ich das System auf openHab2 und die Nightly builds hoch gezogen habe, habe ich zu erst probiert die
kommunikation so einzurichten wie vorher. Sprich ich habe alles gepairt und versucht auf der Wandthermostat zu schrieben. Doch ich erhielt das gleiche Resultat …

Dann habe ich einfach alle Items direkt auf das Heizkörperthermostat geleget und schon funktioniert alles so wi es soll.
Über die openHab-App kann ich jetzt alles Einstellungen vornehmen und sie werden für alle mit der Heizung gepairten Geräten übernommen und ich kann sie dann auch vom Wandthermostat wieder Rückgängig machen.

Darum SOVELD und danke für deine Hilfe :smile:

1 Like

Hallo!

Ich hab den Thread hier schon mit Argusaugen beobachtet, ich hab nämlich das selbe Problem!
Mein Setup läuft schon mit OpenHAB2, Links sind auch vorhanden.

Wenn ich nun die Temperatur direkt an den Heizkörperthermostat schicke, bleibt der Wandthermostat aber auf der bisher eingestellten Temperatur “hängen” … übernimmt dieser die Temperatur vom Heizkörperthermostat, @Spearmint ?

Hey,

ich habe mir schon gedacht, dass ich nicht der einzige mit diesem Problem bin :joy:

Ja genau das macht das Wandthermostat jetzt. Am besten führe ich noch mal auf was ich jetzt Step by Step gemacht habe.

Da ich gerade nicht Zuhause bin kann ich nicht aller Bezeichnungen und Versionen nach schauen. Solltest du diese aber benötigen schaue ich gerne noch mal nach.

  1. Damit die von mir gemacht Einstellungen im ersten Versuch keine Probleme machen habe ich mit noch mal eine neues Raspbian auf gesetzt.
  2. openhab2 beta4, homegear 0.7.0-1490 und den hm-manager (Version weiß ich gerade nicht) installiert.
  3. Alle Homematic Geräte auf Werkseinstellungen zurück gesetzt.
  4. Wandthermostat und Heizkörperthermostat mit homegear gepairt.
  5. Über den hm-manager die entsprechenden geräte mit einander verlinkt.
  6. Nicht über den Reiter “Verküpfungen” sonden die “RPC-Konsole”
  7. Dort links oben den “addLink” Befehl auswählen
  8. Sender ist bei mir MEQ1572048:2 und Empfänger ist NEQ0312796:2
  9. Dann kannst du noch eine Namen und eine Beschreibung vergeben ist aber nicht zwingend Notwenig.
  10. Zum Schluss rechts oben auf “Befehl senden”
  11. Jetzt sollte die Kommunikation zwischen den Geräten und deiner “Zentrale” schon mal so laufen wie sie sollte.
  12. Nun habe ich das “Paper UI” benutzt.
  13. Links über den Reiter “Extensions” das homematic-bindings-addon installiert.
  14. Nun über “Configuration -> Things” nach homegear gesucht und hinzugefügt. Sprich die Things nicht selbste eingerichtet, denn damit lief es bei mir nicht.
  15. Darauf hat mir das Paper UI die Homematic Geräte direkt angezeigt, hinzugefügt … und fertig.
  16. Zum Schluss habe ich nur noch die Items in openHab2 erstellt, aber nur direkt auf das Heizkörperthermostat.

Jetzt läuft bei mir alles ohne Probleme. Vllt hilft dir das ja schon.

1 Like

Hi,

danke für deine genaue Ausführung. Ich hatte leider noch keine Zeit das zu testen, werd ich aber auf jeden Fall noch nachholen und dann hier berichten! :slight_smile: