Hallo,
mir ist ein komischer Fehler in Fhem aufgefallen, wo ich nicht weiß, wie ich die Fehlersuche hier beginnen soll.
Ich habe in meinen Räumen Heizungsgruppen gebildet, in welchen ich folgende HmIP Geräte integriert habe:
HMIP-SWDO (Fensterkontakt)
HMIP-eTRV (Heizungsregler)
HmIP-WTH-2 (Wandthermostat)
Ich beobachte nun häufiger, dass in der Heizgruppe das Reading "1.ACTIVE_PROFILE" z.B. auf 3 steht obwohl dieses im Wandthermostat (HmIP-WTH-2) mit 5 angezeigt wird. In der Raspimatic steht dieses Reading in der Heizgruppe aber immer korrekt auf 5. Schreibe ich das Reading im Event Monitor mit, sieht das Ganze wie folgt aus:
2020-01-24 12:47:22 HMCCUDEV HM_OG_GR_BueroReinhard 1.ACTIVE_PROFILE: 5
2020-01-24 12:50:16 HMCCUDEV HM_OG_GR_BueroReinhard 1.ACTIVE_PROFILE: 3
2020-01-24 13:20:03 HMCCUDEV HM_OG_GR_BueroReinhard 1.ACTIVE_PROFILE: 5
2020-01-24 13:20:03 HMCCUDEV HM_OG_GR_BueroReinhard 1.ACTIVE_PROFILE: 3
2020-01-24 13:23:01 HMCCUDEV HM_OG_GR_BueroReinhard 1.ACTIVE_PROFILE: 5
2020-01-24 13:23:01 HMCCUDEV HM_OG_GR_BueroReinhard 1.ACTIVE_PROFILE: 3
Irgendwoher bezieht da Fhem den falschen Wert für 1.ACTIVE_PROFILE, nicht jedoch von der Raspimatic, hier wechselt dieser in der Heizgruppe nicht.
13:20:03 24.01.2020 OG_GR_BueroReinhard INT0000001:1
Solltemperatur 21.00°C, Boost-Dauer 0, Urlaubsmodus nicht aktiv, Wert Status Level: Normal, unbekannte Meldung (QUICK_VETO_TIME) 0, Frostschutz nicht aktiv, Modus für Solltemperatur 0, Ventil-Öffnungsgrad 0.12, Wert Ist-Temperatur: Normal, Solltemperatur nicht geändert, Adaptionsfahrt durchgeführt, Aktives Profil 5, Fenster geschlossen, Ist-Temperatur 21.40, Boost-Funktion
13:23:01 24.01.2020 OG_GR_BueroReinhard INT0000001:1
Solltemperatur 21.00°C, Boost-Dauer 0, Urlaubsmodus nicht aktiv, Wert Status Level: Normal, unbekannte Meldung (QUICK_VETO_TIME) 0, Frostschutz nicht aktiv, Modus für Solltemperatur 0, Ventil-Öffnungsgrad 0.10, Wert Ist-Temperatur: Normal, Solltemperatur nicht geändert, Adaptionsfahrt durchgeführt, Aktives Profil 5, Fenster geschlossen, Ist-Temperatur 21.40, Boost-Funktion
Dies muss schon häufiger in der Vergangenheit der Fall gewesen sein, aber nur durch Zufall ist es mir heute aufgefallen.
Ich schreibe mal die Readings in Fhem in einer Logdatei mit, eventuell kann ich da ja etwas erkennen. Es ist doch korrekt so, alles über die Heizgruppe abzuwickeln (set und get) wenn eine solche besteht. Sicherlich könnte ich auch den Wert vom Wandthermostat direkt lesen, dieser würde auch passen, aber eigentlich sollte der Wert auch bei der Heizgruppe stimmen.
Anbei das List meiner Heizgruppe:
Internals:
DEF OG_VG_BueroReinhard group=OG_RT1_BueroReinhard,OG_HR_BueroReinhard,OG_FK1_BueroReinhard
FUUID 5c477730-f33f-7df9-7bb4-e75ce98c0199a5f7
IODev CCU2
NAME HM_OG_GR_BueroReinhard
NR 298
STATE 21.0
TYPE HMCCUDEV
ccuaddr INT0000001
ccudevstate active
ccugroup 000A97099C2095,000393C994CDFB,0000D3C995F919
ccuif VirtualDevices
ccuname OG_VG_BueroReinhard
ccutype HmIP-HEATING
channels 6
firmware 1.0.0
statevals devstate
READINGS:
2019-06-28 18:32:15 0.ACTUAL_TEMPERATURE_STATUS 0
2020-01-24 12:37:40 0.CONFIG_PENDING 0
2020-01-24 12:37:40 0.DUTY_CYCLE 0
2020-01-24 11:45:18 0.ERROR_CODE 0
2019-06-28 18:32:15 0.ERROR_OVERHEAT false
2019-11-14 20:19:39 0.INSTALL_TEST true
2020-01-24 12:37:40 0.LOW_BAT 0
2020-01-24 12:37:40 0.OPERATING_VOLTAGE 2.6
2020-01-24 12:37:40 0.OPERATING_VOLTAGE_STATUS 0
2020-01-24 12:37:40 0.RSSI_DEVICE -54
2020-01-23 23:45:37 0.RSSI_PEER -49
2020-01-24 11:45:18 0.SABOTAGE 0
2020-01-24 12:37:40 0.UNREACH alive
2019-11-14 20:19:39 0.UPDATE_PENDING false
2020-01-24 12:37:41 1.ACTIVE_PROFILE 3
2020-01-24 12:37:41 1.ACTUAL_TEMPERATURE 21.4
2020-01-24 12:37:41 1.ACTUAL_TEMPERATURE_STATUS 0
2020-01-24 12:37:41 1.BOOST_MODE 0
2020-01-24 12:37:41 1.BOOST_TIME 0
2020-01-24 12:37:41 1.FROST_PROTECTION 0
2020-01-24 12:26:22 1.HEATING_COOLING 0
2020-01-24 12:26:22 1.HUMIDITY 48
2020-01-24 12:26:22 1.HUMIDITY_STATUS 0
2020-01-24 12:37:41 1.LEVEL 0.2
2020-01-24 12:37:41 1.LEVEL_STATUS 0
2020-01-24 12:37:41 1.PARTY_MODE 0
2019-11-14 20:19:39 1.PARTY_SET_POINT_TEMPERATURE 0.0
2019-11-14 20:19:39 1.PARTY_TIME_END
2019-11-14 20:19:39 1.PARTY_TIME_START
2020-01-24 12:37:41 1.QUICK_VETO_TIME 0
2020-01-24 12:37:41 1.SET_POINT_MODE 0
2020-01-24 12:37:41 1.SET_POINT_TEMPERATURE 21.0
2020-01-24 11:45:19 1.STATE 0
2020-01-24 12:37:41 1.SWITCH_POINT_OCCURED 0
2019-11-14 20:09:27 1.VALVE_ADAPTION false
2020-01-24 12:37:41 1.VALVE_STATE 4
2020-01-24 12:37:41 1.WINDOW_STATE closed
2020-01-24 11:45:18 3.STATE 0
2019-06-28 18:32:15 4.PROCESS 0
2019-06-28 18:32:15 4.SECTION 0
2019-06-28 18:32:15 4.SECTION_STATUS 0
2019-06-28 18:32:15 4.STATE false
2020-01-24 12:37:41 control 21.0
2020-01-24 12:37:41 hmstate 21.0
2020-01-24 12:37:41 state 21.0
hmccu:
devspec OG_VG_BueroReinhard
group OG_RT1_BueroReinhard,OG_HR_BueroReinhard,OG_FK1_BueroReinhard
dp:
0.CONFIG_PENDING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.ERROR_CODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.LOW_BAT:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.SABOTAGE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0000D3C995F919:0.CONFIG_PENDING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0000D3C995F919:0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0000D3C995F919:0.ERROR_CODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0000D3C995F919:0.LOW_BAT:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0000D3C995F919:0.OPERATING_VOLTAGE:
OSVAL 1.2
OVAL 1.2
SVAL 1.2
VAL 1.2
0000D3C995F919:0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0000D3C995F919:0.RSSI_DEVICE:
OSVAL -66
OVAL -66
SVAL -67
VAL -67
0000D3C995F919:0.SABOTAGE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
0000D3C995F919:0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
0000D3C995F919:1.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:0.CONFIG_PENDING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:0.LOW_BAT:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:0.OPERATING_VOLTAGE:
OSVAL 2.6
OVAL 2.6
SVAL 2.6
VAL 2.6
000393C994CDFB:0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:0.RSSI_DEVICE:
OSVAL -51
OVAL -51
SVAL -54
VAL -54
000393C994CDFB:0.RSSI_PEER:
OSVAL -46
OVAL -46
SVAL -46
VAL -46
000393C994CDFB:0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
000393C994CDFB:1.ACTIVE_PROFILE:
OSVAL 3
OVAL 3
SVAL 3
VAL 3
000393C994CDFB:1.ACTUAL_TEMPERATURE:
OSVAL 21.4
OVAL 21.4
SVAL 21.5
VAL 21.5
000393C994CDFB:1.ACTUAL_TEMPERATURE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.BOOST_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.BOOST_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.FROST_PROTECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.LEVEL:
OSVAL 0.2
OVAL 0.17
SVAL 0.2
VAL 0.16
000393C994CDFB:1.LEVEL_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.PARTY_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.QUICK_VETO_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.SET_POINT_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.SET_POINT_TEMPERATURE:
OSVAL 21.0
OVAL 21.0
SVAL 21.0
VAL 21.0
000393C994CDFB:1.SWITCH_POINT_OCCURED:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000393C994CDFB:1.VALVE_STATE:
OSVAL 4
OVAL 4
SVAL 4
VAL 4
000393C994CDFB:1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL closed
VAL 0
000A97099C2095:0.CONFIG_PENDING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:0.DUTY_CYCLE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:0.LOW_BAT:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:0.OPERATING_VOLTAGE:
OSVAL 2.7
OVAL 2.7
SVAL 2.7
VAL 2.7
000A97099C2095:0.OPERATING_VOLTAGE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:0.RSSI_DEVICE:
OSVAL -51
OVAL -51
SVAL -51
VAL -51
000A97099C2095:0.RSSI_PEER:
OSVAL -49
OVAL -49
SVAL -49
VAL -49
000A97099C2095:0.UNREACH:
OSVAL alive
OVAL 0
SVAL alive
VAL 0
000A97099C2095:1.ACTIVE_PROFILE:
OSVAL 5
OVAL 5
SVAL 5
VAL 5
000A97099C2095:1.ACTUAL_TEMPERATURE:
OSVAL 21.1
OVAL 21.1
SVAL 21.4
VAL 21.4
000A97099C2095:1.ACTUAL_TEMPERATURE_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.BOOST_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.BOOST_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.FROST_PROTECTION:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.HEATING_COOLING:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.HUMIDITY:
OSVAL 48
OVAL 48
SVAL 48
VAL 48
000A97099C2095:1.HUMIDITY_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.PARTY_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.QUICK_VETO_TIME:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.SET_POINT_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.SET_POINT_TEMPERATURE:
OSVAL 21.0
OVAL 21.0
SVAL 21.0
VAL 21.0
000A97099C2095:1.SWITCH_POINT_OCCURED:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
000A97099C2095:1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL closed
VAL 0
1.ACTIVE_PROFILE:
OSVAL 5
OVAL 5
SVAL 5
VAL 5
1.ACTUAL_TEMPERATURE:
OSVAL 21.4
OVAL 21.4
SVAL 21.4
VAL 21.4
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.LEVEL:
OSVAL 0.2
OVAL 0.17
SVAL 0.2
VAL 0.16
1.LEVEL_STATUS:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.PARTY_MODE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
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 21.0
OVAL 21.0
SVAL 21.0
VAL 21.0
1.SWITCH_POINT_OCCURED:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
1.VALVE_STATE:
OSVAL 4
OVAL 4
SVAL 4
VAL 4
1.WINDOW_STATE:
OSVAL closed
OVAL 0
SVAL closed
VAL 0
3.STATE:
OSVAL 0
OVAL 0
SVAL 0
VAL 0
Attributes:
DbLogExclude .*
IODev CCU2
controldatapoint 1.SET_POINT_TEMPERATURE
event-on-change-reading .*
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
icon sani_heating_temp
room Homematic,OG_BueroReinhard
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;UNREACH!(0|false):alive,(1|true):dead
webCmd control:Boost:Auto:Manual:Holiday:on:off
widgetOverride control:slider,5.0,0.5,24.0,1
Und noch die RAW-Definition meines HMCCURPCPROC Virtual Devices:
defmod d_rpc050032VirtualDevices HMCCURPCPROC http://192.168.50.32 VirtualDevices
attr d_rpc050032VirtualDevices DbLogExclude .*
attr d_rpc050032VirtualDevices alias CCU RPC VirtualDevices
attr d_rpc050032VirtualDevices ccuflags expert,noInitialUpdate
attr d_rpc050032VirtualDevices eventMap /rpcserver on:on/rpcserver off:off/
attr d_rpc050032VirtualDevices group Hardware
attr d_rpc050032VirtualDevices icon hm_ccu
attr d_rpc050032VirtualDevices room Homematic
attr d_rpc050032VirtualDevices stateFormat rpcstate/state
attr d_rpc050032VirtualDevices verbose 2
setstate d_rpc050032VirtualDevices running/OK
setstate d_rpc050032VirtualDevices 2020-01-22 21:23:19 rpcstate running
setstate d_rpc050032VirtualDevices 2020-01-22 21:23:19 state OK
Wo kann ich noch suchen um dieses Proplem einzugrenzen?
Nur meine Heizungsregler stehen in dieser Gruppe alle ständig auf "1.ACTIVE_PROFILE" auf 3, aber dies ist ja ein ganz anderes Device! Gibt es da eventuell Überschneidungen in der Heizgruppe? Wenn ja, so müsste ja auch ein wechselnder Wert in der Raspimatic zu sehen sein.
Ergänzung:
Es scheint nur der angezeigte Wert für "1.ACTIVE_PROFILE" bei der Heizgruppe nicht zu passen, der Automatikbetrieb läuft jedoch korrekt wie im Profil 5 hinterlegt und nicht wie im Profil 3 angezeigt.
Ergänzung 2:
Es muss hier tatsächlich das Reading "1.ACTIVE_PROFILE" vom Heizungsregler irgendwie ankommen, seitdem ich dieses auf 1 gesetzt habe, wird das Reading der Gruppe nicht mehr mit 3 sondern mit 1 überschrieben.
Ist das auch bei euch so?
Wie habt Ihr den Heizungsregler in der CCUx/Raspimatic eingestellt?
Bei mir sieht das so, wie im anhängenden Bild aus:
Gruß Reinhard
Das Problem ist, dass sowohl das Wand- als auch das Heizkörperthermostat einen Datenpunkt 1.ACTIVE_PROFILE haben. HMCCU sammelt die Datenpunkte der Gruppenmitglieder im Group-Device. Wenn Du Dir das List anschaust, siehst du die 1.ACTIVE_PROFILE Datenpunkte mit einer Adresse davor. Das sind die Adressen der beiden Gruppenmitglieder (Fensterkontakt betrachte ich hier mal nicht). Intern unterscheidet HMCCUDEV also die beiden Geräte und Datenpunkte. Da sie aber den gleichen Namen haben, überschreiben sich die Readings gegenseitig.
Setze mal das Attribut ccureadingformat auf 'address', dann hast Du 3 Readings.
In der CCU gibt es also tatsächlich unterschiedliche Profilwerte. Sie stellt in der Oberfläche jedoch nur den Wert des Wandthermostats dar, das ist der Master. Warum das so ist? Keine Ahnung. Ist vielleicht ein Bug. Schau mal, ob es Firmware Updates für die Geräte gibt.
Du kannst auch auf den ACTIVE_PROFILE vom Gruppendevice filtern. Dazu setzt du ccureadingfilter auf folgenden Wert:
KanalnameGruppe!ACTIVE_PROFILE
Natürlich musst Du bei diesem Wert noch die anderen Datenpunkte ergänzen, die Du haben willst.
Oder Du negierst den Filter, dann musst Du nur die Datenpunkte angeben, die Du nicht als Reading haben willst:
N:KanalnameWand!ACTIVE_PROFILE;N:KanalnameHeizkoerper!ACTIVE_PROFILE
Kanalname ist jeweils der Name des Kanals 1
Hallo zap,
danke für die ausführliche Erklärung zu dem seltsamen Verhalten bei mir.
Genau, wenn ich mir das List von der Heizgruppe ansehe, taucht da dieses Reading mehrmals auf.
Ich hole jetzt das Reading für die Anzeige der aktuellen Heizgruppe direkt vom Wandthermostat ab, dieses passt immer zur Realität und ich muss nicht zu viel verbiegen.
Den einzigen Vorteil welchen ich bisher an den Heizgruppen erkannt habe ist der folgende, nach einem Firmwareupdate des Wandthermostaten muss ich nicht das komplette Wochenprogramm neu eingeben.
Ich vermute hier auch einen Bug, leider gibt es hierzu noch kein Fimmwareupdate.
Gruß Reinhard
Der Vorteil der Gruppen ist v.a., dass man sich nicht um die Verknüpfungen kümmern muss. Das kann in einem Raum mit 3 Fenstern, 2 Heizkörpern und einem Wandthermostat schon ausarten.
Und man hat natürlich alle relevanten Infos in einem HMCCUDEV Device, inkl. Window open reporting. Spart sich also entsprechende Devices in FHEM.