I’ve been trawling the forums and google this past couple weeks trying to assemble some room presence functionality out of existing relays that I have that are equipped with esp32 chips. I’ve compiled a custom binary of the tasmota32-bluetooth bin to include ibeacon.
I’ve set up a sensor that sets the UID of a iBeacon as its state when it pings
I’ve set up an automation that confirm that a message hits the topic and that the state of the sensor is my UID, here I publish 3 mqtt messages, one sends a command to the tasmota console to set the alias of the current device mac as my selected string (rotating macs on android), another generates what I believe to be an accurately formatted mqtt_room json payload, and third a payload to the topic that simply states connected
For some reason, I just cannot get the mqtt_room sensor ive made to recognize any payload data and set the sensor to present or home.
I can provide configs but I’m hoping I just have a misunderstanding of what mqtt_room is expecting in a payload to set the sensor to the correct state.
Everything makes it to the mqtt broker and I can see them in MQTT explorer
here’s a bit of the configs:
configuration.yaml>sensor: from !include sensor.yaml
- platform: mqtt_room
device_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-0064-0001"
state_topic: "/home-assistant/garage/bench/mqtt_room/device"
name: "BenchDevice"
unique_id: "BenchDeviceBLE"
timeout: 5
away_timeout: 120
configuration.yaml>template: from !include tsensor.yaml
- sensor:
- name: "GarageBenchDISTANCE"
unit_of_measurement: "M"
state: >
{% set GarageRSSI = states('sensor.garagebenchrssi') | float %}
{{ (((-59-(GarageRSSI))/(10*2)))**10 }}
configuration.yaml>mqtt: from !include msensor: (one of these exist for each attribute of the iBeacon mqtt payload)
sensor:
- name: "GarageBenchiBeaconID"
state_topic: "/home-assistant/garage/bench/tele/SENSOR"
value_template: '{{ value_json.IBEACON.UID }}'
json_attributes_topic: "/home-assistant/garage/bench/tele/SENSOR"
json_attributes_template: '{{ value_json | tojson }}'
mqtt payloads via automation:
service: mqtt.publish
data:
qos: 0
topic: /home-assistant/garage/bench/cmnd/blealias
payload_template: "{{ states('sensor.garagebenchmac') }}=Device"
service: mqtt.publish
data_template:
topic: /home-assistant/garage/bench/mqtt_room/Device
payload_template: |-
{
"id": '{{ states('sensor.garagebenchibeaconid') }}-{{states('sensor.garagebenchmajor') }}-{{ states('sensor.garagebenchminor') }}',
"name": '{{states('sensor.garagebenchname') }}',
"distance": '{{states('sensor.garagebenchdistance') }}'
}
service: mqtt.publish
data_template:
topic: /home-assistant/garage/bench/mqtt_room/Device
payload_template: CONNECTED