FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Tommy82 am 05 Dezember 2014, 23:28:52

Titel: [Gelöst]Status Button wird nicht richtig aktualisiert
Beitrag von: Tommy82 am 05 Dezember 2014, 23:28:52
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
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: Tommy82 am 21 Dezember 2014, 22:09:23
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
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: fiedel am 22 Dezember 2014, 09:31:46
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
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: Tommy82 am 24 Dezember 2014, 15:41:43
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
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag 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
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: flurin am 31 März 2015, 13:57:24
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?
...
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: Tommy82 am 31 März 2015, 20:41:32
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,
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: flurin am 01 April 2015, 13:39:57
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

Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag 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
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: flurin am 01 April 2015, 22:49:41
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");
  }
}

Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: Tommy82 am 02 April 2015, 21:33:08
Jetzt scheint es zu klappen, vielen Dank
Titel: Antw:Status Button wird nicht richtig aktualisiert
Beitrag von: flurin am 02 April 2015, 21:53:34
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")}