Light switches through 1/0 instead ON/OFF

I have been able to control brightness (Dimmer) and color_temp (CT) using light.mqtt template schema as per below:

Note I have SetOption89, SetOption 100 and SetOption 112 enabled, if you dont, the command template could need adjusting a little

  - platform: "mqtt"
    unique_id: zigbee_light
    name: "Zigbee Light"
    schema: template
    state_topic: "tele/tasmota/DeviceName/SENSOR"
    command_topic: "cmnd/tasmota_zigbee/DeviceName/SENSOR/ZbSend"
    command_on_template: >
      {%- if brightness is defined -%}
      {"Device":"DeviceName","send":{"Dimmer": {{ brightness }}}}
      {%- endif -%}
      {%- if color_temp is defined -%}
      {"Device":"DeviceName","send":{"CT": {{ color_temp }}}}
      {%- endif -%}
      {%- if state is defined -%}
      {"Device":"DeviceName","send":{"Power": {{ state }}}}
      {%- endif -%}
    command_off_template: '{"Device":"DeviceName","send":{"Power": {{ state }}}}'
    state_template: '{{ value_json.state }}'
    brightness_template: '{{ value_json.brightness }}'
    color_temp_template: '{{ value.json.color_temp }}'
    qos: 0
    optimistic: true

hope its helpful for someone.

light.mqtt template schema documentation here: MQTT Light - Home Assistant

unfortunately the template schema only supports rgb color mode and not hs or xy which tasmota supports. I’ve made a feature request here, but cant see it getting may upvotes!