diff --git a/docs/entity_climate.md b/docs/entity_climate.md index a5e43701..3394ba30 100644 --- a/docs/entity_climate.md +++ b/docs/entity_climate.md @@ -3,7 +3,7 @@ title: Climate Entity sidebar_label: Climate --- -> This entry is incomplete. Contribution welcome. +> A climate entity is a device that controls temperature, humidity, or fans, such as A/C systems and humidifiers. Derive entity platforms from [`homeassistant.components.climate.ClimateDevice`](https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/climate/__init__.py) ## Properties @@ -11,6 +11,221 @@ sidebar_label: Climate | Name | Type | Default | Description | ---- | ---- | ------- | ----------- +| current_fan_mode | string | None | Returns the current fan mode. +| current_hold_mode | string | None | The current hold mode, e.g., home, away, temp. +| current_humidity | float | None | The current humidity. +| current_operation | string | None | The current operation (e.g. heat, cool, idle). Used to determine `state`. +| current_swing_mode | string | None | Returns the fan setting. +| current_temperature | float | None | The current temperature. +| fan_list | list | None | Returns the list of available fan modes. +| is_aux_heat_on | bool | None | Returns True if an auxiliary heater is on. +| is_away_mode_on | bool | None | Return true if away mode is on. +| is_on | bool | None | Returns True if device is on. Used to determine `state`. +| max_humidity | int | `DEFAULT_MAX_HUMIDITY` (value == 99) | Returns the maximum humidity. +| max_temp | int | `DEFAULT_MAX_TEMP` (value == 35) | Returns the maximum temperature. +| min_humidity | int | `DEFAULT_MIN_HUMIDITY` (value == 30) | Returns the minimum humidity. +| min_temp | int | `DEFAULT_MIN_TEMP` (value == 7) | Returns the minimum temperature. +| operation_list | list | None | List of available operation modes. +| precision | float | PRECISION_WHOLE | The precision of the temperature in the system: tenths for TEMP_CELSIUS, whole number otherwise. +| state | string | None | Returns the current state. +| state_attributes | dictionary | N/A | The optional state attributes: current temperature, minimum temperature, maximum temperature, and target temperature. +| supported_features | list | `NotImplementedError()` | Returns list of supported features. +| swing_list | list | None | Returns the list of available swing modes. +| target_humidity | float | None | The target humidity. +| target_temperature | float | None | The temperature currently set to be reached. +| target_temperature_high | float | None | The upper bound target temperature +| target_temperature_low | float | None | The lower bound target temperature +| target_temperature_step | float | None | The supported step of target temperature +| temperature_unit | string | `NotImplementedError` | The unit of temperature measurement for the system (e.g. Celsius). + +### States + +| Name | Description +| ---- | ----------- +| STATE_HEAT | The device is set to heat. +| STATE_COOL | The device is set to cool. +| STATE_IDLE | The device is idle. +| STATE_AUTO | The device is set to auto. +| STATE_MANUAL | The device is set to manual. +| STATE_DRY | The device is set to dry. +| STATE_FAN_ONLY | The device is set to fan-only. +| STATE_ECO | The device is set to eco-mode. + +### Supported features + +Supported features constants are combined using the bitwise or (`|`) operator. + +| Name | Description +| ---- | ----------- +| SUPPORT_TARGET_TEMPERATURE | The device supports a target temperature. +| SUPPORT_TARGET_TEMPERATURE_HIGH | The device supports an upper bound target temperature. +| SUPPORT_TARGET_TEMPERATURE_LOW | The device supports a lower bound target temperature. +| SUPPORT_TARGET_HUMIDITY | The device supports a target humidity. +| SUPPORT_TARGET_HUMIDITY_HIGH | The device supports an upper bound target humidity. +| SUPPORT_TARGET_HUMIDITY_LOW | The device supports a lower bound target humidity. +| SUPPORT_FAN_MODE | The device supports fan modes. +| SUPPORT_OPERATION_MODE | The device supports operation modes. +| SUPPORT_HOLD_MODE | The device supports hold modes. +| SUPPORT_SWING_MODE | The device supports swing modes. +| SUPPORT_AWAY_MODE | The device supports away mode. +| SUPPORT_AUX_HEAT | The device supports auxiliary heaters. +| SUPPORT_ON_OFF | The device supports on/off states. + ## Methods +### Set fan mode + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def set_fan_mode(self, fan_mode): + """Set new target fan mode.""" + + async def async_set_fan_mode(self, fan_mode): + """Set new target fan mode.""" +``` + +### Set hold mode + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def set_hold_mode(self, hold_mode): + """Set new target hold mode.""" + + async def async_set_hold_mode(self, hold_mode): + """Set new target hold mode.""" +``` + +### Set humidity + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def set_humidity(self, humidity): + """Set new target humidity.""" + + async def async_set_humidity(self, humidity): + """Set new target humidity.""" +``` + +### Set operation mode + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def set_operation_mode(self, operation_mode): + """Set new target operation mode.""" + + async def async_set_operation_mode(self, operation_mode): + """Set new target operation mode.""" +``` + +### Set swing mode + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def set_swing_mode(self, swing_mode): + """Set new target swing operation.""" + + async def async_set_swing_mode(self, swing_mode): + """Set new target swing operation.""" +``` + +### Set temperature + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def set_temperature(self, **kwargs): + """Set new target temperature.""" + + async def async_set_temperature(self, **kwargs): + """Set new target temperature.""" +``` + +### Turn auxiliary heater on + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def turn_aux_heat_on(self): + """Turn auxiliary heater on.""" + + async def async_turn_aux_heat_on(self): + """Turn auxiliary heater on.""" +``` + +### Turn auxiliary heater off + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def turn_aux_heat_off(self): + """Turn auxiliary heater off.""" + + async def async_turn_aux_heat_off(self): + """Turn auxiliary heater off.""" +``` + +### Turn away mode on + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def turn_away_mode_on(self): + """Turn away mode on.""" + + async def async_turn_away_mode_on(self): + """Turn away mode on.""" +``` + +### Turn away mode off + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def turn_away_mode_off(self): + """Turn away mode off.""" + + async def async_turn_away_mode_off(self): + """Turn away mode off.""" +``` + +### Turn the device on + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def turn_on(self): + """Turn device on.""" + + async def async_turn_on(self): + """Turn device on.""" +``` + +### Turn the device off + +```python +class MyClimateDevice(ClimateDevice): + # Implement one of these methods. + + def turn_off(self): + """Turn device off.""" + + async def async_turn_off(self): + """Turn device off.""" +```