Open coaxialdaisy opened 7 months ago
Hey there @home-assistant/core, mind taking a look at this issue as it has been labeled with an integration (cover
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
cover documentation cover source (message by IssueLinks)
Hey there @bdraco, @kingy444, @trullock, mind taking a look at this issue as it has been labeled with an integration (hunterdouglas_powerview
) you are listed as a code owner for? Thanks!
(message by CodeOwnersMention)
hunterdouglas_powerview documentation hunterdouglas_powerview source (message by IssueLinks)
Both of these appear to be upstream errors. Can you please share the json output of your hub from http://<ipaddress>/api/shades
Do you also know what Gen hub you are running. The fallback was added to account for cases where we don't have the capability supported, but the json above is straight up missing the capability
We also don't believe we have type 40 defined (part of the issue here too) - what would the "friendly name" for these be ?
Thanks @kingy444 , pls see my answers below:
1a) here is the output from my hub:
http://<ipaddress>/api/shades
1b) here is for one of my blinds:
http://<ipaddress>/api/shades/65111
4) Not sure what is the "friendly name" you point to? I attached few screenshots for both blinds and hub page in HA and PowerView hub, hopefully they can answer some of your questions.
a) hub and blinds pages in HA
b) hub and blinds pages in PowerView APP
Hey @kingy444 , here is my diagnose file, for your reference:
home-assistant_hunterdouglas_powerview_2024-04-09T18-40-18.375Z.log
config_entry-hunterdouglas_powerview-87c0b443898977d39cce8edcbe18d906.json
Thanks - that's really helpful
The 'friendly name' was just the shade type so in this case "Everwood Alternative Wood Blinds"
From the JSON you provided it looks like these could actually have a tilt capability (which I assume HA has never offered you)
Could you take a look at the table published here and let me know which "capability" they fall into
I expect they are bottom up with a 90 degree tilt ability, but only able to tilt when closed (capability 1) but please take a look at all the columns and let me know if there are any discrepancies with that. (Such as you could tilt it when open)
To understand 90 vs 180 tilt that refers to whether the tilt can go all the way up and back down vertically (180) or whether it can only go horizontally (90) then back to the closed position
Thanks @kingy444
I think my blinds are closer to the type of “Venetian, Tilt Anywhere” (51 or 62) blinds that can be tilted 180°, but don't have the bottom-up feature (bottom-up is manual).
Apologies looks like I never posted the link to the repo
https://github.com/sander76/aio-powerview-api
Looks like you found your way though, have these actually ever worked in HA? (More curious as I cannot understand how previous versions would have given you tilt capability)
To be clear on the initial ask I needed to know how they work in the PowerView App not how they work in HA
From your description they only provide tilt via the app (so I would put them in capability 5 / Tilt Only) but the conflict to that is your provided json says both poskind=1 and poskind1=3 which indicates which motor moves to which position.
The json would indicate you can control both up down and tilt via the PowerView app?
Looks like you found your way though, have these actually ever worked in HA? (More curious as I cannot understand how previous versions would have given you tilt capability)
To be clear on the initial ask I needed to know how they work in the PowerView App not how they work in HA
It never worked in my HA, and every time I clicked on any control in HA, it just made the blinds instance unavailable for a while. I can now only control the blinds by activating different scenes (different positions of the blades) which were pre-set in the PowerView APP and imported into to the integration during HA setup.
But in PoweView APP, the tilt control is working great!, The tilt of the blades can be stopped at any position, very responsive!
From your description they only provide tilt via the app (so I would put them in capability 5 / Tilt Only) but the conflict to that is your provided json says both poskind=1 and poskind1=3 which indicates which motor moves to which position.
The json would indicate you can control both up down and tilt via the PowerView app?
I do not quite understand the definitions in the json. However, the physical machine can only control the tilt of the blinds.
Thanks @kingy444
I'm mainlyconfused with the poskind1 = 1. poskind defines the cover type (primary/1.secondary/2,tilt/3)
could you move shade http://10.0.0.152/api/shades/65111
(Kitchen West) to the below positions using the powerview ap and provide the same output you did previously in the screenshots.
Not sure how responsive the position updates are with Gen 1 so make sure the postion1
value has updated
Also out of curiousity of the poskind=1 ....
Could we try manually opening a shade (I assume they have a cord ? ) then doing the same to get the positioning.
Happy for you to do whatever positioning testing you can think of based on how you usually use these, this info will all help me make sure their capability is correctly defined and you get full functionaility.
This Kitchen West cover was the one that reported poskind1=1 , and the same cover you provided in the screenshot (and was back to reporting poskind=3 by then. Some tilt covers do act this way where the poskind is interchangable between a 1 and a 3, but ive never seen a shade that is both manual and powered. I was hoping you could both open AND tilt the cover via the powerview app
could you move shade
http://10.0.0.152/api/shades/65111
(Kitchen West) to the below positions using the powerview ap and provide the same output you did previously in the screenshots.
Sorry, what output you are mentioning? If using PowerView, I don’t know if there is a way to generate an error logs or json files from App. May I have your direction? Thanks, @kingy444
Just move the shade using the app and then visit the url of the shade as you did in the earlier screenshot
I only say using the app so the positions have the most likely hood of being correct - so make sure the numbers have updated in position1 field before grabbing the output from the /shades url
I also mentioned opening one of the shades by hand to try and work out where the poskind1=1 comes into things
Thanks for your clarification, @kingy444. Below is the output:
- Tilt fully down
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":0,"posKind1":3}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":127,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}* Connection #0 to host 10.0.0.252 left intact
2. Tilt 90 degrees (horizontal
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":65535,"posKind1":1}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":127,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}* Connection #0 to host 10.0.0.252 left intact
3. Tilt Fully Up
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":65535,"posKind1":3}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":127,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}* Connection #0 to host 10.0.0.252 left intact
Could we try manually opening a shade (I assume they have a cord ? ) then doing the same to get the positioning.
I may not have explained this clearly before. The blinds cannot be tilted manually. It does come with a cord, but it can only be used to pull up the entire blind (all the blades are stacked together at the top)
Yep that made sense.
What I was asking is for you to do that, then wait then see if the value of "posKind1":3
changed to "posKind":1
This won't be an immediate change though so here are some basic instructions.
http://10.0.0.152/api/shades/65111?refresh=true
timeout:true
, if it does the refresh failed so you will want your try again. I believe a successful refresh says timeout:false
@kingy444 sorry for reply late, just got some time to test. Below is the results. Feel free to review, thanks!
- Tilt fully down
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":0,"posKind1":3}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":126,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}
2. Tilt 90 degrees (horizontal
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":126,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}
3. Tilt Fully Up
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":65535,"posKind1":3}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":126,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}
Lastly, I added one test that tilt up 135 degrees (between "Tilt 90 degrees (horizontal)" and "Tilt Fully Up" )
{"shade":{"id":65111,"name":"S2l0Y2hlbiBXZXN0","roomId":4896,"groupId":35661,"order":1,"type":40,"batteryStrength":124,"batteryStatus":3, "positions":{"position1":49467,"posKind1":3}},"shadeData":[{"id":7003,"name":"QmF0aCBFYXN0","roomId":4896,"groupId":35661,"order":2,"type":40,"batteryStrength":94,"batteryStatus":1, "positions":{"position1":32768,"posKind1":3}},{"id":53627,"name":"QmF0aCBTb3V0aA==","roomId":4896,"groupId":35661,"order":3,"type":40,"batteryStrength":126,"batteryStatus":3, "positions":{"position1":32768,"posKind1":3}}]}
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
Bumping to keep this one on my radar
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
PR to fix will be coming shortly (bundled in with a few other upstream fixes)
The problem
1) 1 error msg in the system log shows the type of shade can not be identified, and fall back to basic bottom up capabilities.
2) the 2nd error shows: Error adding entity cover.kitchen_north for domain cover with platform hunterdouglas_powerview. Therefore, the blinds control is greyed out.
What version of Home Assistant Core has the issue?
core-2024.4.2
What was the last working version of Home Assistant Core?
No response
What type of installation are you running?
Home Assistant Container
Integration causing the issue
Hunter Douglas PowerView
Link to integration documentation on our website
https://www.home-assistant.io/integrations/hunterdouglas_powerview
Diagnostics information
1st:
Logger: aiopvapi.resources.shade Source: components/hunterdouglas_powerview/init.py:84 First occurred: 5:56:12 PM (8 occurrences) Last logged: 8:11:24 PM
Shade type not found. Falling back to basic bottom up capabilities: <class 'aiopvapi.resources.shade.BaseShade'> - {'id': 7003, 'name': 'QmF0aCBFYXN0', 'roomId': 4896, 'groupId': 35661, 'order': 2, 'type': 40, 'batteryStrength': 94, 'batteryStatus': 1, 'positions': {'position1': 32768, 'posKind1': 3}, 'name_unicode': 'Bath East'} Shade type not found. Falling back to basic bottom up capabilities: <class 'aiopvapi.resources.shade.BaseShade'> - {'id': 53627, 'name': 'QmF0aCBTb3V0aA==', 'roomId': 4896, 'groupId': 35661, 'order': 3, 'type': 40, 'batteryStrength': 127, 'batteryStatus': 3, 'positions': {'position1': 32768, 'posKind1': 3}, 'name_unicode': 'Bath South'} Shade type not found. Falling back to basic bottom up capabilities: <class 'aiopvapi.resources.shade.BaseShade'> - {'id': 36492, 'name': 'S2l0Y2hlbiBOb3J0aA==', 'roomId': 4896, 'groupId': 35661, 'order': 0, 'type': 40, 'batteryStrength': 116, 'batteryStatus': 3, 'positions': {'position1': 65535, 'posKind1': 1}, 'name_unicode': 'Kitchen North'} Shade type not found. Falling back to basic bottom up capabilities: <class 'aiopvapi.resources.shade.BaseShade'> - {'id': 7003, 'name': 'QmF0aCBFYXN0', 'roomId': 4896, 'groupId': 35661, 'order': 2, 'type': 40, 'batteryStrength': 94, 'batteryStatus': 1, 'positions': {'position1': 65535, 'posKind1': 1}, 'name_unicode': 'Bath East'} Shade type not found. Falling back to basic bottom up capabilities: <class 'aiopvapi.resources.shade.BaseShade'> - {'id': 53627, 'name': 'QmF0aCBTb3V0aA==', 'roomId': 4896, 'groupId': 35661, 'order': 3, 'type': 40, 'batteryStrength': 127, 'batteryStatus': 3, 'positions': {'position1': 65535, 'posKind1': 1}, 'name_unicode': 'Bath South'}
————————————————————————— 2nd :
Logger: homeassistant.components.cover Source: helpers/entity_platform.py:580 integration: Cover (documentation, issues) First occurred: 8:17:08 PM (2 occurrences) Last logged: 8:19:56 PM
Error adding entity cover.kitchen_north for domain cover with platform hunterdouglas_powerview Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 580, in _async_add_entities await coro File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 890, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1334, in add_to_platform_finish self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 998, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1119, in _async_write_ha_state state, attr, capabilities, shadowed_attr = self.async_calculate_state() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1056, in async_calculate_state state = self._stringify_state(available) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1004, in _stringify_state if (state := self.state) is None: ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/cover/init.py", line 321, in state if (closed := self.is_closed) is None: ^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/hunterdouglas_powerview/cover.py", line 146, in is_closed return self.positions.primary <= CLOSED_POSITION ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: '<=' not supported between instances of 'NoneType' and 'int'
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
Even though the blinds control in the Hunter Douglas integration is unavailable, HASS automation can still trigger scenes defined in the PowerView app.