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
im list steht aber etwas anderes...
devStateIcon .*:FS20.on
Das würde ja bedeuten, egal was kommt, stelle immer das on-Symbol dar...
Wenn ich
devStateIcon on:FS20.on:off off:FS20.off:on
wird gar kein Symbol mehr angezeigt, sondern nur Initialzed.
Das musst Du selbst wissen: wenn das Device auf "initialized" steht, ist es an oder aus?
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...
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"
Hab es probiert. Immer noch kein Symbol.
Anders gesagt: was willst Du für ein Symbol, wenn das Device auf "Initialized" steht?
Ich möchte das das Symbol je nach Status on/off wechselt. Symbol FS20
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".
ist das ein normaler schalter oder ein Heizkörperthermostat oder.. ?
Ich könnte doch den Reading STATE auswerten und das Device danach setzen, oder?
Normaler Schalter!!! HMIP-PS
... 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..
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.
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..
Ich habe 2 HM-Schalter und beide haben das gleiche Problem. In CCU sichtbar!
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?
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.
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
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
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/
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.
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
Mal noch substitute abändern:
substitute STATE!(1|true):on,(0|false):off
stateformat hast Du gelöscht. oder?
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
Und was passiert bei off?
Da wird FS20:off angezeigt.
Erstaunlich