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.

alternat-txt

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