Climate entity
Climate entity 控制 temperature、humidity 或 fans,例如 A/C systems 和 humidifiers。从 homeassistant.components.climate.ClimateEntity 派生 platform entity。
属性
Properties 应该只从内存返回信息,而不要执行 I/O(如网络请求)。请实现 update() 或 async_update() 来获取数据。
HVAC 模式
HVAC mode 是要求 device 执行的行为。
你只能使用 HVACMode
enum 提供的内置 HVAC modes。
对于修改一个或多个 modes 行为的 device options,请添加一个 preset。
HVAC 动作
HVAC action 描述 device 为了完成请求的 HVAC mode 和 preset 而正在执行的 当前 动作, 由 device 自己的 control algorithms 决定。
你只能使用 HVACAction enum 提供的内置 HVAC actions。
除非 device 报告额外的信息,否则可能无法准确确定正确的 HVAC action。 例如:
- 具有 hysteresis 的 thermostat 在目标 temperature 附近有一个 ambiguous temperature range,它可能正在执行动作,也可能处于 idle。
- 可变功率 device 在达到目标 temperature 后可能会继续以较低的功率运行,而不是变成 idle。
对于无法准确确定 HVAC action 的 devices,不要实现 hvac_action。
预设
Device 可能有不同的 presets,它可能希望向用户展示。常见的 presets 是 "Away" 或 "Eco"。有一些内置的 presets 会提供 translations,但也允许添加自定义 presets。
风扇模式
Device 的 fan 可以有不同 states。有一些内置的 fan modes,但也允许使用自定义 fan modes。
摆风模式
Device fan 可以有不同 swing modes,它希望用户了解/控制。
对于不能独立控制 vertical 和 horizontal swing 的集成,所有可能的 options 都应列在 swing_modes 中;否则 swing_modes 提供 vertical 支持,swing_horizontal_modes 应提供 horizontal 支持。
水平摆风模式
Device fan 可以有不同 horizontal swing modes,它希望用户了解/控制。
仅当集成能够独立控制 vertical 和 horizontal swing 时,才应实现此项。在这种情况下,swing_modes property 提供 vertical 支持,swing_horizontal_modes 提供 horizontal 支持。
支持的功能
Supported features 通过使用 ClimateEntityFeature enum 中的值来定义,
并使用按位或(|)运算符组合。
方法
设置 HVAC 模式
开启
关闭
切换
设置预设模式
设置风扇模式
设置湿度
设置摆风模式
设置水平摆风模式
设置温度
ClimateEntity 有内置 validation,确保 target_temperature_low 参数小于或等于 target_temperature_high 参数。因此,集成不需要在自己的实现中对此进行 validation。

