MQTT中文站
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
      • Node-RED 安装部署
      • Node-RED 用户指南
      • Node-RED 创建节点
      • Node-RED 示例教程
      • Node-RED 开发流程
      • Node-RED 接口参考
      • Node-RED 配置模板
      • Node-RED 常见问题
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册

使用Home Assistant的MQTT灯光控制说明

2 年前 • Home Assistant

Home Assistant允许您控制支持MQTT的灯光设备。它支持设置亮度、色温、效果、闪烁、开/关、RGB颜色、过渡、XY颜色和白色值。

当MQTT设备不具备状态主题以发布状态变更时,MQTT灯将以一种"即时更新模式"工作。这意味着,Home Assistant将立即更改设备状态,假设每次命令都会立即成功执行,而不必等待设备状态的确认。但是,如果这些状态消息以RETAIN标志发布,MQTT灯将在订阅后接收到立即的状态更新,并以正确的状态开始。反之,如果没有状态主题可用,开关的初始状态将为false/off。

在MQTT设备拥有状态主题的情况下,MQTT灯可以选择"即时更新模式",即使状态主题可用。"即时更新模式"意味着每次命令后,设备状态都会立即生效,无需等待设备实际状态的反馈。

这种操作模式的选择取决于您的设备和需求。如果您遇到不正确的灯光操作,可以尝试启用"即时更新模式",以获得更快的状态反馈。

即使状态主题可用,也可以强制启用即时更新模式。如果遇到有问题的灯光操作,请尝试启用它。

# 示例 configuration.yaml 配置项
light:
  - platform: mqtt
    command_topic: "office/rgb1/light/switch"

配置变量说明:

  • command_topic(必填):用于发布更改开关状态的MQTT主题。
  • brightness_command_topic(可选):用于发布更改灯光亮度的MQTT主题。
  • brightness_scale(可选):定义MQTT设备的最大亮度值(默认为255,即100%)。
  • brightness_state_topic(可选):订阅以接收亮度状态更新的MQTT主题。
  • brightness_value_template(可选):定义提取亮度值的模板。
  • color_temp_command_topic(可选):用于发布更改灯光色温状态的MQTT主题。色温命令滑块的范围为157到500 mireds(微逆度)。
  • color_temp_state_topic(可选):订阅以接收色温状态更新的MQTT主题。
  • color_temp_value_template(可选):定义提取色温值的模板。
  • effect_command_topic(可选):用于发布更改灯光效果状态的MQTT主题。
  • effect_state_topic(可选):订阅以接收效果状态更新的MQTT主题。
  • effect_value_template(可选):定义提取效果值的模板。
  • effect_list(可选):灯光支持的效果列表。
  • name(可选):开关的名称,默认为“MQTT开关”。
  • optimistic(可选):定义开关是否以“即时更新模式”工作的标志。如果没有定义状态主题,默认为true,否则为false。
  • payload_off(可选):表示禁用状态的负载,默认为“OFF”。
  • payload_on(可选):表示启用状态的负载,默认为“ON”。
  • qos(可选):状态主题的最大QoS级别。默认为0,也将用于发布消息。
  • retain(可选):发布的消息是否应具有保留标志。

RGB

  • rgb_command_template(可选):定义用于发送给RGB状态的消息的模板。可用变量:red、green和blue。
  • rgb_command_topic(可选):用于发布更改灯光RGB状态的MQTT主题。
  • rgb_state_topic(可选):订阅以接收RGB状态更新的MQTT主题。
  • rgb_value_template(可选):定义提取RGB值的模板。
  • state_topic(可选):订阅以接收状态更新的MQTT主题。
  • state_value_template(可选):定义提取状态值的模板。

白色(单色)

  • white_value_command_topic(可选):用于发布更改灯光白色值的MQTT主题。
  • white_value_state_topic(可选):订阅以接收白色值更新的MQTT主题。
  • white_value_value_template(可选):定义提取白色值的模板。

XY

  • xy_command_topic(可选):用于发布更改灯光XY状态的MQTT主题。
  • xy_state_topic(可选):订阅以接收XY状态更新的MQTT主题。
  • xy_value_template(可选):定义提取XY值的模板。

请确保您的主题精确匹配,而且是不同的主题。有些主题/some-topic/some-topic

XY和RGB不能同时使用。如果两者都提供了,XY将覆盖RGB。

MQTT灯光控制平台与其他灯光控制MQTT平台的比较:

功能mqttmqtt_jsonmqtt_template
亮度✔✔✔
色温✔✔✔
效果✔✔✔
闪烁✘✔✔
RGB颜色✔✔✔
过渡✘✔✔
XY颜色✔✔✘
白色值✔✔✔

示例:

启用支持亮度和RGB的灯光:

# 示例配置:启用支持亮度和RGB的灯光
light:
  - platform: mqtt                # 使用MQTT作为灯光控制平台
    name: "办公室灯RGB"            # 设备的名称,可以自定义
    state_topic: "office/rgb1/light/status"  # 订阅状态更新的MQTT主题
    command_topic: "office/rgb1/light/switch"  # 发布命令以更改开关状态的MQTT主题
    brightness_state_topic: "office/rgb1/brightness/status"  # 订阅亮度状态更新的MQTT主题
    brightness_command_topic: "office/rgb1/brightness/set"   # 发布命令以更改亮度的MQTT主题
    rgb_state_topic: "office/rgb1/rgb/status"                # 订阅RGB状态更新的MQTT主题
    rgb_command_topic: "office/rgb1/rgb/set"                 # 发布命令以更改RGB颜色的MQTT主题
    state_value_template: "{{ value_json.state }}"           # 从消息中提取状态值的模板
    brightness_value_template: "{{ value_json.brightness }}" # 从消息中提取亮度值的模板
    rgb_value_template: "{{ value_json.rgb | join(',') }}"    # 从消息中提取RGB颜色值的模板
    qos: 0                         # MQTT消息的质量服务等级
    payload_on: "ON"               # 表示开启状态的MQTT消息有效负载
    payload_off: "OFF"             # 表示关闭状态的MQTT消息有效负载
    optimistic: false              # 即时更新模式,即使有状态主题也强制开启,用于确保状态及时更新

启用仅亮度(无RGB支持)的灯光:

# 示例配置:启用仅亮度的灯光
light:
  - platform: mqtt                # 使用MQTT作为灯光控制平台
    name: "办公室灯光"            # 设备的名称,可以自定义
    state_topic: "office/rgb1/light/status"         # 订阅状态更新的MQTT主题
    command_topic: "office/rgb1/light/switch"       # 发布命令以更改开关状态的MQTT主题
    brightness_state_topic: 'office/rgb1/light/brightness'  # 订阅亮度状态更新的MQTT主题
    brightness_command_topic: 'office/rgb1/light/brightness/set'  # 发布命令以更改亮度的MQTT主题
    qos: 0                         # MQTT消息的质量服务等级
    payload_on: "ON"               # 表示开启状态的MQTT消息有效负载
    payload_off: "OFF"             # 表示关闭状态的MQTT消息有效负载
    optimistic: false              # 即时更新模式,即使有状态主题也强制开启,用于确保状态及时更新

实现示例:

  • 使用NodeMCU板(ESP8266)的基本示例来控制其内置LED(开/关)。
  • 另一个示例用于控制RGB LED(开/关、亮度和颜色)。

扩展阅读:

XY颜色

灯光的"XY状态"通常指的是灯光的颜色坐标。在某些灯光系统中,颜色可以使用XY坐标来表示,而不是传统的RGB颜色或色温(Kelvin)值。

这里的"XY状态"表示灯光当前的颜色坐标,其中X和Y分别表示颜色在色域中的位置。通过设置不同的XY坐标,您可以选择不同的颜色。这种方式可以提供更广泛的颜色选择,通常用于支持更复杂的灯光效果和场景。

mireds(微逆度)

"微逆度"是一种用于表示光源色温的单位,通常用符号"mireds"表示,缩写为"M". 它是色温的倒数,以开尔文(K)为单位。更高的微逆度值表示更凉的颜色,而较低的值表示较暖的颜色。这是一个用于度量光源色温的标准单位。

打赏赞(2)微海报分享
mqtt rgb颜色 topic 色温

构建 Vue 项目中的 MQTT 集成:实现实时消息传递

Home Assistant中使用MQTT传感器的示例配置

猜你喜欢

改善基础设施:HiveMQ如何推动智能城市发展

改善基础设施:HiveMQ如何推动智能城市发展

08/07
2024
为什么企业选择全托管HiveMQ云进行MQTT部署

为什么企业选择全托管HiveMQ云进行MQTT部署

07/01
2024
MQTT 赋能工业 PLC 数据采集与应用

MQTT 赋能工业 PLC 数据采集与应用

06/30
2024
  • 解决方案
    • 智能家居
    • 汽车与出行
    • 工业制造
    • 能源电力
    • 石油石化
    • 交通物流
    • 零售
  • 学习
    • MQTT 规范
    • MQTT 教程
    • MQTT 软件
    • MQTT 客户端库
    • MQTT 服务器
    • 工具和应用程序
  • 关于我们
    • 了解创科慧仁
    • 加入创科慧仁
    • 投资者关系
    • 新闻动态
    • 合作伙伴
    • 联系我们
  • 友情链接
    • Modbus中文网
    • 跳动符号官网
    • 物联网世界
    • RFID世界网
    • 深圳物联网协会
    • isoftstone软通动力
    • 中国发展战略学研究会
    • B.P商业伙伴
  • 在线客服
  • 全国客户服务热线
    4006909885
  • 官方公众号
  • 联系邮箱
    contact@mqtt.cn
Copyright © 2025 MQTT中文站. All rights reserved.Designed by nicetheme. 京ICP备20029519号
在线客服

微信咨询

微信咨询

4006909885

服务热线 7*24小时

电话咨询
  • 首页
  • MQTT 学习
    • MQTT 入门
    • MQTT 进阶
    • MQTT 编程
    • MQTT 实例
    • MQTT 要点
    • MQTT5 要点
    • MQTT 工具
    • MQTT 客户端库
    • MQTT 服务器
    • Zigbee2MQTT
    • Sparkplug
    • Home Assistant
    • Node-RED
  • MQTT 规范
    • MQTT 5 规范
    • MQTT 3.1.1 规范
    • MQTT 3.1 规范
    • MQTT-SN v1.2规范
    • Sparkplug® v3.0.0规范
  • 产品中心
  • 解决方案
    • 环境监测
    • 工业制造
    • 智慧水利
    • 水利管网
    • 积水监测
    • 综合管廊
    • 档案库房
    • 交通物流
    • 智慧城市
    • 智慧农业
    • 智慧养殖
    • 能源电力
    • 石油石化
    • 智能家居
    • 物联网
    • 汽车与出行
  • 使用文档
  • MQTT 云平台
  • 登录
  • 注册
string(5) "2.0.0"