跳转到主要内容

MoaT-KV的Home Assistant连接器

项目描述

这是Home Assistant和MoaT-KV之间的链接。

它将

  • 在MoaT-KV中设置Home Assistant的标准配置

  • 具有命令行支持以注册(或未注册)设备

操作原理

Home Assistant通过MQTT进行通信。MoaT-KV有一个相当通用的MQTT适配器。因此,我们可以在MoaT-KV中存储Home Assistant的实体配置,以及它们的状态,以及Home Assistant发布的命令以更改状态。

MQTT只能传输二进制数据。DistHASS因此创建了一些支持二进制数据(将它们转换为开/关)、整数/浮点数和JSON的编解码器。

因此,从下到上

  • Mosquitto在端口51883上

    • 基本安装,不需要持久性或保留消息

    • Serf会工作,但它会引入额外延迟

  • MoaT-KV,使用Mosquitto作为骨干

    • 具有JSON等转换规则的专用用户

  • DistMQTT

    • 保留消息存储在MoaT-KV中

    • 如果需要,可以透明地转发未修改的MQTT消息

    • 其他所有内容都作为MoaT-KV消息广播

    • 使用端口1883

  • Home Assistant或任何其他MQTTish事物

    • 必须使用MQTT 3.11

如果您有只能使用MQTT 3.1的设备,您可以通过透明范围教它们直接与Mosquitto通信。

设置

  • 运行 moat kv ha init -i

  • 为Home Assistant添加一个MoaT-KV用户,并将其conv参数设置为hassco

    moat kv auth user param NAME conv hassco
  • 使用如下配置启动MoaT-MQTT

    kv:
        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

    如果您有直接使用MQTT的设备,请修改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,
    },
  • 运行 moat kv ha conv

    这教会了MoaT-KV自动转换Home Assistant数据,以便MoaT-KV中的所有内容都将二进制状态视为布尔值,温度为浮点数,配置的JSON是真实的数据结构,等等。

    如果没有这个转换,它都是字符串。我们不希望这样。

  • 重新启动Home Assistant。

  • 运行 moat kv ha add light foo bar

    新的灯光应该会出现在Home Assistant GUI中。

    您可以尝试打开它,但几秒钟后它会自动关闭,因为没有设备。

  • 运行 moat kv ha state light foo bar True

    此命令会手动更改状态。

    在Home Assistant中,灯光的指示灯会亮起。

  • 添加实际设备来监控灯光的MoaT-KV命令条目/其[MoaT-KV-]MQTT命令主题,实际影响硬件并更改状态,这是您的任务。

项目详情


下载文件

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

源分布

moat-kv-ha-0.5.3.tar.gz (10.7 kB 查看哈希值)

上传时间

构建分布

moat_kv_ha-0.5.3-py3-none-any.whl (7.8 kB 查看哈希值)

上传时间 Python 3

由以下支持

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