Hello guys,
Since the update to 4.1, I have observed the phenomenon that the setpoints for the thermostats fluctuate. I did not have this phenomenon in version 3.4.2. There was always a snowflake on the thermostat (FRITZ!DECT 301, FritzOS 7.57) when I set the setpoint temperature to 6 °C and MAX when I set the temperature to 30 °C.
If I set the setpoint temperature to 30 °C via the item (please refer the first picture), it fluctuates around 28 °C. What could be the error here? It used to show MAX in the thermostat and stayed there. I don’t understand this behaviour. The item specifies a temperature. Why does it fluctuate? At temperatures 15 - 25 °C I have a straight line.
Here is a picture of the Diagramm
The item in the model on the other hand, is almost straight but with 29.5 °C and does not match with the diagram above.
Here is a section of my code (ECMAScript 5.1):
var ThermostatLinks = 'Wohnzimmer_links_Solltemperatur';
var t_min = itemRegistry.getItem('WohnzimmerAbsenkung').getState();
var t_max = itemRegistry.getItem('WohnzimmerHeizen').getState();
if (ButtonStatus == 'ON')
{
if (FensterLinks == 'CLOSED' && FensterRechts == 'CLOSED')
{
switch(HeatingPeriod(heute))
{
case WINTER_HEIZBETRIEB:
events.sendCommand(ThermostatLinks, t_max);
events.sendCommand(ThermostatRechts, t_max);
events.sendCommand(Status, 'Winterregelung: Heizen');
break;
case WINTER_TAGBETRIEB:
events.sendCommand(ThermostatLinks, t_min);
events.sendCommand(ThermostatRechts, t_min);
events.sendCommand(Status, 'Winterregelung: Absenkung');
break;
case SOMMER:
events.sendCommand(Thermostat_StatusLinks, 'OFF');
events.sendCommand(Thermostat_ModeLinks, 'MANUAL');
events.sendCommand(Thermostat_StatusRechts, 'OFF');
events.sendCommand(Thermostat_ModeRechts, 'MANUAL');
events.sendCommand(Status, 'Keine Regelung: Sommerbetrieb');
break;
}
} else {
events.sendCommand(Thermostat_StatusLinks, 'OFF');
events.sendCommand(Thermostat_StatusRechts, 'OFF');
events.sendCommand(Status, 'Keine Regelung: Fenster geöffnet');
}
} else {
events.sendCommand(Thermostat_StatusLinks,'OFF');
events.sendCommand(Thermostat_StatusRechts,'OFF');
events.sendCommand(Status, 'Keine Regelung: Manuell deaktiviert');
}
I determine the distinction between summer and winter using a state machine. The script is queried every 10 s:
The behaviour is exemplary and applies to all thermostats.