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

HomeKit keeps thinking blinds are closing when not #2

Open
danielniemeyer opened this issue Dec 23, 2020 · 38 comments
Open

HomeKit keeps thinking blinds are closing when not #2

danielniemeyer opened this issue Dec 23, 2020 · 38 comments
Labels
bug Something isn't working

Comments

@danielniemeyer
Copy link

Describe The Bug:

Going into the Home app shows both my Soma Shades as actively closing when they are both sitting idling. If I open the accessory in the HomeBridge accessories page, they are both correctly listed as idle in the open state.

To Reproduce:

  1. Restart homebridge server.
  2. Launch Home app
  3. Check soma status
  4. Status says “opening”

Expected behavior:

Expected Home app status to match homebridge and blinds actual status.

Logs:

Show the Homebridge logs here, remove any sensitive information.

Plugin Config:

Show your Homebridge config.json here, remove any sensitive information.

Screenshots:

Environment:

  • Plugin Version: Latest
  • Homebridge Version: Latest
  • Node.js Version:
  • NPM Version:
  • Operating System: Raspbian
@danielniemeyer danielniemeyer added the bug Something isn't working label Dec 23, 2020
@mylylyl
Copy link
Owner

mylylyl commented Dec 23, 2020

Thanks for the report. It's a known bug related to the refresh thread stopped working - hence not updating the blinds states. It seems to be a noble(a bluetooth library this plugin requires on) bug but I'm looking into this.
Do you have more than one bluetooth connected by any chance?

@danielniemeyer
Copy link
Author

Thanks for reaching out! Let me know if there’s any more information you need. I am more than happy to help you track the root cause. To answer your question I do have multiple devices connected. Both my Soma Shades 2 are connected to the same Rasberry Pi. I am told the Pi itsef can handle multiple Bluetooth connections limited only RAM. In my case I have 4GB

@mylylyl
Copy link
Owner

mylylyl commented Dec 23, 2020

I have the same issue and mine setup is a shade and a bluetooth switch. When I first coded this plugin it works fine with only the shade. I'm assuming I'm using noble wrong or it simply doesn't support multiple bluetooth devices.
What kind of bluetooth dongle you use?

@danielniemeyer
Copy link
Author

Interesting... I wonder if it's the Bluetooth controller then... I don't have a dongle actually. I have a Pi 4, so it comes with an included Bluetooth chip.

@mylylyl
Copy link
Owner

mylylyl commented Dec 23, 2020

Just checked I'm using the on-board bluetooth as well. I'll see if I can get a dongle to test.

@erwinloh
Copy link

I can confirm this bug - I can control the blinds in the Home app, but the blinds status are not correct in the Home app - keeps saying "opening" all the time.

Would be great if this was working.

@mylylyl
Copy link
Owner

mylylyl commented Jan 17, 2021

I can confirm this bug - I can control the blinds in the Home app, but the blinds status are not correct in the Home app - keeps saying "opening" all the time.

Would be great if this was working.

do you have more than one blinds?

@erwinloh
Copy link

Yes - I have six blinds.

@mylylyl
Copy link
Owner

mylylyl commented Jan 17, 2021

Yes - I have six blinds.

wow that's a lot!

I'll try to get my hands on this issue this week

@erwinloh
Copy link

@fisherwise thanks for the response.

I think this issue of the platform not being able to get the current status of the blinds is also the reason why there is a secondary bug, where you can control each blind in the Home app, but only if you open it up to 99% or close it up to 1% - if you fully open or close in the home app, nothing happens.

@erwinloh
Copy link

@fisherwise - I just added a 7th soma smart shade 2 to the setup. Looking forward to seeing if we can get this fix, as this is an awesome plugin, and more stable that the soma connect setup.

@mylylyl
Copy link
Owner

mylylyl commented Jan 24, 2021

@danielniemeyer @erwinloh just published a new version with proper handlement of errors. Please update the plugin in homebridge and let me know if the error persists.

@erwinloh
Copy link

Just updated - it's actually worse, the blinds are no longer responsive. Nothing works.

In the log, I see this error:

[SOMAShades] noble is not running. waiting for it to power on...

Which is not true - noble is running, as I use it for other plugins, which still work.

@erwinloh
Copy link

@fisherwise see above - I've updated, and the log now says that noble is not running.

I get the same error despite restarting services or rebooting the Homebridge server.

Maybe revert the plugin to how it was before - at least I could still control the blinds.

@mylylyl
Copy link
Owner

mylylyl commented Jan 25, 2021

can you paste the full log of a homebridge restart? Normally you will get a noble is powered on following the not running message

@erwinloh
Copy link

@fisherwise

25/01/2021, 7:14:23 pm [SOMAShades] noble is not running. waiting for it to power on...
25/01/2021, 7:14:23 pm noble warning: adapter state unauthorized, please run as root or with sudo
25/01/2021, 7:14:23 pm or see README for information on running without root/sudo:
25/01/2021, 7:14:23 pm https://github.com/sandeepmistry/noble#running-on-linux

Bear in mind I have run that command to run noble without root/sudo ages ago, and also again.

sudo setcap cap_net_raw+eip $(eval readlink -f which node)

@erwinloh
Copy link

I downgraded to the previous version, but for some reason, none of the blinds showed up anymore in the home app. Weird.

@erwinloh
Copy link

I've gone back to the latest version - the error is still the same:

[SOMAShades] noble is not running. waiting for it to power on...

Also, is there any way to force the discovery of the blinds so they show up in the Home app? All 7 have disappeared from the home app. At least in the previous version I could control them, albeit without Home knowing if they were open or closed.

@mylylyl
Copy link
Owner

mylylyl commented Jan 25, 2021

I downgraded to the previous version, but for some reason, none of the blinds showed up anymore in the home app. Weird.

there's is a config change from previous version (the discoverDelay variable). You may try remove this field if you downgraded.

Which is not true - noble is running, as I use it for other plugins, which still work.

do you have other plugin that uses noble? if so please try use the discoverDelay field in config to avoid discovering BLE devices at the same time

@mylylyl
Copy link
Owner

mylylyl commented Jan 25, 2021

abandonware/noble#26 might be the ultimate solution...or a BLE gateway plugin of some kind

@erwinloh
Copy link

@fisherwise - all good - I decided to get a separate Pi unit, flashed the new Soma Connect software onto it, and managed to get all 7 blinds working with controls and sensors accurate.

I appreciate your work here, keep it up, and thanks for the updates!

@costispavlou
Copy link

I have the same issue:
[3/15/2021, 11:19:08 AM] [SOMAShades] noble is not running. waiting for it to power on...
[3/15/2021, 11:19:08 AM] [SOMAShades] noble is powered on
and 2/3 shades show 0% battery.

@costispavlou
Copy link

costispavlou commented Mar 15, 2021

managed to somehow fix the battery issue but the plugin does not work at all.
Will also try to downgrade.

[3/15/2021, 1:05:37 PM] [SOMAShades] discovered peripheral xxx , adding to accessories
[3/15/2021, 1:05:47 PM] [SOMAShades] peripheral xxx failed to connect Error: timed out
[3/15/2021, 1:05:47 PM] [SOMAShades] accessory Venetian Blind failed to get device information: Error: Error: timed out
[3/15/2021, 1:08:20 PM] [SOMAShades] moving Venetian Blind up to 100
[3/15/2021, 1:08:20 PM] [SOMAShades] peripheral eef039b336ca is not connected for getTargetPosition
[3/15/2021, 1:08:30 PM] [SOMAShades] peripheral eef039b336ca failed to connect Error: timed out
[3/15/2021, 1:08:30 PM] [SOMAShades] Venetian Blind failed to set target position: Error: Error: timed out

@costispavlou
Copy link

costispavlou commented Mar 15, 2021

[3/15/2021, 6:52:18 PM] [SOMAShades] noble is not running. waiting for it to power on...
[3/15/2021, 6:52:18 PM] [SOMAShades] noble is powered on
[3/15/2021, 6:52:18 PM] [SOMAShades] start noble scanning
[3/15/2021, 6:52:18 PM] [SOMAShades] peripheral 28ff3c9398c6 is not in config
[3/15/2021, 6:52:18 PM] [SOMAShades] peripheral 3f71f048f0b4 is not in config
[3/15/2021, 6:52:19 PM] [SOMAShades] peripheral 7eec0a6d16a9 is not in config

But... the peripherals are not those

image

I uninstalled the plugin, removed config, reinstalled and reconfigured. same result.
@fisherwise help?

some more logs after loads of tampering.
maybe something is wrong with the bluetooth module?

[3/15/2021, 9:22:22 PM] [SOMAShades] noble is not running. waiting for it to power on...
[3/15/2021, 9:22:22 PM] [SOMAShades] noble is powered on
[3/15/2021, 9:22:23 PM] [SOMAShades] discovered peripheral eef039b336ca, adding to accessories
[3/15/2021, 9:25:37 PM] [SOMAShades] peripheral eef039b336ca failed to discover motor characteristics: Error: timed out
[3/15/2021, 9:25:37 PM] [SOMAShades] peripheral eef039b336ca has invalid motor characteristics
[3/15/2021, 9:25:37 PM] [SOMAShades] Venetian Blind failed to initialize: Error: invalid motor characteristics
[3/15/2021, 9:25:58 PM] [SOMAShades] peripheral eef039b336ca failed to discover motor characteristics: Error: timed out
[3/15/2021, 9:25:58 PM] [SOMAShades] peripheral eef039b336ca has invalid motor characteristics
[3/15/2021, 9:25:58 PM] [SOMAShades] Venetian Blind failed to initialize: Error: invalid motor characteristics
[3/15/2021, 9:26:23 PM] [SOMAShades] peripheral eef039b336ca failed to discover motor characteristics: Error: timed out
[3/15/2021, 9:26:23 PM] [SOMAShades] peripheral eef039b336ca has invalid motor characteristics
[3/15/2021, 9:26:23 PM] [SOMAShades] Venetian Blind failed to initialize: Error: invalid motor characteristics
[3/15/2021, 9:26:43 PM] [SOMAShades] peripheral eef039b336ca failed to discover services: Error: timed out
[3/15/2021, 9:26:43 PM] [SOMAShades] peripheral eef039b336ca has invalid services
[3/15/2021, 9:26:43 PM] [SOMAShades] Venetian Blind failed to initialize: Error: invalid services
[3/15/2021, 9:27:05 PM] [SOMAShades] peripheral eef039b336ca failed to discover motor characteristics: Error: timed out
[3/15/2021, 9:27:05 PM] [SOMAShades] peripheral eef039b336ca has invalid motor characteristics
[3/15/2021, 9:27:05 PM] [SOMAShades] Venetian Blind failed to initialize: Error: invalid motor characteristics
[3/15/2021, 9:27:27 PM] [SOMAShades] peripheral eef039b336ca failed to discover motor characteristics: Error: timed out
[3/15/2021, 9:27:27 PM] [SOMAShades] peripheral eef039b336ca has invalid motor characteristics
[3/15/2021, 9:27:27 PM] [SOMAShades] Venetian Blind failed to initialize: Error: invalid motor characteristics
[3/15/2021, 9:28:30 PM] [SOMAShades] peripheral eef039b336ca failed to read current position: Error: timed out
[3/15/2021, 9:28:30 PM] [SOMAShades] Venetian Blind failed to get current position: Error: Error: timed out
[3/15/2021, 9:28:30 PM] [SOMAShades] peripheral eef039b336ca is not connected for getTargetPosition
[3/15/2021, 9:28:41 PM] [SOMAShades] peripheral eef039b336ca failed to discover motor characteristics: Error: timed out
[3/15/2021, 9:28:41 PM] [SOMAShades] peripheral eef039b336ca has invalid motor characteristics
[3/15/2021, 9:28:41 PM] [SOMAShades] Venetian Blind failed to get target position: Error: invalid motor characteristics

@mylylyl
Copy link
Owner

mylylyl commented Mar 17, 2021

@costispavlou could be. Have you tried removing the other 2 and leaving only one blind?
I personally have not seen timed out errors as it's configured pretty long (10s).

@costispavlou
Copy link

costispavlou commented Mar 17, 2021

I did, no change.
I also removed the plugin completely from cache and reinstalled. again nothing. So I left it be and got to bed.
Weirdly enough yesterday night, two worked (but kept showing closing / open) when they were 50% open.
the third one is still not found / cannot be seen in the plugin.
My time out configuration is 15s I think, the default right?

@mylylyl
Copy link
Owner

mylylyl commented Mar 17, 2021

the opening/closing issue is related to noble not able to connect multiple BLE devices. It will work sometime due to racing, just restart homebridge.
I'll check on this wrong peripharel thing. Did you mean you reinstalled homebridge and it still reads wrong devices?

@costispavlou
Copy link

no i haven't reinstalled homebridge, i reinstalled your plugin though numerous times

@costispavlou
Copy link

just checked the logs again, every hour the third one continues to time out.
the other two.. well i dunno..
IMG_0E7ED5FCE1B1-1

@mylylyl
Copy link
Owner

mylylyl commented Mar 20, 2021

no i haven't reinstalled homebridge, i reinstalled your plugin though numerous times

this probably because of the caching in homebridge. I'll look into this.

@costispavlou
Copy link

@fisherwise hey I was wondering if you have any updates on this one.
Still not able to control / see the curtains.

@mylylyl
Copy link
Owner

mylylyl commented May 12, 2021

I don't really have time recently to update the plugin. I think the best option now is to reinstall homebridge so you clear all the caches it has.

@mitch0405
Copy link

just checked the logs again, every hour the third one continues to time out.
the other two.. well i dunno..
IMG_0E7ED5FCE1B1-1

I also have this issue, everything works most of the time though. Sometimes it interferces with turning on a light (also connected with homebridge). Is there already a solution or workaround maybe?

@costispavlou
Copy link

nothing for months, from the developer. He has no time in dealing with updating the plugin.
In any case I personally have lost interest in these pieces of shit devices. Better go back to manual.

@mylylyl
Copy link
Owner

mylylyl commented Jun 17, 2021

sorry i've been really busy recently. I'll hopefully get some work done but I just can't guarantee if it will work.

in the meantime you can try to use the new bridge function providede by homebridge. It basically runs multiple instance of homebridge and you can seperate this plugin in its own homebridge instance. This will resolve your issues 1) since it's basically a new instance you'll get correct configured shades 2) if it's having problem connecting to shades just restart the child bridge without affecting other homebridge devices

@costispavlou
Copy link

wish you were right, but.... same issues, now its worse.

image

@mylylyl
Copy link
Owner

mylylyl commented Jun 17, 2021

ok i guess I'll have to put some delay between each device polling...

@mitch0405
Copy link

sorry i've been really busy recently. I'll hopefully get some work done but I just can't guarantee if it will work.

in the meantime you can try to use the new bridge function providede by homebridge. It basically runs multiple instance of homebridge and you can seperate this plugin in its own homebridge instance. This will resolve your issues 1) since it's basically a new instance you'll get correct configured shades 2) if it's having problem connecting to shades just restart the child bridge without affecting other homebridge devices

No worries, I understand.

Unfortunately creating a child bridge also gave me more problems, same as costispavlou. Reverting back did not work, so now I just use the triggers in the original app.

I am thinking of buying a new pi zero and just clone the original soma connect software, but since the pi zero is out of stock over here I will have to wait

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants