Temperature date from xiaomi

Certainly the value of the data property is not a valid string. It would be necessary to escape the inside quotes with the character \ , what presumably it is not possible since you do not control how the sensor format the output.

If you throw the whole data structure in a JSON validator (https://jsonlint.com/) you will see that it is not a valid JSON string.

Summarizing: I guess the output of the sensor is not exactly like you have shown. Looks like the extra quotes in the data property value are resulting in troubles (you do not have a valid string neither a valid JSON data).

See in this link (https://github.com/cflurin/xiaomi-mqtt/blob/master/README.md) how a valid JSON looks like for this sensor:

payload:
{
  "cmd":"report",
  "model":"sensor_ht",
  "sid":"158d0001a2eb66",
  "short_id":30124,
  "data":{"voltage":3005,"temperature":16.7,"humidity":null}
}

PS: have a read on this topic to better format the text you copy and paste in the forum: How to share code or flow json