Adding support for Bluetooth LE temperature/humidity sensor

Hi there,

I was looking for a budget wireless sensor to plug into my home automation and I only ended up some $50 BLE stuff from a few vendors. Then I found “skybeacon” on Alibaba that is $6 piece ibeacon/eddystone/temperature thingie which seem to doing fairly well for me. I currently have 3 of these and they have been working reliably for a week.

I submitted pull request:

Documentation and getting started can be found on github:

Just a heads up, bluepy is already used in HA, perhaps multiple BLE libraries are a bad idea.

perhaps it is a bad idea indeed. also: bluetooth_le_tracker uses gattlib.

There is a large issue that you can’t seem to have two connection initiations at the same time on a given host. For example with gatttool I can’t connect two devices on the same time. However, once connection is established, another connection can be made.

I tried to establish two connection attempts with bluepy-helper from Bluepy and it also failed. In fact with bluepy I can’t seem to make 2 connections established at all.

I am not sure if this a bluez limitation OR my dongle (some CSR 4.0 usb leave-in) limitation. But looks like this is a very common dongle and it just break things. Right now I can’t use bluetooth_le_tracker for the very same reason.

So what do we do? Provide a service that wraps and serialises access to ble host controller?

It’s a limitation of the host controller. CSR based USB-dongles seems to be limited to 2 concurrent connections. The intel host controller in my notebook can mange 4 concurrent connections.

My 3 eq3btsmart thermostats work mostly fine with a CSR usb dongle (with 2 connections) and bluepy. They keep the connection only up while it’s needed.

But I think there bluetooth and bluetooth le devices need a tighter integration for things like connection management. At least on Linux it should probably use bluez dbus interface. The main problem I see with that is that it makes it hard to keep the device code platform independent and reusable outside of homeassistant.

This is not a prerequisite for your pull request.

This is interesting, but I’m totally confused on what devices that work with this.
Does all iBeacons contain sensors?

no. this is a specific ibeacon/eddystone product by some Chinese vendor. Just google for “skybeacon”

Does anyone know where you can by those sensors?