Hallo zusammen,
ich habe folgenden zwei Fragen zu meinem Attribut "devStateIcon" meiner Rollläden.
Der Zustand der Rollläden werden hiermit schon sehr gut dargestellt, jedoch würde ich gerne während der Fahrt (hoch oder runter) jeweils einen Icon (control_arrow_down & control_arrow_up) anzeigen lassen.
Wie kann ich das umsetzen?
Als zweites habe ich noch ein Problem mit dem devStateIcon. Ich möchte, dass er nicht anklickbar ist. Das habe ich mit dem letzten Doppelpunkt in "0%:fts_shutter_100:" geschafft. Doch wenn ich nun doch auf den Icon klicke kommt eine komm eine Fehlermeldung "no value specified - ok" (siehe Screenshot). Ich würde den Icon gerne komplett "unklickbar" machen sowie keinerlei Meldung angezeigt bekommen.
Hat jemand eine Idee?
Internals:
COC_MSGCNT 72
COC_RAWMSG A0D98A41053424EF112340601C200::-41.5:COC
COC_RSSI -41.5
COC_TIME 2019-02-09 17:26:00
DEF 53424E
FUUID 5c59e591-f33f-1bb7-a037-46e62c896a351aca
IODev COC
LASTInputDev COC
MSGCNT 72
NAME rollladen.OG.Schlafzimmer
NOTIFYDEV global
NR 179
STATE 97
TYPE CUL_HM
lastMsg No:98 - t:10 s:53424E d:F11234 0601C200
protLastRcv 2019-02-09 17:26:00
protRcv 72 last_at:2019-02-09 17:26:00
protSnd 73 last_at:2019-02-09 17:26:00
protState CMDs_done
rssi_COC cnt:42 min:-48 max:-43 avg:-44.8 lst:-45
rssi_at_COC cnt:72 min:-45.5 max:-40.5 avg:-41.79 lst:-41.5
READINGS:
2019-02-09 17:25:56 CommandAccepted yes
2019-02-05 20:35:45 D-firmware 2.8
2019-02-05 20:35:45 D-serialNr NEQ1793447
2019-02-05 20:36:28 PairedTo 0xF11234
2019-02-05 20:37:52 R-driveDown set_36 s
2019-02-05 20:36:29 R-driveTurn 0.5 s
2019-02-05 20:37:47 R-driveUp set_36 s
2019-02-05 20:36:28 R-pairCentral 0xF11234
2019-02-05 20:36:29 R-powerUpAction off
2019-02-05 20:36:29 R-sign off
2019-02-05 20:36:28 RegL_00. 00:00 02:01 0A:F1 0B:12 0C:34 15:FF 18:00
2019-02-05 20:36:28 RegL_01. 08:00 09:00 0A:00 0B:01 0C:F4 0D:01 0E:F4 0F:05 10:00 30:06 56:00 57:24
2019-02-09 17:26:00 deviceMsg 97 (to COC)
2019-02-09 17:26:00 level 97
2019-02-09 17:26:00 motor stop:97
2019-02-09 17:26:00 pct 97
2019-02-05 20:38:44 powerOn 2019-02-05 20:38:44
2019-02-09 17:26:00 recentStateType info
2019-02-09 17:26:00 state 97
2019-02-09 17:26:00 timedOn off
helper:
HM_CMDNR 152
cSnd 11F1123453424E0201BE,11F1123453424E0201C2
dlvlCmd ++A011F1123453424E0201C2
mId 006A
regLst ,0,1,3p
rxType 1
supp_Pair_Rep 0
dir:
cur stop
rct up
expert:
def 1
det 0
raw 1
tpl 0
io:
newChn +53424E,00,00,00
nextSend 1549729560.27087
prefIO
rxt 0
vccu
p:
53424E
00
00
00
mRssi:
mNo 98
io:
COC:
-33.5
-33.5
prt:
bErr 0
sProc 0
rspWait:
q:
qReqConf 00
qReqStat
role:
chn 1
dev 1
prs 1
rpt:
IO COC
flg A
ts 1549729560.17184
ack:
HASH(0x3b562a8)
988002F1123453424E00
rssi:
COC:
avg -44.8095238095238
cnt 42
lst -45
max -43
min -48
at_COC:
avg -41.7986111111111
cnt 72
lst -41.5
max -40.5
min -45.5
tmpl:
Attributes:
IODev COC
autoReadReg 4_reqStatus
devStateIcon 0%:fts_shutter_100: 100%:fts_shutter_10: 0:fts_shutter_100: 100:fts_shutter_10: off:fts_shutter_100: on:fts_shutter_10: 9\d.*:fts_shutter_10: 8\d.*:fts_shutter_20: 7\d.*:fts_shutter_30: 6\d.*:fts_shutter_40: 5\d.*:fts_shutter_50: 4\d.*:fts_shutter_60: 3\d.*:fts_shutter_70: 2\d.*:fts_shutter_80: 1\d.*:fts_shutter_90: 1.\d:fts_shutter_100: 2.\d:fts_shutter_100: 3.\d:fts_shutter_100: 4.\d:fts_shutter_100: 5.\d:fts_shutter_100: 6.\d:fts_shutter_100: 7.\d:fts_shutter_100: 8.\d:fts_shutter_100: 9.\d:fts_shutter_100:
eventMap on:100% off:0%
expert 2_raw
firmware 2.8
model HM-LC-Bl1PBU-FM
peerIDs 00000000,
room Rollläden
serialNr NEQ1793447
subType blindActuator
userattr rollladen.OG.Bad rollladen.OG.Bad_map structexclude
webCmd stop:pct
Ja :)
https://commandref.fhem.de/#devStateIcon
sagt aus -> "0%:fts_shutter_100:" -> "0%:fts_shutter_100"
Du willst das Icon zusätzlich oder anstatt devStateIcon anzeigen?
Gruß Otto
Die Meldung "no value specified - ok" kommt also, weil der den cmd nicht finden kann. Ok, aber wie setze ich es nun um? Wenn ich den zweiten ":" weglassen, führt er ja auch etwas aus, was ich aber nicht möchte.
Zu dem devStateIcon: Wenn der Rollladen nicht fährt, möchte ich den Icon des Zustands. Wenn der Rollladen aber fährt möchte ich anstelle des Zustand Icons solange den Icon UP oder DOWN bis die der Rolladen nicht mehr fährt.
Zu 1.: Kein Command dann macht er nix.
Zu 2.: Welchen state hat drr Rolladen beim fahren? Entsprechend Icon setzen
Kurz, weil mobil
Zitat von: PS915 am 09 Februar 2019, 18:14:07
Wenn ich den zweiten ":" weglassen, führt er ja auch etwas aus, was ich aber nicht möchte.
doku -> If the cmd is noFhemwebLink, then no HTML-link will be generated, i.e. nothing will happen when clicking on the icon or text.
Für den anderen Wunsch gibt es ev. mehrere Möglichkeiten. stateFormat wäre mein erster Ansatz. dort einfach up und down setzen.
Mal probiert, das mit den stop.100% hängt von deinem eventMap ab, da bin ich nicht zu 100% sicher:
attr rollladen.OG.* stateFormat motor
attr rollladen.OG.* devStateIcon down.*:control_arrow_down:noFhemwebLink up.*:control_arrow_up:noFhemwebLink stop.0%:shutter_closed:noFhemwebLink stop.100%:shutter_open:noFhemwebLink
Reading Motor hat motor:
up:off - wenn die Fahrt nach oben abgeschlossen ist
up:10 - wenn die Fahrt nach oben läuft (10 ist die Position des Rollladen)
down:off - wenn die Fahrt nach unten abgeschlossen ist
down:20 - wenn die Fahrt nach unten läuft (20 ist die Position des Rollladen)
stop:5 - wenn die Fahrt abgeschlossen ist (5 ist die aktuelle Position des Rollladen)
Also, wenn ich ohne die zweiten ":" auf den Icon klicke fährt der Rollladen entweder hoch oder runter, er führt also irgendeinen Command aus.
attr rollladen.OG.* devStateIcon 0%:fts_shutter_100 100%:fts_shutter_10 0:fts_shutter_100 100:fts_shutter_10 off:fts_shutter_100 on:fts_shutter_10 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 1.\d:fts_shutter_100 2.\d:fts_shutter_100 3.\d:fts_shutter_100 4.\d:fts_shutter_100 5.\d:fts_shutter_100 6.\d:fts_shutter_100 7.\d:fts_shutter_100 8.\d:fts_shutter_100 9.\d:fts_shutter_100 1:fts_shutter_100 2:fts_shutter_100 3:fts_shutter_100 4:fts_shutter_100 5:fts_shutter_100 6:fts_shutter_100 7:fts_shutter_100 8:fts_shutter_100 9:fts_shutter_100
Zu den zusätzlichen Icons:
Getestet mit folgendem Attribut:
attr rollladen.OG.* devStateIcon up:control_arrow_up down:control_arrow_down
1. Das kann doch gar nicht funktionieren, da ich ja auch nicht auf das Reading "state" zugreifen möchte sondern auf das Reading "motor". So lese ich es zumindest aus der Doku "If the state of the device matches regexp, then icon-name will be displayed"
2. Mir ist aufgefallen, dass der Status immer nur bei Beendigung des letzten Befehls geändert wird. Heißt, Wenn ich von 0% (geschlossen) auf 100% (geöffnet) fahre, "springt" der Icon erst dann auf 100% geöffnet, wenn die Fahrt abgeschlossen ist.
Gibt es eine Möglichkeit, die Änderungen dazwischen zum Beispiel auch anzeigen zu lassen? Ich bin der Meinung, dass ich das schon mal gesehen habe bei meinen Rollläden, aber im Moment ist das nicht der Fall.
Wenn ich dann natürlich den Slider beobachten kann, wie sich langsam die Werte ändern, könnte ich natürlich auf ein entsprechendes Icon (hochfahren/runterfahren) verzichten.
ich habe meinen Post oben editiert ...
Wozu willst Du jetzt plötzlich Zwischenstatus? Du willst doch: off up on down
Zitat von: PS915 am 09 Februar 2019, 18:47:05
1. Das kann doch gar nicht funktionieren, da ich ja auch nicht auf das Reading "state" zugreifen möchte sondern auf das Reading "motor". So lese ich es zumindest aus der Doku "If the state of the device matches regexp, then icon-name will be displayed"
Mir ist unklar, wie du aus "If the
state..." heraus lesen kannst, dass du auf das reading "motor" zugreifst...
Mal kurz die Funktionsweise: Das devStateIcon wird jedesmal aktualisiert, wenn sich der "state" deines Devices ändert. Dann versucht FHEM von links nach rechts im devStateIcon-Attribut eine passende regEx zu finden, d.h. eine Regex auf die der aktuelle state matcht. Wenn die gefunden ist, wird das Icon, das nach dem ersten : angegeben ist angezeigt und ggf (wenn zweiter : vorhanden) mit einem Kommando belegt.
Dein Rollo muss also das Reading "state" während des Fahrens aktualisieren, damit sich da (während der Fahrt) was ändert. Ob er das macht, kann ich die nicht sagen, da ich kein HM-Rollo habe. Aber das siehst du indem du das Reading während des Fahrens beobachtest...
Edit: Sorry, hatte nicht gesehen, dass Otto oben "motor" in stateFormat gesetzt hat und damit natürlich den STATE ändert...
Zitat von: KernSani am 09 Februar 2019, 19:05:28
Mir ist unklar, wie du aus "If the state..." heraus lesen kannst, dass du auf das reading "motor" zugreifst...
wie schon gesagt: geht einfach über stateFormat motor
Ach ja und noch zu Erklärung: stateFormat setzt STATE anders als state (default) und devStateIcon hängt von STATE ab.
Zitat von: Otto123 am 09 Februar 2019, 19:08:27
wie schon gesagt: geht einfach über stateFormat motor
Jupp, hatte das übersehen und meinen Beitrag schon editiert :-)
Du könntest das Icon im Stop Zustand jetzt noch mit solchen Dingern im Zwischenzustand anzeigen:
stop.1.*:fts_shutter_90 ... stop.9.*:fts_shutter_10
Zitat von: KernSani am 09 Februar 2019, 19:05:28Mir ist unklar, wie du aus "If the state..." heraus lesen kannst, dass du auf das reading "motor" zugreifst...
Naja, das meine ich ja. Mit devStateIcon reagiert man doch auf den "state" eines Device. Wie kann ich dann mit "devStateIcon" auf das Reading "motor" zugleich zugreifen um die Icons zu setzen. Das leuchtet mir einfach noch nicht ein.
Zitatdoku -> If the cmd is noFhemwebLink, then no HTML-link will be generated, i.e. nothing will happen when clicking on the icon or text.
oh really? um ehrlich zu sein habe ich nicht damit gerechnet, dass man da wirklich "noFhemwebLink" dahinter schreiben muss. Da wäre ich nie darauf gekommen. Wäre schön, wenn die Doku mal etwas mehr Formatierung bekommen könnte. Gerade als Anfänger überliest man dann sowas. Ich wäre jetzt davon ausgegangen, dass man mit dem zweiten ":" und ohne command zu dem selben Ergebnis kommt.
So, der Link ist nun weg:
attr rollladen.OG.* devStateIcon 0%:fts_shutter_100:noFhemwebLink 100%:fts_shutter_10:noFhemwebLink 0:fts_shutter_100:noFhemwebLink 100:fts_shutter_10:noFhemwebLink off:fts_shutter_100:noFhemwebLink on:fts_shutter_10:noFhemwebLink 9\d.*:fts_shutter_10:noFhemwebLink 8\d.*:fts_shutter_20:noFhemwebLink 7\d.*:fts_shutter_30:noFhemwebLink 6\d.*:fts_shutter_40:noFhemwebLink 5\d.*:fts_shutter_50:noFhemwebLink 4\d.*:fts_shutter_60:noFhemwebLink 3\d.*:fts_shutter_70:noFhemwebLink 2\d.*:fts_shutter_80:noFhemwebLink 1\d.*:fts_shutter_90:noFhemwebLink 1.\d:fts_shutter_100:noFhemwebLink 2.\d:fts_shutter_100:noFhemwebLink 3.\d:fts_shutter_100:noFhemwebLink 4.\d:fts_shutter_100:noFhemwebLink 5.\d:fts_shutter_100:noFhemwebLink 6.\d:fts_shutter_100:noFhemwebLink 7.\d:fts_shutter_100:noFhemwebLink 8.\d:fts_shutter_100:noFhemwebLink 9.\d:fts_shutter_100:noFhemwebLink
Naja, in der Doku steht meist genau das drin was man braucht. Viele glauben das leider gar nicht ;D ::)
Und mein Vorschlag mit stateFormat motor hat Dir nicht zugesagt?
Zitat von: Otto123 am 09 Februar 2019, 20:52:34
Naja, in der Doku steht meist genau das drin was man braucht. Viele glauben das leider gar nicht ;D ::)
Bei einer vernünftigen Doku gehe ich davon aus, und da muss ich mal ein Lob aussprechen. Die FHEM Doku ist da schon extrem umfangreich. Hier und da könnte vielleicht noch ein Beispiel eingefügt werden.
Zitat von: Otto123 am 09 Februar 2019, 20:52:34Und mein Vorschlag mit stateFormat motor hat Dir nicht zugesagt?
Hmh, so wie ich das sehe wird dann aber nur der Status des Motors angezeigt. Meine Idee war: Wenn der Motor nicht fährt werden die Rollläden Zustände (wie weit geöffnet) angezeigt. Wenn der Motor fährt, wird nur die Richtung mit dem Pfeil angezeigt. Entweder übersehe ich mal wieder etwas, aber mit deinem StateFormat habe ich doch nur den Motor-Zustand, oder etwa nicht?
Zitat von: PS915 am 09 Februar 2019, 23:44:59
Hmh, so wie ich das sehe wird dann aber nur der Status des Motors angezeigt. Meine Idee war: Wenn der Motor nicht fährt werden die Rollläden Zustände (wie weit geöffnet) angezeigt. Wenn der Motor fährt, wird nur die Richtung mit dem Pfeil angezeigt. Entweder übersehe ich mal wieder etwas, aber mit deinem StateFormat habe ich doch nur den Motor-Zustand, oder etwa nicht?
Also bei mir ist es wie folgt, und ich verstehe nicht warum es bei Dir anders sein soll ::)
- stop:zu Rollo steht unten (der Wert nach stop entspricht eventMap on:auf off:zu)
- stop:auf Rollo steht oben (der Wert nach stop entspricht eventMap on:auf off:zu)
- up:<Zahl> Rollo fährt hoch
- down:<Zahl> Rollo fährt runter
- stop:<Zahl> Rollo steht in Position <Zahl>
Ich hätte gedacht, das ist es was Du wolltest. Schade, bei mir funktioniert es gut, hab ich mir umsonst die Mühe gemacht. :'(
Gruß Otto
Hallo Otto123, das Thema ist zwar schon sehr alt, aber ich möchte als Anfänger genau das von dir beschriebene Verhalten bei meinen Rollladen haben. Könntest du mir die Definitionen hier einmal komplett posten? Das würde mir sehr helfen.
Hallo,
das "Geheimnis" in diesem Thread liegt in diesen beiden attributen
attr RolloAZL devStateIcon down.*:control_arrow_down up.*:control_arrow_up stop.zu:fts_shutter_100:auf stop.auf:fts_shutter_10:zu stop.1.*:fts_shutter_90 stop.2.*:fts_shutter_80 stop.3.*:fts_shutter_70 stop.4.*:fts_shutter_60 stop.5.*:fts_shutter_50 stop.6.*:fts_shutter_40 stop.7.*:fts_shutter_30 stop.8.*:fts_shutter_20 stop.9.*:fts_shutter_10
attr RolloAZL stateFormat motor
Meine komplette Definition:
defmod RolloAZL CUL_HM 152AF2
attr RolloAZL userattr Level Level_map structexclude
attr RolloAZL .mId 0005
attr RolloAZL IOgrp VCCU:ser2netUart
attr RolloAZL Level st_Rollo_N
attr RolloAZL autoReadReg 5_readMissing
attr RolloAZL devStateIcon down.*:control_arrow_down up.*:control_arrow_up stop.zu:fts_shutter_100:auf stop.auf:fts_shutter_10:zu stop.1.*:fts_shutter_90 stop.2.*:fts_shutter_80 stop.3.*:fts_shutter_70 stop.4.*:fts_shutter_60 stop.5.*:fts_shutter_50 stop.6.*:fts_shutter_40 stop.7.*:fts_shutter_30 stop.8.*:fts_shutter_20 stop.9.*:fts_shutter_10
attr RolloAZL event-on-change-reading .*
attr RolloAZL eventMap on:auf off:zu
attr RolloAZL expert defReg,allReg
attr RolloAZL firmware 1.5
attr RolloAZL model HM-LC-BL1-FM
attr RolloAZL peerIDs 00000000,152AF201,152AF202,16B1400B,16B1400C,200DB805
attr RolloAZL room Arbeitszimmer
attr RolloAZL serialNr IEQ0016505
attr RolloAZL stateFormat motor
attr RolloAZL subType blindActuator
attr RolloAZL webCmd down:pct:up
Gruß Otto