我被这个问题难住了。
我有一个OpenSprinkler3.0控制器,它将向MQTT代理报告。我有一台安装了homesistant和mosquito to broker的RPi4。我有一个单独的RPiZero,安装了Raspbian和mosquito to 1.5.7。我有一个指向我的路由器的域(mqtt.example.com),端口1883转发到RPiZero上的1883。
这是RPiZero配置
pid_file /var/run/mosquitto.pid
listener 1883
protocol mqtt
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
allow_anonymous true
password_file /etc/mosquitto/passwordfile
connection homeassistant
address mqtt.example.com:8883
bridge_cafile /etc/ssl/certs/ISRG_Root_X1.pem
#topic # out 0
#topic # in 0
topic # both 0
remote_username xxxxxx
remote_password xxxxxx
如果我为RPiZero使用WAN地址(mqtt.example.com:1883), Open Sprinkler连接并向代理发送消息,没有问题。
但是使用LAN IP地址(192.168.1.51:1883),它不起作用。奇怪的是。如果我为运行homeassistant(192.168.1.50:1883)的RPi4代理输入LAN IP,它将连接到该代理并正常工作。
我尝试过Android和Windows MQTT客户端,它们使用WAN和LAN地址连接到两个代理都很好。因此,无论出于何种原因,OpenSprinkler可以使用MQTT代理连接到一个RPi,但不能连接到另一个RPi。其他客户没有同样的问题。什么好主意吗?
谢谢,赛斯
重启路由器解决了这个问题。其他一些设备表现异常,导致我重新启动。Google WIFI现在不是我最喜欢的产品了…
谢谢!