Bermuda - Bluetooth/BLE Room Presence and tracking [custom integration]

Hi
I’m new here and looking for a good way to do bluetooth tracking.

I have a garmin smartwatch and would want to to track that and some android phones and iphones

I already have some shellys too + one moresense CO2 sensor based on esp32 board

Now im mixing things up…

Before i buy more ESP32 boards… i have to be sure i go the right route…
I also heard bluetooth 6.0 is coming…

BUT as i understand there are 2 ways?

  • one using ESPresence where you flash esp32 boards with it?
  • but second, there should be a way to keep the functionalities of a esp32 boardbased device i already have? Without flashing and losing the functionalities? (for example the moresense one)
    Based on: https://www.youtube.com/watch?v=CN1bHa8-vb4

So who can clear things up for me? And show me the right way?

Correct! But for best performance use the esp-idf framework. If this is arduino you will have to flash again, as this framework uses significantly more memory and performs poorly with the Bluetooth proxy enabled.
If you’re using the esp-idf framework, follow these steps for each of your ESP32 BLE trackers and add the lines to your existing configuration. After that, the proxies should appear in your Home Assistant. Finally, follow the steps for installing an configuring Bermuda and you’re done!

Its not an arduino… it are shellys and the moresense sensor.
How do i do that then?
Is it possible to explain the difference between the 3 options?

Did you find a way to fix this? My girlfriend has a iphone 11 pro and got the same problem.

The docs say to try the Private BLE device integration. I’m using this with 3x iPhone 11 devices in house without issue.

To clarify, i meant the arduino framework, not an actual arduino device.
My advice, first read up on how to flash a shelly. I’ve never flashed a shelly myself, but i think is roughly the same as any other ESP32 based device. I Think that Shelly Plus 1 flashing and setup guide/ tutorial would be a good starting point.

  • ESPHome
    The ‘standard’ for ESP32-based devices, every new device will automatically become visible in home assistant from the ESPHome integration (if installed).
  • ESPresense
    Never used it, but if i’m right it uses MQTT to deliver the data.
  • Bermuda
    The Bermuda integration compliments an ESP32-device that is flashed with the Bluetooth proxy component and uses that data to create the magic

So long story short, its basically ESPHome+Bermuda vs. ESPresense, where Bermuda communicates via Home Assistand and ESPHome via MQTT.

If i’m wrong, somebody please correct me

1 Like

I already use the private ble integration

Hi thx for the headsup.
So i guess the way to go is esphome + bermuda then.

I might get some ultimate mini sensors but they are quite expensive.
Or i get some standalone esp32 bords just to have the bluetooth proxy so it can act as a tracker node.

I should think how to hide them and power it up.
Does it work when you hide them in a closet?

Yes. Bermuda does not interoperate with espresence at alll.

This is a good way to go if you’re at all worried about messing with flashing more expensive devices. D1mini32 boards are pretty cheap (under AU$6 ea), and a good way to build confidence with flashing things. The Wiki has config examples you can use.

If the closet isn’t metal, yes. Bear in mind that mirrors usually have a metallic film, so they may block BLE signals to varying degrees. Wood etc will probably reduce the signal a little, but it will certainly still “work”.

Maybe check to make sure you’re using the resulting PrivateBLEDevice and not tracking the iBeacon device, then. It should look like this:
image

Not this:
image

Would this work?


Like this?

Be aware, that I don’t believe it’s possible to flash a Shelly with BT Proxy. I tried a while ago, and while I had no issues flashing ESPHome, as soon as I included BT Proxy, the device would never boot up properly and I had to serially re-flash without it. I spent a fair bit of time trying different board types, etc. with no luck. Would love to be proven wrong though, as the Shelly firmware doesn’t allow for active BT connections (which was my use-case).

1 Like

So I’m feeling like an idiot, but can someone walk me through how to set things up so I can track my phone (android) using the BLE Transmitter feature of the HA app? I see it mentioned in the docs as possible but no specific instructions. Played around with it for a while and got it to show up in the iBeacon integration but then couldn’t find it in Bermuda.

I’ve installed the room-assistant app on her iPhone and now it seems to work. :slight_smile:

Ok so I have Bermuda working beautifully changing the state of my apple watch to the room it is in That is (sensor entity x_y_x_applewatch_bt_signal_area) changes correctly. I have had no problem reliably using this sensor to automate a specific room I am in to pop up the room on the iphone. (Following the various dashboard setups on this on you tube)

My question is how do I use the same sensor to trigger an automation?

What is the trigger logic?

I have copied a Hue presence sensor logic - trigger x when enter or y when leave, but I can’t get the Bermuda BT sensor to trigger.

Are there any simple blueprints that anybody has created utilising the Bermuda BT sensor/tracker to trigger an automation to do some actions (say turn on a light, play some music etc) then turn them off when the sensor leaves that room?

thanks

Hi!
I had a Chipolo tag at home and I said to try the Bermuda integration and it worked very well. Then I tried another Bermuda version and found that it no longer detects the tag. I went back to version 0.6.8 and it still doesn’t detect it.
I have reset the tag countless times but without success.
I mention that the LightBlue ios application sees it and I can connect to it (I can see the uuid and various parameters that I don’t understand)
Can you advise me with a solution to this problem?
Are his data saved somewhere in the config?

I worked it out…
The attribute of the area of the sensor needs to be set as “Area ID” (not name)
Triggering beautifully!
Go Bermuda!

1 Like

This seems to work:

alias: Test
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.bermuda_phone_area
    to: Living room
    id: enter
  - platform: state
    entity_id:
      - sensor.bermuda_phone_area
    from: Living room
    id: leave
condition: []
action:
  - if:
      - condition: trigger
        id:
          - enter
    then:
      - action: script.play_music
        metadata: {}
        data: {}
  - if:
      - condition: trigger
        id:
          - leave
    then:
      - action: script.stop_music
        metadata: {}
        data: {}
mode: single
1 Like

Anyone please? :slight_smile:

I have a couple of those on my pool of devices with Bluetooth Proxy (used by Bermuda) and I haven’t seen any issue so far, but you must be aware of the limitations of an ESP32-C3, as it is single-core, which is totally fine for a relay control, you may face some performance issues when adding more components (and the Bluetooth is far from being light).
I’m pretty sure the firmware from Athom was Arduino based, but with a couple of entries on my plug’s yaml I got it to work with esp-idf, which is definitely recommended in this case.
I can share my yaml tomorrow (I’m on my phone now). I have disable the uptime sensor as they used some string manipulation from Arduino, but if you really wanna that it’s something feasible with a few minutes of work).

1 Like