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
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.
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
STATE offen
Das sollte Deine Frage beantworten
CoolTux war schneller.
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 :-)
stop:offen:90:80:70:60:50:40:30:20:10:geschlossen:off:statusRequest
Daher kommt Dein offen geschlossen
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.