Integration von Homematik Fensterkontakten in Openhab
Mit der Einführung der ersten Homematik Module steht natürlich auch deren Integration in den vorhandenen Openhab Service an. Zwar bietet auch Homematik eine Web Übersicht an und es gibt auch Apps, aber natürlich sind beide ausschließlich auf Homematik ausgerichtet und bieten keine Integration anderer Dienste an.
Zuerst das openhab Modul installieren
apt-get install openhab-addon-binding-homematic
und die Adresse der Zentrale in die Konfiguration eintragen
vi ../openhab.cfg
# Hostname / IP address of the Homematic CCU
homematic:host=ccu2.your-domain.de
Dann sollte man nach dem Neustart Einträge zum Homematic im Logfile sehen
/etc/init.d/openhab restart
tail /var/log/openhab/openhab.log
2015-02-07 22:43:35.182 [INFO ] [.o.u.w.i.servlet.WebAppServlet] - Started Classic UI at /openhab.app
2015-02-07 22:43:39.868 [INFO ] [o.o.b.h.i.bus.HomematicBinding] - HomematicConfig[host=ccu2.caserio.lcl,callbackHost=192.168.221.5,callbackPort=9123,aliveInterval=300]
2015-02-07 22:43:39.870 [INFO ] [.b.h.i.c.HomematicCommunicator] - Starting Homematic communicator
2015-02-07 22:43:39.893 [INFO ] [.service.AbstractActiveService] - Exec Refresh Service has been started
2015-02-07 22:43:40.110 [INFO ] [.b.h.i.c.HomematicCommunicator] - Homematic ServerId[name=CCU,version=2.11.9,address=LEQ1324009]
2015-02-07 22:43:40.118 [INFO ] [o.o.b.h.i.c.client.CcuClient ] - Starting CcuClient
2015-02-07 22:43:40.173 [INFO ] [b.h.i.communicator.StateHolder] - Loading Homematic datapoints
2015-02-07 22:43:40.935 [INFO ] [b.h.i.communicator.StateHolder] - Finished loading 258 Homematic datapoints
2015-02-07 22:43:40.936 [INFO ] [b.h.i.communicator.StateHolder] - Loading Homematic Server variables
2015-02-07 22:43:40.960 [INFO ] [b.h.i.communicator.StateHolder] - Finished loading 2 Homematic server variables
2015-02-07 22:43:40.961 [INFO ] [b.h.i.c.s.BinRpcCallbackServer] - Starting BinRpcCallbackServer at port 9123
2015-02-07 22:43:41.110 [INFO ] [.o.b.h.i.c.client.BinRpcClient] - Interface BidCos-Wired not available, disabling support.
2015-02-07 22:43:41.111 [INFO ] [.o.b.h.i.c.client.BinRpcClient] - Interface CUxD not available, disabling support.
2015-02-07 22:43:41.112 [INFO ] [.b.h.i.c.HomematicCommunicator] - Scheduling one datapoint reload job in 60 seconds
2015-02-07 22:43:41.113 [INFO ] [.service.AbstractActiveService] - Homematic server keep alive thread has been started
Um nun den Fensterkontakt darzustellen müssen drei Dateien geändert werden.
Eine “Map” Datei in der die Umwandlung von den Zahlenwerten in Text definiert ist:
vi transform/fenster-kontakt.map
0=Zu
1=Offen
-=UNKNOWN
Die Items Datei (address=seriennummer des Kontakts):
vi items/demo.items
Group Fenster
Number Badezimmer_Fenster "Badezimer [MAP(fenster-kontakt.map):%d]" <contact> (Fenster, Badezimmer) {homematic="address=LEQ1058224, channel=1, parameter=STATE" }
Und natürlich die Sitemap in der der Kontakt dargestellt werden soll.
vi sitemaps/default.sitemap
Frame {
....
....
....
Group item= Fenster {
Text item=Badezimmer_Fenster
}
}
Natürlich kommen hier noch weitere Darstellungen hinzu.
Mit dem Binding Beispiel von hier bin ich mit dem Fensterkontakt nicht zum Ziel gekommen
Ein
Number lrWindowRight "Window Right [MAP(contact.map):%d]" <contact> (gRLvng) { homematic="IEQ0203214:1#STATE" }
führte zu der Meldung
Binding configuration of type 'homematic' of item 'lrHeaterRight' could not be parsed correctly. org.openhab.model.item.binding.BindingConfigParseException: Each entry must have a key and a value