HomeMatic Rollladen - devStateIcon des Zustands & Motor Richtung bei Fahrt

Begonnen von PS915, 09 Februar 2019, 17:41:06

Vorheriges Thema - Nächstes Thema

PS915

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

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

PS915

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.

KernSani

Zu 1.: Kein Command dann macht er nix.
Zu 2.: Welchen state hat drr Rolladen beim fahren? Entsprechend Icon setzen


Kurz, weil mobil
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

PS915

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.


Otto123

ich habe meinen Post oben editiert ...

Wozu willst Du jetzt plötzlich Zwischenstatus? Du willst doch: off up on down
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

KernSani

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...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

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.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

KernSani

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 :-)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

PS915

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

Otto123

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?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

PS915

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?

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz