Template widget shows nothing

Hi.
I have mqtt in node.
The function will process the output.

msg.payload = {
    temperature: msg.payload.temperature,
    humidity: msg.payload.humidity
};
return msg;

Exit function.
{"temperature":18.3,"humidity":62.57}

My template.

<div style="font-family: Arial, sans-serif; background: #2d2d2d; color: white; padding: 15px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); width: 300px; height: auto;">
  <h2 style="text-align: center; margin: 0; font-size: 18px; color: white !important; background: #2d2d2d !important; padding: 10px 0;">
    📊 Data ze Zigbee zařízení
  </h2>
  <div style="margin-top: 15px; padding: 10px;">
    <div style="display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid #444;">
      <span>🌡️ <b>Teplota:</b></span>
      <span>{{payload.temperature}} °C</span>
    </div>
    <div style="display: flex; justify-content: space-between; padding: 8px 0;">
      <span>💧 <b>Vlhkost:</b></span>
      <span>{{payload.humidity}} %</span>
    </div>
  </div>
</div>

Temperature and humidity are not visible.
Why? What am I doing wrong?
Thank you.

Share a minimal flow using inject nodes in place of your MQTT (to provide sample data)

Should be msg.payload.temperature and msg.payload.humidity