ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Home Assistant 使用指南:通过 netatmo.set_temperature_with_end_datetime 按截止时间控制 Netatmo 恒温器

Home Assistant 使用指南:通过 netatmo.set_temperature_with_end_datetime 按截止时间控制 Netatmo 恒温器 Home Assistant 使用指南通过 netatmo.set_temperature_with_end_datetime 按截止时间控制 Netatmo 恒温器【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io本文围绕 Home Assistant 的netatmo.set_temperature_with_end_datetime动作action展开讲解如何为 Netatmo 气候设备设置一个持续到指定日期时间的临时目标温度并让设备在到期后自动回归原有加热计划。读完本文你将掌握该动作在自动化编辑器与 YAML 中的完整用法、参数细节、目标target选择方式以及与 Netatmo 温度控制家族其他动作按时长设温、按预设模式设温、切换计划、清除手动设置的组合实战方案。动作概览一次有时限的临时调温netatmo.set_temperature_with_end_datetime是 Home Assistant 中 Netatmo 集成提供的 climate 域动作之一。它的作用是为指定的 Netatmo 气候设备设置一个目标温度并使该设置保持生效直到你选择的日期和时间。当设定的时刻到达时设备会自动恢复执行其常规加热计划schedule无需你再手动做任何恢复操作。适用设备包括 Netatmo Smart Thermostat 的 Climate 一节。典型场景今晚想提前把客厅暖到 21°C但只持续到 22:00之后恢复日常计划周末下午临时调高温度到固定时间自动切回节能计划避免忘改。动作定义文件位于 source/_actions/netatmo.set_temperature_with_end_datetime.markdown其中明确了动作名称、参数与行为语义。在自动化编辑器中操作UI 方式如果你更习惯可视化配置可以完全在 UI 中完成无需写 YAML进入设置自动化与场景Automations scenes。打开现有自动化或脚本或选择创建自动化创建新自动化。若是新建自动化在When当...时部分添加一个触发器脚本Scripts不需要触发器它们在被其他自动化或实体调用时运行。在Then do然后执行部分选择添加动作Add action。选择要控制的设备。在按目标By target下目标说明见下文 目标Targets选择选中你想控制的 Netatmo 气候设备。从该目标显示的动作列表中选择Set temperature with end date time设置温度并指定结束日期与时间。设置目标温度Target temperature与结束日期与时间End date time。点击保存Save。UI 中的选项选项说明目标温度Target temperature设备的目标温度取值范围为7 到 30 度。结束日期与时间End date time目标温度保持生效的截止日期和时间。在 YAML 中使用动作在 YAML自动化、脚本或场景中以netatmo.set_temperature_with_end_datetime引用该动作。动作定义见 source/_actions/netatmo.set_temperature_with_end_datetime.markdown一个基础示例如下action: netatmo.set_temperature_with_end_datetime target: entity_id: climate.living_room data: target_temperature: 19.5 end_datetime: 2025-04-20 05:04:20该示例将climate.living_room设置为 19.5 度并保持到2025-04-20 05:04:20到点后设备回归其活跃计划。YAML 参数详解参数类型必填说明target_temperaturefloat是设备的目标温度取值范围7 到 30度。end_datetimedatetime是目标温度保持生效的截止日期和时间格式为YYYY-MM-DD HH:MM:SS。需要注意end_datetime使用 Home Assistant 本地时区下的日期时间字符串例如2025-04-20 05:04:20。因为这是一个绝对时刻型参数编写自动化时建议结合当前时间动态计算而不是硬编码一个固定时间点否则下次运行时该时间可能已经过期。结合模板动态计算结束时间end_datetime可以接受模板渲染后的值因此适合从现在起 N 小时这类动态场景。例如在data中使用模板action: netatmo.set_temperature_with_end_datetime target: entity_id: climate.living_room data: target_temperature: 20.5 end_datetime: {{ (now() timedelta(hours3)).strftime(%Y-%m-%d %H:%M:%S) }}这会将目标温度设为 20.5 度并在当前时间起 3 小时后自动结束。如果你的需求更简单——持续一段时间后自动恢复可以直接使用同族的netatmo.set_temperature_with_time_period动作它接受相对时长而非绝对时刻见下文。目标Targets选择该动作必须有目标target。目标即动作的作用对象你可以把动作指向单个实体、设备、区域、楼层或标签Home Assistant 会对该目标背后的每一个匹配的netatmo气候实体执行动作目标机制见 source/_includes/actions/targets.md实体Entity某个具体的netatmo气候实体如climate.living_room。设备Device属于某个设备的所有netatmo气候实体。区域Area某个房间/区域内的所有netatmo气候实体。楼层Floor某个楼层上的所有netatmo气候实体。标签Label共享某个标签的所有netatmo气候实体。你还可以在一次动作中混合多种目标类型例如同时添加一个具体实体和一个区域让动作一次作用于两者。这在客厅恒温器 卧室区域需要同时升温时非常实用action: netatmo.set_temperature_with_end_datetime target: entity_id: climate.living_room area_id: bedroom data: target_temperature: 20.0 end_datetime: 2025-04-20 22:00:00与温度控制家族的其他动作配合Netatmo 集成围绕临时调温/恢复计划提供了一组互补动作均列在关联文档的related_actions元数据中。理解它们的差异能让你在不同场景中选对工具按时长设置温度netatmo.set_temperature_with_time_period当需求是持续一段时间例如接下来的 3 小时而不是直到某个时刻时使用 netatmo.set_temperature_with_time_period。它接受time_period参数默认时长为 3 小时action: netatmo.set_temperature_with_time_period target: entity_id: climate.living_room data: target_temperature: 19.5 time_period: hours: 2该示例将climate.living_room设为 19.5 度并保持接下来的 2 小时时长结束后面临同样的行为——设备返回其活跃计划。两者如何选如果结束时刻是确定的如23:00 必须恢复用set_temperature_with_end_datetime如果结束条件是相对时长如加热 3 小时用set_temperature_with_time_period更直观且天然规避了硬编码时间过期的问题。按预设模式设置温度netatmo.set_preset_mode_with_end_datetime如果你的目标不是某个具体温度而是启用 Netatmo 的预设模式如离家away、防冻frost_guard则使用 netatmo.set_preset_mode_with_end_datetimeaction: netatmo.set_preset_mode_with_end_datetime target: entity_id: climate.living_room data: preset_mode: away end_datetime: 2025-04-20 05:04:20可用预设为away与frost_guard同样支持到期后自动恢复计划。切换加热计划netatmo.set_schedule若要直接切换到某个在 Netatmo App 中创建的加热计划例如节能的 Away 计划使用 netatmo.set_schedule。注意计划名必须与 Netatmo 端配置的计划名完全一致action: netatmo.set_schedule target: entity_id: climate.living_room data: schedule_name: Away该文档还附带一个完整的自动化示例所有人离开时切换到离家计划automation: - alias: Switch to the away schedule when everyone leaves triggers: - trigger: state entity_id: zone.home to: 0 actions: - action: netatmo.set_schedule target: entity_id: climate.living_room data: schedule_name: Away清除手动设置netatmo.clear_temperature_settingset_temperature_with_end_datetime设置的是一次性的、带截止时间的临时覆盖。如果想在任何时刻主动撤销手动温度设置、让设备立刻回到当前预设或计划则使用 netatmo.clear_temperature_settingaction: netatmo.clear_temperature_setting target: entity_id: climate.living_room该动作没有额外选项只需指定目标即可。它很适合放在自动化的末尾用来撤销本次自动化早些时候设置的手动温度保证流程结束时设备状态干净、可控。实战场景完整的自动化示例把以上动作组合起来可以构建贴近真实的自动化。例如工作日晚上提前预热浴室到 22:30 自动恢复计划周末则跳过automation: - alias: Preheat bathroom on weekdays until 22:30 triggers: - trigger: time at: 19:00 conditions: - condition: time weekday: - mon - tue - wed - thu - fri actions: - action: netatmo.set_temperature_with_end_datetime target: entity_id: climate.bathroom data: target_temperature: 21.5 end_datetime: {{ (now().replace(hour22, minute30, second0, microsecond0)).strftime(%Y-%m-%d %H:%M:%S) }}再如手动调温后若忘记恢复用时间触发器兜底清理automation: - alias: Clear manual override at midnight triggers: - trigger: time at: 00:00:00 actions: - action: netatmo.clear_temperature_setting target: entity_id: climate.living_room注意end_datetime模板中直接拼接固定时刻时请确认目标时区与 Home Assistant 主时区一致避免跨时区计算偏差。集成前提与底层行为说明使用该动作前需要先完成 Netatmo 集成配置见 Netatmo 集成文档拥有一个 Netatmo 账号并在 Netatmo App 中完成设备添加与联网Home Assistant 实例可访问互联网——集成通过云轮询Cloud Polling与 Netatmo 云服务通信ha_iot_class: Cloud Polling可选但推荐配置外网可达与外部 URL以接收 Netatmo webhook 推送事件netatmo_event提升响应速度。集成文档还提供了设备触发器Device triggers其中Smart Thermostat与Smart Valve支持三类触发器目标温度被手动设置Target temperature set manually、已恢复其计划Has resumed its schedule、切换到某预设Switched to ...子类型为 Schedule、Frost guard、Away。这些触发器与本文动作是天然的搭档例如用set_temperature_with_end_datetime设置临时温度后可以监听 Target temperature set manually 事件确认生效或监听 Has resumed its schedule 确认到期自动恢复成功。注意事项Good to know到期自动恢复当结束日期与时间到达时气候设备自动返回其活跃的加热计划无需额外动作关联文档 source/_actions/netatmo.set_temperature_with_end_datetime.markdown 明确说明此行为。温度范围target_temperature仅接受7 到 30 度之间的浮点值超出该范围的动作可能被设备拒绝。相对时长与绝对时刻绝对时刻用end_datetime相对时长用set_temperature_with_time_period的time_period默认 3 小时按场景选择最合适的动作。计划名匹配使用set_schedule时计划名必须与 Netatmo App 中配置的计划名完全一致。手动清除任何手动温度设置都可以通过netatmo.clear_temperature_setting提前撤销。快速验证在 UI 中试运行如果你只想先确认动作效果而不写 YAML进入设置工具动作Actions搜索netatmo.set_temperature_with_end_datetime填入target_temperature与end_datetime字段点击执行动作Perform action即可在真实实体上观察温度设置的变化以及到期后的自动恢复行为相关说明见 source/_includes/actions/try_it.md。小结netatmo.set_temperature_with_end_datetime是把临时舒适与自动回归计划结合起来的关键动作一个target_temperature加一个end_datetime即可实现到点自动恢复配合set_temperature_with_time_period、set_preset_mode_with_end_datetime、set_schedule与clear_temperature_setting可以完整覆盖 Netatmo 恒温设备的定时调温、预设切换、计划管理与手动覆盖清理等全部日常场景。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表