FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: heikoh81 am 06 Januar 2017, 11:07:07

Titel: FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: heikoh81 am 06 Januar 2017, 11:07:07
Hallo zusammen,

ich verwende bei der Ansteuerung meiner Homematic-Rolladenaktoren seit >1 Jahr folgenden Befehl, um den Aktor nur dann zu betätigen, wenn er nicht schon die Zielposition erreicht hat:

set NAME=HomematicRolladenWohnzimmer:FILTER=STATE!=on on


Seit einem Update zwischen Weihnachten 2016 und Neujahr funktioniert das nicht mehr.
Zum einen sieht man im Log, dass der Befehl nochmal gesendet wird, auch wenn der Rolladen schon "on" ist, zum anderen höre ich den Aktor auch schalten.
Dies möchte ich nicht, auch um unnötige Schaltzyklen des Homematic-Relais zu vermeiden.

Experimentieren hat ergeben, dass folgender Befehl wieder korrekt funktioniert:

set NAME=HomematicRolladenWohnzimmer:FILTER=state!=on on


D.h. entscheidend ist offensichtlich die Groß-/Kleinschreibung von STATE/state.
Ich habe leider nie richtig verstanden, was der Unterschied ist.

Aber warum hat mein Befehl über lange Zeit korrekt funktioniert und seit dem Update nicht mehr?
Wurde da etwas geändert?

Viele Grüße,
Heiko
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: marvin78 am 06 Januar 2017, 11:26:40
Zum Unterschied: STATE ist das Internal STATE, welches per stateFormat durch den User anpassbar ist und state ist das Reading state, welches nur durch das Modul beschrieben werden sollte.

Ggf. liegt auch da dein Problem. Ohne lists von den Devices aber schwer zu beurteilen.
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: heikoh81 am 06 Januar 2017, 13:47:18
list:


Internals:
   DEF        2Axyz
   HMLAN1_MSGCNT 6
   HMLAN1_RAWMSG E2Axyz
   HMLAN1_RSSI -49
   HMLAN1_TIME 2017-01-06 09:27:05
   HMUSBRaspGarage_MSGCNT 5
   HMUSBRaspGarage_RAWMSG E2xyz
   HMUSBRaspGarage_RSSI -97
   HMUSBRaspGarage_TIME 2017-01-06 09:27:05
   IODev      HMLAN1
   LASTInputDev HMLAN1
   MSGCNT     11
   NAME       0_RWohnGross
   NOTIFYDEV  global
   NR         482
   NTFY_ORDER 50-0_RWohnGross
   STATE      offen
   TYPE       CUL_HM
   lastMsg    No:06 - t:10 s:2xyz
   protLastRcv 2017-01-06 09:27:05
   protSnd    6 last_at:2017-01-06 09:27:05
   protState  CMDs_done
   rssi_HMLAN1 max:-73 min:-74 avg:-73.66 lst:-74 cnt:3
   rssi_at_HMLAN1 cnt:6 lst:-49 avg:-49.83 min:-50 max:-49
   rssi_at_HMUSBRaspGarage cnt:5 min:-97 avg:-94 max:-92 lst:-97
   Readings:
     2017-01-06 09:27:01   CommandAccepted yes
     2014-09-21 20:08:02   D-firmware      2.3
     2014-09-21 20:08:02   D-serialNr      LEQ0xyz
     2015-12-25 19:49:44   PairedTo        0xxyz
     2014-09-21 19:40:44   R-driveDown     21 s
     2014-09-21 19:40:44   R-driveTurn     0.5 s
     2014-09-21 19:40:44   R-driveUp       22.3 s
     2014-09-21 19:46:09   R-pairCentral   0xxyz
     2014-09-21 19:46:10   R-sign          off
     2015-12-25 19:49:44   RegL_00.        02:01 xyz
     2015-12-25 19:49:57   RegL_01.        08:00 xyz
     2017-01-06 09:27:05   deviceMsg       on (to vccu)
     2017-01-06 09:27:05   level           100
     2017-01-06 09:27:05   motor           stop:on
     2017-01-06 09:27:05   pct             100
     2017-01-06 09:27:05   recentStateType info
     2014-09-21 19:58:48   running         -
     2017-01-06 09:27:05   state           on
     2017-01-06 09:27:05   timedOn         off
   Helper:
     HM_CMDNR   6
     cSnd       xyz
     dlvlCmd    ++A01xyz
     mId        006A
     rxType     1
     Ack:
     Dir:
       cur        stop
       rct        up
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +2A4988,00,00,00
       nextSend   1483691225.75446
       rxt        0
       vccu       vccu
       p:
         2A4988
         00
         00
         00
       prefIO:
         HMLAN1
     Mrssi:
       mNo        06
       Io:
         HMLAN1     -47
         HMUSBRaspGarage -97
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       prs        1
     Rpt:
       IO         HMUSBRaspGarage
       flg        A
       ts         1483691225.36186
       ack:
         HASH(0x2e08640)
         068002200DB82A498800
     Rssi:
       Hmlan1:
         avg        -73.6666666666667
         cnt        3
         lst        -74
         max        -73
         min        -74
       At_hmlan1:
         avg        -49.8333333333333
         cnt        6
         lst        -49
         max        -49
         min        -50
       At_hmusbraspgarage:
         avg        -94
         cnt        5
         lst        -97
         max        -92
         min        -97
     Tmpl:
Attributes:
   IODev      HMLAN1
   IOgrp      vccu:HMLAN1
   autoReadReg 4_reqStatus
   devStateIcon offen:shutter_open geschlossen:shutter_closed
   eventMap   on:offen off:geschlossen
   expert     2_full
   firmware   2.3
   group      0_Wohnzimmer
   model      HM-LC-Bl1PBU-FM
   msgRepeat  15
   peerIDs    00000000,
   room       Rolladen
   serialNr   LEQ0xyz
   subType    blindActuator
   webCmd     stop:offen:90:80:70:60:50:40:30:20:10:geschlossen:off:statusRequest
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: CoolTux am 06 Januar 2017, 13:49:07

STATE      offen


Das sollte Deine Frage beantworten
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: marvin78 am 06 Januar 2017, 13:50:30
CoolTux war schneller.
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: heikoh81 am 06 Januar 2017, 14:01:14
Ok, alles klar.
Ich vermute eine Änderung in CUL_HM nach einem Update,, weil auch die webcmd 100 und 0 nicht mehr funktioniert haben und ich on/off verwenden musste.
So kam dann vermutlich auch "offen/geschlossen" in den STATE, weil ich die eventMap auch anpassen musste...

Weil wenn ich sonst nix geändert habe, muss es ja durch das Update gekommen sein.
Never change a running system :-)
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: CoolTux am 06 Januar 2017, 14:06:38
stop:offen:90:80:70:60:50:40:30:20:10:geschlossen:off:statusRequest

Daher kommt Dein offen geschlossen
Titel: Antw:FILTER=STATE vs. FILTER=state (nur state funktioniert)
Beitrag von: heikoh81 am 06 Januar 2017, 15:16:15
Ja, aber ich hatte davor:

stop:offen:100:90:80:70:60:50:40:30:20:10:0:geschlossen:off:statusRequest

Und bei Klick auf 100 oder 0 hat nur jeder zweite Klick funktioniert.