Home Assistant 中 amcrest.set_color_bw 动作详解:切换 Amcrest / Dahua 摄像头彩色与黑白模式

Home Assistant 中 amcrest.set_color_bw 动作详解:切换 Amcrest / Dahua 摄像头彩色与黑白模式 Home Assistant 中 amcrest.set_color_bw 动作详解切换 Amcrest / Dahua 摄像头彩色与黑白模式【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读本文围绕 Home Assistant 的amcrest.set_color_bw动作展开讲解如何通过自动化、脚本或开发者工具将 Amcrest及兼容的 DahuaIP 摄像头在彩色color、黑白bw与自动auto三种色彩模式之间切换。读完本文你将掌握该动作在 UI 与 YAML 两种场景下的完整配置方法、color_bw参数的取值语义、目标target选择规则以及它与其他 Amcrest 动作如音频开关的组合用法。动作概述什么是 amcrest.set_color_bwamcrest.set_color_bw是 Home Assistant 中Amcrest集成提供的一个动作action用于设置摄像头传感器的色彩模式。官方文档对该动作的定义是Sets the color mode of an Amcrest or Dahua camera.设置 Amcrest 或 Dahua 摄像头的色彩模式。通过该动作你可以将摄像头强制切换为彩色模式color将摄像头强制切换为黑白模式bw让摄像头自动根据环境光照决定使用彩色还是黑白auto。这一能力对夜间监控、红外切换、日间/夜间画面一致性控制等场景非常实用尤其适合在自动化中结合日落日出时间或照度传感器让摄像头在白天显示彩色、夜间自动进入黑白红外模式。该动作对应的文档页面位于仓库的 source/_actions/amcrest.set_color_bw.markdown属于 Home Assistant 文档站点中标准化生成的动作参考页之一。页面头部元数据front matter声明了它的domain: amcrest并挂接了相关联动作related actionsamcrest.enable_audio与amcrest.disable_audio说明摄像头画面控制与音频流控制常被放在一起使用。前置条件Amcrest 集成的安装与配置在调用amcrest.set_color_bw之前需要先在 Home Assistant 中配置好Amcrest集成该集成同时兼容 Dahua 摄像头和门铃。集成配置入口文档位于 source/_integrations/amcrest.markdown其基础配置方式是在configuration.yaml中加入# Example configuration.yaml entry amcrest: - host: IP_ADDRESS_CAMERA username: YOUR_USERNAME password: YOUR_PASSWORD核心必填参数如下参数必填类型说明host是string摄像头的 IP 地址或主机名若使用主机名需确保 DNS 解析正常username是string访问摄像头的用户名大多数 Amcrest 设备即使你在 App 中改过用户名也仍然使用adminpassword是string访问摄像头的密码name否string覆盖摄像头显示名称多摄像头场景下强烈建议设置否则摄像头编号在每次重启时可能随机变化默认Amcrest Cameraport否integer摄像头服务端口默认80resolution否string分辨率选项high对应高清1080/720plow对应 VGA640x480p完成配置并重启 Home Assistant 后摄像头实体通常为camera.*域即可被动作定位为目标。值得注意的是从仓库的文档结构看Amcrest 集成目前支持 binary sensor、camera、sensor 等平台见 source/_integrations/amcrest.markdown 中的ha_platforms元数据而amcrest.set_color_bw的目标域被声明为camera。在用户界面UI中使用该动作如果你想以可视化方式构建自动化和脚本Home Assistant 会逐步引导你完成整个动作的配置——选择目标、调整选项并保存全程无需编写 YAML。相关引导文案定义在仓库的 source/_includes/actions/ui_header.md。官方文档给出的 UI 操作步骤如下进入SettingsAutomations scenes设置 自动化与场景打开一个现有的自动化或脚本或选择Create创建新建一个如果是新建自动化在When触发条件部分添加一个触发器脚本不需要触发器在Then do执行动作部分选择Add action添加动作选择要控制的对象在By target按目标参见下文 动作的目标下选择要控制的摄像头也可以选择区域area、设备device或标签label在该目标对应的动作列表中选择Amcrest: Set color modeAmcrest设置色彩模式在Color mode色彩模式字段中选择想要的模式选择Save保存。UI 中的选项在 UI 中该动作只有一个选项字段Color mode色彩模式要设置的色彩模式。选择auto让摄像头自动判断color表示彩色bw表示黑白。该字段的描述文本由文档页面中的{% options_ui %}块提供见 source/_actions/amcrest.set_color_bw.markdown。其渲染逻辑由仓库插件 plugins/options_ui.rb 实现该插件把options_ui块内的 YAML 解析为面向 UI 用户的配置项列表并为每个字段生成名称、必填/可选标记Required / Optional以及 Markdown 描述。在 YAML 中使用该动作对于直接编辑 YAML、或希望精确掌握 Home Assistant 底层行为的开发者文档提供了完整的 YAML 技术参考见 source/_includes/actions/yaml_header.md。在 YAML 中该动作的调用名称为amcrest.set_color_bw。官方文档给出的基础示例action: amcrest.set_color_bw target: entity_id: camera.driveway data: color_bw: auto这段配置会把camera.driveway摄像头设置为自动色彩模式。color_bw的取值有三档取值含义auto由摄像头自动决定彩色或黑白推荐日常使用color强制彩色模式bw强制黑白模式YAML 选项参考color_bw: description: 要设置的色彩模式取值为 auto、color 或 bw 之一。 required: true type: string关键点color_bw是必填参数类型为字符串string合法值仅限auto、color、bw三种传其他值会被摄像头/集成拒绝。该字段的 YAML 选项块由文档中的{% options_yaml %}标签定义其渲染逻辑位于 plugins/options_yaml.rb。该插件复用了配置区块插件 plugins/configuration_basic.rb 的渲染管线解析 YAML 映射后为每个字段生成类型链接、必填/可选徽标和描述最终输出统一的config-vars结构——这意味着文档站点上 UI 选项与 YAML 选项的视觉与信息格式完全一致只是受众不同UI 用户看人话描述YAML 用户看字段名与类型约束。更完整的自动化示例将上述动作放入真实自动化中可以实现日出后彩色、日落后黑白的典型场景alias: Switch driveway camera to B/W at sunset triggers: - trigger: sun event: sunset actions: - action: amcrest.set_color_bw target: entity_id: camera.driveway data: color_bw: bwalias: Switch driveway camera to color at sunrise triggers: - trigger: sun event: sunrise actions: - action: amcrest.set_color_bw target: entity_id: camera.driveway data: color_bw: color你也可以把动作放进脚本script中按需调用或在仪表盘上通过按钮/场景触发同样的切换逻辑。动作的目标Targetsamcrest.set_color_bw必须指定一个目标target目标是动作作用的对象。你可以把目标指向单个实体、设备、区域、楼层或标签Home Assistant 会对该目标下所有匹配的camera实体执行动作。目标规则的定义位于 source/_includes/actions/targets.md具体支持的目标类型如下Entity实体单个camera实体例如camera.living_roomDevice设备属于某台设备的所有camera实体Area区域某个房间或区域内的所有camera实体Floor楼层某个楼层上的所有camera实体Label标签共享某个标签的所有camera实体。你还可以在一次动作中组合不同类型的目标例如同时指定一个具体实体和一个区域让动作同时对两者生效。这一点对多摄像头部署非常有用——比如给院子里所有摄像头打上同一个标签然后一条动作即可把整组摄像头批量切换到黑白模式。快速试跑在开发者工具中调用如果你只想验证摄像头行为而不想写任何 YAML可以直接在开发者工具中试跑。相关指引见 source/_includes/actions/try_it.md打开SettingsToolsActions设置 工具 动作搜索amcrest.set_color_bw填入字段后选择Perform action执行动作即可在真实实体上立即看到效果。试跑时注意目标Target至少选择一个摄像头实体color_bw字段填入auto、color或bw观察画面输出彩色/黑白/自动三种模式应有肉眼可见的差异自动模式通常依赖环境光照阈值。相关动作与组合使用该动作的文档页在 front matter 中声明了两个相关联动作见 source/_actions/amcrest.set_color_bw.markdown 的related_actions字段相关动作的列表渲染逻辑见 source/_includes/actions/related.mdamcrest.enable_audio启用 Amcrest / Dahua 摄像头的音频流amcrest.disable_audio禁用摄像头的音频流。这三个动作可以协同编排。例如夜间模式自动化可以同时把摄像头切到黑白模式并关闭音频流白天再一并恢复彩色与音频alias: Night mode for cameras triggers: - trigger: time at: 22:00:00 actions: - action: amcrest.set_color_bw target: area: driveway data: color_bw: bw - action: amcrest.disable_audio target: area: drivewayalias: Day mode for cameras triggers: - trigger: time at: 07:00:00 actions: - action: amcrest.set_color_bw target: area: driveway data: color_bw: color - action: amcrest.enable_audio target: area: drivewayenable_audio/disable_audio两个动作均无额外参数只需指定目标即可参见 source/_actions/amcrest.enable_audio.markdown 与 source/_actions/amcrest.disable_audio.markdown。常见问题与排查思路动作执行后画面没有变化确认摄像头本身支持色彩模式切换部分低端型号无红外/黑白硬件能力确认color_bw只传了auto、color、bw三值之一检查 Amcrest 集成日志中是否有摄像头返回的错误码。找不到动作确认amcrest集成已正确配置且摄像头实体已生成动作按目标域camera过滤先确保目标选择的是摄像头实体。无法一次切换多台摄像头检查目标选择方式——应使用区域、楼层或标签而不是逐个指定实体多目标可以混用参见 source/_includes/actions/targets.md。夜间自动模式切不回彩色auto模式由摄像头内部的日夜切换逻辑决定若摄像头未正确配置照度阈值可能长期停留在黑白此时可改用定时/日落触发的显式color与bw切换来保证行为可控。如果问题仍无法解决可参考 source/_includes/actions/stuck.md 中的建议在社区论坛发帖时附上你调用的动作、目标实体以及预期与实际表现以便快速定位。小结amcrest.set_color_bw是控制 Amcrest / Dahua 摄像头日夜画面的标准入口参数极少但语义明确UI 中通过Amcrest: Set color mode可视化配置YAML 中通过必填的color_bw字段auto/color/bw精确控制。结合目标系统实体、设备、区域、楼层、标签与相关联的音频开关动作你可以用少量自动化代码实现整个安防摄像头系统的日夜策略管理。本文所引用的官方动作文档位于 source/_actions/amcrest.set_color_bw.markdownAmcrest 集成整体配置可查阅 source/_integrations/amcrest.markdown。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考