Guten Abend,
ich würde gerne für meine Thermostate devStateIcons verwenden.
Dafür muss der wert "1.SET_POINT_TEMPERATURE" sowie "1.BOOST_MODE" ausgewertet werden.
Leider klappt es nicht.
Kann es sein das der Punkt nach der 1 für probleme sorgt oder habe ich wieder ein Brett vorn Kopf ?
devStateIcon
1.SET_POINT_MODE.0:sani_heating_automatic 1.SET_POINT_MODE.1:sani_heating_manual 1.SET_POINT_MODE.1:sani_heating_manual
MfG
Dennis
Ein list vom Device wäre sehr hilfreich
Alles klar.
Reicht das so oder werden noch andere Daten benötigt?
Internals:
DEF 000A1A4990A095
FUUID 6023cf8c-f33f-0e64-a02f-d9b4a6f7966fea33
IODev d_ccu
NAME EG_Bad_Hk
NR 336
STATE 17.5
TYPE HMCCUDEV
ccuaddr 000A1A4990A095
ccudevstate active
ccuif HmIP-RF
ccuname EG-Bad-Hk
ccutype HmIP-eTRV-2
channels 8
firmware 2.2.8
statevals devstate
READINGS:
2021-11-27 11:15:16 0.UNREACH 0
2021-11-27 11:15:16 1.ACTUAL_TEMPERATURE 17.5
2021-11-27 11:15:16 1.ACTUAL_TEMPERATURE_STATUS 0
2021-11-27 11:15:16 1.BOOST_MODE 0
2021-11-27 11:15:16 1.SET_POINT_MODE 1
2021-11-27 11:15:16 1.SET_POINT_TEMPERATURE 17.5
2021-11-27 11:15:16 1.WINDOW_STATE closed
2021-11-25 17:58:02 IODev d_ccu
2021-11-27 11:15:16 battery 0
2021-11-27 11:15:16 control 17.5
2021-11-27 11:15:16 hmstate 17.5
2021-11-27 11:15:16 state 17.5
2021-11-27 11:15:16 valve_position 47
2021-11-27 11:15:16 valve_position_STATUS 0
hmccu:
devspec 000A1A4990A095
dp:
0.CONFIG_PENDING:
OVAL 0
VAL 0
0.DUTY_CYCLE:
OVAL 0
VAL 0
0.INSTALL_TEST:
OVAL true
VAL true
0.LOW_BAT:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.OPERATING_VOLTAGE:
OVAL 2.6
VAL 2.6
0.OPERATING_VOLTAGE_STATUS:
OVAL 0
VAL 0
0.RSSI_DEVICE:
OVAL -69
VAL -69
0.RSSI_PEER:
OVAL -64
VAL -64
0.UNREACH:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.UPDATE_PENDING:
OVAL false
VAL false
1.ACTIVE_PROFILE:
OVAL 1
VAL 1
1.ACTUAL_TEMPERATURE:
OSVAL 17.6
OVAL 17.6
SVAL 17.5
VAL 17.5
1.ACTUAL_TEMPERATURE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.BOOST_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.BOOST_TIME:
OVAL 0
VAL 0
1.FROST_PROTECTION:
OVAL 0
VAL 0
1.LEVEL:
OSVAL 37
OVAL 0.37
SVAL 47
VAL 0.47
1.LEVEL_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_MODE:
OVAL 0
VAL 0
1.PARTY_SET_POINT_TEMPERATURE:
OVAL 0.000000
VAL 0.000000
1.PARTY_TIME_END:
OVAL
VAL
1.PARTY_TIME_START:
OVAL
VAL
1.QUICK_VETO_TIME:
OVAL 0
VAL 0
1.SET_POINT_MODE:
OSVAL 1
OVAL 1
SVAL 1
VAL 1
1.SET_POINT_TEMPERATURE:
OSVAL 17.5
OVAL 17.5
SVAL 17.5
VAL 17.5
1.SWITCH_POINT_OCCURED:
OVAL 0
VAL 0
1.VALVE_ADAPTION:
OVAL false
VAL false
1.VALVE_STATE:
OVAL 4
VAL 4
1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL closed
VAL 0
Attributes:
IODev d_ccu
ccureadingfilter ^ACTUAL_TEMPERATURE|^BOOST_MODE|^SET_POINT_MODE|^SET_POINT_TEMPERATURE|^LEVEL|^WINDOW_STATE
ccureadingname 1.LEVEL:valve_position
ccuscaleval LEVEL:0:1:0:100
cmdIcon Auto:sani_heating_automatic Manual:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus eco:time_eco_mode
controldatapoint 1.SET_POINT_TEMPERATURE
devStateIcon 1.SET_POINT_MODE.0:sani_heating_automatic 1.SET_POINT_MODE.1:sani_heating_manual 1.SET_POINT_MODE.1:sani_heating_manual
eventMap /datapoint 1.BOOST_MODE true:Boost/datapoint 1.CONTROL_MODE 0:Auto/datapoint 1.CONTROL_MODE 1:Manual/datapoint 1.CONTROL_MODE 2:Holiday/datapoint 1.CONTROL_MODE 1 1.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.CONTROL_MODE 0 1.SET_POINT_TEMPERATURE 30.5:on/datapoint 1.CONTROL_MODE 1 1.SET_POINT_TEMPERATURE 17.5:eco/
genericDeviceType thermostat
room CCU_HM
statedatapoint 1.ACTUAL_TEMPERATURE
stripnumber 1
substexcl control
substitute SET_POINT_TEMPERATURE!#0-4.5:off,#30.5-40:on;WINDOW_STATE!(0|false):closed,(1|true):open
userattr Gesamtes_Haus_Heizung Gesamtes_Haus_Heizung_map structexclude thermostat thermostat_map
webCmd control:Auto:Manual:Boost:on:off:eco
widgetOverride control:slider,4.5,0.5,30.5,1
Also wenn ich die Commandref von devstateicon richtig verstehe, ist alles vor dem 1. Doppelpunkt ein regulärer Ausdruck, der sich auf den Inhalt von state bezieht. In state steht bei dir die aktuelle Temperatur drin, nicht der Text "1.SET..." (was auch überhaupt keinen Sinn machen würde)
Du könntest ggf. Die 2. Form von devstateicon verwenden und Perl Code angeben, der 1.SET... auswertet.
Es sollte auch gehen, wenn du stateFormat setzt:
attr EG_Bad_Hk stateFormat 1.SET_POINT_MODE
und dann devStateIcon:
attr EG_Bad_Hk devStateIcon 1:sani_heating_manual 0:sani_heating_automatic
zumindest hat das bei mir mit einem Test-dummy funktioniert ;)
Gruß, Joachim