3rd Party Bluetooth Binding. Beta testers needed

This error means that you still have “Connection Control” enabled. Disable it.

i did disabled it.The error exists.At sudo systemctl status bluetooth i get:

● bluetooth.service - Bluetooth service
   Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-12-13 14:39:37 EET; 22h ago
     Docs: man:bluetoothd(8)
 Main PID: 463 (bluetoothd)
   Status: "Running"
   CGroup: /system.slice/bluetooth.service
           └─463 /usr/lib/bluetooth/bluetoothd

Dec 14 12:34:31 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:37:14 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:37:49 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:37:59 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:38:18 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:38:41 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:39:26 openHABianPi bluetoothd[463]: Error reading PNP_ID value: Unexpected error code
Dec 14 12:39:31 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:39:49 openHABianPi bluetoothd[463]: No cache for 78:11:DC:C3:D8:24
Dec 14 12:39:59 openHABianPi bluetoothd[463]: Error reading PNP_ID value: Unexpected error code

so i updated my Bluetooth daemon 5.43 to 5.47 and no errors anymore my kettle reports temp and status just fine.If i openhab-cli clean-cache after restart i have to reinstall tinyB and binding.Is that normal?

1 Like

That’s great that you resolved the issue. Not sure about clean-cache thing, why do you need to do this?

i had a problem with another binding and i needed to clean cache.After restarting openhab2 service i notished that tinyb and bluetooth binding were missing.

Thats a standard behaviour. Marketplace Binding need to be reinstalled afert updates and clean caches

How to install these versions? In OH2.4 I get only version 1.0 in market. Is there any other way to install latest packets? I use a liux and standalone OH2.

Hi @Grzegorz_Golec, what you see in the market does not really match to what’s installed into your OH (possibly parketplacep lugin bug). Double check what versions you have in the karaf console.

bundle:list | grep bluetooth

you are right! Kafar console shows as above. thanks!

How I can define in things file the Preferred adapter ?

Bridge bluetooth:adapter:B827EB2E71A8
//bluetooth:ble:E5BD18094FC1 “NutVA”
bluetooth:ble:C539CE7B5F7D “NutDS”

Thx

Hi,
I am currently trying to setup my Xiaomi Mijia Bluetooth Temperature Smart Humidity Sensors with my Raspberry with Openhab. I could successfully install the binding. I already had Bluez 5.43 (5.43-2+rpt2+deb9u2) installed (seems was part of Raspbian 4.14).

Now my issue is I can not find the bluetooth deviceses. I tried the bluetoothctl tool and scan and hcitool lescan but can not find the devices (only the controller).

Can someone help me?

Hello, just set up this binding on my RPI3, works butifly with my one+ phone :star_struck:. I would like to put a adapter in every room to use indoor positioning, but I don’t know (understand) how to go about it :thinking:. Wich devices could i use as an adapter? If i use usb ble sticks i would have to connect them via usb to the pi and its not very convenient to place usb cables all over the house. If I use seperate RPI’s, how can i get the data into the pi thats running openhab? Is there a (ready-made) wireless solution for this? It would be nice if all adapters could act like some sort of mesh network (dont know if this is possible). Just dont know how best to tackle this. Any help would be much appreciated. :grin:

I found something like this, but question is can it be integrated with the binding?

So what i am actually looking for is a gateway i can plug into my RPI (openhab server) that connects (via wifi, or other wireless protocol) to to other BLE receivers that are spread around the house. So every BLE receiver can send its data over wifi to the gateway, wich sends all data via usb to open hab. Is this even possible? And usable for indoor positioning?

Is there a way to limit the polling for some of the devices? I may be confused, but my understanding is for the Xiaomi Mijia Temperature and Humidity sensor, temperature and humidity are broadcasted (so no battery impact to frequent “reads”?), but battery and other items need to be fetched (would have battery impact). Is that correct? If so, how can we limit the polling of that data, or otherwise the overall polling interval of a bluetooth device?

How I can define in things file the Preferred adapter ?

Not sure how. What are you trying to achieve? Do you enable “Connection Control” for your nut? Preferred adapter is used if you want your device to be connected to your adapter. With Nut devices you should not establish connection I believe, hence setting a preferred adapter is no needed.

Hi @Polo, have you added an adapter from PaperUI inbox? You must add an adapter, after that the binding starts controlling it, it enables discovery of BT devices.

Hi @jimmyalias, you may use “usb over ip” or “serial over ip” solutions. Have a look here:
Forwarding of serial and USB ports over the network to openHAB

Hi @ggg,

That’s correct.

There is no need to limit polling interval for the such type of devices in the binding as it does not have any impact on battery life. Well, this is true for the binding logic / algorithms. There is a way to control polling interval on low level for BT stack itself, but this is not supported by the binding as it is not supported by Bluez/TinyB afaik. Anyway, this won’t make a huge difference on battery life even if we implement this.

As per “connected” devices, there is not any way at the moment to configure the “update rate” per each device. You can only configure refresh rate for all devices at once in the binding settings.

There is some work in progress to add a new feature that should allow us to configure each device thing “connection strategy” where you can define how often/ when /for how long connection should be established. Just for now, you could work around this by creating a rule that would connect/disconnect (enable/disable Connection Control setting) periodically.

Hi,
I just started using this binding and I have one question. I can connect with the binding to my ble device without problem, but when I disconnect the device it will stop advertising after a while, and it seems that the binding is removing the bonding information after while. I got this in my log:
[ager.impl.CombinedDeviceGovernorImpl] - Possible stale object detected: /XX:XX:XX:XX:XX:XX/

this is a problem because my ble device will not allow to refresh the bonding information. How Can I disable this “feature” ?

Hey @rozpruwacz, the reason why it removes bonds is that it tries to recover stale TinyB native objects. There is a bug/issue with TinyB when native objects become stale after some time, so the binding monitors activity and if it exceeds some timeout, it disposes objects (unfortunately with this bonds also get disposed by Bluez).

There is some work to add a setting to disable that “work around”. Not sure if it actually improve things as you may get stale objects after that.

Is this bug is planned to be fixed ?