[Gelöst]Status Button wird nicht richtig aktualisiert

Begonnen von Tommy82, 05 Dezember 2014, 23:28:52

Vorheriges Thema - Nächstes Thema

Tommy82

Hallo,
ich habe für meinen Floorplan 3 Dummys definiert um mein FritzDect An/Aus zu schalten und im 3 Dummy den Status auszugeben.
Allerdings wird der dritte dummy(Status) nicht immer aktualisiert, vorallem nicht wenn ich die FritzDect z.b. nicht über fhem sondern über die FritzBox direkt schalte.
Wenn ich den An bzw. Aus Dummy betätige wird der Status aktualisiert.
Bastel da jetzt schon ein paar Tage dran rum, allerdings ohne erfolg, hoffe hier kann mir einer helfen.

Die Buttons heissen
ZitatDectOff  DectOn Status_Dect
, es gibt ein notify, welches beim klicken auf den DectOn Button den FritzDect_Wohnzimmerschrank on schaltet
Internals:
   DEF        DectOn:An set FritzDect_Wohnzimmerschrank on
   NAME       DectOn_nt
   NOTIFYDEV  DectOn
   NR         176
   NTFY_ORDER 50-DectOn_nt
   REGEXP     DectOn:An
   STATE      active
   TYPE       notify
Attributes:


Ein notify welches beim drücken des DectOff, den FritzDect_Wohnzimmerschrank off setzt
Internals:
   DEF        DectOff:Aus set FritzDect_Wohnzimmerschrank off
   NAME       DectOn_nt1
   NR         177
   NTFY_ORDER 50-DectOn_nt1
   REGEXP     DectOff:Aus
   STATE      active
   TYPE       notify
Attributes:


und ein drittes notify welches den Status Dummy schaltet:
Internals:
   DEF        (DectOn.*|DectOff.*) {
  if ($EVENT eq "An") {
    fhem("set Status_Dect An");
  }
  else {
    fhem("set Status_Dect Aus");
} }
   NAME       Status_Dect_nt
   NR         184
   NTFY_ORDER 50-Status_Dect_nt
   REGEXP     (DectOn.*|DectOff.*)
   STATE      active
   TYPE       notify
Attributes:


Wo mache ich den Fehler?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Keiner eine idee?

Wenn z.b. ein anderes notify den FritzDect_Wohnzimmerschrank schaltet, wird der Status der Dummys nicht aktualisiert, was kann ich dagegen tun?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

fiedel

Hi Tommy,

hast du denn schon mal probiert statt     DEF        (DectOn.*|DectOff.*) { mal    DEF        (FritzDect_Wohnzimmerschrank) { zu verwenden? Dann bekommst du dein Notify zumindest immer getriggert, wenn etwas mit "FritzDect_Wohnzimmerschrank" passiert. Das aktive Abfragen der Box auf ihren Zustand ist noch mal ne andere Sache. Suche mal im Forum oder Wiki nach "Fritzbox- API"! Darin gibt es ein Script für DECT on/off. Das fragt beim Umschalten ab, ob der Status wirklich geändert wurde. Das kann man auch als Abfrage zyklisch verwenden um zu erkennen, ob jemand an der Box direkt umgeschaltet hat.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Tommy82

Hi,
habs mit (FritzDect_Wohnzimmerschrank)  versucht, dann wird der Status Dummy immer auf Aus gesetzt, egal wie ich den FritzDect_Wohnzimmerschrank schalte...... Also das funktioniert noch nicht richtig.
Ich suche jetzt mal nach der Fritzbox-Api, danke für den Tip
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Tommy82

Hi,
habs leider immer noch nicht hinbekommen, hat noch einer eine idee wieso der Status Dummy nicht richtig aktualisiert wird und was ich dagegen tun kann!?

Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

flurin

Zitat von: Tommy82 am 30 März 2015, 20:53:38
Hi,
habs leider immer noch nicht hinbekommen, hat noch einer eine idee wieso der Status Dummy nicht richtig aktualisiert wird und was ich dagegen tun kann!?

Danke

Wie sehen die Attribute der Dummys aus?

setList ?
eventMap?
...

Tommy82

So sieht der Status Button aus:
Internals:
   NAME       Status_Dect
   NR         179
   STATE      Aus
   TYPE       dummy
   Readings:
     2015-03-30 22:22:19   state           Aus
Attributes:
   devStateIcon An:Status_An:An Aus:Status_Aus:Aus
   fp_Fritz   308,195,0,
   fp_Wohnzimmer 306,1443,0,
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

flurin

Hallo Tommy82

fiedel's Vorschlag müsste eigentlich funktionieren (eq "on" beachten):


DEF (FritzDect_Wohnzimmerschrank) {
  if ($EVENT eq "on") {
    fhem("set Status_Dect An");
  }  else {
    fhem("set Status_Dect Aus");
  }
}


Zitat
... vorallem nicht wenn ich die FritzDect z.b. nicht über fhem sondern über die FritzBox direkt schalte.

Wenn der Zustand nicht von FHEM geändert wird, brauchst Du einen zusätzlichen Eingang oder eine Abfrage der FritzBox. Das kann ich aber nicht testen.

Gruss
flurin


Tommy82

#8
Hi, das scheint zu funktionieren, werd das mal etwas Testen, erstmal Danke


EDIT

Zu früh gefreut, nach einigen Sekunden schaltet der Status Dummy immer auf Aus, obwohl das Device an ist und auch auf on steht
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

flurin

#9
Zitat von: Tommy82 am 01 April 2015, 21:57:23
Hi, das scheint zu funktionieren, werd das mal etwas Testen, erstmal Danke


EDIT

Zu früh gefreut, nach einigen Sekunden schaltet der Status Dummy immer auf Aus, obwohl das Device an ist und auch auf on steht

Versuchs mal so:


DEF FritzDect_Wohnzimmerschrank {
  my $var = Value("FritzDect_Wohnzimmerschrank");
  if ($var eq "on") {
    fhem("set Status_Dect An");
  } else {
    fhem("set Status_Dect Aus");
  }
}


Tommy82

Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

flurin

#11
Zitat von: Tommy82 am 02 April 2015, 21:33:08
Jetzt scheint es zu klappen, vielen Dank

OK, jetzt kann man noch optimieren aber das ist Geschmackssache:


DEF FritzDect_Wohnzimmerschrank {my $var = Value("FritzDect_Wohnzimmerschrank") =~ "on" ? "An":"Aus";fhem("set Status_Dect $var")}