Opening/Closing state of IKEA FYRTUR blind with ZHA does not get updated

Hi all! Recently I have set up a FYRTUR blind from IKEA with ZHA and it is mostly working great.

One issue I have noticed is that if I set the position directly (the lift percentage) to a value that’s not 0% or 100%, HA will report the cover state as opening/closing while the blind is moving (which is correct), however it remains in that “in progress” state even after the blind has reached the set percentage. I have to manually click the stop button in HA or call the cover.stop_cover service to clear it.

HomeKit (with the HomeKit bridge integration) does not demonstrate this issue. Setting the percentage in the Home app, the blind will first show the opening/closing state and then change it to open/closed once it has reached to set percentage. I think that’s just something the Home app does internally, because the state remains stuck if I look directly in HA.

What I know:

  • The blind is correctly reporting the lift percentage, which I can see it updating via an entity for the lift percentage that I have added in the dashboard.
  • If I set the lift percentage to 0%, HA will update the state to closed.
  • If I set the lift percentage to 100%, HA will update the state to open (100%).
  • Clicking Stop manually or calling the cover.stop_cover service will update the state properly to open/closed.

What I tried:

  • Clicking “Reconfigure” on the blind in the ZHA settings. Succeeded and nothing has changed.
  • Recharging the battery and adding the included IKEA signal repeater to the network. The signal is strong enough and the blind did not decide to go through the repeater.
2 Likes

You should create a github ticket Issues · home-assistant/core · GitHub

My ikea blinds doesn’t even report opening or closing states, just open or closed and position. How did you get it to do that? I am currently trying to make an automation that I can’t do because the Tradfri gateway isn’t reporting these states.

I think the blind itself doesn’t reporting opening or closing state. It’s HA that is inferring that state. I’m using ZHA and it worked right away.

I can’t seem to make any use of the inferred state in my automations. It just doesn’t work. “Closing” and “Opening” is an option, but the automation never actually triggers.

Re-adding your blind to your network might help (and make sure the signal is relatively strong), but I’m no way an expert in HA so I’m not sure.

Anyway, regarding my original question - I found a workaround that works by automatically calling cover.stop_cover via an automation 5 seconds every time after the blind position is changed. The automation is set to the restart mode so that any new position changes during that 5 seconds would restart the timer, effectively limiting the call to only once after the position is deemed “stabilized”.

I’d still love to see if there’s a fix that I can perform on my end, unless it’s a bug that exists within HA.

2 Likes

this is an HA issue with fyrtur implementation in ZHA. After it reaches the desired position (in %) it needs to switch from opening to open or closing to close. The bug or issue is that if the cover is not 0% or 100% it will be in an ‘opening’ or ‘closing’ state forever as long as it is not zero or 100. On other covers i have this is not an problem, so it is specific to fyrtur as a cover… The key is to detect when the cover stops moving which can only be fixed in the ZHA implementation i think

2 Likes

My little workaround until the problem is fixed in ZHA:

alias: IKEA Fyrtur State Update
description: ""
trigger:
  - platform: state
    entity_id:
      - cover.office_cover_north
      - cover.office_cover_west
    attribute: current_position
    for:
      hours: 0
      minutes: 0
      seconds: 1
action:
  - service: homeassistant.update_entity
    target:
      entity_id: "{{ trigger.entity_id }}"
mode: restart

Interestingly enough… I had 4 Fyrturs on deconz. One died, 3 left. I moved everything to ZHA. These Fyrturs did not exibit the not-updating problem. Added a new one, and it showed the behaviour. Firmware updated, they’re all on the same 0x24040011 - the only difference is that the 3 working ones were used with deconz before and the one which shows the issue has never been in touch with deconz.

Did deconz set up something that ZHA misses to establish? Would they survive the “join another network”-reset (pushing both buttons until the LED lights up)?

Hope that helps narrowing the issue down. haip’s workaround works fine for me for the meantime.

Hi, Where did you insert this code string to make it work? I also have this problem with integration in ZHA… is this problem overcome if Z2M is used?

Thks

Hi @Ceo90,

welcome to the Home Assistant Community!

The code is from my automation, which works still fine.

For the Gui users:

Sorry @haip but I didn’t understand where to put the code of your first post …

And for me the last screenshot not clarify…

:sweat_smile::sweat_smile::sweat_smile:

If you were kind enough to explain the steps to me, I would be immensely grateful!

@Ceo90
The code from my “first” post, is the yaml of my automation.

If you would like to add my yaml code in a new automation (change the entitiy_ids to yours of course).

  1. Add a new empty automation (and change to yaml mode):

  2. Paste the code (change entities under entity_id:)

Ok, and my entity ID Where can I find it?

Sorry but I’m new to ZigBee in HA…
I’m from the HomeKit world…

This is my Ikea Tredansen on HA

Click on your cover (Copertura), then settings (cogwheel).

The yellow circle is the entity_id you need. Copy it with a click on the red circle.

I’m sorry… I must be missing something here. I bought two of these and tried to hook them up. I went to Integrations and tried to add a Zigbee device, and it never found them. I read somewhere that you need Z2MQTT so I installed Mosquito MQTT. My HA then “found” the blinds, but the only two entities I see are the battery and an identify entity.

What do I do to get them to open close? Do I need to setup the remote or repeater that came with the blinds? Do I need to get the hub? I feel like I’m missing something, and I am not as advanced as you all so a bit lost.

I think the issue has to do with “target_lift_position”. This attribute gets set when using the native device slider.

When this attribute is 0 (or it seems any number less than 100) and toggling the shades open the device’s state will stay “opening”.

Using the slider to set the position to 100 (open), toggling both ways sets the correct state.

image