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
Versuchs mal mit
attr OG_Badezimmer_Luefter eventMap /off:Aus/on-for-timer 300:5 Minuten/on-for-timer 3600:60 Minuten/on:Ein/
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
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.
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.
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.
Hi,
Die Original-Befehle laufen, nur mit eventMap kommt der Fehler....
Christian
Moin,
gibt es zu diesem Issue einen Workaround? Mir fehlt im Moment ein Ansatz, wie ich meine Anforderung umsetzten könnte...
Christian.
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.
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.
Hast Du's mal nur miteventMap /on-for-timer 300:5 min/
probiert.
Ich kann mir vorstellen, dass vielleicht das hier:evantMap on:ein
Probleme macht. Das hab ich nämlich nicht und bei mir gehts.
Oder probier´s mal mitevantMap on:Ein
Edit: Ich seh grad, in deiner obigen config hast Du´s auch groß das "Ein"
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
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 Minuten>
attr rgSchalter commands {'rgSchalter.Ein' => 'set $DEVICE on', 'rgSchalter.Aus' => 'set $DEVICE off', 'rgSchalter.5 Minuten' => '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
ich habe hier: http://forum.fhem.de/index.php/topic,29110.msg219025.html#msg219025 (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   workaround.
gruss
andre
Hallo andre,
super Sache!
Vielen Dank! Ich denke das hilft vielen weiter....
Christian
Die Ursache des Problems liegt in SetExtensions (dummy hat das nicht), und darin, dass ich da fuer EnOcean ein Workaround eingebaut habe, um das EnOcean Problem
/B0:on/
zu loesen, der on-for-timer in B0-for-timer gewandelt hat. Ich habe diesen Workaround gerade ausgebaut, und mein Vorschlag lautet fuer dieses (alte) Problem das eventMap zu erweitern mit:
/on-for-timer:on-for-timer/B0:on/
Klingt zwar doof, ist aber mAn besser als der Workaround. Und damit ist das aktuelle Problem auch behoben.
Mit zwei Attributen, die getrennt fuer Hin- bzw. Zurueckmapping zustaendig waeren, statt den fuer beide Richtungen zustaendigen eventMap koennte man das Problem loesen, indem man on als ^on$ schreibt beim Zurueckmapper. Bin aber nicht sicher, ob das keine anderen Nebeneffekte hat.
Hallo justme1968,
das mit der readingsgroup habe ich gerade ausprobiert. Das funktioniert sehr gut. Ich werde das auch auf diese Weise nutzen, da ich die EnOcean Device alle in einem Enocean-Raum definiert habe. Über die readingsGroup baue ich mir dann in dem entsprechenden Wohnraum die visualisierte Steuerfunktionen die ich benötige.
@ Rudolf:
Danke für die Lösung...aber so richtig verstanden habe ich deine Lösung noch nicht ! ???
Christian