Comments (15)
Correction, I'm already on 1.2.0 - so this is a bona fide bug.
from espresense.
Have you looked through the serial log to try and find something to use to keep them separate? It looks like mac's are randomized so we can't use that. md:05a7:150 means there is 150 bytes of stuff being sent by the sig assigned company "Sonos": https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers/
Compare the serial output and find a part that is static and we can use that for the fingerprint.
from espresense.
The MAC addresses are not randomized, they are fixed - look at the original report, you'll see the MAC addresses are repeating (that report has three Sonos devices represented). And they use that fixed address across reboots.
from espresense.
from espresense.
For Info, I'm seeing exactly the same experience with Google Home Minis.
from espresense.
FWIW, I looked with one of the other BLE room tools, "monitor" and the MAC address appears to be advertised as random, but at the practical level the MAC address is fixed, I've never seen them change. I'll try to get some more data off a serial connection.
from espresense.
Lot's of devices just won't have unique fingerprints. It's more useful to have a fingerprint that you can say that a device is in a room, instead of just seeing lot's of random macs that are useless. The real trick is finding something you can use to make a unique fingerprint. With apple I found that the first 4 hex chars never changed, and were different based on model/ios version so I added that to the fingerprint so I could tell the difference between my watch and my wife's.
from espresense.
FWIW, I looked with one of the other BLE room tools, "monitor" and the MAC address appears to be advertised as random, but at the practical level the MAC address is fixed, I've never seen them change. I'll try to get some more data off a serial connection.
Hmmm, that is wierd. It just may take longer for it to randomize. Apple is crazy fast at 15m.
from espresense.
The other thing I could add would be to use the "Name" that it's broadcasting. We'd use the id until it finds the name, and then from then it could use that until the mac changes (which isn't very often anyways).
from espresense.
The name field does appear to be constant. When I say I haven't seen the MAC change, I mean - I've had these devices 18months, and the MAC addresses still match my initial scans.
from espresense.
Try v1.3.0 and see if it fixes this for sonos.
from espresense.
v1.4.0 has a fix for this, reopen this if it's not fixed.
from espresense.
Not fixed, all Sonos devices show as sid:0xfe070. @DTTerastar I cannot re-open the issue, you must.
from espresense.
1.4.4 has more checks for sonos, let me know if it fixes it.
from espresense.
Fixed.
from espresense.
Related Issues (20)
- Option for a gateway HOT 1
- WebSocket connection Faild for Floorplaner
- ESP32-S3 Boot Loop HOT 1
- Get data from Xiaomi MiJia Bluetooth temperature and humidity sensor hygrothermography model: LYWSDCGQ/01ZM HOT 2
- ESP32 WRoom with sen0395 HOT 1
- MQTT connection times out every 60 seconds due to TCP HOT 5
- Feature Request: add integration for i2c BME680 sensor HOT 3
- Is the ESP32C3SuperMini supported? HOT 2
- Issue Description for ESP32 MQTT Issue with ESPresense Adapter:
- Hidden 40 MHz wide SSID broadcast whilst connected to main AP anyway - request disable local AP mode entirely
- Support for ESP32-C6
- [BUG] Stack overflow in "TMR SVC" Task - Random crash and reboot HOT 1
- Enrolling iOS device does not work in MD5Atom version HOT 1
- Radar sensor: Hi-Link LD2450 HOT 1
- Eddystone-URL Broadcasts for SOS
- ESP32-C6
- The ESP32-C3 Super Mini is not functioning properly.
- RSSI@1m iBeacon HOT 2
- Flashing BIN in C3 Mini V2.1.0
- esp32s2 + LD2410c
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from espresense.