Untoggle Problem mit FS20 Schaltern

Begonnen von v.i.p.e.r, 06 September 2015, 12:12:27

Vorheriges Thema - Nächstes Thema

v.i.p.e.r

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

UliM

Hi,
ist bei mir auch so.
Kannst Du in DOIF nicht auf das Internal statt des Readings abfragen?
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

v.i.p.e.r

Hi,

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

VG

UliM

#3
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-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

v.i.p.e.r

#4
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)


UliM

....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-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

v.i.p.e.r

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 ?

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

v.i.p.e.r

Hi Andre,

danke - kannst du mir das eventuell anhand eines Beispiels erläutern? Steh grad auf dem Schlauch wie ich das angehen soll ...

UliM

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.
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

v.i.p.e.r

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?