naugehyde - The Shelly BT devices need to be pa...
@Scott Bender The Shelly BT devices need to be paired first or the plugin can't reliably find them at startup.
If you're still not seeing data at minute or so intervals after pairing, let me know.

19 Replies
Also give it a nice wide discovery berth (120s)
Seems to finding them fine, but I don’t new data. If I hit the button the device, then the plugin gets new data.
Can you confirm that the device is producing data through bluetoothctl?
Also, are the devices paired?
Also, what happens if you turn on duplicate data on the plug-in?
FWIW the Shelly on my boat produces data at 60 second intervals. I don't remember if I had to set that up in the Shelly app or not
FYI The default beacon interval for the device is 300 seconds
@Scott Bender OK. Now I'm remembering. Went through this one before with sebastian haas.
The solution is to update the temporary timeout value in your /etc/bluetooth/main.conf file.
Set it to a number equal or greater than the value of your device's beacon interval (set by the app IIRC) .
In my case both are set to 60s and I'm getting regular updates.
I'll update the docs to reflect this.
I don’t see that setting in the Shelly app!
I'm going on memory here. But my Shelly HT 003C is working with the TemporaryTimeout set to 90 in /etc/bluetooth/main.conf
Let me know if that works for you.
Also the firmware may have changed on the device (from what I'm reading) and the option may have been removed by Shelly to prolong battery life.
It's policy appears to be only update when certain threshholds are exceeded -- .2c delta in temp .5% delta in humidity or something like that.
You can only guarantee a realtime report by pressing the button.
ah.ok. I'll have to keep an eye on that...
pairing ensures that the plugin at startup has a device on the DBus to reference.
I'll check my firmware when I'm back on the boat.
I might have used the Shelly debug app
https://play.google.com/store/apps/details?id=cloud.shelly.bledebug
looks like updating the temporary timeout was all that was needed, now I am getting updates every minute
Did pairing not help at all?
I ask because for some users pairing is easier than changing system files.
Also, just as importantly, pairing ensures that there is a dbus entry for the device. This means that when a packet arrives for the device, bluez will always update the device's service data in dbus. And apps like my plug-in can respond appropriately.
The problem is that by only increasing the temporary timeout, the user is counting on the device's beacon interval to never exceed the temporary timeout value.
I was never able to get them to pair
But didn’t spend a lot of time trying.
The Shelly requires that you open it up and press a button for ten seconds to pair. PITA but it works.
The temp timeout is a workaround.
check out: https://shelly-api-docs.shelly.cloud/docs-ble/common#pairing
The ones I have a button on the front. I tried that.
I don't remember what I did with the H&T but with the Blu Motion, I paired it by holding down the button for ten seconds until an LED flashed then connected and paired from the bluetoothctl command line. PITA like I said.
Yeah, that’s what I did. Error about pairing timing out.
I think you have to connect first, then pair. I just want to know for sure so I can document the right procedure...
FYI confirmed that pairing works. And you have to connect first, then pair. Like I said, PITA.
I think I missed the connect part…
Anyway, updated the device description in config to include the TemporaryTimeout option.
@naugehyde the lint to the paring guide is broken
@Scott Bender where? In the read me?
@Scott Bender found it. Yeah, that needs to be written. Thanks for pointing it out (and reading the docs)