FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: PS915 am 09 Februar 2019, 17:41:06

Titel: HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: PS915 am 09 Februar 2019, 17:41:06
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
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 09 Februar 2019, 17:54:12
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
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: PS915 am 09 Februar 2019, 18:14:07
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.
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: KernSani am 09 Februar 2019, 18:19:08
Zu 1.: Kein Command dann macht er nix.
Zu 2.: Welchen state hat drr Rolladen beim fahren? Entsprechend Icon setzen


Kurz, weil mobil
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 09 Februar 2019, 18:31:07
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
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: PS915 am 09 Februar 2019, 18:47:05
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.

Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 09 Februar 2019, 18:56:46
ich habe meinen Post oben editiert ...

Wozu willst Du jetzt plötzlich Zwischenstatus? Du willst doch: off up on down
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: KernSani am 09 Februar 2019, 19:05:28
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...
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 09 Februar 2019, 19:08:27
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.
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: KernSani am 09 Februar 2019, 19:09:30
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 :-)
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 09 Februar 2019, 19:23:43
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
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: PS915 am 09 Februar 2019, 20:39:30
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
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag 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 ::)

Und mein Vorschlag mit stateFormat motor hat Dir nicht zugesagt?
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: PS915 am 09 Februar 2019, 23:44:59
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?
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 10 Februar 2019, 00:22:05
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 ::)
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
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: StefanHH am 10 Februar 2022, 14:04:17
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.
Titel: Antw:HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt
Beitrag von: Otto123 am 10 Februar 2022, 15:01:35
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