EnOcean Eltako und fhem Status released

841 views
Skip to first unread message

Thomas Otto

unread,
Aug 6, 2012, 3:23:12 PM8/6/12
to fhem-...@googlegroups.com
Hallo,

ich benutze den Eltako EnOcean Funkaktor für Beschattungselemente und Rollladen FSB61NP.

Diese senden als Antwort den aktuellen Status des Aktors:
BI: Rollo in der unteren Endlage (=Relais für die angestellte Zeit betätigt)
B0: Rollo in der oberen Endlage (=Relais für die angestellte Zeit betätigt)

Bei Zwischenstellung wird "released" gesendet (d.h. sobald die Rolladen aus der Endlage losfahren).

Da "released' kein eigener state in fhem ist kann ich diesen nicht explizit verarbeiten. Wenn z.B. die Rolladen in Zwischenstellung sind sehe das nicht auf der Website. Es wird immer der letzte status B0/BI angezeigt. Mit eventMap habe ich auch nichts hinbekommen.

Weiss jemand wie ich released explizit als Status einbinden kann?

Grüße
Thomas

joerg

unread,
Aug 6, 2012, 3:38:07 PM8/6/12
to fhem-...@googlegroups.com
Hallo Thomas,

Meine cfg sieht so aus.
define Rollo_WZ2 EnOcean Deineadresse
attr Rollo_WZ2 eventMap AI:down A0:up
attr Rollo_WZ2 icon icoLog.png
attr Rollo_WZ2 room Wohnzimmer
attr Rollo_WZ2 subType switch
attr Rollo_WZ2 webCmd up:down

Mit den Zwischenstellungen muss man mit Timern realisieren.
Leider funktioniert bei enocean kein on-for-timer

Wenn deine Aktoren auf Bx hoeren musst du das eventmap aendern.

Joerg

Thomas Otto

unread,
Aug 7, 2012, 3:28:33 PM8/7/12
to fhem-...@googlegroups.com
Hallo Joerg,

mein Problem ist nicht auf der Sendeseite, sondern der Rolloaktor selbst schickt einen Status den ich gerne auswerten würde bzw. der mir am Webinterface angezeigt werden soll:


define Rollo_Ku_S_status EnOcean addr_rollo_aktor
attr Rollo_Ku_S_status eventMap BI:unten B0:oben released:mitte
attr Rollo_Ku_S_status subType switch


Schickt der Aktor BI oder B0 wird das passend als oben bzw. unten angezeigt. Schickt er released (also keine Endlage) dann bleibt in der Anzeige weiterhin der letzte Status oben/unten stehen -> ich sehe nicht ob der Rollo in Zwischenstellung ist.

Ich gehe davon aus dass es daran liegt dass fhem "released" nicht als Status behandelt.
Im Anhang ist das Datenblatt von Eltako (siehe FSB61NP-230V)


Übrigens um eine fest eingestellte Zeit zu verfahren hat man bei Eltako die Möglichkeit einen Szenentaster zu programmieren bzw. es gibt noch eine Funktelegram das die genaue Fahrzeit angibt (wird aber von fhem nicht unterstützt):

FSB61
Direktes Fahrkommando mit Angabe der Laufzeit in Sek. FUNC=3F,
Typ=7F (universal)
ORG = 0x07
Data_byte3 = -
Data_byte2 = Laufzeit in Sekunden 1-255 dez.,
die Laufzeiteinstellung am Gerät wird ignoriert.
Data_byte1 = Kommando:
0x00 = Stopp
0x01 = Auf
0x02 = Ab
Data_byte0 = DB0_Bit3 = LRN Button
(0 = Lerntelegramm, 1 = Datentelegramm)
Lerntelegramm DB3..DB0 muss so aussehen: 0xFF, 0xF8, 0x0D, 0x80
Mit eingelernten Tastern kann jederzeit unterbrochen werden!

Ich hoffe mein Problem wird damit klarer.

Grüße
Thomas
Bestaetigungstelegramm.pdf

Rudolf Koenig

unread,
Aug 8, 2012, 2:59:14 AM8/8/12
to fhem-...@googlegroups.com
> mein Problem ist nicht auf der Sendeseite, sondern der Rolloaktor selbst
> schickt einen Status den ich gerne auswerten w�rde bzw. der mir am
> Webinterface angezeigt werden soll:

Kannst Du bitte die genauen fhem-events uns zeigen (info timer/EventMonitor),
und evtl. kommentieren, wo was fehlt.


> �brigens um eine fest eingestellte Zeit zu verfahren hat man bei Eltako die

> es gibt noch eine Funktelegram das die genaue Fahrzeit angibt (wird aber von
> fhem nicht unterst�tzt):

Bitte in 10_EnOcean.pm/EnOcean_Set() einbauen :)

Thomas Otto

unread,
Aug 8, 2012, 3:45:02 PM8/8/12
to fhem-...@googlegroups.com
Hallo Rudi, hallo Jörg,

hab mein Problem lösen können:
ich habe einen neuen subType "RolloStat" definiert und dann in
10_EnOcean.pm
EnOcean_Parse($$)
folgende Zeile ergänzt:
    # released events are disturbing when using a remote, since it overwrites
    # the "real" state immediately
    my $event = "state";
    $event = "buttons" if($msg =~ m/released$/);
    $event = "state" if ($st eq "RolloStat"); #neu

Damit sehe das Event released als Status wenn subType RolloStat. Genau das was ich für den Rollo Aktor will. Kann man das einchecken?


> es gibt noch eine Funktelegram das die genaue Fahrzeit angibt (wird aber von
> fhem nicht unterst�tzt):
> Bitte in 10_EnOcean.pm/EnOcean_Set() einbauen :)
Ich versuch das mal. Hab zwar noch keine Ahnung von perl und der Aufbau von fhem ist mit auch noch nicht ganz klar, aber das wird schon.
Gib es zum strukturellen Aufbau von fhem irgendwo ein kleine Hilfe oder Übersicht?

Danke
Grüße
Thomas




Am Mittwoch, 8. August 2012 08:59:14 UTC+2 schrieb Rudolf Koenig:
> mein Problem ist nicht auf der Sendeseite, sondern der Rolloaktor selbst
> schickt einen Status den ich gerne auswerten w�rde bzw. der mir am
> Webinterface angezeigt werden soll:

Kannst Du bitte die genauen fhem-events uns zeigen (info timer/EventMonitor),
und evtl. kommentieren, wo was fehlt.


> �brigens um eine fest eingestellte Zeit zu verfahren hat man bei Eltako die

> es gibt noch eine Funktelegram das die genaue Fahrzeit angibt (wird aber von
> fhem nicht unterst�tzt):

Rudolf Koenig

unread,
Aug 9, 2012, 2:34:45 AM8/9/12
to fhem-...@googlegroups.com
> Kann man das einchecken?

Wenn ich auch einen entsprechenden Passus in commandref.html bekomme...

joerg

unread,
Aug 9, 2012, 5:16:27 AM8/9/12
to fhem-...@googlegroups.com
Kann man das dann mit dem SubType " FSB61NP " oder FSB einchecken?
Dann ist die Nomenklatur einheitlicher.

Joerg 

Thomas Otto

unread,
Aug 9, 2012, 4:31:54 PM8/9/12
to fhem-...@googlegroups.com

Hallo Rudi, hallo Jörg,

commandref.html wäre dann:
-FSB61: Eltako Actuator for Shading Elements and Roller Shutters

When the top or bottom end position is reached on expiry of the RV time set on the device, a PTM telegram containing the unique ID of the integrated TCM300 after approx. 300-400ms.
B0:  top end position,
BI:   bottom end position
released:  motor running (on receipt of a drive command), or roller shutter stopped at some indefinite position since it was stopped manually

difference to subType switch: released is used as state

Passt das für euch?
Grüße
Thomas

joerg

unread,
Aug 10, 2012, 3:34:11 AM8/10/12
to fhem-...@googlegroups.com
Soweit für mich verständlich.

Um die Rollos noch in eine undefinierte Zwischenstellung zu fahren (zeitgesteuert)  müssen wir noch on-for-timer implementieren wie es bei FS20 möglich ist.

Danke und Gruß
Joerg

Rudolf Koenig

unread,
Aug 11, 2012, 2:51:18 AM8/11/12
to fhem-...@googlegroups.com
> Kann man das einchecken?

Habs eingecheckt, dabei sbType von RolloStat auf FSB61 geaendert.

Obwohl ich nicht wirklich verstehe, wieso man "released" im Status braucht, mit
einem notify kann man auch anderweitig darauf regieren. Und wenn es man
"richtig" machen will, dann waere sowas wie stopped doch besser. Kann aber
mangels Geraet und Erfahrung damit nicht wirklich beurteilen.


> commandref.html w�re dann:

Ich dachte eher eine Erklaerung, was der Enduser machen soll, damit released im
Status landet, also sowas wie:

<li>FSB61 (set subType to FSB61 manually)<br>
<ul>
<li>released<br>
The status of the device my become "released", this is not the case
for a normal switch.
</ul>

Das habe ich jetzt eingecheckt.


> -FSB61: Eltako Actuator for Shading Elements and Roller Shutters
...
Sowas gehort ins Wiki, commandref beschreibt bisher noch nicht, was manche
Geraete von anderen unterscheidet. Soll nicht heissen, dass es irrelevant ist.
Reply all
Reply to author
Forward
0 new messages