openHAB 2 und pilight

openHAB ist Anfang des Jahres in der Version 2 erschienen. In der Dokumentation findet man zwar nach wie vor eine Dokumentation zum pilight-Binding, allerdings fehlt das entsprechende Add-On in den Repositories. Das liegt daran, dass die Entwicklung offenbar eingestellt wurde (ebenso wie es um die pilight-Entwicklung auch etwas still geworden ist).

Nun habe ich aber eine pilight-Installation am Start, und es wäre nett, diese auch mit openHAB steuern zu können. Geht tatsächlich, allerdings bleibt die gesamte Konfiguration wie auch das Binding selbst in der Paper UI unsichtbar. 

Als erstes benötigt man das Add-On. Im Paket zur Version 1.8.3 steckt es drin, eine neuere Version gibt es hier.

Die Datei (in meinem Falle org.openhab.binding.pilight-1.10.0-SNAPSHOT.jar) legt man in das addons-Verzeichnis direkt unterhalb des openHAB-Roots.

In das Verzeichnis conf/services legt man eine pilight.cfg mit einem Inhalt ähnlich dem folgenden:

# pilight:<instance name>.<parameter>=<value>

# IP address of the pilight daemon 
pilight:rpi.host=192.168.1.12

# Port of the pilight daemon
pilight:rpi.port=5000

# Optional delay (in millisecond) between consecutive commands. 
# Recommended value without band pass filter: 1000 
# Recommended value with band pass filter: somewhere between 200-500 
#pilight:rpi.delay=1000

Damit wird festgelegt, wie openHAB mit pilight kommuniziert. Damit das klappt, muss in der config.json von pilight port:5000 eingetragen sein (siehe hier).

Nach einem Neustart von openHAB müsste nun die Kommunikation laufen, wie man in der openhab.log sehen kann:

2017-05-25 19:22:12.200 [INFO ] [ng.pilight.internal.PilightConnector] - Established connection to pilight server at 192.168.1.12:5000

In das Verzeichnis conf/items erstellt man nun eine Datei mit den zu steuernden pilight-Geräten. Bei mir sieht das so aus:

Group gPilight

Switch pilightIntertechno_0 "Intertechno_0" (gPilight) {pilight="rpi#Intertechno_0"}
Switch pilightIntertechno_1 "Intertechno_1" (gPilight) {pilight="rpi#Intertechno_1"}
Switch pilightIntertechno_2 "Intertechno_2" (gPilight) {pilight="rpi#Intertechno_2"}

Number pilightTemperatur "Temperatur: [%s °C]" (gPilight) {pilight="rpi#Temperatur,property=temperature"}

Um die Geräte nun in der GUI sichtbar zu haben, müssen sie noch in eine Sitemap unter conf/sitemaps eingetragen werden:

Switch   item=pilightIntertechno_0   label="Schalter 0"
Switch   item=pilightIntertechno_1   label="Schalter 1"
Switch   item=pilightIntertechno_2   label="Schalter 2"
	
Text     item=pilightTemperatur      label="Außentemperatur"   icon="temperature"

Anschließend lassen sich die pilight-Geräte mit openHAB steuern.

Viele Informationen, die ich hier verwendet habe, stammen aus diesem Beitrag im openHAB-Forum.

5 Antworten auf „openHAB 2 und pilight“

  1. Hallo Jörg, ich versuche schon seit Tagen, das genau so umzusetzen wie oben beschrieben, allerdings ohne Erfolg. Mein opehnhab2 Pi verbindet sich einfach nicht mit dem Pilight Pi. Das Log gibt mir diese Meldung aus:
    [ERROR] [org.openhab.binding.pilight ] – FrameworkEvent ERROR – org.openhab.binding.pilight
    org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.pilight [181]
    Unresolved requirement: Import-Package: org.openhab.core.binding
    Hattest du diese auch, bzw. hast du eine Idee, was hierfür die Ursache sein könnte?
    Danke vorab und viele Grüße – Jesco

  2. Hallo zusammen,

    ich arbeite auch mit OpenHab in meinem Smarthome, bin jedoch bei Pilight einen anderen Weg gegangen.
    Ich habe Pilight extra installiert und lasse OpenHab die Pilight-Befehle ausführen. Das funktioniert wirklich zuverlässig und es tritt nicht der Fehler, wie im letzten Kommentar angesprochen, auf.
    Das ganze habe ich in einem Blogeintrag aber auch noch genauer beschrieben.
    Nachlesen kann man es hier: https://hobbyblogging.de/hausautomation-mit-dem-raspberry-pi

  3. Hallo,
    könntest Du eine funktionsfähige jar also evtl die die du nutzt oder die aktuelle als Download zur Verfügung stellen. Ich versuche das verzweifelt nach Deiner Methode bekomme aber immer einn

    [org.openhab.binding.pilight ] – FrameworkEvent ERROR – org.openhab.binding.pilight
    org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.pilight [186]
    Unresolved requirement: Import-Package: org.openhab.core.binding

    Danke!

  4. Hallo Jörk,

    vielen dank für dein Blog.
    eine Frage habe ich dazu:

    wie bist du auf den gekommen?
    hast du den selber festgelegt?
    steht der auch so irgendwo in der .json?

Schreiben Sie einen Kommentar

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