DistKV的库存管理
项目描述
DistHASS是Home Assistant和DistKV之间的连接。
它将
在DistKV中设置Home Assistant的标准配置
具有命令行支持以注册(或未注册)设备
工作原理
Home Assistant通过MQTT进行通信。DistKV有一个非常通用的MQTT适配器。因此,我们可以将Home Assistant的实体配置、其状态以及Home Assistant为改变状态而发出的命令存储在DistKV中。
MQTT只能传输二进制数据。因此,DistHASS创建了一些支持二进制数据(将它们转换为开/关)、整数/浮点数和JSON的编解码器。
因此,从下到上
Mosquitto在端口51883上
基本安装,不需要持久性或保留消息
Serf可以工作,但会带来额外延迟
DistKV,使用Mosquitto作为骨干
具有JSON等转换规则的专用用户
DistMQTT
保留消息存储在DistKV中
透明通道,如果需要,可以转发未修改的MQTT消息
其他一切广播为DistKV消息
使用端口1883
Home Assistant或任何其他MQTTish
必须使用MQTT 3.11
如果您有只能使用 MQTT 3.1 的设备,您可以通过透明范围教它们直接与 Mosquitto 通信。
设置
运行 distkv client hass init -i
为 Home Assistant 添加一个 DistKV 用户,并将其 conv 参数设置为 hassco
distkv client auth user param NAME conv hassco
启动 DistMQTT
distkv: server: host: '127.0.0.1' port: 27586 auth: "password name=NAME password=PASSWORD" topic: [mqtt, msg] transparent: - [home,ass,event] - [home,ass,state] retain: [home, ass] listeners: default: max-connections: 500 type: tcp local-tcp: bind: 127.0.0.1:1883 remote-tcp: bind: 10.107.3.18:1883 timeout-disconnect-delay: 2 plugins: ['auth_anonymous'] auth: allow-anonymous: true
如果您有无法通过 DistMQTT 通信的设备,请修改 transparent 列表,以包含您当前使用的 MQTT 前缀。
修改 Home Assistant 的 MQTT 集成以进行自动发现。如果您通过 GUI 设置,所需的文件是 .storage/core.config_entries。找到具有 "domain": "mqtt" 的条目,并修改其 data 条目以读取
"data": { "broker": "127.0.0.1", "discovery": true, "discovery_prefix": "home/ass/dyn", "port": 1883, },
重新启动 Home Assistant。
运行 distkv client hass add light foo bar。
在 Home Assistant GUI 中应该会出现一个新的灯光。
您可以尝试将其打开,但它将在一两秒钟后自动关闭,因为没有设备。
运行 distkv client hass state light foo bar True。
此命令手动更改状态。
在 Home Assistant 中,灯光打开。
添加一个实际设备来监控灯光的 DistKV 命令条目/其 [Dist]MQTT 命令主题,实际上影响硬件并更改状态,这是您的任务。
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。