Module pyControl4.climate
Controls Control4 Climate Control devices.
Classes
class C4Climate (C4Director, item_id)
-
Expand source code
class C4Climate(C4Entity): # ------------------------ # HVAC and Fan States # ------------------------ async def getHVACState(self): """Returns the current HVAC state (e.g., on/off or active mode).""" return await self.director.getItemVariableValue(self.item_id, "HVAC_STATE") async def getFANState(self): """Returns the current power state of the fan (True=on, False=off).""" return await self.director.getItemVariableValue(self.item_id, "FAN_STATE") # ------------------------ # Mode Getters # ------------------------ async def getHVACMode(self): """Returns the currently active HVAC mode.""" return await self.director.getItemVariableValue(self.item_id, "HVAC_MODE") async def getHVACModes(self): """Returns a list of supported HVAC modes.""" return await self.director.getItemVariableValue(self.item_id, "HVAC_MODES_LIST") async def getFANMode(self): """Returns the currently active fan mode.""" return await self.director.getItemVariableValue(self.item_id, "FAN_MODE") async def getFANModes(self): """Returns a list of supported fan modes.""" return await self.director.getItemVariableValue(self.item_id, "FAN_MODES_LIST") async def getHoldMode(self): """Returns the currently active hold mode.""" return await self.director.getItemVariableValue(self.item_id, "HOLD_MODE") async def getHoldModes(self): """Returns a list of supported hold modes.""" return await self.director.getItemVariableValue(self.item_id, "HOLD_MODES_LIST") # ------------------------ # Setpoint Getters # ------------------------ async def getCoolSetpointF(self): """Returns the cooling setpoint temperature in Fahrenheit.""" return await self.director.getItemVariableValue(self.item_id, "COOL_SETPOINT_F") async def getCoolSetpointC(self): """Returns the cooling setpoint temperature in Celsius.""" return await self.director.getItemVariableValue(self.item_id, "COOL_SETPOINT_C") async def getHeatSetpointF(self): """Returns the heating setpoint temperature in Fahrenheit.""" return await self.director.getItemVariableValue(self.item_id, "HEAT_SETPOINT_F") async def getHeatSetpointC(self): """Returns the heating setpoint temperature in Celsius.""" return await self.director.getItemVariableValue(self.item_id, "HEAT_SETPOINT_C") # ------------------------ # Sensor Readings # ------------------------ async def getHumidity(self): """Returns the current humidity percentage.""" return await self.director.getItemVariableValue(self.item_id, "HUMIDITY") async def getCurrentTemperatureF(self): """Returns the current ambient temperature in Fahrenheit.""" return await self.director.getItemVariableValue(self.item_id, "TEMPERATURE_F") async def getCurrentTemperatureC(self): """Returns the current ambient temperature in Celsius.""" return await self.director.getItemVariableValue(self.item_id, "TEMPERATURE_C") # ------------------------ # Setters / Commands # ------------------------ async def setCoolSetpointF(self, temp): """Sets the cooling setpoint temperature in Fahrenheit.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_COOL", {"FAHRENHEIT": temp}, ) async def setCoolSetpointC(self, temp): """Sets the cooling setpoint temperature in Celsius.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_COOL", {"CELSIUS": temp}, ) async def setHeatSetpointF(self, temp): """Sets the heating setpoint temperature in Fahrenheit.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_HEAT", {"FAHRENHEIT": temp}, ) async def setHeatSetpointC(self, temp): """Sets the heating setpoint temperature in Celsius.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_HEAT", {"CELSIUS": temp}, ) async def setHvacMode(self, mode): """Sets the HVAC operating mode (e.g., heat, cool, auto).""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_MODE_HVAC", {"MODE": mode}, ) async def setFanMode(self, mode): """Sets the fan operating mode (e.g., auto, on, circulate).""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_MODE_FAN", {"MODE": mode}, ) async def setPreset(self, preset): """Applies a predefined climate preset by name.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_PRESET", {"NAME": preset}, ) async def setHoldMode(self, mode): """Sets the hold mode.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_MODE_HOLD", {"MODE": mode}, )
Creates a Control4 object.
Parameters
C4Director
- AC4Director
object that corresponds to the Control4 Director that the device is connected to.item_id
- The Control4 item ID.Ancestors
Methods
async def getCoolSetpointC(self)
-
Expand source code
async def getCoolSetpointC(self): """Returns the cooling setpoint temperature in Celsius.""" return await self.director.getItemVariableValue(self.item_id, "COOL_SETPOINT_C")
Returns the cooling setpoint temperature in Celsius.
async def getCoolSetpointF(self)
-
Expand source code
async def getCoolSetpointF(self): """Returns the cooling setpoint temperature in Fahrenheit.""" return await self.director.getItemVariableValue(self.item_id, "COOL_SETPOINT_F")
Returns the cooling setpoint temperature in Fahrenheit.
async def getCurrentTemperatureC(self)
-
Expand source code
async def getCurrentTemperatureC(self): """Returns the current ambient temperature in Celsius.""" return await self.director.getItemVariableValue(self.item_id, "TEMPERATURE_C")
Returns the current ambient temperature in Celsius.
async def getCurrentTemperatureF(self)
-
Expand source code
async def getCurrentTemperatureF(self): """Returns the current ambient temperature in Fahrenheit.""" return await self.director.getItemVariableValue(self.item_id, "TEMPERATURE_F")
Returns the current ambient temperature in Fahrenheit.
async def getFANMode(self)
-
Expand source code
async def getFANMode(self): """Returns the currently active fan mode.""" return await self.director.getItemVariableValue(self.item_id, "FAN_MODE")
Returns the currently active fan mode.
async def getFANModes(self)
-
Expand source code
async def getFANModes(self): """Returns a list of supported fan modes.""" return await self.director.getItemVariableValue(self.item_id, "FAN_MODES_LIST")
Returns a list of supported fan modes.
async def getFANState(self)
-
Expand source code
async def getFANState(self): """Returns the current power state of the fan (True=on, False=off).""" return await self.director.getItemVariableValue(self.item_id, "FAN_STATE")
Returns the current power state of the fan (True=on, False=off).
async def getHVACMode(self)
-
Expand source code
async def getHVACMode(self): """Returns the currently active HVAC mode.""" return await self.director.getItemVariableValue(self.item_id, "HVAC_MODE")
Returns the currently active HVAC mode.
async def getHVACModes(self)
-
Expand source code
async def getHVACModes(self): """Returns a list of supported HVAC modes.""" return await self.director.getItemVariableValue(self.item_id, "HVAC_MODES_LIST")
Returns a list of supported HVAC modes.
async def getHVACState(self)
-
Expand source code
async def getHVACState(self): """Returns the current HVAC state (e.g., on/off or active mode).""" return await self.director.getItemVariableValue(self.item_id, "HVAC_STATE")
Returns the current HVAC state (e.g., on/off or active mode).
async def getHeatSetpointC(self)
-
Expand source code
async def getHeatSetpointC(self): """Returns the heating setpoint temperature in Celsius.""" return await self.director.getItemVariableValue(self.item_id, "HEAT_SETPOINT_C")
Returns the heating setpoint temperature in Celsius.
async def getHeatSetpointF(self)
-
Expand source code
async def getHeatSetpointF(self): """Returns the heating setpoint temperature in Fahrenheit.""" return await self.director.getItemVariableValue(self.item_id, "HEAT_SETPOINT_F")
Returns the heating setpoint temperature in Fahrenheit.
async def getHoldMode(self)
-
Expand source code
async def getHoldMode(self): """Returns the currently active hold mode.""" return await self.director.getItemVariableValue(self.item_id, "HOLD_MODE")
Returns the currently active hold mode.
async def getHoldModes(self)
-
Expand source code
async def getHoldModes(self): """Returns a list of supported hold modes.""" return await self.director.getItemVariableValue(self.item_id, "HOLD_MODES_LIST")
Returns a list of supported hold modes.
async def getHumidity(self)
-
Expand source code
async def getHumidity(self): """Returns the current humidity percentage.""" return await self.director.getItemVariableValue(self.item_id, "HUMIDITY")
Returns the current humidity percentage.
async def setCoolSetpointC(self, temp)
-
Expand source code
async def setCoolSetpointC(self, temp): """Sets the cooling setpoint temperature in Celsius.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_COOL", {"CELSIUS": temp}, )
Sets the cooling setpoint temperature in Celsius.
async def setCoolSetpointF(self, temp)
-
Expand source code
async def setCoolSetpointF(self, temp): """Sets the cooling setpoint temperature in Fahrenheit.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_COOL", {"FAHRENHEIT": temp}, )
Sets the cooling setpoint temperature in Fahrenheit.
async def setFanMode(self, mode)
-
Expand source code
async def setFanMode(self, mode): """Sets the fan operating mode (e.g., auto, on, circulate).""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_MODE_FAN", {"MODE": mode}, )
Sets the fan operating mode (e.g., auto, on, circulate).
async def setHeatSetpointC(self, temp)
-
Expand source code
async def setHeatSetpointC(self, temp): """Sets the heating setpoint temperature in Celsius.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_HEAT", {"CELSIUS": temp}, )
Sets the heating setpoint temperature in Celsius.
async def setHeatSetpointF(self, temp)
-
Expand source code
async def setHeatSetpointF(self, temp): """Sets the heating setpoint temperature in Fahrenheit.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_SETPOINT_HEAT", {"FAHRENHEIT": temp}, )
Sets the heating setpoint temperature in Fahrenheit.
async def setHoldMode(self, mode)
-
Expand source code
async def setHoldMode(self, mode): """Sets the hold mode.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_MODE_HOLD", {"MODE": mode}, )
Sets the hold mode.
async def setHvacMode(self, mode)
-
Expand source code
async def setHvacMode(self, mode): """Sets the HVAC operating mode (e.g., heat, cool, auto).""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_MODE_HVAC", {"MODE": mode}, )
Sets the HVAC operating mode (e.g., heat, cool, auto).
async def setPreset(self, preset)
-
Expand source code
async def setPreset(self, preset): """Applies a predefined climate preset by name.""" await self.director.sendPostRequest( f"/api/v1/items/{self.item_id}/commands", "SET_PRESET", {"NAME": preset}, )
Applies a predefined climate preset by name.