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 命令主题,实际上影响硬件并更改状态,这是您的任务。 
项目详情
下载文件
下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。