
智能家居物联网【免费下载链接】Home-AssistantConfig:house: Home Assistant configuration Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to :star: it. Updated FREQUENTLY!项目地址https://gitcode.com/gh_mirrors/ho/Home-AssistantConfig点击查看免费下载导读本篇文章以 Bear Stone Smart Home即 Home-AssistantConfig 开源仓库中 config/input_boolean 目录 的说明文档为核心系统讲解这套成熟智能家居配置中「输入布尔input_boolean」的设计哲学与实践方式如何用guest_mode、alert_mode等模式开关调控整体家居行为又如何用good_night、flash、locator等**一次性触发器one-shot triggers**让自动化按需执行后自动复位。读完本文你将掌握一套可复制的「开关 自动化 脚本」解耦架构并理解每种布尔量在本仓库中对应的真实调用链。一、为什么用 input_boolean 而不是直接写死在自动化里在 Home Assistant 中input_boolean是官方提供的一种「辅助实体helpers」类型本质是一个可被存储、可在 UI 翻转、可被自动化/脚本/语音助手读写的人为布尔开关。它的价值在于把决策状态与执行逻辑解耦自动化只负责监听开关变化逻辑集中在automation/目录下的 YAML 中用户、Alexa、App 或仪表盘只需要翻转开关无需触碰任何配置文件同一开关可以被多个自动化共享形成全局模式。原文档将其定位概括为一句话Mode and trigger toggles that drive automations (guest mode, parties, presence overrides, one-shot triggers)——即驱动自动化的模式开关与触发器覆盖客人模式、聚会、在场状态覆盖与一次性触发等场景。本仓库将所有input_boolean集中放在 config/input_boolean/ 目录并通过 configuration.yaml 中的input_boolean: !include_dir_merge_named input_boolean以目录合并命名方式自动加载自动化同样通过automation: !include_dir_merge_list automation加载因此新增一个开关文件即可全局生效无需改动主配置。二、三个文件的分工模式、触发器与后台开关原文档推荐浏览三个核心文件它们的分工清晰文件定位内容home_modes.yaml家庭模式Guest、alert、notification 开关被大量自动化跨文件引用guest_mode、alert_mode、speech_notifications、text_notificationstrigger_booleans.yaml一次性触发开关常作为自动化守卫guardsgood_night、meal_time、work、flash、color_tornado、guard_dog、locatorhidden_booleans.yaml后台开关从 UI 隐藏仅由自动化/脚本内部使用home_stats这种按职责拆文件的做法让新增功能时能快速定位改模式去home_modes加一次性触发去trigger_booleans加内部状态去hidden_booleans。三、家庭模式开关home_modes.yaml全局行为的总闸home_modes.yaml 定义四个模式开关全部带 MDI 图标与明确的初始值guest_mode: name: Guest Mode icon: mdi:account-alert initial: off alert_mode: name: Alert Mode icon: mdi:alert-octagram initial: off speech_notifications: name: Speech Notifications icon: mdi:speaker-wireless initial: on text_notifications: name: Text Notifications icon: mdi:cellphone-wireless initial: on注意一个细节speech_notifications与text_notifications的initial为on即默认启用语音与文本通知而guest_mode与alert_mode默认关闭。这体现了默认安全、按需开启的设计取向。3.1 guest_mode客人模式与家庭在场联动guest_mode是本仓库引用最广的开关之一涉及语音反馈、晚安流程、定时任务、厨房灯光等多个自动化。它的核心逻辑在 config/automation/Speech/guest_mode.yaml开启反馈监听input_boolean.guest_mode从off到on触发script.speech_engine播报Guest Mode has been enabled. Must be a party.并附带天气、车库与窗户检查自动复位当group.family从not_home变为home家人回家且guest_mode仍为on时调用input_boolean.turn_off关闭并播报Guest Mode has been disabled and normal automations will continue.——客人模式随着家人归来自动失效无需手动复位。guest_mode还作为条件贯穿多个自动化典型用途是抑制打扰性行为good_night.yaml 在触发晚安流程前要求guest_mode为off避免客人到访时误关灯光Timed_Triggers/2200.yaml 用模板not is_state(input_boolean.guest_mode, on) or is_state(group.bed, on)判断何时执行夜间任务Timed_Triggers/night_watchdog.yaml、sunrise_turn_off.yaml、wake_up.yaml、away.yaml 均以guest_mode作为条件灯光侧kitchen_lights_and_accents.yaml 与 kitchen_sink_circadian.yaml 依据guest_mode决定是否执行默认场景tv_time_on_and_off.yaml 也在监听它。这形成一条清晰链路UI/Alexa 翻转开关 → 状态触发自动化 → 语音播报 → 条件抑制其他自动化 → 家人回家自动复位。3.2 alert_mode警报模式——高风险事件的提升通道alert_mode用于标记当前处于高风险/警报状态开启后允许夜间或非常规时段执行语音播报。其典型写入方是 High_Wind_Speed_Check.yaml风传感器sensor.pirateweather_wind_speed分三档触发above: 30/40/60对应 advisory / severe / emergency 三级在发送notify_engine推送后调用input_boolean.turn_on input_boolean.alert_mode并让speech_engine播报风况紧急档wind_severity emergency还会调用script.emergency。alert_mode的消费方是 speech_processing.yaml语音播报的条件之一是非休眠时段group.bedoff 且 08:00–22:00或alert_mode为 on——也就是说警报模式下任何时间都可以播报播报完成后第 132-136 行会input_boolean.turn_off同时复位alert_mode与lastmsg。此外 door_opened.yaml 也会引用它。3.3 speech_notifications / text_notifications语音与文本推送的总开关这两个开关分别在两条核心执行链路上充当第一道闸门语音通道script.dog_barkconfig/script/dog_bark.yaml在播放狗叫音频前要求input_boolean.speech_notifications为on同时叠加时间09:00–20:00与group.bed状态条件speech_processing.yaml 同样要求其开启才执行 TTS文本通道script.notify_engineconfig/script/notify_engine.yaml在发送手机推送前第一条件就是input_boolean.text_notifications为on。由此住户可以在不修改任何自动化文件的前提下一键静音全屋语音播报或手机推送——这正是用开关替代改代码的直观体现。四、一次性触发器trigger_booleans.yaml触发—执行—自动复位trigger_booleans.yaml 中 7 个开关全部遵循同一种one-shot 模式自动化监听开关off → on变化并执行动作随后立刻turn_off复位等待下次触发。这样开关不会卡在 on再次触发也天然有效。good_night: name: Good Night initial: off meal_time: name: Meal Time initial: off work: name: Work initial: off flash: name: Flash initial: off color_tornado: name: Color Tornado! initial: off guard_dog: name: Guard Dog initial: off locator: name: Locator icon: mdi:map-marker-account initial: off逐一对应真实自动化开关消费自动化执行内容good_nightgood_night.yaml触发晚安例行程序关闭户外季节性灯光、厨房/主卫装饰灯、运动检测调用script.interior_off并熄灭告警面板屏幕亮度。注意其触发源还包括 SleepIQ 双人床传感器to: on即按开关或上床都能进入流程meal_timemealtime.yaml打开餐区与厨房灯、关闭客厅灯随即复位workwork.yaml关闭餐区/厨房/客厅灯打开light.office_lamp复位——一键切换工作环境flashflash_all.yamllight.turn_on entity_id: all执行flash: long并对 20 个具体灯光逐一长闪其中light.den_lamp被注释停用完成后复位——常用于找人或通知color_tornadocolor_tornado.yaml对light.justin_go开启 Hue 的effect: colorloop色彩循环随即复位——聚会助兴guard_dogguard_dog.yaml触发script.dog_bark播放狗吠音频守卫效果delay 10 分钟后复位同时lock.front_door从locked到unlocked也会触发条件是group.garage_doors处于closedlocatorlocator.yaml触发script.speech_engine播报全家人位置随后复位。文件注释明确说明其设计用途配合 Alexa 语音Alexa, turn on locator其中guard_dog与good_night展示了一个进阶技巧触发器布尔可以与真实传感器/实体状态或组合成同一触发让人工开关与物理事实殊途同归。而flash、color_tornado则展示了触发器作为乐子/演示开关的玩法——它们本质上是把复杂的多步动作封装成一个语义清晰的单词开关。五、后台开关hidden_booleans.yaml隐藏的内部状态hidden_booleans.yaml 目前只有一个成员home_stats: name: Home Stats initial: off它服务于 config/automation/Speech/home_stats.yaml自动化监听group.family从not_home变为home持续 3 分钟或input_boolean.home_stats从off到on随后先wait_template等待group.garage_doors全部closed超时 5:30再调用speech_engine播报室内外天气、垃圾日、车库与窗户检查——即家人进门后的归家简报。它被归类为 hidden 是因为它通常不被手动操作家人归来自动触发才是主路径开关只是提供一条手动补充通道例如按下一个实体按钮立即播报。把这类偶发手动、常态自动的状态放到隐藏文件能避免 UI 上出现过多无关开关。六、命名与组织技巧原文档的两条实战建议原文档末尾给出两条 Tips与仓库实践完全吻合在 UI 或通过脚本翻转布尔值来引导自动化避免改配置文件。本仓库中开关的翻转既可以来自 UI 实体、仪表盘按钮如 dashboards/overview 下的卡片也可以来自自动化自身的input_boolean.turn_off/turn_on如 guest_mode 的自动复位、one-shot 的自动复位还可以来自 Alexa 语音locator的设计即为此。这套机制让改行为从改 YAML降级为拨开关。给实验性开关加上功能名前缀保持组织清晰。观察trigger_booleans.yamlgood_night、meal_time、work、flash都是动作语义命名一眼可知其用途而color_tornado、guard_dog、locator则是特色功能命名。结合按文件home_modes / trigger / hidden分组的结构整个input_boolean空间不需要额外文档也能自解释。七、如何接入自己的配置要复用这套模式只需三步创建开关文件在config/input_boolean/下新建或编辑 YAML按模式 / 触发器 / 隐藏分类存放每个开关提供name、icon可选、initial挂载配置确认主配置 configuration.yaml 含input_boolean: !include_dir_merge_named input_boolean自动化用automation: !include_dir_merge_list automation加载编写自动化用platform: state监听input_boolean.xxx的from: off/to: on执行动作后在 action 末尾input_boolean.turn_off复位one-shot 模式或在条件中引用开关模式/守卫模式。本仓库的自动化还大量使用mode: single/mode: restart与max_exceeded: silent如 good_night.yaml避免开关高频翻转造成重复执行这一点在自建 one-shot 时同样值得照搬。八、小结一套状态与逻辑解耦的完整样板回顾整个 input_boolean 体系可以看到 Bear Stone Smart Home 的核心设计脉络模式开关home_modes定义当前处于什么状态——是否待客、是否警报、是否静音——被众多自动化作为条件引用形成全局行为总闸触发器开关trigger_booleans定义现在执行一次什么动作——晚安、用餐、工作、闪灯、派对、守卫、找人——由 UI/Alexa 触发后由自动化消费并自动复位隐藏开关hidden_booleans承载纯内部状态保持 UI 整洁三者在 configuration.yaml 的统一挂载下配合 automation 与 script 目录构成可维护、可语音控制、可渐进扩展的自动化骨架。对任何希望少改配置、多控行为的 Home Assistant 玩家来说这套 input_boolean 组织方式是现成的、经过真实家居环境验证的参考样板给新功能加一个语义清晰的开关远比在多个自动化里反复堆叠条件更容易长期维护。赞分享智能家居物联网【免费下载链接】Home-AssistantConfig:house: Home Assistant configuration Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to :star: it. Updated FREQUENTLY!项目地址https://gitcode.com/gh_mirrors/ho/Home-AssistantConfig点击查看免费下载相关推荐智能家居自动化入门Home-AssistantConfig中的10个实用技巧智能家居自动化入门Home AssistantConfig中的10个实用技巧 想要打造真正的智能家居体验吗Home Assistant作为最强大的开源智能家智能家居物联网如何在华为昇腾NPU上部署RapidOCR5步快速入门如何在华为昇腾NPU上部署RapidOCR5步快速入门 想要在华为昇腾NPU上体验 RapidOCR 的极致性能加速吗本文将为您提供一个完整的 华为昇腾NP智能家居时间触发自动化Home-AssistantConfig如何实现日出日落智能控制智能家居时间触发自动化Home AssistantConfig如何实现日出日落智能控制 想要让您的智能家居系统自动跟随自然节律运行吗Home Assista智能家居物联网上一篇如何在3分钟内给React项目嵌入Web终端wterm快速上手教程下一篇tgrep安装教程Homebrew、Cargo源码构建与预编译二进制3种方式任选其一创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考