3rd Party Bluetooth Binding. Beta testers needed

Sure:
https://de.aliexpress.com/item/Original-anti-verlorene-warnung-Smart-Tag-Drahtlose-Bluetooth-Tracker-Kind-Bag-Wallet-Key-Finder-GPS-Locator/32837341292.html

Sorry for the German page. But this is the exact store where I’ve ordered.

To be honest: I’ve not payed any attention on a specific version while ordering. Now I see, that some of the similar offers have a “2018” in the description (while mine haven’t). So probably, there are some different version around and we have to look for the newer ones with a more recent firmware - just a guess :wink:

@curlyel @vkolotov

My iTag looks exactly the same!

https://www.amazon.de/soviton-Bluetooth-Tracker-Locator-Schlüsseletui/dp/B075L59JHN/

I’m going to check with “Nordic nRF Connect” APP, if I have the same “Services”…

@vkolotov @curlyel

That’s what I see for my devices as well… Not “Link Loss” service. Meaning that it always beeps when loosing connection.

Maybe it`s possible to change configuration with iTracing2 APP. There are a lot of possible settings…

Unfortunately not, what that “iTracing2” app does is - it uses “Link Loss” and “Immediate Alert” services to configure behaviour of the device.

I’ve ordered a new iTag device from the Aliexpress seller that @curlyel recommended. Will see it that on has “Link Loss” service.

hi, I got some messages coming out but they are really random and at the moment it keeps showing me the same. I can’t link them atm to any of my actions. I will add some screenshots later on, maybe you know what they might mean.

Pim

@vkolotov @curlyel

When I use “Nordic nRF Connect” and click on Server --> “Read all characteristics”, then goto “Show Log”
–>I get the following:

“Bluetooth SIG Company: Ceva, Inc. (formerly Parthus Technologies, Inc.) <0x000E>
Product ID: 13330
Product Version: 26369”

What do you get?

I get exactly the same:

“Bluetooth SIG Company: Ceva, Inc. (formerly Parthus Technologies, Inc.) <0x000E>
Product ID: 13330
Product Version: 26369”

@curlyel

Mhhh, it seems to be the exactly the same model. Maybe different FIRMWARE ??

I have:

Generic Attribute
UUID 0x1801
PRIMARY SERVICE

And you have

Link Loss
UUID 0x1803
PRIMARY SERVICE

When I use “Nordic nRF Connect” and click on Client --> Device Information

I get:

Manufacturer Name String:
Value:BEKEN

Model Number String
Value: BT 4.0

Serial Number String:
Value: 12x07x2012

Hardware Revision String:
Value:SM-1

Firmware Revision String
Value:01.1

Software Revision String:
Value:01.1

Well, this looks different:
Screenshot

Hello,

I have been following this topic for quite a while and I started testing this in Raspberry PI 3. Now I have my family phones (One Plus 2, One Plus 3T and old Nokia phone) connected an presence detection implemented.

I have been using incluxDB persistence for these and it seems that I need tweak the online timeout. Bellow some graph for One Plus 2. Currently timeout value is 120s.

image

Also I ordered xiaomi mi scale that arrived today and now already integrated to OpenHAB. So maybe I need start building charts for that as well. And of course Sonos should give some feedback about my progress. Positive and Negative

So thank you for making this binding! It is great!

Only problem I had was really following some of the installation steps, but after few hours of work I was able get it working, but other than that good work.

Hi @Ari_Hagman, good stuff, thanks for sharing this, very inspiring. Good to know that the binding is useful for someone :). I’ve been working hard with the support of the community to get bluetooth stuff going in OH and also share my work with other projects via Java Bluetooth Manager.

In regards 120s timeout, you may improve presence detection by installing more bluetooth adapters, even an extra adapter connected through a 1m USB cable will improve stability of the presence detection mechanism. One of the greatest feature of the binding from my perspective is that I’ve managed to design it is the such way that it can work with multiple adapters simultaneously making overall stability of the bluetooth better. The binding does also some sort of “roaming” for the connected devices by automatically choosing the nearest adapter, so that you don’t have to worry about “what adapter should be used for a device”.

Re difficulties in setting up the binding, would you be able to share your experience so that I could improve the documentation?

Thanks, Vlad.

Just wanted to share some insight statistics for the binding.

Around 15k lines of code (including the Java Bluetooth Manager, Bluetooth GATT Parser and two transports). Some modules have nearly 100% code coverage, some a little only.

Roughly the binding gets downloaded 200-250 times per month from different countries:

Germany is the absolute leader with roughly 60-70 downloads per month.
Belarus - 27 p/m
USA - 20 p/m
Poland - 18 p/m
UK - 15 p/m
Austria - 11 p/m
Italy, France, Sweden, Netherland, Russia - 7 p/m

This is anonymous statistics from the Bintray service.

Java Bluetooth Manager also has some good statistics:

Hopefully some other opensource projects are making good use of it.

2 Likes

Hi All, a new version of the binding has been released. In this release:

  • Adding support for Xiaomi MI Scales
  • General stability improvements
  • Bluegiga transport stability improvements
  • Performance improvements:
    • RSS and Estimated distance channels now are marked as “advanced” (they don’t get created automatically)
    • Adding a new configuration setting “RSS reporting rate” in the general binding configuration page to control how frequent RSS should be reported (this is needed to prevent excessive CPU load)

Current versions:

  • Binding: 1.1.3
  • BlueGiga transport: 1.2.0
  • TinyB transport: 1.1.0

As per normal, you will have to uninstall (no need to uninstall TinyB as it has not been released) the binding and transports, restart OH and install them back again.

Hi @Pim_Verschueren, could you please test and confirm if your xiaomi scales now display correct labels?

Also, I’ve added a config for the binding to create all channels as binary. This should help us to add support for your Xiaomi Kettle. Could you please enable that setting and share some samples?

After enabling this settings, the thing for your Kettle should create a binary channel that you should be able to use to create some data samples. Or even better, have a look at the karaf console, it will give you a nice log for the changing values, like that:

08:31:00.710 [INFO ] [smarthome.event.ItemStateChangedEvent] - bluetooth_ble_4C65A8D07AEE_FE95_FE95 changed from [50, 20, aa, 01, 8e, ee, 7a, d0, a8, 65, 4c, 0d, 10, 04, d7, 00, 95, 02] to [50, 20, aa, 01, 91, ee, 7a, d0, a8, 65, 4c, 04, 10, 02, d7, 00]

Thanks

1 Like

Hi Vlad,

Sorry, been a bit busy. The scale is now returning the correct values, great stuff.

I’m trying to do some testing with my kettle but it turns out a bit difficult as it goes offline from the moment I send a command through the MiKettle app, which I think is normal.

So far this is the only screenshot I could take. I couldn’t find anything in the event log either.

I will keep trying :slight_smile:

hi @Pim_Verschueren, could you please take a screenshot of the scales that I could use in the readme file for Xiaomi devices? Like here: https://github.com/sputnikdev/eclipse-smarthome-bluetooth-binding/blob/master/xiaomi.md

Re the kettle, are you saying that it always goes offline? Is it something wrong with the binding (how are the rest of the things?) or it goes sleeping?

Re the log in karaf, you may need to enable INFO log level for it:

log:set INFO smarthome.event.ItemStateChangedEvent

@Pim_Verschueren, BTW, from the screenshot you have attached for your kettle, looks like it shows 21 °C. Is this about right?