To model such a thermostat with a deadband (and anything with hysteresis as well), I see two potential ways:
- AvailabilityManager
- EnergyManagementSystem (EMS).
Note that I haven't tested any of the two, that's going to be on you.
EnergyManagementSystem (EMS)
- Define an EMS sensor for the zone temperature (
Zone_Temp
) - Define an actuator for for the Schedule of the zone cooling thermostat (
Cooling_Sch_Value
) - Define a program that will use the zone temperature sensor to actuator the schedule value: set it to a very high value to turn cooling off.
- For the cooling schedule, define it as being 24C for the
SummerDesignDay
(so that any sizing is done properly), and 80C for AllOtherDays
(maybe you want to specify the WinterDesignDay
if you have heating too...)
Program:
IF Zone_Temp >= 28
Set Cooling_Sch_Value = 24
ELSEIF Zone_Temp <= 24
Set Cooling_Sch_Value = 80
ENDIF
The EMS Application Guide is a good resource, especially Example 5.
Couple of notes: you might want to pay special attention to the Capacity Control Method
of the fan coil. You might also want to to actually use something kind of a delta (Set Cooling_Sch_Value = 23.5, to ensure at some point it goes below 24C instead of modulating to meet the setpoint).
Availability Manager
The ZoneHVAC:FourPipeFanCoil
allows for an Availability Manager List.
Perhaps you can use a combination of AVM:LowTemperatureTurnOff set to 24C and AVM:HighTemperatureTurnOn set to 28C to turn on/off the fan.
For the "Sensor" node you'll use the zone air node.