Sadly no
Nothing relating to BM in the logs either
Is there any easy way of increasing the logging level to see what’s happening during Auto Discovery?Maybe a toggle via the UI that I can’t yet find?
Sadly no
Nothing relating to BM in the logs either
Is there any easy way of increasing the logging level to see what’s happening during Auto Discovery?Maybe a toggle via the UI that I can’t yet find?
Do you see a topic like this into your broker:
homeassistant/sensor/94A9A83AFE12-volt/config
Can you try to restart the board also and check the traffic into homeassistant/sensor
topic ?
Sadly I do not, & I don’t see it in the topic during a restart of the board either
I installed the Studio Code Server, & added the following to the config.yaml to try & get some more logs out of it during auto-discovery:
# Custom Logging
logger:
default: warning
logs:
# log level for HA core
homeassistant.core: debug
# log level for MQTT integration
homeassistant.components.mqtt: debug
But sadly to no avail I am getting some DEBUG logs, but maybe I’m not logging the correct component?
With MQTT explorer, try to publish this json
payload with the retain
checkbox:
{"stat_t":"+/+/BTtoMQTT/94A9A83AFE12","dev_cla":"voltage","unit_of_meas":"V","name":"volt","uniq_id":"94A9A83AFE12-volt","val_tpl":"{% if value_json.uuid is not defined and value_json.volt is defined -%} {{value_json.volt}} {%- endif %}","state_class":"measurement","device":{"identifiers":["94A9A83AFE12"],"connections":[["mac","94A9A83AFE12"]],"manufacturer":"Generic","model":"BM2","name":"BM2-D28054","via_device":"244CAB052680"}}
to this topic:
homeassistant/sensor/94A9A83AFE12-volt/config
Yep, that worked, HA found it & created a new device:
And I see the volt sensor entity too:
So (to my untrained eye) all things are pointing to the ESP32 not sending those messages to the broker. We know the BM2 itself is working, as I can see the values in the android app, so it has to be the ESP32 module
Iirc from the docs, it says something about sensors might not send data if they’re paired. So I’ve made sure to remove the device from the android app, however when I flash the module I do see this on my Mac:
I wonder if it really means paired?
I also installed a BLE scanner on my phone, & saw it thinks it’s an iBeacon device:
I’m not sure if it means anything specifically, however I see the iBeacon Tracker integration in HA, but there are no devices or entities associated with it, & nothing to configure
Lastly (for now) when I look in the home/OpenMQTTGateway_Garage/SYStoMQTT topic, I see this about the module:
{
"uptime":2144,
"version":"v1.5.1",
"discovery":true,
"env":"esp32-olimex-gtw-ble-wifi",
"freemem":102236,
"mqttport":"1883",
"mqttsecure":false,
"tempc":57.22222,
"freestack":1760,
"rssi":-46,
"SSID":"DF_MESH",
"BSSID":"D8:32:14:D7:23:A2",
"ip":"192.168.0.180",
"mac":"24:4C:AB:05:26:80",
"lowpowermode":-1,
"interval":55555,
"intervalcnct":2280000,
"scnct":31,
"modules":[
"BT"
]
}
Is "lowpowermode":-1
correct?
Maybe the message format is different to what’s being checked for? Would it help if I pushed the messages to a public Mosquitto broker so you can see everything first hand?
The sensor should not be connected to any other device to be discoverable, so you should kill the mobile app and all other connection to it
As you got this:
{
"id":"94:A9:A8:3A:FE:12",
"mac_type":0,
"adv_type":0,
"name":"Battery Monitor",
"manufacturerdata":"4c000215655f83caae16a10a702e31f30d58dd82f471000047",
"rssi":-68,
"txpower":0,
"brand":"GENERIC",
"model":"BM2 Battery Monitor",
"model_id":"BM2",
"type":"BATT",
"acts":true,
"batt":71
}
It means that the gateway was reading data before. Try to deactivate your devices Bluetooth and check the broker to see if this message comes back
You should look at:
home/OpenMQTTGateway_Garage/BTtoMQTT/94A9A83AFE12
Yes this is correct
So I removed the manually added sensor message from earlier, turned off Bluetooth on my Mac & Android phone, & in that topic I now see the same type of message as you posted above
When I watch the topic, the message fluctuates from showing the batt
value & sometimes it just show this:
{
"id":"94:A9:A8:3A:FE:12",
"mac_type":0,
"adv_type":0,
"name":"Battery Monitor",
"manufacturerdata":"b7e3c0516d2cbc4a897da343f5a87dd4",
"rssi":-68,
"txpower":0
}
I guess that’s expected too?
I definitely don’t see anything for 94A9A83AFE12
in here though
I’m lost on what to do next, as it should just work, right?
Yes not all messages can be decoded as some are encrypted
Restart the board so that it will launch an autodiscovery and you should see this populated unless there is a config error on your board. Which binary/configuration did you use for the upload?
I tried both the SYS: Restart gateway
control in HA, as well as power off/on by taking the power cable out of the board, but sadly still nothing in that topic
This one: esp32-olimex-gtw-ble-wifi → I could try esp32-olimex-gtw-ble-eth instead maybe?
Flashed via: (Option 1) Upload from the web | OpenMQTTGateway v1.7.0 → should I try the ESP tool instead maybe?
OK, we have success!!
I just upgraded HA to 2023.5.1, restarted the board, & now I’m seeing this in homeassistant/sensor/
And this in the HA UI:
Must have been something in the 2023.5 code
Thank you so much for all your help so far @1technophile , really appreciate it
And now I have the dashboard available in the HA companion app, which was my 1st goal when I started this little project
With pleasure, glad to see it working!
hi, did you have to do anything to get the volt value?
i’m getting to the step where the sensor is in my devices, but volt is always unknown. the mqtt explorer shows some messages with volt, but the auto generated config seems to ignore volt values when the uuid is valid?
{"id":"90:E2:02:35:84:7C","rssi":-98,"brand":"GENERIC","model":"iBeacon","model_id":"IBEACON","mfid":"4c00","uuid":"655f83caae16a10a702e31f30d58dd82","major":-2495,"minor":21041,"volt":10}
{"stat_t":"+/+/BTtoMQTT/90E20235847C","dev_cla":"voltage","unit_of_meas":"V","name":"volt","uniq_id":"90E20235847C-volt","val_tpl":"{% if value_json.uuid is not defined and value_json.volt is defined -%} {{value_json.volt}} {%- endif %}","state_class":"measurement","device":{"identifiers":["90E20235847C"],"connections":[["mac","90E20235847C"]],"manufacturer":"Generic","model":"BM2","name":"BM2-35847C","via_device":"OpenMQTTGateway_ESP32_BLE"}}
Thanks
Rico
Looking at battery voltage monitoring for 2 old cars, but confused which way I should go. I have spare esp32 with voltage sensors, or I can go for BM2 devices.
If using a BLE proxy, I suspect I’ll be getting the same data and not sure which way would be better.
I have more wifi coverage on my property so getting the esp32 data over wifi probably would be easier, but they’ll be in the garage most of the time so a esp32 ble proxy in the garage seems logical also.
Just wanted to say thanks for the BM2 support. OpenMQTTGateway is working great!
Did I imagine that someone built a custom ESPHome integration for the BM2 battery monitors? I’m sure I saw it either here or on Reddit, ordred a BM2 and now can’t find the thread.
Big thumbs up from Australia, got two BM2 running through OMG 4x4 & the jetski Thanks so much
I ended up using batmon