FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: LotharRappsilber am 29 September 2019, 12:17:41

Titel: DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 12:17:41
Hallo,

ich möchte das das Icon je nach Schaltzustand on/off wechselt. Mein attr

attr HMSchalterHeizung devStateIcon on:FS20.on:off off:FS20.off:on


aber es bleibt immer gleich. Anbei das list

Internals:
   DEF        HMIP-PS.00021A498E1892 3
   FUUID      5cfd15e9-f33f-2440-96aa-210d76b58a6c7f98
   IODev      HMIPCCU
   NAME       HMSchalterHeizung
   NR         34
   STATE      Initialized
   TYPE       HMCCUDEV
   ccuaddr    00021A498E1892
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    HMIP-PS 00021A498E1892
   ccutype    HMIP-PS
   channels   7
   statevals  devstate|on|off
   READINGS:
     2019-09-28 15:09:25   0.ACTUAL_TEMPERATURE 0.000000
     2019-09-28 15:09:25   0.ACTUAL_TEMPERATURE_STATUS 0
     2019-09-28 13:15:54   0.AES_KEY       1
     2019-09-28 15:09:25   0.CONFIG_PENDING false
     2019-09-28 13:15:54   0.DUTYCYCLE     false
     2019-09-28 15:09:25   0.DUTY_CYCLE    false
     2019-09-28 15:09:25   0.ERROR_CODE    0
     2019-09-28 15:09:25   0.ERROR_OVERHEAT false
     2019-09-28 15:09:25   0.INSTALL_TEST  true
     2019-09-28 13:15:54   0.LOWBAT        false
     2019-09-28 15:09:25   0.OPERATING_VOLTAGE 0.000000
     2019-09-28 15:09:25   0.OPERATING_VOLTAGE_STATUS 0
     2019-09-28 15:09:25   0.RSSI_DEVICE   203
     2019-09-28 15:09:25   0.RSSI_PEER     198
     2019-09-28 13:15:54   0.STICKY_UNREACH false
     2019-09-28 15:09:25   0.UNREACH       false
     2019-09-28 15:09:25   0.UPDATE_PENDING false
     2019-09-28 13:15:54   1.INHIBIT       false
     2019-09-28 13:15:54   1.STATE         off
     2019-09-28 13:15:54   1.WORKING       false
     2019-09-28 15:09:25   2.PROCESS       0
     2019-09-28 15:09:25   2.SECTION       0
     2019-09-28 15:09:25   2.SECTION_STATUS 0
     2019-09-28 15:09:25   2.STATE         off
     2019-09-28 15:09:25   3.PROCESS       0
     2019-09-28 15:09:25   3.SECTION       0
     2019-09-28 15:09:25   3.SECTION_STATUS 0
     2019-09-28 15:09:25   3.STATE         off
     2019-09-28 15:09:25   4.PROCESS       0
     2019-09-28 15:09:25   4.SECTION       0
     2019-09-28 15:09:25   4.SECTION_STATUS 0
     2019-09-28 15:09:25   4.STATE         off
     2019-09-28 15:09:25   5.PROCESS       0
     2019-09-28 15:09:25   5.SECTION       0
     2019-09-28 15:09:25   5.SECTION_STATUS 0
     2019-09-28 15:09:25   5.STATE         off
     2019-09-28 15:09:25   6.WEEK_PROGRAM_CHANNEL_LOCKS 0
     2019-09-28 15:09:25   control         off
     2019-09-28 15:09:25   hmstate         off
     2019-09-28 17:57:46   state           Initialized
   hmccu:
     devspec    HMIP-PS.00021A498E1892
Attributes:
   IODev      HMIPCCU
   devStateIcon .*:FS20.on
   fp_Grundriss 380,207,1,Heizungspumpe
   fp_Haus    380,207,1,Heizungspumpe
   icon       FS20.on
   room       Wirtschaftsraum
   stateFormat { if(ReadingsVal($NAME,"3.STATE","") eq "on" } FS20.on
   statechannel 1
   statedatapoint 3.STATE
   statevals  on:true,off:false
   substitute STATE!true:on,false:off


Wer kann helfen? Hab auch schon erfolglos

attr HMSchalterHeizung devStateIcon { if(ReadingsVal($NAME,"3.STATE","") eq "on" } FS20.on


probiert.

Gruss Lothar
Titel: Antw:DevStateIcon
Beitrag von: kumue am 29 September 2019, 12:29:30
im list steht aber etwas anderes...
devStateIcon .*:FS20.on
Das würde ja bedeuten, egal was kommt, stelle immer das on-Symbol dar...
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 12:36:02
Wenn ich


devStateIcon on:FS20.on:off off:FS20.off:on


wird gar kein Symbol mehr angezeigt, sondern nur Initialzed.
Titel: Antw:DevStateIcon
Beitrag von: amenomade am 29 September 2019, 13:17:48
Das musst Du selbst wissen: wenn das Device auf "initialized" steht, ist es an oder aus?
Titel: Antw:DevStateIcon
Beitrag von: kumue am 29 September 2019, 13:18:37
probier mal bitte folgendes..

1. den Eintrag bei attr stateFormat löschen
2.devStateIcon 1:on:off 0:off:on

HM-IP habe ich selber nicht im Einsatz, kann somit schlecht probieren...
Titel: Antw:DevStateIcon
Beitrag von: amenomade am 29 September 2019, 13:23:11
Zitat von: kumue am 29 September 2019, 13:18:37
probier mal bitte folgendes..

1. den Eintrag bei attr stateFormat löschen
2.devStateIcon 1:on:off 0:off:on

HM-IP habe ich selber nicht im Einsatz, kann somit schlecht probieren...
Das wird nicht das "Initialized" Problem lösen. Initialized ist weder "on" noch "off", und weder "1" noch "0"
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 13:23:23
Hab es probiert. Immer noch kein Symbol.
Titel: Antw:DevStateIcon
Beitrag von: amenomade am 29 September 2019, 13:25:06
Anders gesagt: was willst Du für ein Symbol, wenn das Device auf "Initialized" steht?
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 13:29:33
Ich möchte das das Symbol je nach Status on/off wechselt. Symbol FS20
Titel: Antw:DevStateIcon
Beitrag von: amenomade am 29 September 2019, 13:31:54
Zitat von: LotharRappsilber am 29 September 2019, 13:29:33
Ich möchte das das Symbol je nach Status on/off wechselt. Symbol FS20
Ja, aber dein Device hat weder on noch off, sondern "Initialized".
Titel: Antw:DevStateIcon
Beitrag von: kumue am 29 September 2019, 13:34:29
ist das ein normaler schalter oder ein Heizkörperthermostat oder.. ?
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 13:35:02
Ich könnte doch den Reading STATE auswerten und das Device danach setzen, oder?
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 13:36:04
Normaler Schalter!!! HMIP-PS
Titel: Antw:DevStateIcon
Beitrag von: kumue am 29 September 2019, 13:46:02
... den du ja also mit set HMSchalterHeizung on bzw. set HMSchalterHeizung off schalten kannst.... richtig ?
Diese FS20-Symbole sind doch die Standard-Sysmbole, welche eh bei on / off angezeigt werden.
Somit wäre ja devStateIcon überflüssig..
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 13:53:22
Ja, ich kann mit set schalten. Hab mal devStateIcon maskiert, danach steht immer noch Initialized da. Ich könnte ja auf das Symbol verzichten, aber leider wird im Floorplan dann nichts angezeigt.
Titel: Antw:DevStateIcon
Beitrag von: kumue am 29 September 2019, 14:04:43
ok, mit dem floorplan wusste ich nicht, da ich keinen habe.
aber wenn wenn der schalter trotz set on/off immer auf initialized bleibt, ist er evtl. nicht richtig angelegt.
keine ahnung, da kein hm-ip bei mir läuft.

da muss mal jemand schauen, der in HM-IP fit ist..
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 14:08:04
Ich habe 2 HM-Schalter und beide haben das gleiche Problem. In CCU sichtbar!
Titel: Antw:DevStateIcon
Beitrag von: amenomade am 29 September 2019, 14:21:17
Ich verstehe nicht ganz, warum Du es als HMCCUDEV und nicht als HMCCUCHN eingerichtet hast.

Anyway... dein "stateFormat" ist falsch: kein richtiges Perl. Da kommt bestimmt was in der Log. Hast Du mal geschaut?

Wie sieht jetzt ein "list" vom Device aus?
Titel: Antw:DevStateIcon
Beitrag von: zap am 29 September 2019, 14:35:53
Dein Problem ist, dass die Readings des Device nicht aktualisiert werden, insbesondere nicht STATE. Daher werden auch die Icons nicht angezeigt. Sobald Du das Aktualisierungsproblem gelöst hast, wird sich der Rest von selbst erledigen.

Ich würde das Attribut stateformat löschen und ccureadingfilter auf STATE setzen.

Die 2. Hälfte meines Satzes war Blödsinn, die Readings hast Du ja.
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 14:50:17
Ich aktualisiere jetzt die Readings über AT. Wie muss ich das mit den Readings machen, hab folgendes ohne Erfolg probiert.


attr HMSchalterHeizung devStateIcon { if(ReadingsVal($NAME,"3.STATE","") eq "on" } FS20.on
Titel: Antw:DevStateIcon
Beitrag von: zap am 29 September 2019, 15:01:14
Readings per AT aktualisieren: kann man machen, ist aber ...

Besser wäre es, Du würdest den RPC Server konfigurieren und starten. Wie das geht, steht im Wiki.

Wenn in STATE nun on oder off drin steht, sollte das funktionieren:

devStateIcon on:FS20.on:off off:FS20.off:on
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 15:26:59
Als STATE steht "Initialized" drin! So habe ich definiert:

define HMIPCCU HMCCU 192.168.4.8
setuuid HMIPCCU 5cfa4569-f33f-2440-6ffe-ca612b90af7a3625
attr HMIPCCU ccuflags procrpc
attr HMIPCCU cmdIcon on:general_an off:general_aus
attr HMIPCCU event-on-update-reading .*
attr HMIPCCU eventMap /rpcserver on:on/rpcserver off:off/
attr HMIPCCU room Homematic
attr HMIPCCU rpcinterfaces BidCos-RF,HmIP-RF
attr HMIPCCU rpcinterval 5
attr HMIPCCU rpcport 2001,2010
attr HMIPCCU rpcqueue /tmp
attr HMIPCCU rpcserver on
attr HMIPCCU stateFormat rpcstate/state
attr HMIPCCU ccudef-hmstatevals
attr HMIPCCU cmdIcon on:general_an off:general_aus
attr HMIPCCU eventMap /rpcserver on:on/rpcserver off:off/
Titel: Antw:DevStateIcon
Beitrag von: zap am 29 September 2019, 15:38:26
Hast Du den RPC-Server auch gestartet?

set HMIPCCU rpcserver on

Hier mal die Attribute einer meiner Steckdosen (anderer Typ, daher 1.STATE statt 3.STATE). Die Einstellungen sind jedoch auf Dein Device übertragbar:

Attributes:
   ccureadingfilter STATE
   cmdIcon    on:general_an off:general_aus
   controldatapoint 1.STATE
   devStateIcon on:10px-kreis-gruen off:10px-kreis-rot Initialized:10px-kreis-gelb
   event-on-change-reading .*
   statedatapoint 1.STATE
   statevals  on:true,off:false
   substitute STATE!(1|true):on,(0|false):off
   webCmd     control
   widgetOverride control:uzsuToggle,off,on

Auch wenn der RPC-Server nicht läuft, müsste in STATE nach einem "get update" on oder off drin stehen.

Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 15:43:36
Sonst würden ja alle Devices von der CCU nicht in FHEM aktualisiert werden.

Wenn ich die Readings auswerte und danach setze, wie  muss ich das machen. Bisher ohne Erfolg.


attr HMSchalterHeizung devStateIcon { if(ReadingsVal($NAME,"3.STATE","")) eq "on" } FS20.on
Titel: Antw:DevStateIcon
Beitrag von: zap am 29 September 2019, 16:03:37
Mal noch substitute abändern:

substitute STATE!(1|true):on,(0|false):off

stateformat hast Du gelöscht. oder?
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 29 September 2019, 16:45:02
Ja, hab ich deaktiviert. Mit


attr HMSchalterHeizung devStateIcon { if(ReadingsVal($NAME,"3.STATE","")) eq "on" } FS20.on


geht es. Danke für Deine Hilfe!!!

Gruss Lothar
Titel: Antw:DevStateIcon
Beitrag von: amenomade am 29 September 2019, 19:55:30
Und was passiert bei off?
Titel: Antw:DevStateIcon
Beitrag von: LotharRappsilber am 30 September 2019, 10:58:54
Da wird FS20:off angezeigt.
Titel: Antw:DevStateIcon
Beitrag von: zap am 30 September 2019, 12:27:47
Erstaunlich