Closed kongo09 closed 3 years ago
@kongo09 sorry for the late response.
i have a hunch here. let me explain some context:
2021-03-19 22:27:05 DEBUG (MainThread) [coap] Incoming message <aiocoap.Message at 0xeccae1d8: Type.NON 2.05 Content (MID 1, token 1dbe) remote <UDP6EndpointAddress 192.168.179.12 with local address>, 3 option(s), 1288 byte(s) payload>
2021-03-19 22:27:05 INFO (MainThread) [coap] Duplicate NON, ACK or RST received
some of the philips devices just keep sending MID 1
thus aiocoap
identifies them as being a duplicate, not forwarding them to the application code.
IMHO this is a faulty implementation on the manufacturers side.
anyway... in the last release i added some monkey-patching code to aioairctrl
to completly remove the deduplication-code from aiocoap
for exactly the reason explained above (for more details see here)
this code does not seem to run on your HA-installtion right now.
i had a simliar situation on mine.
for some odd reason, installing the updated integration did not install the updated dependency aioairctrl
correctly.
what i had to do to resolve the issue:
i believe there is a cleaner solution to this issue, as it should not even occure in the first place. maybe you figure something out :)
In the manifest file you reference version 0.2.1 of aioairctrl but in your repository it says the latest release is 0.4.0?
When you say "manually remove the dependency", do you mean removing this line from the manifest:
"requirements": [
"aioairctrl @ git+https://github.com/betaboon/aioairctrl@v0.2.1"
]
Hm, I removed the manifest entry, rebooted HA, put it back and rebooted again but my feeling is this didn't change anything. So I'm not sure what you advise. I can make it into the docker container but then what?
Hm, maybe I did the right thing - right now it seems to work. I'll watch it for a day or so and will report back.
As you can see, I'm learning on the way...
bash-5.0# pip3 show aioairctrl
Name: aioairctrl
Version: 0.0.0
Summary: library for controlling philips air purifiers (using encrypted CoAP)
Home-page: https://github.com/betaboon/aioairctrl
Author: betaboon
Author-email: UNKNOWN
License: MIT
Location: /usr/local/lib/python3.8/site-packages
Requires: pycryptodomex, aiocoap
Required-by:
Not sure if this version 0.0.0 is correct? Anyway, I manually removed it with:
bash-5.0# pip3 uninstall aioairctrl
Found existing installation: aioairctrl 0.0.0
Uninstalling aioairctrl-0.0.0:
Would remove:
/usr/local/bin/aioairctrl
/usr/local/lib/python3.8/site-packages/aioairctrl-0.0.0.dist-info/*
/usr/local/lib/python3.8/site-packages/aioairctrl/*
Proceed (y/n)? y
Successfully uninstalled aioairctrl-0.0.0
Then restarting HA seems to have loaded a newer version 0.2.1
bash-5.0# pip3 show aioairctrl
Name: aioairctrl
Version: 0.2.1
Summary: library for controlling philips air purifiers (using encrypted CoAP)
Home-page: https://github.com/betaboon/aioairctrl
Author: betaboon
Author-email: UNKNOWN
License: MIT
Location: /usr/local/lib/python3.8/site-packages
Requires: pycryptodomex, aiocoap
Required-by:
I'll keep watching the behaviour and will report back here.
@kongo09 sorry for not coming back to you.
yes that's exactly what i was talking about. i am just buffled why the required version of the dependency does not get installed automatically
No worries, I just have to creep up my own learning curve ;-)
Maybe the versioning 0.0.0 is something special? But I certainly have less clue than you have!
Anyway, right now both devices started working again. Let's see for how long that holds.
I have watching the integration for two days now. Everything is working fine for the AC2729 and also the AC2889. Not a single warning or error in the log. Let's consider this solved.
@betaboon thanks so much for your work and effort!
thanks for reporting back. so the issue to be solved here is the correct dependency not being properly installed. i'll create an issue for that to not forget about it :)
Just a quick note: the device again showed some signs of not communicating right with the integration, resulting in attributes being wrong. To exclude the obvious, I've re-verified that I am still on v0.2.1 of aioairctrl. I have now re-enabled logging and will keep watching this.
When issuing a service call to an AC2729 to disable the display backlight and setting the light brightness to zero, the device reacts and sets the lights correctly, but the integration doesn't catch the change and update the entity attributes.
Output of the debug log since start of HA with debugging enabled. The device in question is on 192.168.179.12
Attributes in the developer tools show display backlight is still on:
But when I use
aioairctrl
the status reflects the light to be off (note: output formatted for better readability):