Last post I walked through setting up Room Assistant and wasn’t super happy with it. I’m giving Find a try today which can work in 2 different ways:
- Passive Tracking
- This is similar to Room Assistant, except instead of Bluetooth it uses WiFi. This doesn’t require anything to be set-up on the device you’re tracking, but requires sensors distributed throughout your house.
- Pros:
- Don’t need an app running on each device you want to track
- Cons:
- Update timing depends on each device, between 30 seconds – 5 mins per update
- The WiFi chip on the Raspberry Pi does not support monitor-mode, so each node requires a USB WiFi adapter that does.
- Active Tracking
- This is done by having an app installed on the device you’re tracking which pings a server with signal strength of devices it sees (both WiFi Access Points and Bluetooth devices)
- Pros:
- Don’t need sensors in each room
- Update timing is based on the app installed and seems to be several updates per minute.
- Cons:
- Need to have the app always running
Mostly because it’s initially easier and I don’t currently have any USB WiFi adapters, I’m going to start with the active tracking option with my phone but I might try passive mode at some point in the future.
Server Installation
Technically you can just use the server provided by the creator of the software, but I’d rather have a local installation. Until I get a dedicated box to run all of the Home Automation servers from, I’m installing this as a docker container on my R710 running Unraid. This was fairly easy to setup using the server setup guide for Find3.
- Search for “Find3” in the Community App Store
- When it doesn’t find anything, it gives you the option to search Docker-Hub instead, where it will find it.
- Because this wasn’t intended for Unraid, you need to configure the data storage path and ports manually, see below for screenshot:
- Set “Network Type” to “Custom” and specify an IP address. This isn’t strictly necessary, but it avoid issues due to port conflicts with other services.
- Add 3 new “Path, Port, Variable, Label or Device”
- Path: Where the data will exist on your network mapped to where it will live in the container
- Port: The port for Find3
- Port: The port for MQTT
- It isn’t possible to specify an external MQTT broker via the Docker Image right now unfortunately, so we need to let it use it’s own or install it from scratch.
Now we can create the container and go to the webUI, in my case it’s 192.168.1.11:8003
If you’re greeted with a login page, you’re good to go.
Android App
Download the Find3 app from the PlayStore, plug in your server address, enter something for a “Family Name” (This will be the main topic in MQTT), and then start training some locations.
Results
I’m not having great luck with this, maybe I’m training in locations that are too close together? I live in a single family home with a fairly small footprint and 3 levels, I was expecting it to be able to tell the difference between my kitchen and diningroom, but it seems to really like to pick up on the last location trained.
I restarted the learning and made sure mobile Bluetooth devices were all off. I ended up training each spot twice and it kind of seems to be working. After moving my phone from one location to the next, it does update the location within 2 minutes of getting there, which maybe is why I thought I was getting bad results before? Either way, it’s a little slower than I think could be useful.
I’m going to try adding a few more locations and see how it behaves. If I get to a point where it seems to be triggers reliably enough and fast enough, I still need to figure out how to get it talking to Home Assistant. I need to get the server installed to use my existing MQTT broker, otherwise this is all for not if it can’t integrate into Home Assistant (which only allows a single broker).
That’s enough for this post, should have a follow up shortly; hopefully the conclusion is positive :).