home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.05k stars 29.71k forks source link

Switchbot BlindTilt position accuracy #91231

Open burnski666 opened 1 year ago

burnski666 commented 1 year ago

The problem

I have 2 BlindTilts. When I use the HA integration over BLE, and set the blinds to 50% (which should be “fully open”) they never fully open. They seem to randomly “open” to somewhere between 80-92% but never land on “fully opened”.

blindtilt

Then when I try to close them (either way - to 0% or 100%) via the HA BLE integration them they will frequently jam.

However if I use the local Switchbot app (over BLE or cloud) OR when I use the SmartThings integration they will work flawlessly to both open or close.

What version of Home Assistant Core has the issue?

core-2023.4.2

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

switchbot

Link to integration documentation on our website

https://www.home-assistant.io/integrations/switchbot/

Diagnostics information

home-assistant_switchbot_2023-04-11T14-41-25.647Z.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

in this example i started with the blinds fully open (50%). cycled it to fully closed (0%) via the HA integration (over local BLE). Then a minute later after it finished I cycled it back to 50% in the HA integration which should be "fully open" however in the integration is remains stuck on "opening 52%", and in the SwitchBot app it ends at 96% opened.

Additional information

using this BLE antenna: https://www.amazon.ca/gp/product/B07VTFHDS6/ it uses the RealTek RTL8761BU and is on the supported adapters list: https://www.home-assistant.io/integrations/bluetooth#installing-a-usb-bluetooth-adapter (EDUP LOVE EP-B3536)

home-assistant[bot] commented 1 year ago

Hey there @bdraco, @danielhiversen, @renierm26, @murtas, @eloston, @dsypniewski, mind taking a look at this issue as it has been labeled with an integration (switchbot) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `switchbot` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign switchbot` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


switchbot documentation switchbot source (message by IssueLinks)

mschingel commented 1 year ago

I experience the same, using Bluetooth Proxy esp32.

Will also point out that the smart things integration perfectly works consistently as expected for fully open at 50% and then either closed up position or closed down. Not sure how it remembers but it consistently will stay for me on closed up which is what I prefer.

as a case example. I grouped 3 tilts together. Using the smart things it will open all 3 and close the same way as expected.

Only down side to this was that I had to invert the position for it to properly respect the correct close up. Wish there was a switch in either the integration or Switchbot app to assign the closed up or down.

however using the HA integration I experience mixed results. Sometimes one will hang and lag. While others will perform but not fully open and will close downward while one may close upwards unexpectedly. Also none will open to the correct 50% position as OP pointed out. It’s off by like 20% which might be due to the conversion on the backend of the integration.?

bkr1969 commented 1 year ago

This has been an issue for me as well. I open my blinds with a service call to set tilt position to 50. At least 30% of the time the position goes to some random position like 43 or 65. It will sometimes take 3-4 tries to make it work. Since the latest core update (2023.4.5) the tilt position randomly just changes. It will be at 50, then with no interaction at all change to something like 42. If I watch the states they all do this all day long, with the history showing that the entity became unavailable just before the change. I imagine it has trouble knowing the exact position when it reconnects. I might think this had more to do with Bluetooth connectivity except that they were much more stable before the last update.

Also, the position accuracy seems to only be with open status. Closed always stays at 0.

I appreciate the work done to add the blinds to HA and I know the API is brand new. Hopefully this particular integration can be made to be more accurate and stable.

bkr1969 commented 1 year ago

Here are my relevant log entries:

E1-31-09-7C-C7-7F (E1:31:09:7C:C7:7F): device not found, no longer in range, or poor RSSI: -84
11:40:59 – (ERROR) /usr/local/lib/python3.10/site-packages/switchbot/devices/device.py - message first occurred at 07:28:23 and shows up 197 times
WoBlindTilt (E1:31:09:7C:C7:7F): Device unexpectedly disconnected; RSSI: -84
11:36:56 – (WARNING) runner.py - message first occurred at 07:27:31 and shows up 145 times
Error in bluetooth callback
10:18:03 – (ERROR) Bluetooth - message first occurred at 07:27:49 and shows up 11 times
Error executing service: <ServiceCall cover.set_cover_tilt_position (c:01GYCZW8A08WZQJ6QPP0JQ8W97): entity_id=['cover.sb_master_north'], tilt_position=52>
08:52:01 – (ERROR) components/switchbot/cover.py - message first occurred at 08:51:02 and shows up 2 times
bkr1969 commented 1 year ago

Update on 4-22-23: Just added two ESP Bluetooth Proxies near my blinds. No change in position accuracy nor the fluctuation of same.

bkr1969 commented 1 year ago

Anybody even looking into this? I'm having trouble understanding why this doesn't function better. The Switchbot hub is able to flawlessly communicate with the devices and control pinpoint position accuracy, so BT signal shouldn't be the issue. Can HA not just communicate with the hub rather than the individual devices? Even using SmartThings is hit and miss now. I set the cover_position to 1 and the blinds go to 98 half of the time. Multiple calls to this same service seems to make the blinds alternate between open and closed. Again, I know this is brand new, but it would be nice to know that someone is even reading about this and maybe trying to improve. Thanks.

mschingel commented 1 year ago

@bdraco @bkr1969

I also was hoping for a solution on this.... I sadly have grown to it being off by 1-2% on the open and close status's... But as far as being off by 20% is not acceptable and worth returning the product.

For me SmartTHings still works well (sometime its delayed and takes a while) but its accurate. Could they just mimic the behavior that Smart Things has and apply it to home assistant? Also add a switch that can invert the position so that the user can control open up or open down???

Also, others that want automated curtains but I dont even bother referring people because there are issues...... Hopefully that changes??

burnski666 commented 1 year ago

@bdraco @Danielhiversen @RenierM26, @smurfix @dsypniewski

Nope. I'm the OP and the integration has never worked correctly over BT, have never been contacted for additional info.

mschingel commented 1 year ago

@burnski666 i reached out to support and referenced this ticket and also passed it onto someone from the tryswitchbot Reddit.

I was told this is where issues should be posted. https://github.com/OpenWonderLabs/SwitchBotAPI/issues

they closed my in app ticket. But if you post here I can piggy back on to it.

issue-triage-workflows[bot] commented 1 year ago

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

mschingel commented 1 year ago

This hasnt been resolved by the SwitchBot developers, i believe its just considered low priority. To sweep this under the rug wound't be a good thing. However so that others can see the work around.

I simply group them in the Swithbot App, then only deal with parent device or in my case the left blind. These keeps the sync and the 2-4% pff in position, I just deal with. I still would like the ability to define Close up or Down

On Sat, Aug 5, 2023 at 9:05 AM issue-triage-workflows[bot] < @.***> wrote:

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

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/91231#issuecomment-1666501077, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2CAJZYYNFFJQS7PETBAFQLXTZAKNANCNFSM6AAAAAAW2MFEDI . You are receiving this because you commented.Message ID: @.***>

The-Croz commented 1 year ago

Indeed, this issue is still very frustratingly existent. When open, most of my blinds show up as anywhere from 57%-59% open, which ruins the template covers as they then represent greater than 100% values. My only workaround has been to use Matter through the SwitchBot Hub 2 which is a lot more stable. But that integration does not provide battery or light level entities (although the latter doesn't really seem to function anyway either).

Any progress or ideas as to why these are so unstable through this native integration?

mschingel commented 1 year ago

The matter still doesn’t close up like I wanted when I last tried right when the hub 2 was release.

I may have for forgotten to mention. I’m using native battery and solar entities. But I’m actually using the smart things integration for the actual position. It has a slight delay but it works.

On Sun, Aug 6, 2023 at 7:10 PM The-Croz @.***> wrote:

Indeed, this issue is still very frustratingly existent. When open, most of my blinds show up as anywhere from 57%-59% open, which ruins the template covers as they then represent greater than 100% values. My only workaround has been to use Matter through the SwitchBot Hub 2 which is a lot more stable. But that integration does not provide battery or light level entities (although the latter doesn't really seem to function anyway either).

Any progress or ideas as to why these are so unstable through this native integration?

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/91231#issuecomment-1666999678, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2CAJZ2DS34PPLT7UVGTBI3XUAP55ANCNFSM6AAAAAAW2MFEDI . You are receiving this because you commented.Message ID: @.***>

The-Croz commented 1 year ago

@mschingel oh man... that's right. Not a good solution ultimately either. I just can't understand why in the SwitchBot app I see "fully open" aka 50% but HA shows percentages higher than that. The delay from the SmartThings workaround is pretty annoying as well.

The-Croz commented 1 year ago

Screenshot 2023-08-07 at 1 59 05 PM Here's a screenshot of what all my blinds read when they are all open through this integration. Percentages are all over the place and makes this unusable.

issue-triage-workflows[bot] commented 10 months ago

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

raccettura commented 10 months ago

Still an issue

mschingel commented 10 months ago

Agree. Still an issue. Please put some priority on this.

On Sun, Nov 5, 2023 at 3:38 PM Robert Accettura @.***> wrote:

Still an issue

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/91231#issuecomment-1793839327, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2CAJZ3E4F4FTETEFV2QKLDYC7TKZAVCNFSM6AAAAAAW2MFEDKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTHAZTSMZSG4 . You are receiving this because you were mentioned.Message ID: @.***>

burnski666 commented 10 months ago

Still an issue

ocisnero commented 8 months ago

This is STILL an issue using HA 2023.12.4, please put resources on this to fix!

optimus1509 commented 7 months ago

Agree. Still an issue. Please put some priority on this as some of the blinds don't open/close at all.

o-in25 commented 7 months ago

Still having this issue. Where's firmware 2.1?

The-Croz commented 5 months ago

Still very much an issue. Would love to see some work on this. I wouldn't even consider the BlindTilt currently usable with this integration.

jdub4237 commented 5 months ago

Just installed two blinds and have the same feedback as above. The blinds individually do not go to the right position and only respond sometimes. I created a cover group helper to have them operate together and one moves barely and the other never moves as all.

ziggycatuk commented 5 months ago

I've been putting up with this behaviour for some time, but like others on here have reported/experienced, the readings in HA are completely inaccurate. I'm also seeing an issue where "current_tilt_position" value is fluctuating dynamically without interaction, For example; a blind position "value" moving between 43% and 50% without any physical movement of the blind, this happens on ALL of the four units I have.

Using ESPHome with BLE proxies.

Something is very broken here

mschingel commented 5 months ago

@Danielhiversen @bdraco Can this issue be addressed or explain why the behavior exists. its been a Year now. At this point some sort of explanation could be provided No?

bdraco commented 5 months ago

Sorry, neither of us have production switchbot devices and are only helping out here.

This issue needs a champion who has the device who can fix it.

Boogeytroll commented 5 months ago

Yeah, I've stopped all automations with them and only use manual labor. Would a month or so you can adjust them every few days, but it becomes a job without a payheck real fast. I'm not expecitng a fix for it, it's a product design concept problem.

The-Croz commented 5 months ago

I wish I knew a good bit more about how to work with the SwitchBot API to get them reliably working. I will say, @Boogeytroll I definitely don't think it's a product design concept problem, though. Everything works flawlessly through the SwitchBot app and I enjoy the overall user experience. I also love that they are self-powered. Just wish I could bring all that into HA a lot better.

Actually, HA can reliably send commands to the devices, which is the more important side of control on the platform. The state reporting just is finicky which makes the frontend experience difficult. My automations still work well.

bkr1969 commented 5 months ago

I agree that it definitely not a design issue as the app can tell you exactly what the position is. I’m almost inclined to start learning about API interaction so I can dig deeper myself. I also agree that automating them works perfectly as well. I have 9 that open and close with sun position, TV viewing, and some elaborate NodeRed that tracks my calendar for holidays and any days off so the bedroom stays shut longer on those mornings.

Boogeytroll commented 5 months ago

At least on my devices, they within one week loose sync on the position blinds are on. It doesn't matter that the "app works", sure it works, but it's useless after it no longer knows what is open and what closed. And the device looses the sync of the blind position because - doh - design of the device.

There could be easy solution to autosync - once you can no longer turn, it's closed. But the device doesn't try to do that. It only trusts number of rotary ticks, which in fact never will be exactly the same in many of the blind types.

burnski666 commented 5 months ago

I'm the OP. In a couple weeks this bug will have been open for a year.

raccettura commented 5 months ago

I think the issue is blinds do have some play and tension in the springs so they will drift. The api isn’t wrong for reporting it. There’s also some play in many blinds in the mechanism before it even opens/closes, and heat from the sun can cause expansion/contraction over the course of the day.

Not to mention notably you can manually control the blinds still so it needs to record the relative position with that big variable.

I think the fix is for the implementation to have an open/close state like it does for curtains, and just assume if the last action was to fully close +/- 8% it would still be closed. Once it breaks that threshold it then reports as partially open/closed.

That seems to be what switchbot app does from my testing.

The pyswitchbot implementation is just too literal for a fuzzy status. It works, just not in a way that’s intuitive, and makes it hard to automate since checking for open/closed boolean states is effectively impossible right now. That I believe is the crux of the issue.

mschingel commented 5 months ago

I second what @raccettura stated. I hope that this can be tried and tested.

Dirk-Manderin commented 3 months ago

Oh yay, another abandoned product integration.

issue-triage-workflows[bot] commented 6 days ago

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

raccettura commented 6 days ago

This is still an issue

burnski666 commented 5 days ago

This is still an issue

Agreed

ziggycatuk commented 5 days ago

Yes, still an issue.