跳转到主要内容

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 命令主题,实际上影响硬件并更改状态,这是您的任务。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

distkv_hass-0.4.0.tar.gz (8.5 kB 查看散列)

上传时间

构建分布

distkv_hass-0.4.0-py3-none-any.whl (6.8 kB 查看散列)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面