Tasmota variables couldn't visible on home assistant

Hello everybody :v:

after my unsuccesful try with esphome i switch my ESP32 to tasmota. I installed tasmota bluetooth version, mqtt server and broker setuped in home assistant, also i add user for mqtt user.

after activating tasmota bluetooth i can see values on tasmota home screen

i can see mqtt temperature values on mqtt broker interface on home assistant when i try with mqtt listening screen .


But i can not see values on device, just cpu temperature.

all this temperature server connection parameters etc… is live and correct. but i coudlnt see any bluetooth variables.

Is there any other settings for optional parameters, when i follow tutorials, its should look automaticlly in device list. I found some similar problems in forum but any solution suggested there didnt work.

also i try on tasmota SetOption19 MI32Option6 but nothing happen.

You must manually create MQTT sensors.
By default Tasmota groups Xiaomi values, which works, but even better is to make it to separate MQTT messages (one for each thermometer). To do that you must change MI32Option6 to 1. But, since this change is not persistent (goes back to zero after reboot) you must create a rule which will change this option at each restart. In Tasmota’s console enter:

Backlog rule1 on system#boot do MI32Option6 1 endon; rule1 1

Then you create sensors in HA:

sensor:
  - platform: mqtt
    name: "tasmota bedroom temperature 1"
    state_topic: tele/tasmota_ble/bedroom
    value_template: "{{value_json.Temperature }}"
    unit_of_measurement: "°C"
    device_class: temperature
    availability_topic: "tele/tasmota_xxxxxx/LWT
    payload_available: "Online"
    payload_not_available: "Offline"

  - platform: mqtt
    name: "Tasmota bedroom moisture 1"
    state_topic: tele/tasmota_ble/bedroom
    value_template: "{{value_json.Humidity | float | round(0) }}"
    unit_of_measurement: "%"
    device_class: humidity
    availability_topic: "tele/tasmota_xxxxxx/LWT"
    payload_available: "Online"
    payload_not_available: "Offline"

etc...for each module

Note that “xxxxxx” is MAC of your esp32.

You can also rename sensors in tasmota, in Tasmota’s console enter this rule:

Backlog Rule2 ON System#Boot DO BLEalias a4c138457d93=bedroom a4c138220b24=living_room a4c13823fb42=outside ENDON; rule2 1

MAC’s in above rule are MAC’s from your Xiaomi modules. Just add or remove aliases in above line (separated with space) until you have them all. See console log when tasmota publishes values and you’ll see mac addresses. Note that this renaming only works if you change above menitoned MI32Option6 to 1.

That’s pretty much it. I hope i didn’t mess anything up…

1 Like

thank you very much, now its ok, working well. next days i will check more option about tasmota and esphome to choose final solution.

intresting all tutorial i watched never mention about mqtt sensors, always they get values automatically :thinking:

1 Like

They do, if you have physical sensors connected to tastmota (like DS1820…). Since these are values via BLE it seems that tastmota doesn’t “see” them as sensors and they doesn’t get created. At least that was my understanding of this “problem”.

1 Like