Hallo,
meine Markise zeigt einen falschen Status an. Weiterhin gibt die HomeBridge die Kommandos falsch herum weiter.
Also sage ich "Markise schliessen", dann fährt sie auf und anders herum. Die Position der Markise wird in FHEM aber korrekt angezeigt.
Wenn 30% gezeigt wird, dann ist sie auch nur 30% ausgefahren. Wenn sie ganz ausgefahren ist, zeigt FHEM im Readings-STATE = 100 und wenn sie ganz eingefahren ist, wird "open" angezeigt.
Ich habe bereits "stateFormat" so eingestellt, dass oben im "DeviceOverview" der Status es richtig angezeigt wird, aber in den Reading ist es trotzdem falsch herum.
Wie kann ich das ändern?
defmod markise SOMFY 000003 A9 04C0
attr markise IODev nanoCUL3
attr markise devStateIcon open:fts_sunblind_100 close:fts_sunblind_0
attr markise drive-down-time-to-100 44
attr markise drive-down-time-to-close 44
attr markise drive-up-time-to-100 41
attr markise drive-up-time-to-open 41
attr markise eventMap on:open off:close go-my:my on:open off:close
attr markise genericDeviceType blind
attr markise group Schaltungen/Aktoren
TargetPosition=position,minValue=0,maxValue=100,minStep=1,cmds=0:close;;50:my;;100:open
attr markise icon fts_sunblind_90
attr markise model somfyshutter
attr markise room 70_Garten,Homekit
attr markise stateFormat {ReadingsVal($name,"position","") > 0 ? "open" : "close"}
attr markise webCmd open:close
Danke und Gruß
Thomas
Zitat von: thgorjup am 19 Mai 2020, 12:33:23
defmod markise SOMFY 000003 A9 04C0
attr markise IODev nanoCUL3
attr markise devStateIcon open:fts_sunblind_100 close:fts_sunblind_0
attr markise drive-down-time-to-100 44
attr markise drive-down-time-to-close 44
attr markise drive-up-time-to-100 41
attr markise drive-up-time-to-open 41
attr markise eventMap on:open off:close go-my:my on:open off:close
attr markise genericDeviceType blind
attr markise group Schaltungen/Aktoren
TargetPosition=position,minValue=0,maxValue=100,minStep=1,cmds=0:close;;50:my;;100:open
attr markise icon fts_sunblind_90
attr markise model somfyshutter
attr markise room 70_Garten,Homekit
attr markise stateFormat {ReadingsVal($name,"position","") > 0 ? "open" : "close"}
attr markise webCmd open:close
Wo hast du das her? Kann eigentlich weder ein list noch ein RAW-Auszug sein, jedenfalls scheint da (betr. homebridgeMapping) was verloren gegangen zu sein...
Ansonsten gibt es in der commandref ein Attribut "positionInverse", das stark danach klingt, als könnte es das Problem beseitigen.
Hier ist das List:
Internals:
ADDRESS 000003
DEF 000003 A2 04C9
FUUID 5c9e193a-f33f-e114-e4ce-428801f2f8d5ab45
IODev nanoCUL3
LASTInputDev nanoCUL3
MSGCNT 62
NAME markise
NR 112
STATE close
TYPE SOMFY
move stop
nanoCUL3_MSGCNT 62
nanoCUL3_RAWMSG YsA22804C9030000
nanoCUL3_TIME 2020-05-19 12:48:43
CODE:
1 000003
READINGS:
2020-05-19 12:48:42 enc_key A2
2020-05-19 12:49:00 exact 0
2020-05-19 12:48:43 parsestate off
2020-05-19 12:49:00 position 0
2020-05-19 12:48:43 received 20
2020-05-19 12:48:42 rolling_code 04C9
2020-05-19 12:49:00 state open
Attributes:
IODev nanoCUL3
devStateIcon open:fts_sunblind_100 close:fts_sunblind_0
drive-down-time-to-100 44
drive-down-time-to-close 44
drive-up-time-to-100 41
drive-up-time-to-open 41
eventMap on:open off:close go-my:my on:open off:close
genericDeviceType blind
group Schaltungen/Aktoren
icon fts_sunblind_90
model somfyshutter
room 70_Garten,Homekit
stateFormat {ReadingsVal($name,"position","") > 0 ? "open" : "close"}
webCmd open:close
Wenn ich "positionInverse" verwende, dann wird lediglich die Position anders herum angzeigt. Bedeutet "position = 100" Markise ist geschlossen.
Aber die Homebridge reagiert weiterhin wie zuvor falsch herum.
In dem LIST kann man sehr schön sehen, dass in den readings die Position = 0 ist und der Status = open.
Und die Internals zeigen den Status = close , was richtig ist.
Ok, ich konnte es lösen! Hurra!
attr markise homebridgeMapping clear CurrentPosition=position,minValue=0,maxValue=100,minStep=1 TargetPosition=CurrentPosition,cmds=/.*/:open;;;;0:close
EDIT:
Jetzt reagiert Homebridge zwar falsch herum was die Proezente angeht aber zumindest kann ich "Markise schließen" sagen.
So, die finale Lösung ist dann doch diese: :)
attr markise homebridgeMapping clear CurrentPosition=position TargetPosition=CurrentPosition,cmd=position