FHEM Forum

FHEM => Automatisierung => Thema gestartet von: v.i.p.e.r am 06 September 2015, 12:12:27

Titel: Untoggle Problem mit FS20 Schaltern
Beitrag von: v.i.p.e.r am 06 September 2015, 12:12:27
Hallo,

ich hab ein Problem mit meinem Untoggle. Das Internal des Schalters wird wie erwartet, auf on / off umgesetzt. Allerdings das Reading nicht - es steht nach wie vor nur auf toggle oder dimupdown. Dadurch funktionier mein DOIF leider nicht ... Wenn ich die on / off Button im WebIF nutze klappt es wunderbar.

Was mache ich falsch? oder soll das so sein?

Hier die Devices:

Untoggle Notify:
define n_Untoggle notify .*:toggle {UntoggleDirect("$NAME") if( AttrVal($NAME, "comment", "") eq "Untoggle" )}

Schalter:
define FS20_e4e401 FS20 e4e4 01
attr FS20_e4e401 IODev CUL868
attr FS20_e4e401 comment Untoggle
attr FS20_e4e401 room FS20



VG
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: UliM am 06 September 2015, 13:19:36
Hi,
ist bei mir auch so.
Kannst Du in DOIF nicht auf das Internal statt des Readings abfragen?
=8-)
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: v.i.p.e.r am 06 September 2015, 15:06:18
Hi,

das hab ich schon Probiert mit :&STATE, aber das klappt ebenso wenig ...

VG
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: UliM am 06 September 2015, 15:45:45
Hi,
ich benutze DOIF nicht, aber laut der commandref scheint mir, dass man mit [Switch1] den STATE von Switch1 abfragt:

"Stati werden mit [<devicename>], Readings mit [<devicename>:<readingname>], Internals mit [<devicename>:&<internal>] angegeben."
Demnach hättest Du sogar zwei Varianten.

Vielleicht solltest Du auch mal Dein DOIF posten, damit Dir jemand helfen kann.

=8-)
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: v.i.p.e.r am 06 September 2015, 16:02:01
kein Problem:

([FS20_e4e401] eq "on") (set s_WZ_Licht.Decke pct 100)
DOELSEIF
([FS20_e4e401] eq "off") (set s_WZ_Licht.Decke pct 0)
DOELSEIF
([FS20_e4e401] eq "dimupdown") (set s_WZ_Licht.Decke pct 30)


und einmal mit Zugriff auf das internal:

([FS20_e4e401:&STATE] eq "on") (set s_WZ_Licht.Decke pct 100)
DOELSEIF
([FS20_e4e401:&STATE] eq "off") (set s_WZ_Licht.Decke pct 0)
DOELSEIF
([FS20_e4e401:&STATE] eq "dimupdown") (set s_WZ_Licht.Decke pct 30)

Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: UliM am 06 September 2015, 17:10:08
....hmmm, im blödsten Fall liegt's an der Reihenfolge - also dass DOIF abgearbeitet wird bevor das untoggle-notify läuft.
Evtl. könnte man das dadurch beheben, dass man die Reihenfolge in der fhem.cfg ändert, also das untoggle-notify weiter nach "oben" schieben  (auch wenn ich sonst kein Freund direkter fhem.cfg-Bearbeitung bin ;-)
Haste das ma versucht?
=8-)
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: v.i.p.e.r am 06 September 2015, 18:05:05
In Zeile 493 wird das Untoggle Notify definiert, in Zeile 500 der Schalter, und in 678 das DoIF. Ist schon so wie du meinst oder ?
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: justme1968 am 06 September 2015, 18:46:52
de reihenfolge in der notifys abgearbeitet werden hängt nicht von der reihenfolge in der config ab sondern von der alphabetischen reihenfolge der device namen. bzw. der alphabetischen reihenfolge des NTFY_ORDER internals.

wenn es tatsächlich an der reigenfolge liegt hilft umbenennen und neu starten.

gruss
  andre
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: v.i.p.e.r am 06 September 2015, 19:17:20
Hi Andre,

danke - kannst du mir das eventuell anhand eines Beispiels erläutern? Steh grad auf dem Schlauch wie ich das angehen soll ...
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: UliM am 08 September 2015, 08:20:58
Der Befehl heißt 'rename'
Einfach das doif device so umbenennen, dass es bei alphabetischer Sortierung weiter hinten liegt als das notify für untoggle.
Titel: Antw:Untoggle Problem mit FS20 Schaltern
Beitrag von: v.i.p.e.r am 10 September 2015, 13:01:54
Hi,

Danke das kannte ich, ich stand nur mit der Bezeichnungen von Andre auf Kriegsfuß;)

vorher:
Untoggle
DOIF_FS20_e4e401

nachhehr:
a_Untoggle
z_DOIF_FS20_e4e401


und es klappt. Ein Zwischenschritt:
a_Untoggle
DOIF_FS20_e4e401

hat nicht ausgereicht. Danke für eure Hilfe! Eventuell könnte man sowas in bekannte Probleme mit Untoggle aufnehmen?