Schaltaktor Beschattungselemente und Rollladen mit 2 Kanälen für zwei 230V-Motoren.
2+2 Schließer 4A/250V AC
Hier handelt es sich um einen Aktor zum Schalten von zwei Jalousien und Rollos. Bei mir werden damit gewöhnliche Rollos gesteuert.
Auch hier gibt es im FHEM Wiki eine Anleitung zum Einlernen, die ich mit Forenbeiträgen zu meiner Anleitung kombiniert habe.
In meinem Beispiel wollen wir den 2. Kanel des 2. Aktors im Obergeschoss einbinden. Im ersten Schritt denken wir uns einen Namen 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_FSB14_OG2_A02“.
Jetzt ermitteln wir in der Software PCT14 die Geräte ID.
Jetzt brauchen wir eine feie 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 nutzt.
Also denke ich mir einen Namen für das FHEM Gerät aus, in diesem Fall FHEM_FSB14_OG2_A02.
Dieses Gerät erstellen wir nun wie folgt:
define FHEM_FSB14_OG2_A02 EnOcean getNextID
attr FHEM_FSB14_OG2_A02 subType switch
attr FHEM_FSB14_OG2_A02 disable 1
Code-Sprache: Klartext (plaintext)
mit list FHEM_FSB14_OG2_A02
oder in der Geräteübersicht des neuen Schalters sehen wir unter DEF die neu vergebene ID, in unserem Fall FFB4700C.
In meinem Fall wurde der Aktor nicht über autocreate erkannt. Falls er dennoch schon vorhanden ist, kann man die Attribute nachträglich ändern oder das Devices komplett löschen. Wir gehen hier davon aus, dass der Aktor in FHEM noch nicht bekannt ist.
define ENO_FSB14_OG2_A02 EnOcean FFA47039 A5-3F-7F
attr ENO_FSB14_OG2_A02 model Eltako_FSB_ACK
attr ENO_FSB14_OG2_A02 subDef FFB4700C
attr ENO_FSB14_OG2_A02 shutTime 16
attr ENO_FSB14_OG2_A02 shutTimeCloses 20
attr ENO_FSB14_OG2_A02 manufID 00D
Code-Sprache: Klartext (plaintext)
Hiermit sagen wir FHEM, dass es sich um ein Gerät mir dem EEP Profil A5-3F-7F handelt (siehe: https://www.enocean-alliance.org/products/eeps/).
„subDef“ verknüpft den EnOcean Schalter mit unserem zuvor angelegten FHEM Schalter.
Bei „model“ wählen wir aus einem Forenbeitrag heraus „Eltako_FSB_ACK“, weil „Eltako_FSB14“ nicht richtig mit meinen Bestätigungstelegrammen umgehen kann.
„shutTime“ ist die Zeit in Sekunden, die das hier anzusprechende Rollo zum kompletten Herunterfahren benötigt. Diese Zeit muss man individuell stoppen. „shutTimeCloses“ soll wohl die Zeit des Rollos sein, bis es endgültig in der Endposition ist. Ich habe hier allerdings die gestoppte Zeit für das Hochfahren eingetragen. Diese ist i.d.R. länger als beim Herunterfahren.
Wer möchte, kann noch Logdateien schreiben lassen. Diese können z.B. auch für ein Diagramm genutzt werden, welches die Positionen in Linienform darstellt.
define FileLog_ENO_FSB14_OG2_A02 FileLog ./log/ENO_FSB14_OG2_A02-%Y.log ENO_FSB14_OG2_A02
attr FileLog_ENO_FSB14_OG2_A02 logtype text
Abschließend muss der FHEM Schalter mit der ID FFB4700C noch dem 2. Kanal des Aktors zugeordnet werden. Hierfür in PCT14 gehen, mit dem Bus verbinden und im mittleren Programmbereich auf „ID-Zuordnungsbereich“ und „Funktionsgruppe 2“ gehen. Einen freien Platz (00 00 00 00) doppelt klicken und die ID des FHEM Schalters eingeben.
Bei der Funktion wählen wir „31 Fahrkommando mit Zeitwertübergabe von GFVS“. „Daten übernehmen und auf Gerät übertragen“, Verbindung trennen (ggf. PCT14-Datei speichern), fertig.
In der Geräteübersicht des neuen Schalters sieht man aktuell nur „opens“, „stop“ und „closes“. Damit kann das Rollo bereits hoch und runter gefahren sowie gestoppt werden.
attr ENO_FSB14_OG2_A02 webCmd opens:stop:closes:position
Code-Sprache: CSS (css)
Jetzt erscheint zusätzlich ein Schieberegler, mit dem eine bestimmte Position angefahren werden kann.
Hinweis
Der Positionswert 0 steht bei meinem Aktor für „Rollo 0% geschlossen – also offen“ und 100 steht „Rollo 100% geschlossen – also geschlossen“.
Das liest sich in manchen Dokumenten anders und beeinflusst auch das Hinterlegen eines dynamischen Icons für die aktuelle Position.
attr ENO_FSB14_OG02_A02 stateFormat position
attr ENO_FSB14_OG02_A02 devStateIcon 100:fts_shutter_100 0:fts_window_2w
9\d.*:fts_shutter_90 8\d.*:fts_shutter_80 7\d.*:fts_shutter_70 6\d.*:fts_shutter_60 5\d.*:fts_shutter_50 4\d.*:fts_shutter_40 3\d.*:fts_shutter_30 2\d.*:fts_shutter_20 1\d.*:fts_shutter_10 0\d.*:fts_window_2w
Code-Sprache: CSS (css)
Ist der Wert für Position 100, dann zeige das Icon „fts_shutter_100“
Ist der Wert für Position 0, dann zeige das Icon „fts_window_2w“
Beginnt der Wert mit 9 (90-99), dann zeige das Icon „fts_shutter_90“
Beginnt der Wert mit 8 (80.-89), dann zeige das Icon „fts_shutter_80“
. . .
Beginnt der Wert mit 1 (10-19), dann zeige das Icon „fts_shutter_10“
Beginnt der Wert mit 0 (0-9), dann zeige das Icon „fts_window_2w“