jethrocarr / echonetlite-hvac-mqtt-service

A small application that syncs state between MQTT and ECHONET Lite HVAC systems
MIT License
14 stars 6 forks source link

Discovery fails followed by Watchdog Timeout #2

Open AaronMountford opened 4 years ago

AaronMountford commented 4 years ago

Hi Jethro, I think I've got everything setup as required, however the application isn't able to detect my heatpump. Any idea why this might be?

Setup:

HassOS 3.12 (vmware image) Home Assistant 0.107.7 Mosquitto broker 51 (Hass.io add on store) Mitsubishi PEAD-M100-JAA(D) Ducted Echonetlite: enabled

Docker image downloaded successfully using docker pull jethrocarr/echonetlite-hvac-mqtt:latest

Problem seems to be that the application is unable to discover/see messages from the HVAC? HASS Console output:

# iptables -I INPUT -p udp --dport 3610 -j ACCEPT
# docker run --rm --network host -e MQTT_URL=mqtt://mosquitto:(redacted)@localhost:1883 jethrocarr/echonetlite-hvac-mqtt:latest
Using MQTT endpoint: mqtt://mosquitto:(redacted)@localhost:1883
Successfully established MQTT connection, starting scan for devices
Running ECHONET Lite discovery (10 seconds)
Discovery completed
Now processing discovered devices...
{}
Polling for device status (every 30 seconds)
Polling for device status (every 30 seconds)
[ERROR] Terminated due to watchdog timeout (no activity for 60 seconds)
#

MQTT Log output:

1585537360: New connection from 172.30.32.1 on port 1883.
[INFO] found mosquitto on Home Assistant
1585537361: New client connected from 172.30.32.1 as mqttjs_4d18aeed (p2, c1, k60, u'mosquitto').
1585537420: Socket error on client mqttjs_4d18aeed, disconnecting.
AaronMountford commented 4 years ago

I've also tried extending the discovery time, and then interacting with the official app on my phone to generate traffic on the network, but no dice

# docker run --rm --network="host" -e DISCOVERY_TIME=120 -e WATCHDOG_TIMER=140 -e MQTT_URL=mqtt://mosquitto:(redacted)@localhost:1883 jethrocarr/echonetlite-hvac-mqtt:latest
Using MQTT endpoint: mqtt://mosquitto:(redacted)@localhost:1883
Successfully established MQTT connection, starting scan for devices
Running ECHONET Lite discovery (120 seconds)
Discovery completed
Now processing discovered devices...
{}
Polling for device status (every 30 seconds)
[ERROR] Terminated due to watchdog timeout (no activity for 140 seconds)
jethrocarr commented 4 years ago

Not sure on this one, sorry @AaronMountford. It looks like a network connectivity issue, maybe with how the Linux systems's firewall is configured, or something with the network setup between the heat pump and your Linux system.

I assume you have the heat pump and the Linux system on the same layer 2 network, ie exact same lan, no NAT, VLANs or other weird routing stuff between them? We need to use broadcast packets to discover Echonetlite devices.

Sounds like you are running this Linux system inside VMWare? I'd check the VMWare network configuration for this guest, you would want the Linux system on it's own IP directly connected to the layer 2 network, rather than inside a NATed/virtual network, since that would break the broadcast discovery.