zha-device-handlers icon indicating copy to clipboard operation
zha-device-handlers copied to clipboard

[BUG] FYRTUR block-out roller blind - Position reporting

Open V4n1X opened this issue 3 years ago • 10 comments

Describe the bug The position of the does not get reported, stop of the cover is not possible because of a missing position.

To Reproduce Steps to reproduce the behavior:

  1. Try to stop the cover while moving or try to get the actual position of the cover.

Expected behavior Report of the current position, that a stop is also possible

Screenshots

Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4476, 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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0202",
      "in_clusters": [
        "0x0000",
        "0x0001",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0020",
        "0x0102",
        "0x1000",
        "0xfc7c"
      ],
      "out_clusters": [
        "0x0019",
        "0x1000"
      ]
    }
  },
  "manufacturer": "IKEA of Sweden",
  "model": "FYRTUR block-out roller blind",
  "class": "zhaquirks.ikea.blinds.IkeaTradfriRollerBlinds2"
}
Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.7.7",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.5",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "5.15.55",
    "supervisor": "2022.07.0",
    "host_os": "Home Assistant OS 8.4",
    "docker_version": "20.10.14",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "battery_consumption": {
      "version": "1.0.4",
      "requirements": []
    },
    "alexa_media": {
      "version": "4.1.0",
      "requirements": [
        "alexapy==1.26.1",
        "packaging>=20.3",
        "wrapt>=1.12.1"
      ]
    },
    "miele": {
      "version": "v2021.10.12",
      "requirements": [
        "requests_oauthlib>=1.3.0"
      ]
    },
    "waste_collection_schedule": {
      "version": "1.24.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4"
      ]
    },
    "nuki_ng": {
      "version": "0.2.1",
      "requirements": []
    },
    "hacs": {
      "version": "1.26.2",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "requirements": [
      "bellows==0.31.1",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.77",
      "zigpy-deconz==0.18.0",
      "zigpy==0.47.3",
      "zigpy-xbee==0.15.0",
      "zigpy-zigate==0.9.0",
      "zigpy-znp==0.8.1"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga"
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      }
    ],
    "after_dependencies": [
      "onboarding",
      "usb",
      "zeroconf"
    ],
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 58630,
    "manufacturer": "IKEA of Sweden",
    "model": "FYRTUR block-out roller blind",
    "name": "IKEA of Sweden FYRTUR block-out roller blind",
    "quirk_applied": true,
    "quirk_class": "zhaquirks.ikea.blinds.IkeaTradfriRollerBlinds2",
    "manufacturer_code": 4476,
    "power_source": "Battery or Unknown",
    "lqi": 49,
    "rssi": null,
    "last_seen": "2022-08-01T02:32:19",
    "available": true,
    "device_type": "EndDevice",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, manufacturer_code=4476, 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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": 260,
          "device_type": "0x0202",
          "in_clusters": [
            "0x0000",
            "0x0001",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0020",
            "0x0102",
            "0x1000",
            "0xfc7c"
          ],
          "out_clusters": [
            "0x0019",
            "0x1000"
          ]
        }
      }
    },
    "entities": [
      {
        "entity_id": "button.ikea_of_sweden_fyrtur_block_out_roller_blind_a5a6bcfe_identify",
        "name": "IKEA of Sweden FYRTUR block-out roller blind"
      },
      {
        "entity_id": "cover.ikea_of_sweden_fyrtur_block_out_roller_blind_a5a6bcfe_window_covering",
        "name": "IKEA of Sweden FYRTUR block-out roller blind"
      },
      {
        "entity_id": "sensor.ikea_of_sweden_fyrtur_block_out_roller_blind_a5a6bcfe_power",
        "name": "IKEA of Sweden FYRTUR block-out roller blind"
      }
    ],
    "neighbors": [],
    "endpoint_names": [
      {
        "name": "WINDOW_COVERING_DEVICE"
      }
    ],
    "user_given_name": null,
    "device_reg_id": "852f0c1d832e1564a2ebab66c46e4899",
    "area_id": "og_schlafzimmer",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "WINDOW_COVERING_DEVICE",
          "id": 514
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0001": {
            "endpoint_attribute": "power",
            "attributes": {
              "0x0020": {
                "attribute_name": "battery_voltage",
                "value": 0
              },
              "0x0021": {
                "attribute_name": "battery_percentage_remaining",
                "value": 0
              }
            },
            "unsupported_attributes": {
              "0x0033": {
                "attribute_name": "battery_quantity"
              },
              "0x0031": {
                "attribute_name": "battery_size"
              }
            }
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0020": {
            "endpoint_attribute": "poll_control",
            "attributes": {
              "0x0000": {
                "attribute_name": "checkin_interval",
                "value": 13200
              }
            },
            "unsupported_attributes": {}
          },
          "0x0102": {
            "endpoint_attribute": "window_covering",
            "attributes": {
              "0x0008": {
                "attribute_name": "current_position_lift_percentage",
                "value": 0
              }
            },
            "unsupported_attributes": {}
          },
          "0x1000": {
            "endpoint_attribute": "lightlink",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xfc7c": {
            "endpoint_attribute": "manufacturer_specific",
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x1000": {
            "endpoint_attribute": "lightlink",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

Additional context A fix for the deconz official software that i tested with my conbee2 stick, so I can confirm that this is working: https://riesinger.dev/posts/ikea-fyrtur-homeassistant-deconz/ After that fix, position, battery, and stop position is working.

V4n1X avatar Aug 01 '22 00:08 V4n1X

Are these paired through Ikea provided ZigBee repeaters? Have you tried reconfiguring the devices while keeping the devices awake?

I can't reproduce it with Ikea Trendsen blinds, those report attributes almost in real time.

Adminiuga avatar Aug 02 '22 13:08 Adminiuga

All IKEA blind and covers is using the same OTA firmware but it can being that different models have different setting for getting the function OK with different hardware (motor controller and low long it shall running) but the ground function shall being the same in the Zigbee side with configuring and reporting.

MattWestb avatar Aug 02 '22 15:08 MattWestb

I have the same issue as @V4n1X.

Runepx4 avatar Sep 17 '22 20:09 Runepx4

Same issue here. Position, battery are not reporting/available. Yet they were 100% functional via deconz .

tbruinsma avatar Sep 23 '22 02:09 tbruinsma

Just moved from Z2M to ZHA and have encountered this issue as well.

alexanderphoenix avatar Nov 23 '22 12:11 alexanderphoenix

If battery and position is not reported OK do one reconfigurate from the device card and wake the blind up if its sleeping then sending the commands.

If the blind is having one real Zigbee router as parent you shall getting in the long on the device card somthing like this:

IKEA TREDANSEN block-out cellul blind Checkin event was fired
14:47:35 - 9 minutes ago

every hour and if not reparing the blind and reconfigure after its being OK joined.

Battery reporting is not made oft then is one sleeping end device so it can taking little time for it showing up.

MattWestb avatar Nov 23 '22 13:11 MattWestb

This seems to work now in Home Assistant 2023.6.3, the position didn’t report correctly in 2023.3.

oscar-b avatar Jul 01 '23 20:07 oscar-b

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[bot] avatar Dec 28 '23 21:12 github-actions[bot]

This is still an issue

brantje avatar Jan 03 '24 21:01 brantje