-
-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for HU5710 #187
Comments
Thanks for all the data, that should be plenty to get me going. I'll certainly ask you to test some beta once I have something prepared. |
does brightness control also have an auto setting? I'd guess it is 101 |
"D03224" is potentially the temperature and not the filter. At least, that's what it is with other devices. Please observe it. I've attempted a first implementation in beta version v0.24.0-beta.1 Please check if this works for you and implements everything correctly. A screenshot of your device dashboard would be appreciated as well. |
Thanks for the implementation. I did some quick testing and most of the things seem to be working well so far. One bug I came across is an error initializing the integration when HA is restarted Log output2024-11-17 04:38:26.182 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to scandir with args ('/config/custom_components/philips_airpurifier_coap/icons/pap',) inside the event loop by custom integration 'philips_airpurifier_coap' at custom_components/philips_airpurifier_coap/__init__.py, line 65: for dirpath, _dirnames, filenames in walk(self.iconpath): (offender: , line 366: ?), please create a bug report at https://github.com/kongo09/philips-airpurifier-coap/issues For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#scandir Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "/usr/src/homeassistant/homeassistant/__main__.py", line 223, in sys.exit(main()) File "/usr/src/homeassistant/homeassistant/__main__.py", line 209, in main exit_code = runner.run(runtime_conf) File "/usr/src/homeassistant/homeassistant/runner.py", line 189, in run return loop.run_until_complete(setup_and_run_hass(runtime_config)) File "/usr/local/lib/python3.12/asyncio/base_events.py", line 674, in run_until_complete self.run_forever() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 641, in run_forever self._run_once() File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1990, in _run_once handle._run() File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 556, in start task = asyncio.Task(coro, loop=loop, eager_start=True) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 477, in _handle_request resp = await request_handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 567, in _handle return await handler(request) File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 117, in impl return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware return await handler(request) File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware response = await handler(request) File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle result = await handler(request, **request.match_info) File "/config/custom_components/philips_airpurifier_coap/__init__.py", line 65, in get for dirpath, _dirnames, filenames in walk(self.iconpath):2024-11-17 04:39:23.186 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved (None) Some other findings:
I realize this integration is primarily made for air purifiers but it could be interesting to dive deeper into the humidifier entity at some point. But so far the fan entity has been working well too. Thanks again for the support, I’ve sent some coffee your way! ☕ |
Thanks for the coffee and the detailed feedback. It feels like this device is the one with the most options so far. I'll take a look at the points you mentioned. |
Changing the base entity to humidifier is a bit of work and I've shied away from it so far. The error at startup of HA should be resolved. All the other feedback is incorporated. Please give it a spin in the latest beta. |
It works great now. Only thing I noticed is the list of the integrations custom icons don't load in the UI but that's not really a big issue since it's still possible to set the custom icon if you know it's name. Speaking of icons I have one for the ambient light mode if you want to add it to the custom icons. It's based on the one from the Air+ app so it should be very close to official.
|
Thanks for the icon, I'm happy to add that. The icons should load once you reload the UI in the browser - and then they should stay. Not sure why that is. |
Not a big issue. Everything else seems solid so should be good to close. I'm currently looking at the humidifier entity so I might come back with that if I get it working. |
I've seen your PR. Ideally, you do it generic enough that all humidifiers can be setup this way while avoiding code duplication. That might require some refactoring of the base classes |
If just released with the new model included. Let's move the whole question around the humidifier entity to a separate issue #198 |
Yes I did not intend to create a PR, misclicked when messing around in my fork :) Nice work with the humidifying entity! I'll take a look at it right away. |
This is a humidifier but I think it should be pretty similar to AC3421 and possibly AC4221, which are supported.
On:
Off:
Auto:
High:
Medium:
Sleep:
Here's the rest of my findings:
Humidity sensor:
"D03125": 38
Temperature sensor:
"D0313B": 20
Power (D03102):
On: "D03102": 1
Off: "D03102": 0
Mode (D0310C):
Auto: "D0310C": 0
Sleep: "D0310C": 17
Medium: "D0310C": 19
High: "D0310C": 65
Target Humidity (D03128):
30% Humidity: "D03128": 30
...in 5% increments up to 70%...
70% Humidity: "D03128": 70
Light Mode (D03135):
Off: "D03135": 0
Humidity: "D03135": 1
Ambient : "D03135": 2
Ambient Light Mode (D03137):
Warm: "D03137": 1
Dawn: "D03137": 2
Calm: "D03137": 3
Breath: "D03137": 4
Brightness Control (D03104 and D03105):
Off: "D03104": 0 and "D03105": 0
Low: "D03104": 115 and "D03105": 115
Bright: "D03104": 123 and "D03105": 123
Timer (D03110 and D03211):
D03110: Initial timer setting in hours (2 for 1 hour, 3 for 2 hours, etc.).
D03211: Remaining time in minutes
1-Hour: "D03110": 2, "D03211": 60
...1h increments to 12h...
12-Hour: "D03110": 13, "D03211": 720
Auto QuickDry Mode (D03138):
On: "D03138": 1
Off: "D03138": 0
Sensors Monitor in Standby (D03134):
On: "D03134": 1
Off: "D03134": 0
Beep Sound (D03130):
On: "D03103": 100
Off: "D03103": 0
Child Lock (D03103):
On: "D03103": 1
Off: "D03103": 0
These I'm not 100% sure about:
Possibly filter clean: "D0520D": 360 (was at 359 when I reset the filter cleaning at 99%)
Possibly filter lifespan: "D03224": 210 (was at 200 when I reset the filter lifespan at 99%)
Any support would be greatly appreciated :)
The text was updated successfully, but these errors were encountered: