Peha Easyclick 451 FU-BEBIM: Interne Funktionen und Modi von FHEM nutzen?

Begonnen von BeneG, 28 Oktober 2015, 11:18:12

Vorheriges Thema - Nächstes Thema

BeneG

Hallo FHEM-Gemeinde,

ich bin ganz neu hier im Forum und beschäftige mich seit erst seit ein paar Tagen mit FHEM und EnOcean.
Um mit dem System vertraut zu werden, habe ich mir einen Raspberry Pi mit EnOcean GPIO-Aufsteckmodul besorgt, sowie einen einfachen Funkschalter (Syngonix) und einen Funkempfänger aus dem Hause Peha (451 FU-BEBIM).
Was ich später einmal damit anfangen will: An verschiedenen Orten im Haus soll durch Betätigen eines Schalters eine Zirkulationspumpe im Heizungskeller für ein paar Minuten anspringen, damit in kurzer Zeit heißes Wasser am Verbraucher verfügbar ist.
Dazu habe ich in FHEM sowohl Funkschalter als auch Empfänger angelernt, was auch perfekt funktioniert hat. Hier mal ein kurzer Auszug aus meiner Config:

# Funkschalter 1: Küche
define Pumpenschalter EnOcean 001F232B
attr Pumpenschalter IODev TCM310_0
attr Pumpenschalter icon general_an_fuer_zeit
attr Pumpenschalter room Küche
attr Pumpenschalter subType switch
attr Pumpenschalter switchMode pushbutton
attr Pumpenschalter switchType universal

# Zirkulationspumpe
define Pumpenrelais EnOcean FFCD6C81
attr Pumpenrelais IODev TCM310_0
attr Pumpenrelais comMode biDir
attr Pumpenrelais defaultChannel 0
attr Pumpenrelais devChannel FF
attr Pumpenrelais eep D2-01-08
attr Pumpenrelais manufID 001
attr Pumpenrelais room EnOcean
attr Pumpenrelais subDef FFBF9501
attr Pumpenrelais subType actuator.01


    Hier mein Problem mit dieser Konfiguration: Wenn ich den Befehl "set Pumpenrelais on-for-timer 30" nutze, wird der Funkempfänger sofort aktiviert. Das Ausschalten wird über ein zweites Telegramm realisiert, das in diesem Fall 30 Sekunden später übertragen wird. Geht dieses zweite Telegramm verloren, bleibt der Aktor im eingeschalteten Zustand.
    Daher wollte ich die Aktor-interne Funktion eines Zeitschalters verwenden. Wenn ich den Funkschalter direkt am Aktor einlerne, kann ich in einem zweiten Schritt die Funktion und den Modus programmieren (z.B. Zeitschalter 5 Minuten), der bei einem "ON"-Telegramm ausgeführt wird. Kann ich das auch über FHEM realisieren? Also dass ein "set Pumpenrelais on" zur Verwendung der Aktor-internen Zeitschaltuhr führt?

    Vielen Dank schon mal für Eure Hilfe!
    Bene

Edit: Zur besseren Beschreibung des Problems
Ablauf zum Einstellen von Funktion und Modus bei direkter Kopplung Schalter - Emfpänger:
  • Anlernen des Schalters
i) Taste LRN kurz (1s) betätigen --> LED LRN blink rot (Lernmodus)
ii) Taste O oder I des Funksender bestätigen
iii) LED LRN EIN: Funksender zugeordnet, LED LRN AUS: Funksender gelöscht
iv) Taste LRN kurz betätigen (1s) --> LED aus, Lernmodus beendet
  • Funktionsprogrammierung
i) Taste LRN lange betätigen (3s) --> LED LRN und MODE blinken grün
ii) Taste O oder I des Funksenders betätigen --> LED LRN blinkt orange
iii) Funktiosprogrammierung: Taste LRN x-mal betätigen, um Funktion x einzustellen, Abschluss mit MODE (1s)
iv) LED LRN blinkt grün --> Modusprogrammierung:  Taste LRN x-mal betätigen, um Modus x einzustellen, Abschluss mit MODE (1s) --> Ende


Versuche ich, Funktion & Modus über FHEM zu programmieren, scheitere ich an Punkt ii) Taste I oder O betätigen. Kann ich so einen Tastendruck über FHEM emulieren?[/list]

klaus.schauer

Mit der observe-Funktion kann man über das Quittungstelegram ermitteln, ob ein gesendeter Befehl auch ausgeführt wurde und ggf. zusätzliche Aktionen starten. In der commandref zu EnOcean gibt es dazu ein sep. Kapitel.

BeneG

Vielen Dank für den Tipp, leider werde ich aus der commandref nicht ganz schlau.
Wo muss das Attribut "observe" definiert werden? Am Aktor führt die Definition von "observe" zu einer Fehlermeldung.

klaus.schauer

Der Einstieg ist sicher manchmal nicht ganz einfach... Was ist denn konkret unklar und welche Fehlermeldung kommt? Helfen kann man nur, wenn auch nachvollziehbar ist, wo es klemmt.

Die Überwachung muss natürlich am Aktor eingeschaltet werden, diesem Fall am Pumpenrelais.

BeneG

Ich wollte die Überwachung am Funkempfänger "Pumpenrelais" einschalten.
Dazu habe ich in der Config-Datei die Definition des Empfängers um die letzten beiden Punkte erweitert:

# Zirkulationspumpe
define Pumpenrelais EnOcean FFCD6C81
attr Pumpenrelais IODev TCM310_0
attr Pumpenrelais comMode biDir
attr Pumpenrelais defaultChannel 0
attr Pumpenrelais devChannel FF
attr Pumpenrelais eep D2-01-08
attr Pumpenrelais manufID 001
attr Pumpenrelais room EnOcean
attr Pumpenrelais subDef FFBF9501
attr Pumpenrelais subType actuator.01
attr Pumpenrelais observe on  # Überwachung einschalten
attr Pumpenrelais observeCmdRepetition 5 # Anzahl Wdh. einstellen


Beim Speichern erscheint die Fehlermeldung "Pumpenrelais: unknown attribute observe. Type 'attr Pumpenrelais ?' for a detailed list. Pumpenrelais: unknown attribute observeCmdRepetition. Type 'attr Pumpenrelais ?' for a detailed list."

Vielen Dank für die Hilfe!

krikan

Zitat von: BeneG am 28 Oktober 2015, 11:18:12
Kann ich so einen Tastendruck über FHEM emulieren?
Du könntest ein zusätzliches Fhem-Device als Tasteremulation am Aktor anlernen: http://www.fhemwiki.de/wiki/EnOcean_Starter_Guide#Teach-In_als_Tasteremulation_2
und dafür die Funktionsprogrammierung nutzen. Beim Anlernen als Gateway geht das mWn nicht und auch ein Setzen des Aktortimers ist per Gateway-Device mWn nicht möglich.

Schau Dir aber auch Klaus Lösung an. Beachte auch, das Edits nicht von allen gesehen/gelesen werden...

krikan

Dein Fhem ist vermutllich veraltet. Bitte "update" und "shutdown restart".
Bearbeitung würde ich besser nicht direkt in der Config, sondern über FhemWeb und die Detailansicht (Detailansicht) machen:  http://www.fhemwiki.de/wiki/Konfiguration#Bearbeitung_der_Konfiguration . Du ersparst Dir Probleme.

klaus.schauer

Zitat von: BeneG am 28 Oktober 2015, 12:52:55
Ich wollte die Überwachung am Funkempfänger "Pumpenrelais" einschalten.
Dazu habe ich in der Config-Datei die Definition des Empfängers um die letzten beiden Punkte erweitert:

# Zirkulationspumpe
define Pumpenrelais EnOcean FFCD6C81
attr Pumpenrelais IODev TCM310_0
attr Pumpenrelais comMode biDir
attr Pumpenrelais defaultChannel 0
attr Pumpenrelais devChannel FF
attr Pumpenrelais eep D2-01-08
attr Pumpenrelais manufID 001
attr Pumpenrelais room EnOcean
attr Pumpenrelais subDef FFBF9501
attr Pumpenrelais subType actuator.01
attr Pumpenrelais observe on  # Überwachung einschalten
attr Pumpenrelais observeCmdRepetition 5 # Anzahl Wdh. einstellen


Beim Speichern erscheint die Fehlermeldung "Pumpenrelais: unknown attribute observe. Type 'attr Pumpenrelais ?' for a detailed list. Pumpenrelais: unknown attribute observeCmdRepetition. Type 'attr Pumpenrelais ?' for a detailed list."

Vermutlich ist erst einmal ein Fhem Update fällig. Bitte in der Weboberfläche überprüfen, ob das Attribut dort angeboten wird, falls nicht ... update machen.

BeneG

Vielen Dank Euch beiden!
Meine Version war tatsächlich veraltet, jetzt tauchen sämtliche "observe" Attribute auf.
Auch der Vorschlag von krikan hat funktioniert. Mit einem neuen virtuellen Schalter in FHEM konnte ich die gwünschte Funktion am Aktor einstellen.