kongo09 / philips-airpurifier-coap

💨 Philips AirPurifier custom component for Home Assistant. Supports local CoAP protocol.
156 stars 22 forks source link

Dashboard card doesn't sync for CX5120 #119

Closed creemers closed 3 weeks ago

creemers commented 5 months ago

Hi, Many thanks for this integration. I understand there are still some issues. I observe the following behaviour. When I switch the device on via de switch toggle on the HA dashboard, the physical device switches on correctly but the toggle on the dashboard immediately switches back, although the device continues operating. So what I see on the dashboard now is inconsistent with the device's real state. If I then open the Air+ app, syncing immediately occurs and the dashboard view is now consistent. The same happens when I switch the device off from HA. The toggle toggles back and the view is inconsistent until it's synced by opening the Air+ app. I also see that the dialog with the large buttons is always stuck on 'Off', though the state above it says 'On': image

Thanks again for the great work. Cheers. Tom

kongo09 commented 5 months ago

These could be two different issues.

The first sounds like a connectivity problem. HA displays the last state that the device sends, irrespective of how you set it. If you switch the device on in HA, the integration sends the signal to the device. But if the device then doesn't send back that it indeed switched on, HA will continue to show it as off.

When you say that interacting with the Philips app makes HA to catch-up with the real status, this could be an indication that before the device simply didn't update HA about its status.

Unfortunately, the whole way we're accessing the devices here is not officially supported and for some people it is unstable. It's unclear why that is. This might be one of those cases.

The second thing you observe could be a preset mode? If you set the device on a preset mode that is not one of the speed settings, HA says On, but the large switch doesn't know what to show. I observed that for devices with many speed settings, this simply greys out the all the big buttons, which somehow makes sense. But for devices with only 2 speeds, it seems to show off, which is irritating. This might be a bug of HA?

AnonymousRetard commented 3 months ago

I have the same issue with my two AC2729s, but have not yet quite figured out how the issue behaves. What I notice is that sometimes when I change fan preset from HA it changes on the device but doesn't update in HA.

Today when it happened I visited the HA developer page and checked the state for the fan. It wasn't updated so I pressed the button to refresh it. This successfully updated the entity and afterwards I was able to change preset multiple times in a row from HA without the HA entity getting stuck.

Now if this was really what fixed it and not a lucky coincidence then to me it's a clear indication it should be fixable from HA or HA addon code.

Next time I see the issue I'll try doing the same thing again to re-check if it really fixes it.

kongo09 commented 3 months ago

Next time you observe this strange behaviour, please go to the command line as described on the README and query the status parameters and share them here. This is entirely outside the integration. If the status values are not reported correctly, there is not much the integration can do.

AnonymousRetard commented 2 months ago

@kongo09 It happened again today (it's extremely rarely I actually try to change fan speeds automatically, I just use an automation to set the speed by time and setting is usually never problematic).

I installed a python virtual environment, installed the package and ran: aioairctrl --host <AC2792_IP> status --json

Both nothing happens, it seemingly runs forever with no output. Eventually I aborted the command with CTRL+C and tried to connect to my other purifier instead, same thing.

Then I looked back to home assistant and the fan setting eventually updated. Now when I change it again it remains responsive. So it seems like when I have not sent any commands for a while it can take 1-2 minutes before I get status updates back but once I do it remains responsive for some amount of time.

Not sure why the command from the commandline doesn't work, because home assistant is clearly getting status updates quickly now but from commandline I get nothing. Would I have to turn home assistant off first or something?

kongo09 commented 2 months ago

The command line is independent of HA, no need to turn anything off.

It feels like the Philips connectivity problem where sometimes there is no response of the device and then the integration or the command line fails.

github-actions[bot] commented 4 weeks ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.