homeassistant connect to iotlink with mqtt

引言

最近趁着国补买了一个屏幕挂灯,这个屏幕挂灯可以在米家中控制;于是寻思可否在HA中在我电脑开机时自动打开;于是在网上找到了相关工具IOTLink

这个工具可以将windows的相关事件通过MQTT发送出去只要,Home Assistant正确监听即可完成相关自动化

但官方的yml配置过于陈旧无法使用,本文主要解决以下两个报错:

获取“Mosquitto Mqtt Broker”插件的信息失败。

1
2
3
4
5
6
7
8
9
10
不可能将 platform: mqtt 添加到”binary_sensor“配置来配置”mqtt binary_sensor“。查看文档可获取有关如何设置此集成的更多信息。

要解决这个问题:

从 YAML 配置文件的”binary_sensor:“配置中移除 platform: mqtt。
重新启动 Home Assistant 。
应当移除以下示例:

binary_sensor:
- platform: mqtt

解决方案

首先声明我的环境 ,见前文:homeassistant初始化及HACS的安装

我是全新安装的新版2025.3.1

获取“Mosquitto Mqtt Broker”插件的信息失败

使用MQTT需要一个Broker也就是服务器来中转各个client的消息;官方是推荐的从设置设备与服务添加集成中搜索添加

但我不知道哪里有问题使用自带的MQTT一直报错

现在我知道了,我没有安装官方的Mosquitto broker加载项,而这个加载项需要docker拉取镜像,必须路由器开启全局代理解决

我没有解决这个问题,而是在设置加载项加载项商店中安装了另一个支持的MQTT Broker EMQX

安装后配置登录完成后同样打开MQTT集成,使用自定义配置添加EMQX中的Broker配置

mqtt_config

连接完成后即可在EMQX中看到客户端在线,但此时打开MQTT会发现没有任何实体,此时需要我们通过/homeassistant/configuration.yaml配置添加我们的IOTLink传感器(sensor)

不可能将 platform: mqtt 添加到”binary_sensor“配置来配置”mqtt binary_sensor“

IOTLink官方表示PC在线状态的yml如下

1
2
3
4
5
6
7
8
9
binary_sensor:
- platform: mqtt
name: "My Computer - Connected"
state_topic: "iotlink/workgroup/my-computer/lwt"
value_template: "{{ value }}"
payload_on: "ON"
payload_off: "OFF"
device_class: "connectivity"
qos: 1

将此传感器配置添加到HA中即可看到上文的错误,通过查看MQTT Sensor文档我们知道此处正确的格式为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
mqtt:
sensor:
- name: "My Computer - Idle Time"
state_topic: "iotlink/workgroup/my-computer/windows-monitor/stats/system/idle-time"
unit_of_measurement: 'seconds'
icon: mdi:timer
value_template: "{{ value }}"
availability_topic: "iotlink/workgroup/my-computer/lwt"
payload_available: "ON"
payload_not_available: "OFF"

binary_sensor:
- name: "My Computer - Connected"
state_topic: "iotlink/workgroup/my-computer/lwt"
value_template: "{{ value }}"
payload_on: "ON"
payload_off: "OFF"
device_class: "connectivity"
qos: 1
unique_id: "homepc_007_on"
device:
name: "my-computer"
identifiers:
- "homepc_007"

调整后应用配置即可在HA中看到传感器

iotlink_state

这里顺便说明一下IOTLink的用法:

  • 首先从官网上安装最新版
  • 安装完成后可在windows中查看到快捷菜单

iotlink_short

先启动服务再打开配置文件

  • 修改配置为Broker的配置,一般配置hostname port usernamepassword即可

iot_link

配置完成后会自动重载,将上面修改好的yml配置到HA后即可正常使用了

假如你不知道你MQTTTopic打开IOTLink的日志记录

topic_location

假如总是连接不上可以使用POSTMan或者其它的MQTT Explorer检查

参考资料


homeassistant connect to iotlink with mqtt
http://blog.wangshuai.app/2025-03-12-homeassistant连接iotlink/
作者
王帅
发布于
2025年3月12日
许可协议