Gelöst mit Workaround! on-for-timer und eventmap bei enocean

Begonnen von Spartacus, 08 November 2014, 19:13:27

Vorheriges Thema - Nächstes Thema

Spartacus

Hallo,
ich versuche für ein enocean Device mit eventmap einen on-for-timer Button anzulegen.
attr OG_Badezimmer_Luefter eventMap /on:Ein/off:Aus/on-for-timer 300:5 Minuten/on-for-timer 3600:60 Minuten/
attr OG_Badezimmer_Luefter webCmd Ein:5 Minuten:60 Minuten:Aus


Aber wenn ich auf die "5 Minuten" bzw. "60 Minuten" klicke gibt es einen Fehler:
unknown argument Ein-for-timer, choose.....

gibt es dazu einen Workaround?
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

rudolfkoenig

Versuchs mal mit
attr OG_Badezimmer_Luefter  eventMap /off:Aus/on-for-timer 300:5 Minuten/on-for-timer 3600:60 Minuten/on:Ein/

Spartacus

Hi Rudolf'
Hatte schon versucht die Reihenfolge zu andern. Es kommt der gleiche Fehler, wie oben beschrieben!
Bei FS 20 Geräten scheint es zu funktionieren, wie puschel in einem anderen Thread berichtet hat.

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

rudolfkoenig

Das kommt mir sehr merkwuerdig vor, und ich moechte Dich bitten, das erneut zu testen.
Wenn es immer noch der Fall ist, dann brauchen wir die Hilfe von Klaus wg. EnOcean.

Spartacus

Hallo Rudolf,
ich habe es noch einmal getestet, der Fehler bleibt!
Ich haben den rpi über USB am eltako FAM 14 (Stellung 4) und schalte ein FSR14-4x. ein update von fhem, Debian und rpi-Firmware habe ich ebenfalls noch einmal gemacht.

Hier der Code aus der fhem.cfg und im Anhang der Screenshot, wenn ich auf den Button "5 Minuten" klicke!
define EnO_switch_00000002 EnOcean 00000002
attr EnO_switch_00000002 IODev FAM14
attr EnO_switch_00000002 alias Eingangslicht
attr EnO_switch_00000002 devStateIcon .*on:FS20.on@lightgreen .*off:FS20.off@red
attr EnO_switch_00000002 event-on-change-reading state,buttons,channelA,channelB
attr EnO_switch_00000002 eventMap /off:Aus/on-for-timer 300:5 Minuten/on-for-timer 3600:60 Minuten/on:Ein/
attr EnO_switch_00000002 gwCmd switching
attr EnO_switch_00000002 manufID 00D
attr EnO_switch_00000002 room Eingang
attr EnO_switch_00000002 subDef 00100002
attr EnO_switch_00000002 subType gateway
attr EnO_switch_00000002 verbose 3
attr EnO_switch_00000002 webCmd Ein:5 Minuten:60 Minuten:Aus


Habe ich irgendetwas übersehen, oder doch nicht nach Deinen Vorgaben umgesetzt?

Christian.
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

klaus.schauer

Die "Original"-Befehle z. B. on-for-timer <time> und off-for-timer <time> habe ich eben mit dem subType gateway, gwCmd switching sicherheitshalber getestet. Klappt problemlos. Daher weiß ich nicht, wo ich ansetzen sollte.

Spartacus

Hi,
Die Original-Befehle laufen, nur mit eventMap kommt der Fehler....
Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

Moin,
gibt es zu diesem Issue einen Workaround? Mir fehlt im Moment ein Ansatz, wie ich meine Anforderung umsetzten könnte...

Christian.
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

dafex

#8
Servus,

Bei mir funktionierts mit folgenden Angaben:attr sz.dimmer eventMap /dim 22:Nacht/dim 50:Ein/off:Aus/dim 100:100%/on-for-timer 300:5 min/
attr sz.dimmer webCmd dim:Nacht:Ein:Aus:100%:5 min


Hast du schon mal probiert die Leerzeichen wegzulassen. Also:/.../on-for-timer 300:5Minuten/

Oder einfach die Minuten weglassen und nur die Zahl, oder die attr ganz löschen und nur mal mit on-for-timer probieren. Editierst Du in der Konfigurationsdatei oder über die Weboberfläche? Letzteres bewahrt einem vor einigen Fehlern und man kann testen ohne immer die Konfiguration neu einzulesen. Aber das weißt Du bestimmt ja eh schon.

Wenn gar nix hilft, dass Gerät komplett löschen und mit minimal Angaben neu anlegen. Einfach mal alles unmögliche ausprobieren. Geht ja nix kaputt.

Noch eine Frage, wozu benötigt man:attr EnO_switch_00000002 event-on-change-reading state,buttons,channelA,channelB
Ich hab zwar keine Ahnung wie on-for-timer umgesetzt wird, aber vielleicht liegts ja daran. Aus der commandRef erschließt es sich mir auch nicht.
Zitatevent-on-change-reading

Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch sind, wird kein Ereignis generiert.


Spartacus

#9
Hallo dafex,
danke für Deine Tipps. Das funktioniert aber auch nicht! Sobald ich das eventMap benutze, ist der on-for-timer-Befehl kaputt und fhem erwartet einen "ein-for-timer"
Das event-on-change Reading brauche ich, da das FAM14 in Schalterposition 4 permanent die Aktorzustände auf den RS485-Bus legt und somit das EventLog vollschreiben würde.

Das event-on-change Reading macht m.E. aber kein Problem. Bei meinem FMS61 setze ich es nicht ein und da funzt das eventMap mit "on-for-timer" auch nicht!

@Klaus, Rudolf
wenn eventMap /off:aus/on:ein/ gesetzt ist, funktioniet on-for-timer auch über das WebInterface nicht mehr! Löscht man die eventMap, klappt es wieder...

Christian.

Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

dafex

#10
Hast Du's mal nur miteventMap /on-for-timer 300:5 min/probiert.

Ich kann mir vorstellen, dass vielleicht das hier:evantMap on:einProbleme macht. Das hab ich nämlich nicht und bei mir gehts.

Oder probier´s mal mitevantMap on:EinEdit: Ich seh grad, in deiner obigen config hast Du´s auch groß das "Ein"

Spartacus

Hallo,
das hier funzt:

eventmap /on-for-timer 10:x/
wbcmd on:off:x

sobald ich versuche die Befehle on /off zu ändern, geht der on-for-timer nicht mehr!

witzigerweise geht das hier:
/on-for-timer 10:x/off:aus
wbcmd on:aus:x

dann funktionier aber off-for-timer nicht mehr und es wird ein "aus-for-timer" erwartet.

Also irgendwie werden die on-for-timer und off-for-timer Befehle aus dem eventMap von "on" bzw. "off" zusammengebaut und dann macht fhem "ein-for-timer" und "aus-for-timer" daraus.
Wenn ich
/on-for-timer 10:x/off:AUS
wbcmd on:aus:x

eingebe, erwartet fhem bei "off-for-timer" den Befehl "AUS-for-timer".
Gruß.
Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Spartacus

Hallo,
mit Hilfe von readingsGroup und Unterstützung hier im Forum funktioniert folgender Workaround:
define rgSchalter readingsGroup EnO_switch_3:<%light_outdoor>,<Halogenstrahler>,<%Ein>,<%Aus>,<%5&nbspMinuten>
attr rgSchalter commands {'rgSchalter.Ein' => 'set $DEVICE on', 'rgSchalter.Aus' => 'set $DEVICE off', 'rgSchalter.5&nbspMinuten' => 'set $DEVICE on-for-timer 300'}
attr rgSchalter notime 1

"Aus" bzw. "An" werden in der Datei iconalias.txt im icon-Pfad per default auf Symbole gemappt. Wer diese nicht benötigt, sollte es auskommentieren, damit anstelle des Icons auch der Text angezeigt wird!

Bei mir funzt es gut!
Spartacus


Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

justme1968

ich habe hier: http://forum.fhem.de/index.php/topic,29110.msg219025.html#msg219025 eine teste version der readingsGroup hochgeladen.

damit kann man über den ! modifier im reading erzwingen das etwas dargestellt wird auch wenn es das reading im device nicht gibt.

damit kann man das beispiel oben so schreiben:define rgSchalter readingsGroup EnO_switch_3:<%light_outdoor>,<Halogenstrahler>,!Ein,!Aus,!5Minuten
attr rgSchalter commands {'Ein' => 'set $DEVICE on', 'Aus' => 'set $DEVICE off', '5Minuten' => 'set $DEVICE on-for-timer 300'}
attr rgSchalter valueFormat { '5Minuten' => '5 Minuten' }
attr rgSchalter notime 1


damit spart man das editieren des iconalias.txt files und den &nbsp workaround.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Spartacus

Hallo andre,
super Sache!
Vielen Dank! Ich denke das hilft vielen weiter....

Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R