Es ging mal... aber ich weiß nicht mehr so genau, ab wann es nicht mehr ging...
Auf jeden Fall stelle ich auf meinen Tablet einen vereinfachten Grundriss dar und packe allerhand visuelle Informationen dort rein.
Wenn ein Fenster offen ist, wird der Raum-Rahmen dick rot. Wenn die Luftfeuchtigkeit zu hoch ist (> 70%), dann wird der Raum-Hintergrund rot.
Damit sieht man auf einen Blick ob was nicht stimmt. Leider geht dies aber nicht mehr - bin mir aber sicher, dass es mal mit diesem Code lief:
<!-- Wohnzimmer -->
<div
style="left: 910px; top: 140px; width: 320px; height: 250px;"
class="fixed room bg center-box font-small gray fixedlabel room-walls"
data-type="classchanger"
data-device="EG_Wohnzimmer_Fensterkontakt"
data-on-class="warning-border"
data-type="label"
data-limits-get="EG_Wohnzimmer_Thermostat:1.HUMIDITY"
data-limits="[0,70]"
data-classes='["bg-black","bg-red"]'
>
<span data-type="label"
data-device="EG_Wohnzimmer_Thermostat"
data-get="1.ACTUAL_TEMPERATURE"
data-fix="1"
></span>
<span class="blue">
<span data-type="label"
data-device="EG_Wohnzimmer_Thermostat"
data-get="1.HUMIDITY"
data-fix="0"
></span>%
</span>
</div>
<!-- ENDE - Wohnzimmer -->
Findet jemand den Fehler?!
Ach, es wird weder bg-black noch bg-red gesetzt, was mich sowieso wundert...
...und das data-on-class (für den Fensterrahmen) funktioniert mal und mal nicht. Ich habe noch nicht herausgefunden an was es liegt :-(
Und der Vollständigkeit halber noch die zwei Device-List:
Internals:
DEF 000C98A994BAF5
FUUID 5deec9d9-f33f-bfba-72b4-80120eefd4b1d0fd
IODev HM_CCU3
NAME EG_Wohnzimmer_Thermostat
NR 149
STATE T: 22.0, H: 99, 2020-04-06 23:14:51
TYPE HMCCUDEV
ccuaddr 000C98A994BAF5
ccudevstate active
ccuif HmIP-RF
ccuname EG_WOHNZIMMER_THERMOSTAT
ccutype HmIP-BWTH
channels 13
firmware 1.2.4
statevals devstate
READINGS:
2020-04-06 23:14:51 0.CONFIG_PENDING 0
2020-04-06 23:14:51 0.DUTY_CYCLE 0
2020-04-02 16:43:58 0.INSTALL_TEST true
2020-04-02 16:43:58 0.OPERATING_VOLTAGE 0.0
2020-04-02 16:43:58 0.OPERATING_VOLTAGE_STATUS 0
2020-04-06 23:14:51 0.RSSI_DEVICE -60
2020-04-06 23:14:51 0.RSSI_PEER -58
2019-12-30 21:37:04 0.UNREACH 0
2020-04-02 16:43:58 0.UPDATE_PENDING false
2020-04-06 23:14:51 1.ACTIVE_PROFILE 1
2020-04-06 23:14:51 1.ACTUAL_TEMPERATURE 22.0
2020-04-06 23:14:51 1.ACTUAL_TEMPERATURE_STATUS 0
2020-04-06 23:14:51 1.BOOST_MODE 0
2020-04-06 23:14:51 1.BOOST_TIME 0
2020-04-06 23:14:51 1.FROST_PROTECTION 0
2020-04-06 23:14:51 1.HEATING_COOLING 0
2020-04-06 23:16:25 1.HUMIDITY 99
2020-04-06 23:14:51 1.HUMIDITY_STATUS 0
2020-04-06 23:14:51 1.PARTY_MODE 0
2020-04-02 16:43:58 1.PARTY_SET_POINT_TEMPERATURE 0.0
2020-04-02 16:43:58 1.PARTY_TIME_END
2020-04-02 16:43:58 1.PARTY_TIME_START
2020-04-06 23:14:51 1.QUICK_VETO_TIME 0
2020-04-06 23:14:51 1.SET_POINT_MODE 0
2020-04-06 23:14:51 1.SET_POINT_TEMPERATURE 12.0
2020-04-06 23:14:51 1.SWITCH_POINT_OCCURED 0
2020-04-06 23:14:51 1.WINDOW_STATE open
2020-04-06 22:47:58 10.STATE 0
2020-04-06 22:47:58 11.STATE 0
2020-04-06 22:47:58 12.STATE 0
2020-04-06 23:14:51 8.EMERGENCY_OPERATION 0
2020-04-06 23:14:51 8.FROST_PROTECTION 0
2020-04-06 23:14:51 8.HUMIDITY_ALARM 0
2020-04-06 23:14:51 8.STATE 0
2020-04-06 22:47:58 9.STATE 0
2020-04-06 23:14:51 activity alive
2020-04-06 23:14:51 control 12.0
2020-04-06 23:14:51 hmstate 12.0
2020-04-06 23:14:51 state 12.0
hmccu:
devspec 000C98A994BAF5
dp:
0.CONFIG_PENDING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.INSTALL_TEST:
OSVAL true
OVAL true
SVAL true
VAL true
0.OPERATING_VOLTAGE:
OSVAL 0.0
OVAL 0.000000
SVAL 0.0
VAL 0.000000
0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.RSSI_DEVICE:
OSVAL -60
OVAL -60
SVAL -60
VAL -60
0.RSSI_PEER:
OSVAL -57
OVAL -57
SVAL -58
VAL -58
0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0.UPDATE_PENDING:
OSVAL false
OVAL false
SVAL false
VAL false
1.ACTIVE_PROFILE:
OSVAL 1
OVAL 1
SVAL 1
VAL 1
1.ACTUAL_TEMPERATURE:
OSVAL 22.1
OVAL 22.1
SVAL 22.0
VAL 22.0
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:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.FROST_PROTECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.HEATING_COOLING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.HUMIDITY:
OSVAL 48
OVAL 48
SVAL 48
VAL 48
1.HUMIDITY_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_SET_POINT_TEMPERATURE:
OSVAL 0.0
OVAL 0.000000
SVAL 0.0
VAL 0.000000
1.PARTY_TIME_END:
OSVAL
OVAL
SVAL
VAL
1.PARTY_TIME_START:
OSVAL
OVAL
SVAL
VAL
1.QUICK_VETO_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.SET_POINT_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.SET_POINT_TEMPERATURE:
OSVAL 18.0
OVAL 18.0
SVAL 12.0
VAL 12.0
1.SWITCH_POINT_OCCURED:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL open
VAL 1
10.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
11.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
12.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
8.EMERGENCY_OPERATION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
8.FROST_PROTECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
8.HUMIDITY_ALARM:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
8.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
9.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
Attributes:
IODev HM_CCU3
ccureadingfilter .*
controldatapoint 1.SET_POINT_TEMPERATURE
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.SET_POINT_TEMPERATURE 4.5:off/datapoint 1.SET_POINT_TEMPERATURE 30.5:on/
group Heizung
room HMCCU,Heizung
stateFormat {'T: '.ReadingsVal($name,'1.ACTUAL_TEMPERATURE','').', H: '.ReadingsVal($name,'1.HUMIDITY','').', '.ReadingsTimestamp($name,'state','')}
statedatapoint 1.SET_POINT_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
webCmd control:Boost:Auto:Manual:Holiday:on:off
widgetOverride control:slider,4.5,0.5,30.5,1
Internals:
DEF NEQ0755945
FUUID 5deec9dd-f33f-bfba-b853-efaf5f62b0150841
IODev HM_CCU3
NAME EG_Wohnzimmer_Fensterkontakt
NR 179
STATE open (ok)
TYPE HMCCUDEV
ccuaddr NEQ0755945
ccudevstate active
ccuif BidCos-RF
ccuname EG_WOHNZIMMER_FENSTERKONTAKT
ccutype HM-Sec-SC-2
channels 2
firmware 2.4
statevals devstate
READINGS:
2020-04-06 23:14:50 1.STATE open
2020-04-02 16:43:57 activity alive
2020-04-06 23:14:50 battery ok
2020-04-06 23:14:50 control open
2020-04-06 23:14:50 hmstate open
2020-04-06 23:14:50 state open
hmccu:
devspec NEQ0755945
dp:
0.AES_KEY:
OVAL 0
VAL 0
0.CONFIG_PENDING:
OVAL false
VAL false
0.LOWBAT:
OSVAL ok
OVAL false
SVAL ok
VAL false
0.RSSI_DEVICE:
OVAL 1
VAL 1
0.RSSI_PEER:
OVAL 170
VAL 170
0.STICKY_UNREACH:
OVAL false
VAL false
0.UNREACH:
OSVAL alive
OVAL false
SVAL alive
VAL false
1.ERROR:
OVAL 0
VAL 0
1.LOWBAT:
OSVAL ok
OVAL 0
SVAL ok
VAL 0
1.STATE:
OSVAL closed
OVAL 0
SVAL open
VAL 1
Attributes:
IODev HM_CCU3
ccureadingfilter STATE
group Fensterkontakte
hmstatevals ERROR!7:sabotage;SABOTAGE!1:sabotage
room HMCCU,Sensoren
stateFormat state (battery)
statedatapoint 1.STATE
substitute STATE!(0|false):closed,(1|true):open
userattr EG_Fenster EG_Fenster_map structexclude
Genau in dieser Kosntellation funktioniert weder der Hintergrund für HUMIDITY noch der warning-border für das Fenster...
Das Problem mit data-on-class habe ich nun hinbekommen... Aus unerfindlichen Gründen kommt Tablet UI mit stateFormat (benutze das um den Batterie und Aktualisierugns-Timestamp mit anzuzeigen) durcheinander und ich habe über ein data-get="state" explizit das Reading mitgegeben...
Das funktioniert.
Nur das Limits habe ich leider immer noch nicht hinbekommen - noch jemand Ideen?
Ich glaube ich habe den Fehler gefunden...
Lange Zeit hatte ich "classchanger" im Einsatz. Mit diesem konnte ich auch data-limits nutzen.
Ich habe probehalber mal "label" genutzt - und siehe da: es funktioniert...