The issue is that the sensors do not report at the same time, one publish contains one or two devices and when source id is not found it's setting null values.
Lets say I use source LYWSD03aa6def
17:19:25.359 MQT: tele/Växthuset/SENSOR = {"Time":"2021-11-24T17:19:25","LYWSD03aa6def":{"mac":"a4c138aa6def","Temperature":7.0,"Humidity":98.0,"DewPoint":6.7,"Battery":24,"RSSI":-71},"Flora6cabfa":{"mac":"c47c8d6cabfa","Temperature":7.8,"Illuminance":265,"Moisture":20,"Fertility":85,"RSSI":-86}}
17:19:26.372 MQT: tele/Växthuset/SENSOR = {"Time":"2021-11-24T17:19:26","Flora6cab88":{"mac":"c47c8d6cab88","Temperature":8.6,"Illuminance":167,"Moisture":0,"Fertility":0,"RSSI":-81}}
17:19:37.399 MQT: tele/Växthuset/SENSOR = {"Time":"2021-11-24T17:19:37","Switch1":"ON","Switch2":"ON","ENERGY":{"TotalStartTime":"2021-05-04T07:45:50","Total":0.000,"Yesterday":0.000,"Today":0.000,"Period":[ 0, 0],"Power":[ 0, 0],"ApparentPower":[ 0, 0],"ReactivePower":[ 0, 0],"Factor":[0.00,0.00],"Frequency": 0,"Voltage": 0,"Current":[0.000,0.000]},"ESP32":{"Temperature":40.0},"TempUnit":"C"}
It maps the temperature and humidity on the first tele but applies null on the next ones.
Also, what to put in init?