Home Assistant MQTT Light: state_value_template ignored

Hi everyone,

I’m running Home Assistant (Core 2025.6.3) with Zigbee2MQTT (2.4.0), and I’m trying to expose a “proxy” Light entity that reads from the real endpoint rather than the default topic keys. My goal is to map state_1state and brightness_1brightness, since that for some reason is how the device reports the state and brightness (although commands to change them are still published to state and brightness)

The problem is that both state and brightness remain “unknown” when inspecting the state of the proxy.

I’ve distilled my config to this:

mqtt:
  light:
    - name: kph_valokatto_proxy
      unique_id: kph_valokatto_proxy

      # Read the “real” state & brightness from keys 1
      state_topic: "zigbee2mqtt/kph_valokatto"
      state_value_template: "{{ value_json.state_1 }}"
      brightness_state_topic: "zigbee2mqtt/kph_valokatto"
      brightness_value_template: "{{ value_json.brightness_1 | int }}"

      # Command on/off & brightness to the normal Zigbee2MQTT set topic
      command_topic: "zigbee2mqtt/kph_valokatto/set"
      payload_on:  '{"state":"ON"}'
      payload_off: '{"state":"OFF"}'
      brightness_command_topic: "zigbee2mqtt/kph_valokatto/set"
      brightness_command_template: '{"brightness": {{ brightness }} }'

Here is an example MQTT message when I turn the light off

{"brightness":51,"brightness_1":254,
 "color":{"h":205,"s":75,"x":0.2119,"y":0.2828},
 "color_mode":"xy","color_temp":133,"effect":null,
 "linkquality":124,"power_on_behavior":null,
 "state":"OFF","state_1":"OFF"}

Observed in Developer Tools → States for kph_valokatto_proxy
The state is “unknown”, and the state attributes are:

supported_color_modes:
  - brightness
friendly_name: kph_valokatto_proxy
supported_features: 0
color_mode: null
brightness: null

If I add json_attributes_topic: "zigbee2mqtt/kph_valokatto" to the config of the proxy, I do get a bunch of state attributes, including state_1 and brightness_1 that I see in the states for kph_valokatto_proxy, but the “state” and “brightness” always remain unknown.

Any idea what could be wrong? Why does the state and brightness of kph_valokatto_proxy not update?