WTH, Using the Beacon Monitor in app, it sends every beacon it sees to HA. I'm only interested in one, why can't I filter for that in app?

I love that the app now works as an ibeacon monitor Sensors | Home Assistant Companion Docs My use case is an ibeacon in my letterbox (a steep path away from my house) that turns on my path lights when it’s dark and I come home.

I’ve had a few WTH moments trying to set it up.

First off the sensor is on or off and when on sends every beacon it sees and it’s current distance, this can be half a dozen or more when I’m sitting at work, WTH? I’m only interested in one beacon so it would be nice to have the app have an option to filter for that and only send a trigger or status for that one to reduce bandwidth. And I’m not interested in range so an option to only send a “in range, not in rage” binary type toggle. It could provide that as a beacon specific sensor to HA to not mess with the existing sensor

Which takes me to the next WTH moment, when I look at all the data that sensor shows in HA, there’s no simple way to make sense of the attributes and distance in an automation. I’ve started digging into templates and have had some help from people here in the forums, but for someone new to Jinja2 it’s a steep learning curve. With the awesome work put into the automations UI, it seems an odd architectural choice to add a sensor that requires a lot of yaml to parse and do anything with.

My plan is to make a blueprint out of this when I get it working so that others have an easier go of it. Thanks for reading.

If you don’t need the beacon data when you are at work then turn it off using an automation.

You can use a template trigger like this:

  - platform: template
    value_template: >-
      {{ state_attr('sensor.andreas_beacon_monitor',
      'c29ce823-e67a-4e71-bff2-abaa32e77a98_10167_61958') != None  }}

or a numeric state trigger:

  - platform: numeric_state
    entity_id: sensor.andreas_beacon_monitor
    attribute: c29ce823-e67a-4e71-bff2-abaa32e77a98_10167_61958
    below: 10

Not sure what you are actually looking for. Your WTH is more of a complain than looking for constructive solutions or asking proper questions in my opinion.

Thanks for the templates, that’s just what I was looking for.

It would still be good to be able to enter a beacon address in the app and only have it send updates for that, would save on a lot of traffic.

I have iBeacon Monitor turn on on my Samsung Tab. I plan to mount it and use it as a ibeacon monitor.

First I want to make sure this is possible. I have a few esp32 devices set up and I am hoping to use the Samsung Tab running HA with ibeacon monitoring turned on so these devices can act as another ibeacon monitor for my watch/phone to connect to. I hope I am explaining this right.

Is this something that can be done? If so, anyone kind another to explain how or send me a link to a good tutorial? I can’t seem to find anything on this.

This functionality had been added as a sensor setting now

1 Like

Hey James, I’m not a smartphone expert, but my guess here is once the smartphone BLE radio is turned on, it’s on. There would be no energy/battery/bandwidth savings to have it only “see” one particular beacon. It’s got to look at ALL of the surrounding BLE devices, see their MACs/UUIDs and RSSI strengths, then search through them to see if your target beacon is there or not. In other words, when the smartphone is listening, it has to listen to everything, and that is the set amount of battery power it needs.

As for bandwidth, there’s nothing being used after the app “sees” a bunch of non-target beacons. It just sees them and does nothing. The only bandwidth used is when the app sees the target beacon and sends a notification to HA to execute your automation. That’s just a tiny bit more than zero bandwidth.

On the other hand, if you want to reduce your own “eyesight bandwidth”, I agree that it would be nice to only have the app show the one single beacon that you are interested in seeing. So the screen would be blank unless you were in range of your target beacon. Basically, the app just needs a filter to not show anything not on your target list.

Edit: oops, just realized this is an old thread. Shoulda sorted by post date, not by relevance! lol

1 Like