[openhab] fs20 über cul einbinden

Ursprünglich hatte ich den fs20 Umschalter von ELV über die CUL(busware) in fhem eingebunden. Mittlerweile bin ich auf openhab umgestiegen und nachdem die 433 MHz Steckdosen problemlos geschaltet werden konnten, wurde es Zeit für fs20.

Openhab wird unter dem Benutzer openhab ausgeführt und damit der Benutzer auf die cul (/dev/ttyACM0) zugreifen kann, wurde der Benutzer der Gruppe dialout hinzugefügt.
Fehlt die Gruppenzugehörigkeit, erhält man unter openhab 1.6.1 folgende Fehlermeldung:
22:35:49.756 [ERROR] [.o.b.fs20.internal.FS20Binding:81 ] - Can't open cul device org.openhab.io.transport.cul.CULDeviceException: gnu.io.NoSuchPortException
at org.openhab.io.transport.cul.internal.CULSerialHandlerImpl.openHardware(CULSerialHandlerImpl.java:129) ~[na:na]
at org.openhab.io.transport.cul.internal.AbstractCULHandler.open(AbstractCULHandler.java:148) ~[na:na]

Für die Integration der CUL werden die Addons org.openhab.binding.fs20-1.6.1.jar und org.openhab.io.transport.cul-1.6.1.jar benötigt.
Zusätzlich muss die folgende Zeile in der openhab.cfg hinzugefügt werden.
fs20:device=serial:/dev/ttyACM0

Nun kann in der entsprechenden items Datei der eigentliche Aktor angelegt werden:
Group garten
Switch weg "Wegbeleuchtung" (garten) {fs20="1b1b01"}

Die Hausadresse sowie die Geräte Adresse 1b1b01 hatte ich aus der fhem Konfiguration übernommen.

Das Einzigste was openhab derzeit gegenüber fhem anscheinend noch nicht kann ist, das wenn ein Aktor über eine Fernbedienung aktualisiert wird, der Schaltvorgang von openhab nicht erkannt wird. Leider wird dadurch der Status des Aktors in openhab nicht aktualisiert.

Die cul von busware

Die cul von busware

UPDATE 1. Januar 2015

Der Status des Switches aktualisiert sich in openhab, wenn der Aktor über die FS20 Fernbedienung geschaltet wird. Bitte den Artikel http://www.itbasic.de/openhab-fs20-fernbedienung-und-switch-status-aktualisierung/ beachten.

10 Gedanken zu „[openhab] fs20 über cul einbinden

  1. Elinoy

    Bezüglich der Statusaktualisierung: Ich habe das bei mir ganz einfach mit einer Rule gelöst, sprich: FS20-Schalter=>openhab Rule=>FS20-Aktor. Macht imho auch mehr Sinn, man hat so etwas wie openHAB ja, weil man eine Steuerungslogik dazwischen setzen will.

    Antworten
  2. Elinoy

    Ja, ist aber etwas tricky. Du musst dafür zuerst den Debugmodus von openhab aktivieren:

    echo 'DEBUG=yes' >> /etc/default/openhab && service openhab restart

    dann ein

    tail -f /var/log/openhab/openhab.log

    Wenn du jetzt einen Schalter auf deiner Fernbedienung drückst, sollte so etwas auftauchen:

    Received raw message from CUL: FD8CD001200

    Der Identifier des Button ist dabei 6 Hexzeichen lang und fängt an zweiter Stelle an, in diesem Fall also D8CD00. Nun muss in der Items-Datei ein Eintrag erstellt werden, der etwa so aussieht:

    Switch WS1 "Wandschalter 11" {fs20="D8CD00"}

    Außerdem muss für das zu schaltende Gerät auch ein Items-Eintrag erstellt werden, dieser kann eine beliebige nicht vergebene Kombination aus 6 Hexzeichen sein, sie wird beim gleich folgenden Pairing zugewiesen:

    Switch ZS1 "Zwischenstecker 1" {fs20="123456"}

    Jetzt muss noch die Regel erstellt werden, diese kann z.B. so aussehen:


    rule "Fernbedienung 4.2"
    when Item FB4 received update ON
    then sendCommand(ZS1, OFF)
    end

    Anschleßend setzt du dein zu schaltendes Gerät in den Pairing-Modus und drückst auf der Fernbedienung das gewünschte Knöpfchen. Es bietet sich dabei immer an, das

    tail -f /var/log/openhab/openhab.log

    zum Debuggen mtilaufen zu lassen.

    Da das jetzt doch etwas länger geworden ist: Wenn du Lust hast und dir die Mühe machen möchtest,mein Geschreibsel optisch etwas aufzuhübschen, nimm das doch in deinen Blogpost auf, ist evtl. für Andere auch nützlich.
    Davor allerdings bitte testen, es ist ein halbes Jahr her, dass ich das Ganze konfiguriert habe.

    Antworten
    1. hermann Beitragsautor

      Cool danke für den Hinweis. Ich werde es mir in den nächsten Tagen einmal ansehen und dann einen Artikel dazu schreiben.

      Antworten
  3. Pingback: [openhab] FS20 Fernbedienung und Switch Status Aktualisierung | itbasic

  4. Schnatterente

    Interessanter Artikel.
    Ich vor einigen Monaten FHEM bei jemandem eingerichtet, der recht viele FS20-Geräte nutzt. Das läuft soweit gut und störungsfrei.
    Das Openhab habe ich als Projekt damals gar nicht gefunden. Welche Vorteile bietet es gegenüber FHEM (für jemanden der nur das FS20-System nutzt)?

    Antworten
    1. hermann Beitragsautor

      Ich bin ebenfalls mit fhem angefangen und an sich hat es mir sehr gut gefallen. Irgendwann fand ich aber das ein oder andere was mich gestört hat und ich habe mir openhab angesehen.
      Zur Zeit finde ich den Aufbau und die verschiedenen bindings gegenüber fhem interessanter.

      In meinen Augen gibt es für jemanden der nur fs20 einsetzt keinen wesentlichen Vorteil, das Einzigste wäre höchstens das sich der Aufbau der Regeln einfacher gestaltet.
      Aber wie gesagt das ist meine persönliche Meinung, ich denke es gibt genug die den Einsatz von fhem gegenüber openhab vorziehen.

      Antworten
  5. Brandon Quest

    Moin,

    kann mir jemand Ünterstützung beim Einbinden von FS20 Dimmern in openHAB zukommen lassen?

    Ich bin als Neuling wirklich am verzweifeln und am überlegen, es mit FHEM zu versuchen.

    Ich habe das System auf einem Raspberry an einem CUL am laufen.
    Switch items funktieren mit dem FS20-Binding.

    Allerdings wenn ich schon einen Slider einsetze, geht das vermeintliche Dimmer-Item auch nur von 0% 100%.

    Wenn hier irgendjemand irgendwie einen Dimmer aus der FS20-Linie auch in dieser Funktion am Laufen hat, dann wäre ich sehr dankbar für ein wenig Hilfe.
    Habe schon eine Woche dafür in den Sand gesetzt.

    Codeschnipsel reiche ich dann auf Wunsch nach.

    Antworten
    1. hermann Beitragsautor

      Ich habe leider keinen Dimmer von Fs20, somit kann ich dir gerade leider keine Hilfestellung geben.

      Antworten

Schreibe einen Kommentar

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