sxjml 发表于 2020-3-19 01:30:54

在另一个HA服务器中显示本地HA传感器数值的方法和思路

本帖最后由 sxjml 于 2020-3-19 02:01 编辑

遇到的需求:有两个地方都有HA,A地有个HA,B地有个HA,想让A地作为主HA,再A地的HA里面实时显示B地HA的传感器数值

现状:两地HA都是电信大内网,宽带获取到没公网ip,没法映射



找了半天,愣是没找到,ha的官方坛子里面找了下似乎有个第三方插件可以解决,但又担心升级后挂掉~而且还得外网ip


然后就想,能否给外网扔个mqtt服务器,让俩ha都接入这个mqtt,然后就在官方主页找mqtt的相关说明,结果还是找到了一个,算是很简单解决这个问题!

我是这样做的:
先搞了个便宜的云服务器,国外的,反正是测试,装了个mqtt服务(先用的是emq测试,这个很容易装)
B地里面有温度传感器平均值、湿度传感器平均值、nh3传感器这三个传感器都需要在A地的HA里面显示,我是这样干的

B地的HA里面configuration.yaml增加了配置

mqtt_statestream:
base_topic: xiwang
include:
    entities:
      - sensor.xwtempmean
      - sensor.xwhummean
      - sensor.nh3sensor
publish_attributes: true
publish_timestamps: true
mqtt:
broker: 公网mqtt服务器地址
port: 1883
username: 用户名
password: 密码

A地的HA里面configuration.yaml增加了配置

mqtt:
broker: 公网mqtt服务器地址
port: 1883
username: 用户名
password: 密码sensor:
- platform: mqtt
    state_topic: "xiwang/sensor/xwtempmean/mean"
    name: "xw temp"
    unit_of_measurement: '°C'
- platform: mqtt
    state_topic: "xiwang/sensor/xwhummean/mean"
    name: "xw hum"
    unit_of_measurement: '%'
- platform: mqtt
    state_topic: "xiwang/sensor/nh3sensor/state"
    name: "xw nh3"
    unit_of_measurement: 'ppm'   


经过这样配置就A地的HA就能显示出来B地的传感器了数值了,大概目测了一下,肉眼观察数字几乎无延迟。




至于这个mqtt那串state_topic: "xiwang/sensor/nh3sensor/state“看起来像地址”是啥,我是用mqtt.fx测试出来的,我也不是很明白,总之就是解决了,至于开关什么的,我也没有,暂时也没这个需求,应该类似都能实现吧~






参考资料:
https://www.home-assistant.io/integrations/mqtt_statestream/
https://www.home-assistant.io/integrations/sensor.mqtt/
https://www.home-assistant.io/docs/mqtt/broker
http://mqttfx.jensd.de/index.php/download

nnkn 发表于 2020-3-19 07:05:27

感动!我去试试看

karl_31 发表于 2020-3-19 07:41:54

本帖最后由 karl_31 于 2020-3-19 07:47 编辑

中国移动免费MQTT可以用,挺不错的

sxjml 发表于 2020-3-19 14:29:58

karl_31 发表于 2020-3-19 07:41
中国移动免费MQTT可以用,挺不错的

不知道有没有限制

新生活 发表于 2020-3-19 17:28:03

666,谢谢分享

magic900321 发表于 2020-3-19 23:19:32

养鸡的门槛还是有点高啊:lol
页: [1]
查看完整版本: 在另一个HA服务器中显示本地HA传感器数值的方法和思路