EnOcean Pi 868 GPIO

Hallo zusammen,

ich habe mehrfach gelesen, dass Homegear auch EnOcean unterstützt. Leider gibt es praktisch keine Dokumentation zur Konfiguration.

Als Gateway nutze ich einen RPi 3 in Verbindung mit EnOcean Pi 868 GPIO (z.B. hier: https://www.elv.de/raspberry-pi-enocean-modul.html). Ich nutze folgende Devices:

  • Eltako FT55-rw switch
  • Hoppe SecuSignalFHFS-vw window handles

Derzeit läuft EnOcean bei mir über FHEM, wobei die Daten per MQTT an openHAB weitergeleitet werden. Grundsätzlich würde ich FHEM aber gerne komplett abschalten und da ich Homegear für meine Homematic Devices bereits eingerichtet habe, würde ich Homegear auch gerne für EnOcean nutzen.

In /etc/homegear/families/enocean.conf ist als Gateway nur USB300 erwähnt. Wird mein Gateway also nicht unterstützt?

Falls doch, wie sieht dann die Konfiguration aus und wie werden dann die Daten am besten nach openHAB weitergeleitet? Eventuell per MQTT?

Hi @KraxelHuber,

auf deinem EnOceanPi ist der gleiche Chip wie auf dem USB300 (TCM310). Damit brauchst du also nur die serielle Schnittstelle auf der das Modul sitzt in der enocean.conf eintragen. Eventuell musst du noch den UART einschalten und die udev-rules löschen, wie für das HM-MOD-RPI-PCB beschrieben: https://doc.homegear.eu/data/homegear-homematicbidcos/configuration.html#homematic-wireless-module-for-raspberry-pi-hm-mod-rpi-pcb

Für die Anbindung kann du das homematic-modul von openhab nehmen, das hält homegear für eine CCU und wird komplett, inklusive auto-discovery, unterstützt. Alternativ natürlich mqtt, da homegear alle Geräte und Datenpunkte in mqtt abbildet.

@sathya ergänzt das Anlernen :slight_smile:

so long,
p

Hallo @KraxelHuber,

noch zum Anlernen der Geräte:

homegear -r
fs 15

Dann für den Wandtaster:

peers create <Interface-ID> F60201 <Adresse>

Interface-ID ist die in der enocean.conf definierte. Falls die Adresse nicht bekannt ist, findest du diese über ein “tail” des Logs:

tail -f /var/log/homegear/homegear.log

Jetzt die Tasten drücken, dann sollten die Pakete inklusive Adresse im Log auftauchen.

Bei den Fenstergriffen gehe ich davon aus, dass die EEP F61000 ist, also F60201 oben einfach damit ersetzen.

Viele Grüße

Sathya

1 Like

@pmayer, @sathya
Das sieht bei mir gar nicht so schlecht aus. Habe das Gateway einbinden können. Das Anlernen eines Fenstergriffes hat auch nach der Beschreibung funktioniert.

(Family)> ls
      ID │ Name                      │ Serial Number │  Address │     Type │ Type Description
─────────┼───────────────────────────┼───────────────┼──────────┼──────────┼───────────────────────────────────────────────
         │                           │               │          │          │
      21 │ ug_buero_fenstergriff     │   EODFFAF3300 │ FFAF3300 │   F61000 │ Window Handle
─────────┴───────────────────────────┴───────────────┴──────────┴──────────┴───────────────────────────────────────────────

Beim Drehen des Griffes sehe ich auch im Homegear Log-File, dass ein Befehl abgesetzt wurde.

09/14/17 23:15:23.429 EnOcean packet received (EnOcean_Pi_Gateway, RSSI: -71 dBm): 55000707017AF6E001A93E7E2001FFFFFFFF4700C2 - Sender address: 0x01A93E7E

In openHAB wird das Device auch über das HomeMatic Binding erkannt. Habe es in PaperUI auch testweise mal verlinkt.

Das einzige Problem in openHAB ist jetzt allerdings, dass der Befehl hier irgendwie nicht ankommt. Wenn ich den Griff drehe, sehe ich im openHAB-Log überhaupt keinen Eintrag. Der Status des Devices verändert sich also nicht. Wenn wir diesen letzten Schritt noch hinbekommen, dann war die Einrichtung von EnOcean deutlich einfacher als ich es mir zunächst vorgestellt habe. Aber man soll den Tag ja nicht vor dem Abend loben :wink:

Ich habe die Lösung für mein Problem gefunden. Ich hatte beim Pairing die falsche Adresse genutzt.

peers create <Interface-ID> F60201 <Adresse>

Adresse ist dabei die Seriennummer des EnOcean Devices (in meinem Fall z.B. der Fenstergriff). Nun sehe ich auch im Homegear Log File die verschiedenen Zustände des Fenstergriffs:

09/16/17 14:01:28.056 EnOcean packet received (EnOcean_Pi_Gateway, RSSI: -77 dBm): 55000707017AF6F001A93E7E2001FFFFFFFF4D003F - Sender address: 0x01A93E7E
09/16/17 14:01:28.057 Module EnOcean: Info: STATE on channel 1 of peer 21 with serial number EOD01A93E7E was set to 0x00.
09/16/17 14:01:29.711 EnOcean packet received (EnOcean_Pi_Gateway, RSSI: -73 dBm): 55000707017AF6E001A93E7E2001FFFFFFFF490014 - Sender address: 0x01A93E7E
09/16/17 14:01:29.712 Module EnOcean: Info: STATE on channel 1 of peer 21 with serial number EOD01A93E7E was set to 0x01.
09/16/17 14:01:30.773 EnOcean packet received (EnOcean_Pi_Gateway, RSSI: -70 dBm): 55000707017AF6D001A93E7E2001FFFFFFFF460056 - Sender address: 0x01A93E7E
09/16/17 14:01:30.774 Module EnOcean: Info: STATE on channel 1 of peer 21 with serial number EOD01A93E7E was set to 0x02.

Die Zustände haben dabei folgende Bedeutung (Stellung des Fensters):
0x00 --> geschlossen / closed
0x01 --> offen / open
0x02 --> gekippt / tilted

Nun zu openHAB:
Hier werden die Zustandsänderungen zwar erkannt, aber leider nicht korrekt dargestellt:
0x00 --> undefined
0x01 --> closed
0x02 --> open

So sieht es aus, wenn ich den Fenstergriff einmal komplett drehe, d.h. von geschlossen, über offen zu gekippt und wieder zurück drehe:

2017-09-16 14:15:20.518 [ItemStateChangedEvent ] - ug_buero_sensor_fenster changed from Undefined to Closed
2017-09-16 14:15:23.209 [ItemStateChangedEvent ] - ug_buero_sensor_fenster changed from Closed to Open
2017-09-16 14:15:25.228 [ItemStateChangedEvent ] - ug_buero_sensor_fenster changed from Open to Closed
2017-09-16 14:15:26.989 [ItemStateChangedEvent ] - ug_buero_sensor_fenster changed from Closed to Undefined

Nun denke ich hier an zwei Lösungsmöglichkeiten:

  1. Die Zustände werden von Homegear aus irgendwie umbenannt, sodass der Transfer zu openHAB richtig funktioniert.
  2. In openHAB wird mit einem Transformation File gearbeitet, dass die von openHAB falsch erkannten Zustände auf die korrekten Zustände mappt.

@sathya, Ich würde zunächst Variante 1 bevorzugen. Gibt es hier in Homegear eine Möglichkeit?

Danke und viele Grüße :slight_smile:

Für diejenigen, die openHAB auf einem Raspberry Pi laufen haben und @ThomDietrich’s openHABian Tool einsetzen, dürfte es eine komfortablere Möglichkeit geben, die Einstellungen zum Serial Port anzupassen.

Nachdem man sich per SSH auf seinem RPi eingeloggt hat, ruft man das Konfigurationstool wie folgt auf und hangelt sich dann durch die folgenden Menüpunkte.

sudo openhabian-config

1 Like

Vielen Dank für eure super Erklärung, habe einige RocketSwitches und Fenstergriff Sensoren erfolgreich mit OpenHab über Homegear verbunden.

Das habe ich über eine MAP Transformation korrekt zugewießen:

Inhalt enocean_fenstergriff.map:
Open=Gekippt
Closed=Offen
Undefined=Zu
-=NochKeineAhnung

Dann in der Sitemap Bsp:
Text item=Wohnzimmer_Fenstergriff label=“Wohnzimmer_Fenstergriff [MAP(enocean_fenstergriff.map):%s]”

Jetzt würde ich gerne mehrer Eltako FSB61NP-230V die als Markisen- und Rolladenaktoren eingesetzt werden ebenfalls über Homegear ansprechen. Verzweifel aber bei der Konfiguration.
Welche EEP muss für den Aktor angegeben werden? Ist F60201 korrekt?

Mein Item in OpenHab:
Rollershutter Arbeitszimmer_Rolladenaktor “Arbeitszimmer_Rolladenaktor [%s]” { channel=“homematic:HG-F6-02-01:HMCFGUSB2:EOD019FF25D” }

Mit der EEP F60201 bekomme ich nur die 4 Switch Items in Obenhab vorgeschlagen aber ich möchte ja was senden und nicht nur den Status abfragen.

Ich kenne das konkrete Device nicht, aber grundsätzlich ist ein Switch doch dafür da, dass man etwas schaltet. Ein Switch ist doch ein Aktor. Wenn du bspw. in openHAB Number Items in der Paper UI vorgeschlagen bekommen hättest, dann könnte ich direkt verstehen, dass es sich um Sensorwerte handelt. Was passiert denn, wenn du den Zustand der Switches veränderst?

Hi @k00ala,

die EEP für den FSB61NP ist 01A53807. Nach dem Anlegen über pc in Homegear, muss der Aktor in den Anlernmodus versetzt werden (siehe Anleitung) und anschließend PAIRING in Homegear gesetzt werden, z. B. über die Konsole:

homegear -e rc '$hg->setValue(<Peer ID>, 1, "PAIRING", <Index>);'

Index muss dabei auf einen Wert zwischen 0 und 127 gesetzt werden. Jedes Gerät, dass unabhängig von einem anderen Gerät angesprochen werden soll, braucht einen einzigartigen Index. Falls Index 0 noch von keinem anderen Gerät verwendet wurde, also z. B.:

homegear -e rc '$hg->setValue(<Peer ID>, 1, "PAIRING", 0);'

Viele Grüße

Sathya

@KraxelHuber
Du hast recht, Switches sind zum schalten da. Aber es hatte sich nichts geändert und es war wie sathya geschrieben hat die falsche EEP für den FSB61NP.

@sathya
Vielen Dank für die richtige EEP und die Dokumentation die wohl du verfasst hast: https://doc.homegear.eu/data/homegear-enocean/supported_devices.html
Habe es nun geschafft die FSB61NP einzulernen und mit OpenHab zu verknüpfen

Mein Ablauf für das hinzufügen von Enocean Geräte in OpenHab+Homegear auf einem Raspberry Pi:

  • sudo homegear -r - Homegear login über Putty
  • fs 15 - Enocean Gerätemanager über Putty
  • pc EnOcean_Pi_Gateway - Neues Enocean Device hinzufügen
  • pn - Gerät benennen
  • In PaperUI http://openhabianpi:8080/paperui/index.html#/inbox/setup/search/homematic Thing suchen und hinzufügen (Auf korrekten Namen achten evtl. neuen Suchlauf starten)
  • Aus der PaperUI Things den Channel(s) des Gerätes rauskopieren und Items für Up/Down in der *.item Datei anlegen
  • Gegebenerfalls Sitemap erstellen
  • Bei Aktoren müssen diese in Homegear noch eingelernt werden
    • Bsp. FSB61NP-230V: - Unteren Poti am Aktor auf Position min.
      - Oberen Poti auf LRN (LED blinkt)
      - über Putty Homegear in den Einlernmodus setzen: sudo homegear -e rc ‘$hg->setValue(, 1, “PAIRING”, <Unique 0-127>);’
      - Led am Aktor geht aus
      - Aktor wieder auf vorherige Einstellungen setzten (Beide Potis)
2 Likes