lukasroegner / homebridge-dyson-pure-cool

Plugin for using the Dyson Pure Cool fans in homebridge.
MIT License
296 stars 51 forks source link

HP02 won't communicate #134

Closed Grote4life closed 2 years ago

Grote4life commented 3 years ago

Not sure if Dyson did something recently but the home bridge plugin (running 1.8.1) will no longer communicate with my HP01 running software version 21.04.03.

Worked fine until about a week ago and then the home app just says "turning on", I had auto-update on in the dyson link app so an update may have occurred.

The disonlink app still works but being US based, I cannot control the heating element through it and through IOS home app there is communication to home bridge but any action just gets "turning on"

Log: [DysonPureCoolPlatform] Signed in. [DysonPureCoolPlatform] Credentials for device with serial number xxx are: xxx [DysonPureCoolPlatform] Got devices from the Dyson API.

humanator commented 3 years ago

I'm seeing the same problem. The plugin appears to connect to the HP02, but the device doesn't report back any data or respond to any commands. Other homebridge plugins are working which suggests the problem is something Dyson changed

lukasroegner commented 3 years ago

Start homebridge in debug mode (parameter -D) and check the logs for MQTT connection entries. Those will tell you whether the plugin can establish a connection to your device.

humanator commented 3 years ago

From my logs

[12/7/2020, 8:14:20 PM] [DysonPureCoolPlatform] SERIALNO - MQTT disconnected.
[12/7/2020, 8:14:21 PM] [DysonPureCoolPlatform] SERIALNO - MQTT reconnecting.
arpesenti commented 3 years ago

Same issue here with HP02 (software 21.04.03)

[12/18/2020, 11:06:14 AM] [DysonPureCoolPlatform] Cached accessories loaded. [12/18/2020, 11:06:14 AM] [DysonPureCoolPlatform] Device credentials not stored, asking Dyson API. If you want to prevent communication with the Dyson API, copy the credentials for each device from the coming log entries to the config.json. [12/18/2020, 11:06:14 AM] [DysonPureCoolPlatform] Signing in. Setup Payload: X-HM://[...] Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

┌────────────┐      
└────────────┘     

[12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] Signed in. [12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] Credentials for device with serial number [...] are: [...] [12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] [...] - MQTT connection requested for 192.168.0.25. [12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] Got devices from the Dyson API. [12/18/2020, 11:06:18 AM] [DysonPureCoolPlatform] [...] - MQTT offline. [12/18/2020, 11:06:18 AM] [DysonPureCoolPlatform] [...] - MQTT disconnected. [12/18/2020, 11:06:19 AM] [DysonPureCoolPlatform] [...] - MQTT reconnecting. [12/18/2020, 11:06:21 AM] [DysonPureCoolPlatform] [...] - MQTT disconnected.

Can I get any other debug information?

arpesenti commented 3 years ago

These are the credentails from the Dyson API.

{"Serial":"...","Name":"...","Version":"21.04.03","LocalCredentials":"...","AutoUpdate":true,"NewVersionAvailable":false,"ProductType":"455","ConnectionType":"wss","password":"..."}

Does "ConnectionType" = "wss" means that it is not MQTT but it is instead WebSocket?

Grote4life commented 3 years ago

Same issue here with HP02 (software 21.04.03)

[12/18/2020, 11:06:14 AM] [DysonPureCoolPlatform] Cached accessories loaded. [12/18/2020, 11:06:14 AM] [DysonPureCoolPlatform] Device credentials not stored, asking Dyson API. If you want to prevent communication with the Dyson API, copy the credentials for each device from the coming log entries to the config.json. [12/18/2020, 11:06:14 AM] [DysonPureCoolPlatform] Signing in. Setup Payload: X-HM://[...] Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

┌────────────┐      
└────────────┘     

[12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] Signed in. [12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] Credentials for device with serial number [...] are: [...] [12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] [...] - MQTT connection requested for 192.168.0.25. [12/18/2020, 11:06:15 AM] [DysonPureCoolPlatform] Got devices from the Dyson API. [12/18/2020, 11:06:18 AM] [DysonPureCoolPlatform] [...] - MQTT offline. [12/18/2020, 11:06:18 AM] [DysonPureCoolPlatform] [...] - MQTT disconnected. [12/18/2020, 11:06:19 AM] [DysonPureCoolPlatform] [...] - MQTT reconnecting. [12/18/2020, 11:06:21 AM] [DysonPureCoolPlatform] [...] - MQTT disconnected.

Can I get any other debug information?

I had the exact same issue when i enabled debug mode.

My reconnecting/disconnecting just kept continuing on and on

infinitedr commented 3 years ago

After updating HB to v1.3.0 started having the same issue as well. image

[Update] Didn't change any settings but all of a sudden it started working again. Now I'm totaly lost and don't understand what caused the problem. image

chayerd commented 3 years ago

Hello, I have the same issue. Homebridge works, plugin works but does not communicate with fan and it doesn't report communication problem even if fan is unplugged.

I'm using Hoobs 3.3.3 (latest) and installed this plugin on friday (so latest) but never could make it to communicate with fan, same issue with other Dyson plugin. Controls and status show up in Hoobs and Home app but nothing seems to go to and from the fan. All commands from home app are shown in the hoobs log.

Yesterday I tried a plugin for Hue and hoobs could connect to it.

my config :

"platforms": [ { "platform": "DysonPureCoolPlatform", "plugin_map": { "plugin_name": "homebridge-dyson-pure-cool" }, "devices": [ { "ipAddress": "192.168.1.11", "serialNumber": "PT3-CA-........", "enableAutoModeWhenActivating": false, "enableOscillationWhenActivating": false, "isNightModeEnabled": false, "isJetFocusEnabled": false, "isContinuousMonitoringEnabled": false, "isTemperatureSensorEnabled": false, "isHumiditySensorEnabled": false, "isAirQualitySensorEnabled": false, "isSingleAccessoryModeEnabled": false, "isFullRangeHumidity": false, "isHeatingDisabled": false }, { "ipAddress": "192.168.1.10", "serialNumber": "NM9-CA-........", "enableAutoModeWhenActivating": false, "enableOscillationWhenActivating": false, "isNightModeEnabled": false, "isJetFocusEnabled": false, "isContinuousMonitoringEnabled": false, "isTemperatureSensorEnabled": false, "isHumiditySensorEnabled": false, "isAirQualitySensorEnabled": false, "isSingleAccessoryModeEnabled": false, "isFullRangeHumidity": false, "isHeatingDisabled": false } ], "username": "...", "password": "...", "countryCode": "CA", "updateInterval": 60000, "retrySignInInterval": 5000 } ]

Log: 2021-03-14, 11:21:54 AM Got SIGINT, shutting down Bridge... 2021-03-14, 11:22:00 AM Initializing HAP-NodeJS v0.9.2... 2021-03-14, 11:22:03 AM Loaded plugin 'homebridge-dyson-pure-cool' 2021-03-14, 11:22:03 AM [3/14/2021, 9:22:03 AM] Registering platform 'homebridge-dyson-pure-cool.DysonPureCoolPlatform' 2021-03-14, 11:22:03 AM Loading 1 platforms... 2021-03-14, 11:22:03 AM [DysonPureCoolPlatform] Initializing DysonPureCoolPlatform platform... 2021-03-14, 11:22:03 AM [DysonPureCoolPlatform] Device credentials not stored, asking Dyson API. If you want to prevent communication with the Dyson API, copy the credentials for each device from the coming log entries to the config.json. 2021-03-14, 11:22:03 AM [DysonPureCoolPlatform] Checking user account. 2021-03-14, 11:22:03 AM Preparing Advertiser for 'HOOBS 26EC' using bonjour-hap backend! 2021-03-14, 11:22:03 AM Starting to advertise 'HOOBS 26EC' using bonjour-hap backend! 2021-03-14, 11:22:04 AM Bridge is running on port 51826. 2021-03-14, 11:22:09 AM [DysonPureCoolPlatform] Checked user account. 2021-03-14, 11:22:09 AM [DysonPureCoolPlatform] Signing in. 2021-03-14, 11:22:15 AM [DysonPureCoolPlatform] Signed in. 2021-03-14, 11:22:21 AM [DysonPureCoolPlatform] Credentials for device with serial number PT3-CA-........ are: ... 2021-03-14, 11:22:21 AM [DysonPureCoolPlatform] Credentials for device with serial number NM9-CA-........ are: ... 2021-03-14, 11:22:21 AM [DysonPureCoolPlatform] Got devices from the Dyson API.

That's it, no log entry about communication with the fans (TP02 and HP02) regardless if I unplug the fan or I enter a wrong IP address on purpose to test.

please HELP,... I tried many things as hoobs factory reset, router reboot, complete disconnect from Dyson and reconnected. When using credentials, plugin recognize the config and it bypass the API but still, doesn't connect to fans.

thanks

chayerd commented 3 years ago

I see that I'm probably missing MQTT on my Hoobs... if anyone can direct me to instructions please...

chayerd commented 3 years ago

Installed mosquitto (and kept credentials) now I can see in debug mode

MQTT disconnected. MQTT reconnecting.

What did you do to keep stable connection?

thumax commented 3 years ago

It turns out that in my case it actually was a DHCP issue: My Dyson got assigned a different IP address than the one that was set in the homebridge config block.

So, lesson learned: If you see frequent "MQTT reconnecting" errors, check the value of the IP address:

"platform": "DysonPureCoolPlatform",
            "devices": [
                {
                    "ipAddress": "XXX.XXX.XXX.XXX",
                    […]