I just tried to go through all your stuff again in the Berry console but it fell over on
var p = object()
I note that is something of yours, and file too, so I guess I need some more of your code.
But if you gave me an example of what the final
p.dump
object string looks like, I could just hard code it perhaps? Is it just a typical json string?
{"key1":numeric_value,"key2":"str_value",...}
I tried to work on that assumption and got as far as
{"name":"Boiler-Burn Since New","uniq_id":"4827e2ea5880 burn_since_new","unit_of_measurement":"Hrs",
but then stalled on
p.device = {'cns': [['mac',mac]]}
as not sure what the result should look like. I wasn’t going to include any of the other keys as they look optional.
If it help, the 2 MQTT messages I can see in MQTT Explorer are
tasmota/discovery/48272E2A5880/config {"ip":"192.168.x.x","dn":"Boiler","fn":["Boiler",null,null,null,null,null,null,null],"hn":"boilerdisplay-6272","mac":"48272E2A5880","md":"Lilygo S3 Display","ty":0,"if":0,"ofln":"Offline","onln":"Online","state":["OFF","ON","TOGGLE","HOLD"],"sw":"13.3.0.1","t":"boilerdisplay","ft":"%prefix%/%topic%/","tp":["cmnd","stat","tele"],"rl":[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"swc":[2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1],"swn":["Switch1",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"btn":[1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"so":{"4":0,"11":0,"13":0,"17":0,"20":0,"30":0,"68":0,"73":1,"82":0,"114":1,"117":0},"lk":0,"lt_st":0,"bat":0,"dslp":0,"sho":[],"sht":[],"ver":1}
and
tasmota/discovery/48272E2A5880/sensors {"sn":{"Time":"2023-12-27T00:26:03","Switch1":"OFF","ANALOG":{"Range1":4716},"DS18B20-1":{"Id":"3E66CC0664FF","Temperature":23.1},"DS18B20-2":{"Id":"87F0CD0664FF","Temperature":23.1},"TempUnit":"C"},"ver":1}