I have some BLE tags that have the same UUID. So I need to use the MAC to differensiate between them. I found a year old post by @callumw here that indicated that it was possible by using this format:
# MQTT_Room ESP32
- platform: mqtt_room
name: "Fitbit 1"
unique_id: 3ca1983f-941a-494a-b03a-b682661aaa23
device_id: known:651wdw651w51
state_topic: "espresense/rooms"
timeout: 5
away_timeout: 120
- platform: mqtt_room
name: "Fitbit 2"
unique_id: 150d2e41-0f1b-413a-819f-b4f497e01d90
device_id: known:87fw79wf9we7
state_topic: "espresense/rooms"
timeout: 5
away_timeout: 120
But I can’t get it to work. I have set it up without the timeout, but that shouldn’t matter since that’s optional. This is how it looks here:
- platform: mqtt_room
unique_id: iBeacon:fda50693-a4e2-4fb1-afcf-c6eb07647825-1-2
device_id: known:00000000000c
state_topic: espresense/rooms
name: 'Mastiff's keys'
away_timeout: 60
(The UUID is a standard one that all these ships with, only the MAC is different, and I tried both with and without the “iBeacon:”). But in the sensors part of the UI the entry for Mastiff’s keys is always not_home. Am I doing something very wrong here, or is this because of a change in how ESPresense sends stuff? I have set the MAC as a known MAC in ESPresense, and I get messages like this in Node-RED:
espresense/devices/known:00000000000c/office
{"mac":"00000000000c","id":"known:00000000000c","idType":210,"rssi@1m":-40,"rssi":-68,"raw":6.31,"distance":6.48,"var":1.4,"int":2781}