BluetoothLE Tile - Detect on raspberry Pi?

Installed Happy Bubbles Presence on RPi3. Configured it to talk to my MQTT server with authentication. Using a usb bluetooth module as hci0, builtin bluetooth is disabled. hcitool lesbian shows my beacons but the presence web interface does not show any of my beacons. Do I need to install Gatt or some other requirements?

The presence server doesn’t do the BLE detection itself. It receives MQTT messages with BLE information from the Happy Bubbles BLE detectors. They are the ones that do the actual detection of BLE beacons.

Thanks, I ended up using the RPI3 with room-assistant and this with a better antenna. RPI3 is also my garage’s snapcast/volumio device but with that antenna my garage detects the usb beacons in the cars from a pretty decent distance down the alley.

I came here hoping to find a solution to getting Tiles working with Hass too.

Here’s something interesting that I have noticed at work where we have quite a few Tiles in the building. Our Bluetooth enabled laptops and computers are seeing a whole bunch of Tiles that are advertising their presence.

It seems unlikely that so many Tiles would be out of range of their paired devices.

Is that the only possible explanation for it or could it be something else?

Hi guys.

Quick question :

I have happy bubbles installed on RPI 3. Can i use tile as a beacon if i were to get one? Or even Nut? Or other ‘device tracking’ beacon that appeared on kickstarter for that matter?

Or do they have their own ‘protocol’ or whatever that dont allow it for use with other devices?

Thanks in advance.

Tile will work, but apparently not when it’s paired with a (mobile) device. In that state it does not broadcast beacon signals?

Sounds cool… Would be very interested too.

Hi all – FYI, I’m currently working on a Tile integration, but it uses the unpublished REST API (not Bluetooth). My use case focuses on “did I leave my wallet somewhere?”, rather than “am I home?”

That said, if the Tile reports back to the Tile servers frequently enough, this could be useful in presence detection. I’ll keep you posted; if anyone is interested in trying a beta, let me know.

1 Like

Hi all – following up. I’ve submitted a PR for Tile integration: https://github.com/home-assistant/home-assistant/pull/10478

Running it in my own HASS instance and it works well so far:

04 PM

In terms of speed, I find that when I arrive home, my tile updates about a minute or so later on average. Again, might not be the very best at presence detection, but depending on what you’re doing, that could be a reasonable use case.

1 Like

Tile integration officially released today in 0.58.

Hi, wondering if you can tell me how this actually works. I have 4 tile entities, and all have been picked up in HA correctly, but all are just permanently shown as away status. I have tried several scenarios to try and trigger a different response but nothing can change it from showing each tile as away. I am using two tiles (gen 1) and have the app on my android phone and ipad. thx

Can you bump your log level to debug and paste back all of the Tile-related debug logs?

Never done that before, any pointers ? Also what would i be looking to show you ? As the state has never ever changed since adding them, do i need to attempt to get it to do something so you can work on it ?

Look for any lines that mention [homeassistant.components.device_tracker.tile].

You shouldn’t have to do anything, per se – the logs should still show the Tiles attempting to communicate with the Tile cloud. We can go from there.

ok wiill give it a go. I am currently trying to set up a simple alarm clock and struggling. I am so bad at this stuff!
Yaml is so sensitive !!!

1 Like

How does the run script continue to run do we have to daemonize it? Also it looks like the binary sensor is polling the log file, wont the log file become exponentially large if the script continues to run?

@Bit-River

My use-case is for presence and I followed the directions that @Bit-River gave me here:

https://community.home-assistant.io/t/multiple-ble-tile-accounts/

Problem I encountered (other than having to have all Tiles under one account as HASS support for Tiles appears to only support one account) is that it relies entirely on the app on your phone and even then, GPS coords are not necessarily updated often enough and certainly not reliable enough for presence (which is what I wanted it for, if I could use the locate function that would have been a bonus – and for $83 for a pair of sport Tiles, I would have really liked that. In retrospect, when they die, I’ll go with battery-replaceable workalikes.)

I bought a cheap ASUS BT400 BT USB dongle and using the Python script, HASS polls every 3 seconds to the script with a MAC address (which if you use the Tile app, is hidden so you can’t “see” it) which the script will respond in a TRUE/FALSE manner if it has seen it.

Works really well for me. My wife and I keep them on our car keys which usually follow us around so for me, this solution works really well as we use this method + nmap + Owntracks.

Not 100% sure this will help you but it helped me.

2 Likes

@chrisw

Thanks I think I’m starting to understand the method… couple of questions do you run this script with you hass instance or a separate pi zero? Second, once the script is running how do you keep it running?

I run it in the same instance as HASS runs. I don’t have a Pi but I do have an old box I re-purposed as a server running OpenMediaVault (NAS) which I run HASS from a venv on. I run the BLE python script from /etc/rc.local as indicated in the thread (it forks into the background) – I tried running it via systemd and init.d as the HASS user but didn’t have much luck (so it runs as root out of rc.local)

hass@omv:~/.homeassistant$ ls -la /etc/rc.local
-rwxr-xr-x 1 root root 365 Jan 26 06:27 /etc/rc.local

hass@omv:~/.homeassistant$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

/usr/bin/python3.4 /home/hass/homeassistant/ble_scan.py &

exit 0
1 Like

Thanks for the clearification I will have to read more on the /etc/rc.local I’m a less than intermediate Linux user so I’m slow going :stuck_out_tongue:

@chrisw