Im Rahmen einer Heizungssteuerung fasse ich über eine readingsGroup 10 Heizkörperthermostate zusammen. In der Übersicht werden die Sollwerte des Energiesparmodus und des Normalmodus angezeigt, der aktuelle Modus, aktuelle Temperatur, Ventilstellung und Batteriestatus.
https://www.dropbox.com/s/h4gmoot77wkl26c/temperatur3.JPG?dl=0 (https://www.dropbox.com/s/h4gmoot77wkl26c/temperatur3.JPG?dl=0)
Die beiden Sollwerte frage ich bisher immer explizit über get ab und speichere sie in den Variablen desTempSaving und desTempHeating, erst mit einem Klick auf die entsprechende Solltemperatur wird das Get Command ausgeführt, in einem PopupFenster ausgeführt und dann korrekt angezeigt.
Genauso bei dem Thermostatmodus oder der Ventilstelllung, diese werden auch erst über ein get Command nach Klick auf den in der Tabelle enthaltenen Wert aktualisiert.
Lediglch die aktuelle Ist Temperatur ändert sich korrekt mit jeder tatsächlichen Temperaturveränderung in jedem der Devices.
Warum ist das so? Kann man das nicht irgendwie ändern, sodaß Ventilstellung, Thermostatmodus oder Sollwerte direkt nach einer Änderung (z.B. gibt es eine Zeitsteuerung die solche Werte ändert) korrekt angezeigt werden?
Grundsätzlich steht im fhemweb device longpoll auf websocket, im ZWDongle habe ich jetzt das setReadingOnAck Attribut auf 1 gesetzt, aber all das hat noch nix gebracht, ich mache also noch irgendwas anderes grundsätzlich falsch oder es fehlt etwas.
Hier die komplette Readingsgroup, vielleicht kann einer der Readingsgroup Spezialisten mir mal auf die Sprünge helfen?
Internals:
CFGFN
DEF <Raum>,<SollSpar>,<SollHeat>,<SollNeu>,<Modus>,<Ist>,<Ventil>,<Änderung>,<Batterie> .*:FILTER=alias!=.*OFF:FILTER=model=EUROtronic.*:!desTempSaving,!desTempHeating,<sollsetz>,thermostatMode,!*[Tt]emperature,reportedState,<{ReadingsTimestamp($DEVICE,"temperature","")}>,battery
FUUID 5fda79e0-f33f-5aeb-74d2-077a89d11ea20732
NAME temperatur3
NR 397
NTFY_ORDER 50-temperatur3
STATE Initialized
TYPE readingsGroup
changed 0
mayBeVisible 1
CONTENT:
ZWave_THERMOSTAT_31 1
ZWave_THERMOSTAT_32 1
ZWave_THERMOSTAT_33 1
ZWave_THERMOSTAT_38 1
ZWave_THERMOSTAT_40 1
ZWave_THERMOSTAT_42 1
ZWave_THERMOSTAT_44 1
ZWave_THERMOSTAT_45 1
ZWave_THERMOSTAT_46 1
ZWave_THERMOSTAT_55 1
CONTENT2:
DEVICES:
ARRAY(0x4e14408)
ARRAY(0x4fae590)
ARRAY(0x4a01f18)
ARRAY(0x4c4c2d0)
ARRAY(0x4e24a50)
ARRAY(0x4a3bee0)
ARRAY(0x4a43af8)
ARRAY(0x4c46de8)
ARRAY(0x4d84100)
ARRAY(0x4c500a8)
ARRAY(0x4dd3168)
fhem:
lastDefChange 84
last_update 1608155986.6654
helper:
DEF
commands {'desTempSaving'=>'get $DEVICE setpoint 11','desTempHeating'=>'get $DEVICE setpoint 1', 'temperatur3.sollsetz'=>'desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0','reportedState' => 'get $DEVICE swmStatus','thermostatMode' => 'get $DEVICE thermostatMode;get $DEVICE setpoint'}
valueColumns {\
setpointSparTemp => 1,
setpointTemp => 2,\
temperature => 3,\
temperatur3 => 3,\
reportedState => 4,\
timestamp => 5,\
battery => 6,\
thermostatmode => 7,\
}
valueFormat {temperature => "%.1f°C",
AM2301_Temperature => "%.1f°C",
setpointTemp => "%.1f°C",
timestamp => {ReadingsTimestamp($DEVICE,"temperature","")}
}
valueStyle {($READING eq "temperature" && $VALUE < ReadingsNum($DEVICE, "setpointTemp",undef))?'style="color:red;text-align:right;font-weight:bold"':($VALUE eq "00")?'style="visibility:hidden"':'style="color:green;text-align:right",'}
positions:
ZWave_THERMOSTAT_31.battery 2:8
ZWave_THERMOSTAT_31.desTempHeating 2:2
ZWave_THERMOSTAT_31.desTempSaving 2:1
ZWave_THERMOSTAT_31.reportedState 2:6
ZWave_THERMOSTAT_31.temperature 2:5
ZWave_THERMOSTAT_31.thermostatMode 2:4
ZWave_THERMOSTAT_32.battery 3:8
ZWave_THERMOSTAT_32.desTempHeating 3:2
ZWave_THERMOSTAT_32.desTempSaving 3:1
ZWave_THERMOSTAT_32.reportedState 3:6
ZWave_THERMOSTAT_32.temperature 3:5
ZWave_THERMOSTAT_32.thermostatMode 3:4
ZWave_THERMOSTAT_33.battery 4:8
ZWave_THERMOSTAT_33.desTempHeating 4:2
ZWave_THERMOSTAT_33.desTempSaving 4:1
ZWave_THERMOSTAT_33.reportedState 4:6
ZWave_THERMOSTAT_33.temperature 4:5
ZWave_THERMOSTAT_33.thermostatMode 4:4
ZWave_THERMOSTAT_38.battery 5:8
ZWave_THERMOSTAT_38.desTempHeating 5:2
ZWave_THERMOSTAT_38.desTempSaving 5:1
ZWave_THERMOSTAT_38.reportedState 5:6
ZWave_THERMOSTAT_38.temperature 5:5
ZWave_THERMOSTAT_38.thermostatMode 5:4
ZWave_THERMOSTAT_40.battery 6:8
ZWave_THERMOSTAT_40.desTempHeating 6:2
ZWave_THERMOSTAT_40.desTempSaving 6:1
ZWave_THERMOSTAT_40.reportedState 6:6
ZWave_THERMOSTAT_40.temperature 6:5
ZWave_THERMOSTAT_40.thermostatMode 6:4
ZWave_THERMOSTAT_42.battery 7:8
ZWave_THERMOSTAT_42.desTempHeating 7:2
ZWave_THERMOSTAT_42.desTempSaving 7:1
ZWave_THERMOSTAT_42.reportedState 7:6
ZWave_THERMOSTAT_42.temperature 7:5
ZWave_THERMOSTAT_42.thermostatMode 7:4
ZWave_THERMOSTAT_44.battery 8:8
ZWave_THERMOSTAT_44.desTempHeating 8:2
ZWave_THERMOSTAT_44.desTempSaving 8:1
ZWave_THERMOSTAT_44.reportedState 8:6
ZWave_THERMOSTAT_44.temperature 8:5
ZWave_THERMOSTAT_44.thermostatMode 8:4
ZWave_THERMOSTAT_45.battery 9:8
ZWave_THERMOSTAT_45.desTempHeating 9:2
ZWave_THERMOSTAT_45.desTempSaving 9:1
ZWave_THERMOSTAT_45.reportedState 9:6
ZWave_THERMOSTAT_45.temperature 9:5
ZWave_THERMOSTAT_45.thermostatMode 9:4
ZWave_THERMOSTAT_46.battery 10:8
ZWave_THERMOSTAT_46.desTempHeating 10:2
ZWave_THERMOSTAT_46.desTempSaving 10:1
ZWave_THERMOSTAT_46.reportedState 10:6
ZWave_THERMOSTAT_46.temperature 10:5
ZWave_THERMOSTAT_46.thermostatMode 10:4
ZWave_THERMOSTAT_55.battery 11:8
ZWave_THERMOSTAT_55.desTempHeating 11:2
ZWave_THERMOSTAT_55.desTempSaving 11:1
ZWave_THERMOSTAT_55.reportedState 11:6
ZWave_THERMOSTAT_55.temperature 11:5
ZWave_THERMOSTAT_55.thermostatMode 11:4
recalc:
undef
undef
ARRAY(0x4e12730)
undef
undef
ARRAY(0x4d5eff8)
ARRAY(0x4e0fa68)
undef
ARRAY(0x4c50330)
values:
formated:
undef
ARRAY(0x4fa6cd0)
ARRAY(0x4d632f8)
undef
ARRAY(0x4dd49f0)
ARRAY(0x4bd2458)
ARRAY(0x4c70b28)
undef
ARRAY(0x4dd1f38)
orig:
undef
ARRAY(0x4c42b40)
ARRAY(0x4fb1fd0)
undef
ARRAY(0x4df48c8)
ARRAY(0x4ecf618)
ARRAY(0x4c403f8)
undef
ARRAY(0x4a2e490)
prefixsuffix:
undef
ARRAY(0x4c3b218)
ARRAY(0x5033428)
undef
ARRAY(0x49ef868)
ARRAY(0x4e1e470)
ARRAY(0x4e081c8)
undef
ARRAY(0x4c71158)
Attributes:
commands {'desTempSaving'=>'get $DEVICE setpoint 11','desTempHeating'=>'get $DEVICE setpoint 1', 'temperatur3.sollsetz'=>'desired-temp:5.0,12.0,18.0,19.0,20.0,20.5,21.0,21.5,22.0,22.5,23.0,23.5,24.0','reportedState' => 'get $DEVICE swmStatus','thermostatMode' => 'get $DEVICE thermostatMode;get $DEVICE setpoint'}
room Übersicht
valueColumns {\
setpointSparTemp => 1,
setpointTemp => 2,\
temperature => 3,\
temperatur3 => 3,\
reportedState => 4,\
timestamp => 5,\
battery => 6,\
thermostatmode => 7,\
}
valueFormat {temperature => "%.1f°C",
AM2301_Temperature => "%.1f°C",
setpointTemp => "%.1f°C",
timestamp => {ReadingsTimestamp($DEVICE,"temperature","")}
}
valueStyle {($READING eq "temperature" && $VALUE < ReadingsNum($DEVICE, "setpointTemp",undef))?'style="color:red;text-align:right;font-weight:bold"':($VALUE eq "00")?'style="visibility:hidden"':'style="color:green;text-align:right",'}