FHEM – Eltako F4SR14-LED einbinden

Stromstoß-Schaltrelais mit 4 Kanälen, je 1 Schließer 8 A/250 V AC, 230 V-LED bis 400 W

Hierbei handelt es sich um ein 4 Kanal Stromstoßrelais, welches Eltako speziell für LED Beleuchtung entwickelt hat. Es eignet sich aber auch zum Schalten anderer Verbraucher bis 8 A bzw. 400 Watt.
Im FHEM Wiki wird das ähnliche Modell FSR14-4x behandelt.

In meinem Beispiel wollen wir den 2. Kanal meines ersten F4SR14-LED im Kellergeschoss einbinden. Im ersten Schritt denken wir uns einen Namen hierfür aus.

Hinweis

Der Name kann übrigens frei gewählt werden. In FHEM gibt es Vorgaben und Beschränkungen bei der Wahl von Zeichen, weshalb ich hier Unterstriche statt Bindestriche nutze.

In den Dokumentationen von FHEM werden Namen z.B. klein geschrieben und die Funktionen, wie notify als „n_“ vorweg genannt. Ich habe mich dazu entschlossen, die Namen von Geräten immer groß zu schreiben und die Funktionen, wenn es welche gibt, klein dahinter.
Zur Unterscheidung, ob es sich um EnOcean oder FHEM Geräte handelt, gebe ich ein ENO_ oder FHEM_ vorne dazu.

Die hier genannten IDs sind frei erfunden.

Gemäß meiner o.g. Logik benenne ich das Gerät final „ENO_F4SR14LED_KG1_A02“
Jetzt ermitteln wir in der Software PCT14 die Geräte ID des 2. Kanals.

1. Adresse ist das FAM14, der 2. Kanal hat die 3. Adresse
BaseID FFA47000 + dez 03 / hex 03 = FFA47003

Jetzt brauchen wir eine freie Geräte ID aus unserem FHEM. Hier gibt es mehrere Wege. Automatisch anlegen lassen, frei wählen oder anderweitig. Wenn ich das System richtig verstanden habe, brauchen wir kein Device in FHEM anlegen. FHEM nutzt die Geräte ID, welche wir später als Attribut „subDef“ hinterlegen. Wenn ich aber mit dem Befehl list .* DEF alle Geräte IDs auslesen möchte, fehlen die IDs der „subDef“ Einträge. Die letzte Zeile deaktiviert diesen Taster, damit man ihn nicht versehentlich benutzt.

Also denke ich mir einen Namen für das FHEM Gerät aus, in diesem Fall FHEM_F4SR14LED_KG1_A02.

Dieses Gerät erstellen wir nun wie folgt:

define FHEM_F4SR14LED_KG1_A02 EnOcean getNextID
attr FHEM_F4SR14LED_KG1_A02 subType switch
attr FHEM_F4SR14LED_KG1_A02 disable 1Code-Sprache: JavaScript (javascript)

mit list FHEM_F4SR14LED_KG1_A02 oder in der Geräteübersicht des neuen Schalters sehen wir unter DEF die neu vergebene ID, in unserem Fall FFB47007.

Ist die FHEM Installation mit autocreate eingerichtet, ist die Wahrscheinlichkeit groß, dass der EnOcean Taster bereits angelegt wurde. Dieser taucht im Raum EnOcean mit dem Namen „EnO_FFA47003“ auf. Wenn dem so ist, kann man die Werte einfach anpassen oder das Gerät löschen (unten auf Delete oder mit delete EnO_FFA47003.
Wir gehen jetzt davon aus, dass das Gerät nicht existiert und legen es neu an.

define ENO_F4SR14LED_KG1_A02 EnOcean FFA47003 M5-38-08

M5-38-08 ist ein s.g. EEP Profil (siehe EEPs – EnOcean Alliance (enocean-alliance.org) und Eltako Katalog auf den letzten Seiten), mit dem wir FHEM sagen, dass es sich um ein Gateway handelt.

attr ENO_F4SR14LED_KG1_A02 subDef FFB47007

Hiermit verknüpfen wir den EnOcean Schalter mit dem vorhin angelegten FHEM Schalter.

attr ENO_F4SR14LED_KG1_A02 teachMethod RPS
deleteattr ENO_F4SR14LED_KG1_A02 comMode

Das hat etwas mit der Rückmeldung von bidirektionalen Geräten zu tun.

Zum Abschluss lernen wir den FHEM Schalter mit der ID FFB47007 noch auf den 2. Kanal des 1. F4SR14-LED im Kellergeschoss ein. Hierfür in PCT14 gehen, mit dem Bus verbinden, einen beliebigen Kanal des Aktors auswählen und im mittleren Programmbereich auf „ID-Zuordnungsbereich“ gehen. Einen freien Platz (00 00 00 00) doppelt klicken und die ID des FHEM Schalters eingeben.

Bei der Funktion wählen wir „51 Schaltzustand von GFVS“ und wir markieren den Kanal 2.
„Daten übernehmen und auf Gerät übertragen“, Verbindung trennen (ggf. PC14-Datei speichern), fertig.

Im Raum EnOcean sollte jetzt der Schalter ENO_F4SR14LED_KG1_A02 mit einem Lampen Symbol und dem Text on und off erscheinen.

Mit einem Klick auf die Lampe oder den Text sollte der Aktor entsprechend schalten. Ist ein physikalischer Taster mit dem Kanal verbunden, sollte sich hier auch die Statusanzeige entsprechend ändern.

In der fhem.cfg sehen die beiden Schalter nun auszugsweise so aus:

define ENO_F4SR14LED_KG1_A02 EnOcean FFA47003

attr ENO_F4SR14LED_KG1_A02 eep A5-38-08
attr ENO_F4SR14LED_KG1_A02 gwCmd switching
attr ENO_F4SR14LED_KG1_A02 manufID 00D
attr ENO_F4SR14LED_KG1_A02 room EnOcean
attr ENO_F4SR14LED_KG1_A02 subDef FFB47007
attr ENO_F4SR14LED_KG1_A02 subType gateway
attr ENO_F4SR14LED_KG1_A02 teachMethod RPS
attr ENO_F4SR14LED_KG1_A02 webCmd on:off

define FHEM_F4SR14LED_KG1_A02 EnOcean FFB47007


attr FHEM_F4SR14LED_KG1_A02 manufID 7FF
attr FHEM_F4SR14LED_KG1_A02 room EnOcean
attr FHEM_F4SR14LED_KG1_A02 subType switchCode-Sprache: Klartext (plaintext)

8 Kommentare zu „FHEM – Eltako F4SR14-LED einbinden“

  1. Guten Abend.
    Danke für die hervorragende Anleitung. Habe einige weitere gelesen, fand diese aber wirklich verständlich. Großes Lob!

    Habe im Prinzip den Teil, den du aus deiner FHEM.cfg per Copy&Paste ein mein FHEM zeilenweise eingefügt. Vorher habe lediglich die ID von meinem Schalter und die next gen ID ersetzt. Im Prinzip kann ich nun im FHEM die Lampe an und ausschalten. Upload PTC14 ebenfalls ohne Probleme. Funktioniert bestens. Sieht dann so aus:

    12345678 = ID vom Schalter
    ABCDEFGH = ID next generiert

    define EnO_F4SR14LED_K5_A01 EnOcean 12345678
    attr EnO_F4SR14LED_K5_A01 eep F6-02-01
    attr EnO_F4SR14LED_K5_A01 gwCmd switching
    attr EnO_F4SR14LED_K5_A01 manufID 7FF
    attr EnO_F4SR14LED_K5_A01 room EnOcean
    attr EnO_F4SR14LED_K5_A01 subDef ABCDEFGH
    attr EnO_F4SR14LED_K5_A01 subType gateway
    attr EnO_F4SR14LED_K5_A01 teachMethod RPS
    attr EnO_F4SR14LED_K5_A01 webCmd on:off
    define FHEM_F4SR14LED_K5_A01 EnOcean ABCDEFGH
    attr FHEM_F4SR14LED_K5_A01 manufID 7FF
    attr FHEM_F4SR14LED_K5_A01 room EnOcean
    attr FHEM_F4SR14LED_K5_A01 subType switch

    Wenn ich jedoch den EnOcean Schalter betätige, wird das Lampensymbol des Gateways plötzlich durch EnOcean:1:F6:00:1234567820:03FFFFFFFF4100 und ich kann nicht sehen, dass die Lampe geschaltet wurde. Kann den Fehler nicht finden. Schalter ich wieder den FHEM Schalter, erscheint die Lampe wieder und wird als An angezeigt. Hast du einen Tipp?

    Habe FHEM 6.1 installiert.

    Vielen Dank im Voraus und VG

    1. Vielen Dank für Deine Rückmeldung. Freut mich sehr!

      Du meinst mit „EnOcean Schalter“ den echten an der Wand und dass bei seiner Betätigung das Lampensymbol neben dem EnO_F4SR14LED_K5_A01 nicht umspringt sondern den Text anzeigt?

      Wie man richtig Fehler analysiert, habe ich noch nicht ganz raus… bisher mache ich mir immer eine zweite Browser-Session auf und gehe in den Event Monitor. Da steht schon viel drin.

      Ich kenne nur den Fall, dass FHEM den Schaltzustand nicht erkannt hat (Lampensymbol bleibt aus bzw. an). Hier hatte ich Zahlendreher bei den IDs und/oder die FHEM ID dem falschen Kanal im PCT14 zugeordnet.

      Aktuell bin ich nicht zuhause und habe keinen Zugriff auf meine Installation – viel Erfolg.

    2. Hallo,
      ich stehe vor der gleichen Herausforderung.
      Wenn ich das Licht betätige, erscheint dieser lange EnOcean-String.

      Gibt es mittlerweile eine Lösung/Idee? 🙂 Danke!

  2. Guten Abend Christian,

    Du meinst mit „EnOcean Schalter“ den echten an der Wand und dass bei seiner Betätigung das Lampensymbol neben dem EnO_F4SR14LED_K5_A01 nicht umspringt sondern den Text anzeigt?
    -> Korrekt

    Jedoch habe ich den Fehler gefunden, was mich zu einer weiteren Frage bringt.

    Wenn ich einen physischen Schalter anlerne, werden 2 ID’s erzeugt.

    Hier mal ein Auszug aus dem Eventlog, wenn ich den zuvor angelernten physischen Schalter drücke: (Habe mal die ID abgeändert um meine Technik zu schützen:

    FEE12345 ist auf dem physikalischen Hinten aufgedruckt.
    FFF12345 ist mir ein Rätsel woher die ID kommt.

    2021-11-18 20:22:51 EnOcean EnO_FEE12345 buttons: pressed
    2021-11-18 20:22:51 EnOcean EnO_FEE12345 channelA: AI
    2021-11-18 20:22:51 EnOcean EnO_FEE12345 AI
    2021-11-18 20:22:51 EnOcean EnO_FEE12345 buttons: released
    2021-11-18 20:22:52 EnOcean EnO_FFF12345 buttons: pressed
    2021-11-18 20:22:52 EnOcean EnO_FFF12345 channelB: B0
    2021-11-18 20:22:52 EnOcean EnO_FFF12345 B0

    Kannst du mir erkären, warum da 2 ID’s erzeugt werden?
    Hatte in meiner ersten Config die ID von dem Schalter genommen, die hinten aufgedruckt ist. Meine zweite Config nimmt nun die zweite ID, die automatisch angelegt wird. Mit dieser funktioniert alles bestens. Kann schalten mit dem virtuellen Schalter und kann ebenso den physikalischen, beides wird korrekt in FHEM angezeigt.

    BTW: Hast du FHEM auch in HomeKit eingenunden?

    Danke Dir und VG

    1. Das mit den unterschiedlichen IDs… Du verwendest nicht zufällig den Funk-Telegramm-Duplizierer (FTD14)? Der dupliziert nach meinem Verständnis die ID und ändert eine Stelle in der eigentlichen ID. Was siehst Du in PCT14, wenn du die ID Erkennung einschaltest und tastest?
      Ist das ein Schalter mit einer Taste? AI und B0 klingt nach 2-fach-Taster. Ich habe keine Funktaster, sondern mache alles über das Taster-Eingabemodul FTS14EM.
      HomeKit habe ich nicht, lediglich Alexa. Bevor ich mich an weitere Systeme wage, möchte ich FHEM mit Eltako 100%ig zum Laufen bekommen.

  3. Hey Christian, Danke für das schnelle Feedback.

    Habe nur FAM14, F4SR14-LED, FSB14 und F4HK14 und z.B. PTM210 Schalter im Einsatz. PTM210 nutze ich fürs Licht + Rolladen. Zu meinem Haus-Smart-Home Paket kam aber ein WiButler hinzu. Ich vermute hier einen Zusammenhang. Das ist an der Stelle aber nicht mehr wichtig. Ich konnte ja meinen virtuellen Schalter mit der zweiten ID zum laufen bringen. Funktioniert alles tadellos. FHEM + HomeKit ist genau das, was ich wollte. Danke an dieser Stelle nochmals.

    Muss Dich leider weiter nerven zum Thema FSB14. Hier habe ich das Problem, dass das Attribut shutTime 16 nicht funktioniert. Folgende Meldung bekomme ich in FHEM: attribute-value [shutTime] = 16 wrong

    Als Info wenn ich das Attribute manuell einstellen will, kommt:
    shutTime [:[:[:]]]
    subType blindsCtrl.00, blindsCtrl.01: [shutTime] = 5 … 300, 300 is default.
    subType manufProfile: [shutTime] = 1 … 255, 255 is default.
    Use the attr shutTime to set the time delay to the position „Halt“ in seconds. Select a delay time that is at least as long as the shading element or roller shutter needs to move from its end position to the other position.
    Notice subType blindsCrtl.00: The attribute can only be set while the actuator is online.

    Hat der Befehl attr ENO_FSB14_K11_02 shutTime 16 bei Dir so funktioniert?

    Danke für deinen Support.

    VG Martin

  4. Vielen, vielen Dank für deine tolle Anleitung und die Herleitung der Zusammenhänge. Hat mir sehr geholfen 🙂
    Wir haben auch gerade ein Weberhaus gebaut und alles voll Eltako EnOcean – und so habe ich es geschafft über FHEM und HomeBridge endlich Siri (also Apple HomeKit) beizubringen, wie ich die Lampen an und ausschalten kann – und sogar dimmen funktioniert perfekt …

    Großes Kompliment!

    Du hast nicht zufällig auch F4HK14 als Heiz/Kühl-Relais im Einsatz und weißt, ob man diese analog zu den anderen Elementen auslesen kann – oder von den Wand-Sensoren die Ist/Soll-Temperatur herausbekommt?

    Vielen Dank und viele Grüße aus Norddeutschland,
    Bjoern

Kommentar verfassen

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