Controlling Hunter Douglas "Top Down Bottoms Up" Blinds

I’m curious if anyone has any tips on making the (awesome) Hunter Douglas Powerview Integration work with the Hunter Douglas “Top Down Bottoms Up” blinds?

The current integration only allows you to control the “Top Down” element:

My proposed solution — which sadly, I am not technically savvy enough to implement, is:

  • Allow cover positions to be dual — so rather than simply setting a position as “75”, you’re able to set the position to be “75, 65” which would designate the top rail and then the bottom rail.

Another option would be to have the top and bottom rails appear as two independent covers — this is what Homekit does.

Really hope we can figure this out. Thank you!!

1 Like

I just integrated my HD blinds and was surprised to see no option for top down, I thought it would be like HomeKit with two separate covers.

I have some of these shades. I’d be ok with having a separate shade for each half.

There’s effort going over in this thread: Hunter Douglas Powerview component - expanding this API - #60 by wkearney99

Top Down support will be in core soon (pull just approved) :slight_smile:

Other shades in the coming weeks - for those interested most context is here Adding Tilt to the Hunter Douglas PowerView Cover integration (Luxaflex) - #9 by peterclark

wow, i cannot wait! i think about this every day

It stopped working correctly regarding the two different entities that will be created for each blind: Top and Bottom after I installed the lastest updates yesterday: HA Core 2022.9.4, HA Supervisor 2022.8.6, HA OS 9, running in an Intel macOS VirtualBox.

My TD/BU duette now shows as device of model 8, before (I think) it was Duette, Top Down Bottom Up.
It now has only one entity for the cover, before it had two with suffixes _bottom and _top, these still exist, but are marked “Restored” and when selected say: “This entity is no longer being provided by the hunterdouglas_powerview integration. If the entity is no longer in use, delete it in settings.”

A reload of the PowerView integration does not help.
Does any one else with TD/BU Duettes have the same experience?
@Kingy444 Would you mind looking into this? Thanks!

ps. I saw this: 'Migrate Hunter Douglas Powerview to aiopvapi 2.0.0 (@kingy444 - #76998) (hunterdouglas_powerview docs) (dependency)" in https://www.home-assistant.io/changelogs/core-2022.9/

ps2. This is the diagnostics download of the blind:

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.9.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Amsterdam",
    "os_name": "Linux",
    "os_version": "5.15.67",
    "supervisor": "2022.08.6",
    "host_os": "Home Assistant OS 9.0",
    "docker_version": "20.10.17",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {},
  "integration_manifest": {
    "domain": "hunterdouglas_powerview",
    "name": "Hunter Douglas PowerView",
    "documentation": "https://www.home-assistant.io/integrations/hunterdouglas_powerview",
    "requirements": [
      "aiopvapi==2.0.0"
    ],
    "codeowners": [
      "@bdraco",
      "@kingy444",
      "@trullock"
    ],
    "config_flow": true,
    "homekit": {
      "models": [
        "PowerView"
      ]
    },
    "dhcp": [
      {
        "registered_devices": true
      },
      {
        "hostname": "hunter*",
        "macaddress": "002674*"
      }
    ],
    "zeroconf": [
      "_powerview._tcp.local."
    ],
    "iot_class": "local_polling",
    "loggers": [
      "aiopvapi"
    ],
    "supported_brands": {
      "luxaflex": "Luxaflex"
    },
    "is_built_in": true
  },
  "data": {
    "hub_info": {
      "name": "Luxaflex PV hub",
      "mac_address": "**REDACTED**",
      "serial_number": "**REDACTED**",
      "firmware": {
        "name": "PV Hub2.0",
        "revision": 2,
        "subRevision": 0,
        "build": 1056
      },
      "model": "PV Hub2.0",
      "hub_address": "**REDACTED**"
    },
    "shade_data": {
      "id": 48249,
      "type": 8,
      "capabilities": 0,
      "batteryStatus": 3,
      "batteryStrength": 162,
      "roomId": 37367,
      "firmware": {
        "revision": 1,
        "subRevision": 8,
        "build": 1944
      },
      "motor": {
        "revision": 0,
        "subRevision": 0,
        "build": 267
      },
      "name": "RWV0a2FtZXIgTGlua3M=",
      "groupId": 26947,
      "signalStrength": 4,
      "batteryKind": 3,
      "smartPowerSupply": {
        "status": 0,
        "id": 0,
        "port": 0
      },
      "positions": {
        "position1": 0,
        "posKind2": 2,
        "position2": 0,
        "posKind1": 1
      },
      "name_unicode": "Eetkamer Links"
    },
    "device_info": {
      "area_id": "eetkamer",
      "config_entries": [
        "a40d9617bff1e2a7a4c5c20693e913d1"
      ],
      "configuration_url": "**REDACTED**",
      "connections": [],
      "disabled_by": null,
      "entry_type": null,
      "id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
      "identifiers": [
        [
          "hunterdouglas_powerview",
          48249
        ]
      ],
      "manufacturer": "Hunter Douglas",
      "model": "8",
      "name_by_user": "Eetkamer Links",
      "name": "Eetkamer Links",
      "suggested_area": "Eetkamer",
      "sw_version": "1.8.1944",
      "hw_version": null,
      "via_device_id": "891ddc503a60ab2a2010095d308a85c5",
      "is_new": false,
      "entities": [
        {
          "entity_id": "sensor.eetkamer_links_battery",
          "unique_id": "48249_charge",
          "platform": "hunterdouglas_powerview",
          "area_id": null,
          "capabilities": {
            "state_class": "measurement"
          },
          "config_entry_id": "a40d9617bff1e2a7a4c5c20693e913d1",
          "device_class": null,
          "device_id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
          "domain": "sensor",
          "disabled_by": null,
          "entity_category": "diagnostic",
          "hidden_by": null,
          "icon": null,
          "id": "18c79c54d145b5e523f2a3135c76daa3",
          "has_entity_name": false,
          "name": "Eetkamer Links Battery",
          "options": {},
          "original_device_class": "battery",
          "original_icon": null,
          "original_name": "Eetkamer Links Battery",
          "supported_features": 0,
          "unit_of_measurement": "%",
          "state": {
            "entity_id": "sensor.eetkamer_links_battery",
            "state": "81",
            "attributes": {
              "state_class": "measurement",
              "unit_of_measurement": "%",
              "device_class": "battery",
              "friendly_name": "Eetkamer Links Battery"
            },
            "last_changed": "2022-09-18T07:46:00.014925+00:00",
            "last_updated": "2022-09-18T07:46:00.014925+00:00"
          }
        },
        {
          "entity_id": "button.eetkamer_links_calibrate",
          "unique_id": "48249_calibrate",
          "platform": "hunterdouglas_powerview",
          "area_id": null,
          "capabilities": null,
          "config_entry_id": "a40d9617bff1e2a7a4c5c20693e913d1",
          "device_class": null,
          "device_id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
          "domain": "button",
          "disabled_by": null,
          "entity_category": "diagnostic",
          "hidden_by": null,
          "icon": null,
          "id": "12bcf02a13b0dec5338441fb3800e9b2",
          "has_entity_name": false,
          "name": null,
          "options": {},
          "original_device_class": null,
          "original_icon": "mdi:swap-vertical-circle-outline",
          "original_name": "Eetkamer Links Calibrate",
          "supported_features": 0,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "button.eetkamer_links_calibrate",
            "state": "unknown",
            "attributes": {
              "icon": "mdi:swap-vertical-circle-outline",
              "friendly_name": "Eetkamer Links Calibrate"
            },
            "last_changed": "2022-09-18T07:46:00.035317+00:00",
            "last_updated": "2022-09-18T07:46:00.035317+00:00"
          }
        },
        {
          "entity_id": "button.eetkamer_links_identify",
          "unique_id": "48249_identify",
          "platform": "hunterdouglas_powerview",
          "area_id": null,
          "capabilities": null,
          "config_entry_id": "a40d9617bff1e2a7a4c5c20693e913d1",
          "device_class": null,
          "device_id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
          "domain": "button",
          "disabled_by": null,
          "entity_category": "diagnostic",
          "hidden_by": null,
          "icon": null,
          "id": "a5abf7327d209011d2d863f0f3880739",
          "has_entity_name": false,
          "name": null,
          "options": {},
          "original_device_class": null,
          "original_icon": "mdi:crosshairs-question",
          "original_name": "Eetkamer Links Identify",
          "supported_features": 0,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "button.eetkamer_links_identify",
            "state": "unknown",
            "attributes": {
              "icon": "mdi:crosshairs-question",
              "friendly_name": "Eetkamer Links Identify"
            },
            "last_changed": "2022-09-18T07:46:00.035317+00:00",
            "last_updated": "2022-09-18T07:46:00.035317+00:00"
          }
        },
        {
          "entity_id": "cover.eetkamer_links_top",
          "unique_id": "48249_top",
          "platform": "hunterdouglas_powerview",
          "area_id": null,
          "capabilities": null,
          "config_entry_id": "a40d9617bff1e2a7a4c5c20693e913d1",
          "device_class": null,
          "device_id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
          "domain": "cover",
          "disabled_by": null,
          "entity_category": null,
          "hidden_by": null,
          "icon": null,
          "id": "c1916c629fabb03547aece20cbf71f16",
          "has_entity_name": false,
          "name": null,
          "options": {},
          "original_device_class": "shade",
          "original_icon": null,
          "original_name": "Eetkamer Links Top",
          "supported_features": 15,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "cover.eetkamer_links_top",
            "state": "unavailable",
            "attributes": {
              "restored": true,
              "device_class": "shade",
              "friendly_name": "Eetkamer Links Top",
              "supported_features": 15
            },
            "last_changed": "2022-09-17T20:28:03.206892+00:00",
            "last_updated": "2022-09-17T20:28:03.206892+00:00"
          }
        },
        {
          "entity_id": "cover.eetkamer_links_bottom",
          "unique_id": "48249_bottom",
          "platform": "hunterdouglas_powerview",
          "area_id": null,
          "capabilities": null,
          "config_entry_id": "a40d9617bff1e2a7a4c5c20693e913d1",
          "device_class": null,
          "device_id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
          "domain": "cover",
          "disabled_by": null,
          "entity_category": null,
          "hidden_by": null,
          "icon": null,
          "id": "3a1e872f385197d8d7ab971d1bc2a6b3",
          "has_entity_name": false,
          "name": null,
          "options": {},
          "original_device_class": "shade",
          "original_icon": null,
          "original_name": "Eetkamer Links Bottom",
          "supported_features": 15,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "cover.eetkamer_links_bottom",
            "state": "unavailable",
            "attributes": {
              "restored": true,
              "device_class": "shade",
              "friendly_name": "Eetkamer Links Bottom",
              "supported_features": 15
            },
            "last_changed": "2022-09-17T20:28:03.206892+00:00",
            "last_updated": "2022-09-17T20:28:03.206892+00:00"
          }
        },
        {
          "entity_id": "cover.eetkamer_links",
          "unique_id": 48249,
          "platform": "hunterdouglas_powerview",
          "area_id": null,
          "capabilities": null,
          "config_entry_id": "a40d9617bff1e2a7a4c5c20693e913d1",
          "device_class": null,
          "device_id": "5fd5bfe5b6c75e68b16bb1a71b0e1a2a",
          "domain": "cover",
          "disabled_by": null,
          "entity_category": null,
          "hidden_by": null,
          "icon": null,
          "id": "bef3c6cbbfdac4b8add6a0dcb6dabf44",
          "has_entity_name": false,
          "name": null,
          "options": {},
          "original_device_class": "shade",
          "original_icon": null,
          "original_name": "Eetkamer Links",
          "supported_features": 15,
          "unit_of_measurement": null,
          "state": {
            "entity_id": "cover.eetkamer_links",
            "state": "closed",
            "attributes": {
              "current_position": 0,
              "roomName": "Eetkamer",
              "assumed_state": true,
              "device_class": "shade",
              "friendly_name": "Eetkamer Links",
              "supported_features": 15
            },
            "last_changed": "2022-09-18T18:06:00.119303+00:00",
            "last_updated": "2022-09-18T18:06:00.119303+00:00"
          }
        }
      ]
    }
  }
}

I have type 8 and all mine seem to be working fine (and still identify as their name and not the number)

I am running the same with no issue.

Have you tried restarting the PowerView hub, Home Assistant etc ?
I just removed the integration, restarted and re-added without issue, all still recognise as their name (as they should)

My understanding of ‘restored’ entities is when they disappear HA tries to ‘fix’ them.
I am suspecting your hub didn’t communicate correctly and HA tried to fix that

I am running the below in an esxi vm but that shouldn’t play a role - all the code is tested in a docker virtual env as part of the build process.
Home Assistant 2022.9.4
Supervisor 2022.08.6
Operating System 9.0

Try restarting HA and PV to start with (PV first) then if they don’t self resolve remove the integration, restart and add it back again - as long as you name the entities the same when adding back no automations etc would be affected

Thank you for your swift response!
I will try your suggestions tonight (Netherlands time zone) when I am home again and will keep you posted.

Try restarting HA and PV to start with (PV first) then if they don’t self resolve remove the integration, restart and add it back again - as long as you name the entities the same when adding back no automations etc would be affected

This is what I executed:
iMac VirtualBox: HA terminal > host shutdown, wait until completely shutdown, PV secondary hub power down, PV primary hub power down, wait 5 minutes, PV primary hub power on, PV secondary hub power on, iMac VirtualBox: HA task > Current State > Start

Unfortunately that did not help, I get exactly the same; all the TD/BU blinds only get the control for the bottom bar, like the other normal TD blinds have.

if they don’t self resolve remove the integration, restart and add it back again - as long as you name the entities the same when adding back no automations etc would be affected

Now I get two integrations for the same ip: PowerView-hub and Luxaflex PV hub (my name for the hub), after configuring Luxaflex PV hub, the PowerView-hub disappears (that’s OK).
But still it does not resolve my problem, I again get exactly the same…

I realise you do not experience the same with your TD/BU blinds, so that makes debugging hard.
Do you have any other suggestions I could try, or do you need more information about my installation, to compare it to yours for example, maybe?

could you please add the below to your configuration.yaml and post the results.

The diagnostics you posted indicated your shades arent reporting the correct capabilities (Should be capability 7) however as they are reporting the correct type they should be forced into the correct model anyway

logger:
  logs:
    aiopvapi.resources.shade: debug

Please find the zipped home-assistant.log file here: https://file.io/6q5pvzzmQf6F

Again; thank you for your support!

Thanks - that identified where the problem is but I can’t see why exactly it is a problem

It should be matching on Type but for some reason yours is matching on capabilities (which is meant to be a fallback) - your shades aren’t reporting the correct capabilities (should be 7)

To help ‘imitate’ your hub - Could you share a raw output of http://powerviewip/api/shades

I’ll have to have a play with the upstream api because logically comparing what I’m looking at, the type match should still be working.

I’m wondering if the same firmware issue causing your capability to not report correctly could also be populating some weird characters the upstream api isn’t handling

Can the shades still be controlled correctly in the PowerView app ? Ie I know you need to define the ‘type’ in the app, I needed to select top down bottom up duette - I assume that is right on your end ? Not sure how that affects api output

This is the api/shades output:

{“shadeIds”:[48272,40555,2983,38321,48249,16745,27766,41962,43139,3007,55217,19428,19723,19423,54153],“shadeData”:[{“id”:48272,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:139,“roomId”:10145,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“S2FudG9vcnRqZSBaaWprYW50”,“groupId”:17747,“positions”:{“posKind1”:1,“position1”:43878},“signalStrength”:4},{“id”:40555,“type”:8,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:151,“roomId”:37367,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:267},“name”:“RWV0a2FtZXIgUmVjaHRz”,“groupId”:26947,“signalStrength”:4,“batteryKind”:3,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“positions”:{“posKind1”:1,“position1”:30102,“posKind2”:2,“position2”:16668}},{“id”:2983,“type”:8,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:145,“roomId”:23913,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:267},“name”:“Wml0a2FtZXIgWmlqa2FudCBMaW5rcw==”,“groupId”:6903,“signalStrength”:4,“batteryKind”:3,“positions”:{“posKind1”:1,“position2”:21398,“position1”:0,“posKind2”:2},“smartPowerSupply”:{“status”:0,“id”:0,“port”:0}},{“id”:38321,“type”:8,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:144,“roomId”:23913,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:267},“name”:“Wml0a2FtZXIgWmlqa2FudCBSZWNodHM=”,“groupId”:6903,“signalStrength”:4,“batteryKind”:3,“positions”:{“posKind1”:1,“position1”:0,“position2”:20878,“posKind2”:2},“smartPowerSupply”:{“status”:0,“id”:0,“port”:0}},{“id”:48249,“type”:8,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:162,“roomId”:37367,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:267},“name”:“RWV0a2FtZXIgTGlua3M=”,“groupId”:26947,“signalStrength”:4,“batteryKind”:3,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“positions”:{“posKind1”:1,“position1”:30131,“posKind2”:2,“position2”:16446}},{“id”:16745,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:140,“roomId”:62293,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“Wm9sZGVyIExpbmtz”,“groupId”:38752,“positions”:{“posKind1”:1,“position1”:0},“signalStrength”:4},{“id”:27766,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:134,“roomId”:44068,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“U2xhYXBrYW1lciBaaWprYW50”,“groupId”:43026,“positions”:{“posKind1”:1,“position1”:44534},“signalStrength”:4},{“id”:41962,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:138,“roomId”:56733,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“S2FtZXIgSXJpcyBBY2h0ZXJrYW50”,“groupId”:42295,“positions”:{“posKind1”:1,“position1”:45170},“signalStrength”:4},{“id”:43139,“type”:6,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:153,“roomId”:51116,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:48,“subRevision”:48,“build”:11826},“name”:“S2V1a2VuIEFjaHRlcmthbnQ=”,“groupId”:5854,“signalStrength”:4,“batteryKind”:3,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“positions”:{“posKind1”:1,“position1”:43910}},{“id”:3007,“type”:8,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:161,“roomId”:23913,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:267},“name”:“Wml0a2FtZXIgVm9vcmthbnQgUmVjaHRz”,“groupId”:6903,“signalStrength”:4,“batteryKind”:3,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“positions”:{“posKind2”:2,“position2”:20343,“posKind1”:1,“position1”:29888}},{“id”:55217,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:138,“roomId”:62293,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“Wm9sZGVyIFJlY2h0cw==”,“groupId”:38752,“positions”:{“posKind1”:1,“position1”:63594},“signalStrength”:4},{“id”:19428,“type”:6,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:155,“roomId”:51116,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:48,“subRevision”:48,“build”:11826},“name”:“S2V1a2VuIFppamthbnQ=”,“groupId”:5854,“signalStrength”:4,“batteryKind”:3,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“positions”:{“posKind1”:1,“position1”:42595}},{“id”:19723,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:137,“roomId”:44068,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“U2xhYXBrYW1lciBWb29ya2FudA==”,“groupId”:43026,“positions”:{“posKind1”:1,“position1”:41804},“signalStrength”:4},{“id”:19423,“type”:6,“capabilities”:0,“batteryKind”:2,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“batteryStatus”:3,“batteryStrength”:137,“roomId”:10145,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:336},“name”:“S2FudG9vcnRqZSBBY2h0ZXJrYW50”,“groupId”:17747,“positions”:{“posKind1”:1,“position1”:44505},“signalStrength”:4},{“id”:54153,“type”:8,“capabilities”:0,“batteryStatus”:3,“batteryStrength”:150,“roomId”:23913,“firmware”:{“revision”:1,“subRevision”:8,“build”:1944},“motor”:{“revision”:0,“subRevision”:0,“build”:267},“name”:“Wml0a2FtZXIgVm9vcmthbnQgTGlua3M=”,“groupId”:6903,“signalStrength”:4,“batteryKind”:3,“smartPowerSupply”:{“status”:0,“id”:0,“port”:0},“positions”:{“posKind1”:1,“position1”:30017,“posKind2”:2,“position2”:21047}}]}

The PowerView app is completely functional for both type of blinds I have, in the More > Blinds menu they are identified as Duette Shades Top-Down/Bottom-Up and in the Rooms > room > blind menu it shows both rails (see picture) and is fully functional.

Also the Homekit integration (via PowerView, not yet via HA) is correct for the TD/BU blinds (see picture) and working for both rails.

Eetkamer Rechts

I still wonder if I am the only one with this problem; there are over 300 active HA installations, surely others also have TD/BU blinds and the same firmware version? I do have two hubs (I have 15 blinds of which 6 are TD/BU) configured as primary and secondary and the max. number of scenes (31) in the PowerView app, maybe that has something to do with it? And is it a coincidence the problem occurred immediately after I installed the mentioned updates? Just wondering…

Your shades definitely have ‘an issue’ of some sort in that they are not reporting a capability.

Either way, as you said you are unlikely to be the only one and we should handle that in the code.

Pretty sure i found the issue with what you sent through and should be able to get a patch out soon - could i get you to raise an issue on github on the api for tracking etc. Issues · sander76/aio-powerview-api · GitHub

Done: TopDown/BottomUp shades do not show two different enities anymore

This weekend I installed Home Assistant 2022.10.5 and Operating System 9.2. That contained Kingy444’s fix for my issue and restored complete functionality for my TopDown/BottomUp shades!
Thank you again, @Kingy444.

I have just installed new blinds and trying to create a dashboard for PowerView blinds.
I have a few Top Down / Bottom Up blinds and the Bottom control is fine because when you slide the control up, the blinds go up. But the Top control (middle rail) is the reverse so when you slide the control up, the blinds actually go down.
I’m just wondering if there’s a way we can choose so that we can have the control shows the same direction as the blinds?
Just makes it a bit more user friendly for the non-technical users.
Thanks.

There is a feature request for this:

Please vote for this, I’m facing the same non-intuitive issue with the TDBU duette shades I have.