Skip to content
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

[Device Support Request] Insta GmbH Nexentro Blinds Actuator Mini #1397

Closed
cremor opened this issue Feb 26, 2022 · 15 comments
Closed

[Device Support Request] Insta GmbH Nexentro Blinds Actuator Mini #1397

cremor opened this issue Feb 26, 2022 · 15 comments
Labels
stale Issue is inactivate and might get closed soon

Comments

@cremor
Copy link

cremor commented Feb 26, 2022

Is your feature request related to a problem? Please describe.
I bought a few "Nexentro Blinds Actuator Mini" devices made by "Insta GmbH". Those are mounted behind existing blind switches and enable the blinds to be controlled both by the old manual switches and by Zigbee (and by a config app that uses Bluetooth).

What works:

  • cover.close_cover
  • cover.open_cover
  • cover.stop_cover
  • cover.set_cover_position
  • Cover position attribute
    Note: Initially only one of my devices reported that correctly. The other ones always reported position as 100 and state as open. This fixed itself after I used the "reconfigure device" command on the device page.

What works unreliably:

  • Cover state
    Sometimes the open/close/stop cover services don't change the state of all devices when executed for all at once (e.g. with entity_id: all). The actual commands are correctly sent to all devices, it's just the state shown in HA which isn't updated for all.

What doesn't work:

  • Nothing related to tilt works.
    Update: Fixed in HA 2023.11. ZHA didn't support tilt for covers at all before that version.
  • Cover state only reports "opening" or "closing" when triggerd by HA commands, never when triggered by the device itself (by pressing the hardware switch buttons).
    But the cover position attribute does change correctly. And I do see zha_events being triggered when the device starts/stops the blinds. See examples below.
    This might be related to ZHA : Cover states stays as Opening or Closing when using Set position home-assistant/core#98933
  • It looks like the device is identified as a window. At least it's shown with a window icon.

Describe the solution you'd like
All cover services should work. State and all attributes should be reported correctly.

Device signature

{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4474, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "6": {
      "profile_id": 260,
      "device_type": "0x0202",
      "in_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0102"
      ],
      "out_clusters": [
        "0x0003",
        "0x0019"
      ]
    },
    "7": {
      "profile_id": 260,
      "device_type": "0x0203",
      "in_clusters": [
        "0x0000",
        "0x0003"
      ],
      "out_clusters": [
        "0x0003",
        "0x0004",
        "0x0019",
        "0x0102"
      ]
    },
    "242": {
      "profile_id": 41440,
      "device_type": "0x0061",
      "in_clusters": [],
      "out_clusters": [
        "0x0021"
      ]
    }
  },
  "manufacturer": "Insta GmbH",
  "model": "Generic UP Device",
  "class": "zigpy.device.Device"
}

ZHA add device log

Click to show
New device 0x1d12 (5c:02:72:ff:fe:bd:51:c4) joined the network
[0x1d12] Scheduling initialization
Received frame on uninitialized device <Device model=None manuf=None nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=False> from ep 0 to ep 0, cluster 19: b'\x81\x12\x1d\xc4Q\xbd\xfe\xffr\x02\\\x8e'
[0x1d12:zdo] ZDO request ZDOCmd.Device_annce: [0x1D12, 5c:02:72:ff:fe:bd:51:c4, 142]
Tries remaining: 3
[0x1d12] Requesting 'Node Descriptor'
Tries remaining: 2
[0x1d12] Extending timeout for 0x69 request
Received frame on uninitialized device <Device model=None manuf=None nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=False> from ep 0 to ep 0, cluster 32770: b'i\x00\x12\x1d\x01@\x8ez\x11RR\x00\x00,R\x00\x00'
[0x1d12] Got Node Descriptor: NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4474, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)
[0x1d12] Discovering endpoints
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=False> from ep 0 to ep 0, cluster 32773: b'k\x00\x12\x1d\x03\x06\x07\xf2'
[0x1d12] Discovered endpoints: [6, 7, 242]
[0x1d12] Initializing endpoints [<Endpoint id=6 in=[] out=[] status=<Status.NEW: 0>>, <Endpoint id=7 in=[] out=[] status=<Status.NEW: 0>>, <Endpoint id=242 in=[] out=[] status=<Status.NEW: 0>>]
[0x1d12:6] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'm\x00\x12\x1d\x16\x06\x04\x01\x02\x02\x01\x05\x00\x00\x03\x00\x04\x00\x05\x00\x02\x01\x02\x03\x00\x19\x00'
[0x1d12:6] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=6, profile=260, device_type=514, device_version=1, input_clusters=[0, 3, 4, 5, 258], output_clusters=[3, 25])
[0x1d12:7] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'o\x00\x12\x1d\x14\x07\x04\x01\x03\x02\x01\x02\x00\x00\x03\x00\x04\x03\x00\x04\x00\x19\x00\x02\x01'
[0x1d12:7] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=7, profile=260, device_type=515, device_version=1, input_clusters=[0, 3], output_clusters=[3, 4, 25, 258])
[0x1d12:242] Discovering endpoint information
Tries remaining: 3
Received frame on uninitialized device <Device model=None manuf=None nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=False> from ep 0 to ep 0, cluster 32772: b'q\x00\x12\x1d\n\xf2\xe0\xa1a\x00\x01\x00\x01!\x00'
[0x1d12:242] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=242, profile=41440, device_type=97, device_version=1, input_clusters=[], output_clusters=[33])
[0x1d12:6:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=115 command_id=Command.Read_Attributes_rsp>
[0x1d12] Read model 'Generic UP Device' and manufacturer 'Insta GmbH' from <Endpoint id=6 in=[basic:0x0000, identify:0x0003, groups:0x0004, scenes:0x0005, window_covering:0x0102] out=[identify:0x0003, ota:0x0019] status=<Status.ZDO_INIT: 1>>
[0x1d12] Discovered basic device information for <Device model='Generic UP Device' manuf='Insta GmbH' nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=True>
Device is initialized <Device model='Generic UP Device' manuf='Insta GmbH' nwk=0x1D12 ieee=5c:02:72:ff:fe:bd:51:c4 is_initialized=True>
Checking quirks for Insta GmbH Generic UP Device (5c:02:72:ff:fe:bd:51:c4)
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {242, 6, 7}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {242, 6, 7}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because endpoint list mismatch: {1} {242, 6, 7}
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because endpoint list mismatch: {1} {242, 6, 7}
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because endpoint list mismatch: {1} {242, 6, 7}
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {242, 6, 7}
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because endpoint list mismatch: {1} {242, 6, 7}
'button' component -> 'ZHAIdentifyButton' using ['identify']
'cover' component -> 'ZhaCover' using ['window_covering']
'sensor' component -> 'RSSISensor' using ['basic']
'sensor' component -> 'LQISensor' using ['basic']
'button' component -> 'ZHAIdentifyButton' using ['identify']
'sensor' component -> 'RSSISensor' using ['basic']
'sensor' component -> 'LQISensor' using ['basic']
device - 0x1D12:5c:02:72:ff:fe:bd:51:c4 entering async_device_initialized - is_new_join: True
device - 0x1D12:5c:02:72:ff:fe:bd:51:c4 has joined the ZHA zigbee network
[0x1D12](Generic UP Device): started configuration
[0x1D12:ZDO](Generic UP Device): 'async_configure' stage succeeded
Error handling '_save_attribute' event with (5c:02:72:ff:fe:bd:51:c4, 6, 0, 4, 'Insta GmbH') params: FOREIGN KEY constraint failed
[0x1D12:6:0x0003]: finished channel configuration
[0x1D12:6:0x0000]: finished channel configuration
[0x1D12:6:0x0019]: finished channel configuration
[0x1D12:7:0x0003]: finished channel configuration
[0x1D12:7:0x0000]: finished channel configuration
[0x1D12:7:0x0019]: finished channel configuration
Error handling '_save_attribute' event with (5c:02:72:ff:fe:bd:51:c4, 6, 0, 5, 'Generic UP Device') params: FOREIGN KEY constraint failed
[0x1D12:6:0x0102]: bound 'window_covering' cluster: Status.SUCCESS
[0x1D12:7:0x0102]: bound 'window_covering' cluster: Status.SUCCESS
[0x1D12:7:0x0102]: finished channel configuration
[0x1D12:7:0x0003]: 'async_configure' stage succeeded
[0x1D12:7:0x0000]: 'async_configure' stage succeeded
[0x1D12:7:0x0102]: 'async_configure' stage succeeded
[0x1D12:7:0x0019]: 'async_configure' stage succeeded
[0x1d12:6:0x0102] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=121 command_id=Command.Configure_Reporting_rsp>
[0x1D12:6:0x0102]: Successfully configured reporting for '{'current_position_lift_percentage': (0, 900, 1)}' on 'window_covering' cluster: [ConfigureReportingResponseRecord(status=0)]
[0x1D12:6:0x0102]: finished channel configuration
[0x1D12:6:0x0102]: 'async_configure' stage succeeded
[0x1D12:6:0x0003]: 'async_configure' stage succeeded
[0x1D12:6:0x0000]: 'async_configure' stage succeeded
[0x1D12:6:0x0019]: 'async_configure' stage succeeded
[0x1D12](Generic UP Device): completed configuration
[0x1D12](Generic UP Device): stored in registry: ZhaDeviceEntry(name='Insta GmbH Generic UP Device', ieee='5c:02:72:ff:fe:bd:51:c4', last_seen=1645871956.2753153)
[0x1D12](Generic UP Device): started initialization
[0x1D12:ZDO](Generic UP Device): 'async_initialize' stage succeeded
[0x1D12:6:0x0102]: initializing channel: from_cache: False
[0x1D12:6:0x0003]: initializing channel: from_cache: False
[0x1D12:6:0x0003]: finished channel initialization
[0x1D12:6:0x0000]: initializing channel: from_cache: False
[0x1D12:6:0x0000]: finished channel initialization
[0x1D12:6:0x0019]: initializing channel: from_cache: False
[0x1D12:6:0x0019]: finished channel initialization
[0x1D12:7:0x0003]: initializing channel: from_cache: False
[0x1D12:7:0x0003]: finished channel initialization
[0x1D12:7:0x0000]: initializing channel: from_cache: False
[0x1D12:7:0x0000]: finished channel initialization
[0x1D12:7:0x0102]: initializing channel: from_cache: False
[0x1D12:7:0x0102]: finished channel initialization
[0x1D12:7:0x0019]: initializing channel: from_cache: False
[0x1D12:7:0x0019]: finished channel initialization
[0x1D12:7:0x0003]: 'async_initialize' stage succeeded
[0x1D12:7:0x0000]: 'async_initialize' stage succeeded
[0x1D12:7:0x0102]: 'async_initialize' stage succeeded
[0x1D12:7:0x0019]: 'async_initialize' stage succeeded
[0x1d12:6:0x0102] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=123 command_id=Command.Read_Attributes_rsp>
[0x1D12:6:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
[0x1D12:6:0x0102]: finished channel initialization
[0x1D12:6:0x0102]: 'async_initialize' stage succeeded
[0x1D12:6:0x0003]: 'async_initialize' stage succeeded
[0x1D12:6:0x0000]: 'async_initialize' stage succeeded
[0x1D12:6:0x0019]: 'async_initialize' stage succeeded
[0x1D12](Generic UP Device): power source: Mains
[0x1D12](Generic UP Device): completed initialization
[0x1d12:6:0x0102] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=125 command_id=Command.Read_Attributes_rsp>
[0x1D12:6:0x0102]: Attribute report 'Window Covering'[current_position_lift_percentage] = 0
[0x1D12:6:0x0102]: read current position: 0
polling current state
read pos=0
[0x1d12:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 49246, [258], []]
[0x1d12:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 260, [258], []]
[0x1d12:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 49246, [258], []]
[0x1d12:zdo] ZDO request ZDOCmd.Match_Desc_req: [0xFFFD, 260, [258], []]

HA log
https://gist.github.com/cremor/ba36e802502f72a4945a95e5cc55f196
(too long to embed in issue)

Example zha_events
When I close/stop/open the blinds via the manual buttons, the following zha_events are received (but HA doesn't update the entity states).

Click to show
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "5c:02:72:ff:fe:bd:50:88",
        "unique_id": "5c:02:72:ff:fe:bd:50:88:7:0x0102",
        "device_id": "51b7890b4fd8e23b7748ca1153199aa4",
        "endpoint_id": 7,
        "cluster_id": 258,
        "command": "down_close",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-26T14:24:07.625340+00:00",
    "context": {
        "id": "6c749470685dfed00d198a3b4da7fce7",
        "parent_id": null,
        "user_id": null
    }
}
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "5c:02:72:ff:fe:bd:50:88",
        "unique_id": "5c:02:72:ff:fe:bd:50:88:7:0x0102",
        "device_id": "51b7890b4fd8e23b7748ca1153199aa4",
        "endpoint_id": 7,
        "cluster_id": 258,
        "command": "stop",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-26T14:24:11.775924+00:00",
    "context": {
        "id": "22f0d715b5d9c41fe6f9184b33fde322",
        "parent_id": null,
        "user_id": null
    }
}
{
    "event_type": "zha_event",
    "data": {
        "device_ieee": "5c:02:72:ff:fe:bd:50:88",
        "unique_id": "5c:02:72:ff:fe:bd:50:88:7:0x0102",
        "device_id": "51b7890b4fd8e23b7748ca1153199aa4",
        "endpoint_id": 7,
        "cluster_id": 258,
        "command": "up_open",
        "args": []
    },
    "origin": "LOCAL",
    "time_fired": "2022-02-26T14:24:13.059192+00:00",
    "context": {
        "id": "b18490e2add2d7c56f91ba2b5e184873",
        "parent_id": null,
        "user_id": null
    }
}

Additional context

Picture of the device:

@Hedda
Copy link
Contributor

Hedda commented Mar 17, 2022

As started by @mdeweerd (le_top) in https://community.home-assistant.io/t/does-zha-not-support-tilt-for-covers-blinds/402038

cover.py for zha component inside Home Assistant core looks to be missing tilt for covers as cover does include tilting blinds here:

https://github.com/home-assistant/core/tree/dev/homeassistant/components/cover

For reference it means developer need to extend ZHA cover support in cover.py for zha component inside Home Assistant core:

https://github.com/home-assistant/core/blob/dev/homeassistant/components/zha/cover.py

So could look at the cover.py code in some one the other integrations/components that already include tilt and copy to zha?

PS: Temporary workaround until there is native tilt support for cover in ZHA could be to experiment with automations using ZHA toolkit and/or dumpfheimer framework for generic exposure of device configuration attributes. See -> zigpy/zigpy#934 and/or https://github.com/mdeweerd/zha-toolkit + https://community.home-assistant.io/t/zha-toolkit-toolkit-providing-low-and-high-level-zigbee-commands-through-zha-zigpy/373346 but that is probably more work than extending zha component cover support.

@Hedda
Copy link
Contributor

Hedda commented Mar 17, 2022

cover.py for zha component inside Home Assistant core looks to be missing tilt for covers as cover does include tilting blinds from:

https://github.com/home-assistant/core/tree/dev/homeassistant/components/cover

For reference it means developer need to extend ZHA cover support in cover.py for zha component inside Home Assistant core:

https://github.com/home-assistant/core/blob/dev/homeassistant/components/zha/cover.py

So could look at the cover.py code in some one the other integrations/components that already include tilt and copy to zha?

For comparison can look at some of the other components in Home Assistant core that have already implemented tilt, like mqtt:

https://github.com/home-assistant/core/blob/fe38e6ba875cb267da2ed066109b946a124166cc/homeassistant/components/mqtt/cover.py

https://github.com/home-assistant/core/blob/fe38e6ba875cb267da2ed066109b946a124166cc/tests/components/mqtt/test_cover.py

https://github.com/home-assistant/core/blob/9b5939a7a5424a8545c78e9b6b5f20e1a7ab7ac7/homeassistant/components/demo/cover.py

https://github.com/home-assistant/core/blob/e9a9b119c40c9337b1c61b7780e97b689cbd9f0f/homeassistant/components/template/cover.py

https://github.com/home-assistant/core/blob/3f7b7187ab410fd8dbf04fcfc834fda731dc8087/tests/components/group/test_cover.py

https://github.com/home-assistant/core/blob/a59460a23336627d0bc12b1eefffdaa516e55e87/tests/components/cover/test_reproduce_state.py

Some other components that also already include tilt support for cover are; deconz, somfy, esphome, knx, rfxtrx, and many more:

https://github.com/home-assistant/core/search?p=4&q=tilt

@cremor
Copy link
Author

cremor commented Mar 17, 2022

@dmulcahey and @Adminiuga: The ZHA manifest mentiones you two as code owners. Would you be interested in implementing tilt support for covers in ZHA?

And are the other problems I mentioned also features that need to be implemented in ZHA directly, or would those be things for a quirk?

@cremor
Copy link
Author

cremor commented Mar 18, 2022

Thanks to the documentation of zha-toolkit I now figured out how to set the tilt position. (Btw, I would have figured this out way earlier if home-assistant/frontend#10633 would have been fixed already.)

The following script works:

alias: Set cover tilt position
mode: single
icon: mdi:boom-gate-up
fields:
  entity:
    name: Entity
    required: true
    selector:
      entity:
        domain: cover
  value:
    name: Value
    required: true
    selector:
      number:
        min: 0
        max: 100
sequence:
  - service: zha.issue_zigbee_cluster_command
    data:
      ieee: '{{ (device_attr(entity, "identifiers") | list).0.1 }}'
      endpoint_id: 6
      cluster_id: 258
      command: 8
      command_type: server
      args:
        - '{{ 100 - value }}'

(Getting the IEEE would be easier/nicer with zha-toolkit, but that's fine for me now.)

Endpoint, cluster and command ids are the ones from the Zigbee standard, so nothing device or vendor specific is needed. Zigpy also already supports those as a go_to_tilt_percentage command: https://github.com/zigpy/zigpy/blob/0c4b9a8a25c5eef5b008d66c2e56aae3f8d5e769/zigpy/zcl/clusters/closures.py#L568
It's just ZHA which is not using the functionality provided by Zigpy.

@github-actions
Copy link

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 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.

@github-actions github-actions bot added the stale Issue is inactivate and might get closed soon label Sep 17, 2022
@cremor
Copy link
Author

cremor commented Sep 17, 2022

Not resolved. The initial comment is still up to date.

@github-actions github-actions bot removed the stale Issue is inactivate and might get closed soon label Sep 17, 2022
@Hedda
Copy link
Contributor

Hedda commented Sep 23, 2022

Temporary workaround until there is native tilt support for cover in ZHA could be to experiment with automations using ZHA toolkit and/or dumpfheimer framework for generic exposure of device configuration attributes. See -> zigpy/zigpy#934 and/or https://github.com/mdeweerd/zha-toolkit + https://community.home-assistant.io/t/zha-toolkit-toolkit-providing-low-and-high-level-zigbee-commands-through-zha-zigpy/373346 but that is probably more work than extending zha component cover support.

Again, be sure to check out a the related zigpy development discussion here -> zigpy/zigpy#934

Developers there discuss ideas to expose more generic device configuration attributes in an easy way for ZHA UI/GUI.

@github-actions
Copy link

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 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.

@github-actions github-actions bot added the stale Issue is inactivate and might get closed soon label Mar 22, 2023
@cremor
Copy link
Author

cremor commented Mar 22, 2023

Please leave this open for now. Someone is currently working on tilt support for covers in ZHA, see https://community.home-assistant.io/t/support-tilt-for-covers-in-zha/403146/5
Once tilt for covers is available in ZHA I will update this issue.

@github-actions github-actions bot removed the stale Issue is inactivate and might get closed soon label Mar 22, 2023
@github-actions
Copy link

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 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.

@github-actions github-actions bot added the stale Issue is inactivate and might get closed soon label Sep 18, 2023
@Hedda
Copy link
Contributor

Hedda commented Sep 18, 2023

  • Update: ZHA actually doesn't support tilt for covers at all. So this is not something that would be fixed in a quirk. See comments below for more information.

Please leave this open for now. Someone is currently working on tilt support for covers in ZHA, see https://community.home-assistant.io/t/support-tilt-for-covers-in-zha/403146/5
Once tilt for covers is available in ZHA I will update this issue.

FYI, this is sill being worked on, check out this draft PR for "ZHA cover tilt" support by @josef109 -> home-assistant/core#93301

@cremor
Copy link
Author

cremor commented Sep 18, 2023

I know that PR and I'd really like to see it merged. But sadly there has been no real change since May and the author doesn't respond to any messages (neither on GitHub nor in the HA forum).

@github-actions github-actions bot removed the stale Issue is inactivate and might get closed soon label Sep 18, 2023
@cremor
Copy link
Author

cremor commented Nov 3, 2023

I've updated the first comment since HA 2023.11 now finally supports tilt for covers in ZHA.

@Hedda
Copy link
Contributor

Hedda commented Dec 20, 2023

Sounds like also might still need one or both of these fixes from @tomasbedrich and @GuillaumeB-GitHub to work as it should?

home-assistant/core#105467

home-assistant/core#99646

Copy link

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 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.

@github-actions github-actions bot added the stale Issue is inactivate and might get closed soon label Jun 17, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Issue is inactivate and might get closed soon
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants