ebaauw / homebridge-deconz

Homebridge plugin for deCONZ
Apache License 2.0
135 stars 7 forks source link

Ikea Fyrtur not working #20

Closed Bentrama closed 2 years ago

Bentrama commented 2 years ago

Hello,

I have a weird issue with my IKEA fyrtur and the plugin.

I cannot control them through HomeKit, it says opening or closing but nothing moves.

when I try with the home+ app it’s the same thing never works.

I also tried with the web phoscon app but they don’t move neither.

I tried with the Deconz gui app and there they work correctly when sending an open/close command.

I tried to remove them from HomeKit accessory cache and restated but still the same issue.

What is weird is that they were working correctly 3 days ago and I didn’t change anything in the configuration.

I have also some zigbee lights connected through the plugin and they work fine

can you help me with that ?

ebaauw commented 2 years ago

The plugin doesn’t send Open nor Close, only Go to Lift Percentage. Have you tried that command from the GUI? Does the FYRTUR still have its configuration of the closed position? Does it stop at the set position on Close, or does it continue moving?

Bentrama commented 2 years ago

It doesn’t work when I try to open or close with HomeKit/home+ or directly from the Homebridge accessory page. They only work from the Deconz GUI but I changed nothing. And yes they still have their closed positioning correct.

Everything was working fine like 3 days ago

Bentrama commented 2 years ago

And this is what the log in Homebridge looks : BA368339-5528-47A7-9D4E-21E8D3DCBB7B

also I’m running the Deconz headless without GUI, do you recommend to leave the GUI open ?

ebaauw commented 2 years ago

I leave the GUI running at all times, so it’s there when I need it. Running deCONZ on a headless Raspberry Pi, and use screen sharing (VNC) to access the GUI.

I’m really curious if the blind reacts to Go to Lift Percentage. Alternatively, you could try the deconz command-line utility and set state.lift (instead of state.open) through the API. I don’t think I’ve ever seen that a device would be controllable through the GUI, but no longer through the API.

I find occasionally my FYRTUR locks up and stops reporting or even responding. Usually fixed by a power-cycle (remove the battery for 10s).

Bentrama commented 2 years ago

They do do work fine when using these from the GUI and also react when using « go to lift percentage on the gui FD269962-B174-4974-B8F7-78EC30924597

I dont exactly know how to try through the API, would you tell me ?

ebaauw commented 2 years ago

Issue deconz put /lights/id/state '{"lift": 0}' on the command line, substituting the resource id of the FYRTUR (which you can see in Eve in the Device Settings service).

Bentrama commented 2 years ago

I get this when trying: 1B62338A-378F-4557-ABE2-87D883836EE7

ebaauw commented 2 years ago

If you're not running deCONZ on port 80, you need to specify the port: deconz -H localhost:portput ....

If you're not running Homebridge on the same host as deCONZ, you need to specify the hostname and port through -H. Also, you need to unlock the gateway and run deconz -H ... getApiKey once. Issue deconz -h for help.

Bentrama commented 2 years ago

Im running deconz on my raspberry which also hosts homebridge on the official homebridge raspbian image. I tried what you asked and was able to get the API KEY but the command does ont work. Here is the return : C69A69C5-1B5A-4C43-9675-51B4DEC82B19

ebaauw commented 2 years ago

If it works in the GUI, but not here, it’s between the REST API plugin and the deCONZ core. I don’t think I’ve seen that before. Did you try and power cycle the FYRTUR? And restart deCONZ? Do you see any errors in the deCONZ log?

Bentrama commented 2 years ago

Hello,

Yes I tried to power cycle my 2 fyrtur multiple times. I also power cycled my deconz and homebridge instance multiple times. Even tried to reboot completely the raspberry but nothing works apart from the deconz GUI.

Bentrama commented 2 years ago

I managed to make them work with Home app again, they open and close normally.

but there is still one thing, Home app and home+ app report them as closed even when they are fully open. they also report closed when fully ope in the holebridge accessories page

I did check the attributes for “current lift percentage” and its 1-300-1 I also tried to bind them again it worked but still not reporting current position.

ebaauw commented 2 years ago

I managed to make them work with Home app again, they open and close normally

What changed?

but there is still one thing, Home app and home+ app report them as closed even when they are fully open. they also report closed when fully ope in the holebridge accessories page

That sounds like deCONZ hasn’t refreshed the value. Does HomeKit show the correct state, after you read the Current Lift Percentage attribute in the GUI?

I did check the attributes for “current lift percentage” and its 1-300-1 I also tried to bind them again it worked but still not reporting current position.

As I mentioned above, sometimes the FYRTUR stops reporting for no apparent reason, only to resume this after a power cycle.

Bentrama commented 2 years ago

What changed ? I did leave the Deconz GUI open and not using the Deconz headless.

Yes Deconz doesn’t refresh automatically, after opening the stores If I go to the deconz gui and read the value HomeKit sees it at open. It’s the same when I close them again they stay at “open” state and if I read the value HomeKit sees them as closed.

With the Homebridge-hue plugin I used to see the percentage moving 5% by 5% when they were closing or opening but here no.

I will try to power cycle the fyrtur now and tell you if it’s good

Bentrama commented 2 years ago

Ok I just power cycled them.

but issue is a bit different.

when I open them the home app says « opening » then in the middle at about 50% opening home app reports « opened at 50% » then they continue to open but home app switch to « closing »’and says closed when they are fully open.

it’s the same when closing, they close then at about 50% of the course home app says « open at 50% » then switch back to opening and they continue to close normally

I did remove the batteries for about 10 seconds

Bentrama commented 2 years ago

I think I found something in Homebridge, you can see in this picture Homebridge says :"target posisition 55%" could it be the problem ? and how to correct it ?

Capture d’écran 2022-02-23 à 17 42 44
ebaauw commented 2 years ago

Indeed, that’s different. Are you on v0.0.13? There’s a bug in v0.0.12 that would cause this. Also did some other fixes in https://github.com/ebaauw/homebridge-deconz/commit/7571d3fa8cef8cec990e47d1a6f0f02ed058f338, but haven’t released them yet.

Bentrama commented 2 years ago

Im at V0.0.13

i managed to correct that target position, it was the slider in the home+ app for the fyrtur that was at this position.

But still, after rebooting completely the pi the issue is still there, at about half of the course when opening it changes to closing by itself but continues to open and when closing it changes to opening, I don’t know where that comes from

also my deconz version is : 2.14.01 / 06/02/2022 And the conbee firmware is : 26720700

ebaauw commented 2 years ago

There’s a fundamental design mismatch between the REST API and HomeKit. Unlike HomeKit, which has separate characteristics for Current Position, Target Position, and Position State (opening, closing, stopped), the API only reports the Current Lift Percentage. Also, Apple’s Home app ignores Position State, and displays the state based on Current Position vs Target Position.

Homebridge deCONZ needs to compute the appropriate values for Target Position and Position State, based only on Current Lift Percentage. That’s relatively easy when you set Target Position from HomeKit, but more complex when the blind is also controlled by other API clients, or by the Open/Close Remote, controlling the blind directly. Also, you don’t want Home to continue to report that the blind is moving, when a report is missed. To achieve this, Homebridge deCONZ updates Target Position to Current Position when it receives a report while it hasn’t initiated a move recently (assuming someone else started the move).

The FYRTUR takes quite some time to fully open or close, during which It reports its current position several times. I think the 15s timeout for a recently initiated move might be too aggressive for your situation, causing the Target Position to be set to Current Position while the blind is still moving. How long does your FYRTUR take to move from fully closed to fully opened? What height does it cover?

Bentrama commented 2 years ago

Ok I get that but it was working fine before that’s why I don’t understand, also fine with the hue plugin.

It takes about 25 seconds for the blind to fully open and the length I would say is about 1 meter and a half more or less.

we also try to only use the home app and nothing else to move it up or down

10844C55-8FEC-4961-B060-F58CF6F7B234

ebaauw commented 2 years ago

Homebridge Hue works differently technically, so I had to refactor the logic in Homebridge deCONZ.

Bentrama commented 2 years ago

So there’s nothing I could do about it right ? That’s weird as it worked fine with the deconz plugin before.

is there a way to change that 15sec time ?

Is it why it changes from « opening » to « closing » in home app during operation ?

ebaauw commented 2 years ago

“Before” as in v0.0.12?

I’ll double the 15s in the next release, also made some more changes already to fix another bug in the logic.

As I said, Home displays the state based on the Current Position and Target Position values, instead of on Position State. It’s probably just as confused as I am…

Bentrama commented 2 years ago

Maybe, we don’t open them often so it might be from the last version but I’m not a 100% sure.

Yes i understand what you said, I will wait for the next release and see if it’s better !

My goal was to ditch all those hubs and have only a raspberry but I’m about to put back these one on the IKEA hub as I can’t fix them, it’s ok for me but for the wife you know it has to work haha.

Maybe I’ll try to completely remove them from deconz and re-pair I don’t know but I’ll wait for your next release before.

But thanks a lot for your help sir !

ebaauw commented 2 years ago

I’ll double the 15s in the next release, also made some more changes already to fix another bug in the logic.

Damn. Didn't make it in v0.0.14. Sorry for that.

Bentrama commented 2 years ago

Hello, I just updated and tested them, looks like they work normally for now 😉

thanks