Not a lot to help with that readme, lol.
Here is a simple flow that will take payload, if over 300 it sets a on timestamp, when 300 or below it sets off timestamp and calculates difference in minutes, you can adjust in flow the temp and convert to any time output you wish.
Hope it helps
[{"id":"ead55e9bed9f1a42","type":"inject","z":"bf569dbfc3bc07ed","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"200","payloadType":"num","x":190,"y":320,"wires":[["676ec415cd12ade3"]]},{"id":"676ec415cd12ade3","type":"change","z":"bf569dbfc3bc07ed","name":"","rules":[{"t":"set","p":"burn","pt":"msg","to":"$$.payload > 300 ? \"on\" : \"off\"","tot":"jsonata"},{"t":"set","p":"timestamp","pt":"msg","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":300,"wires":[["49c26890a6fe0dde"]]},{"id":"c863ae53012dd9d8","type":"inject","z":"bf569dbfc3bc07ed","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":190,"y":280,"wires":[["676ec415cd12ade3"]]},{"id":"49c26890a6fe0dde","type":"rbe","z":"bf569dbfc3bc07ed","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":510,"y":300,"wires":[["c48cf7b557492ca5"]]},{"id":"c48cf7b557492ca5","type":"join","z":"bf569dbfc3bc07ed","name":"","mode":"custom","build":"object","property":"timestamp","propertyType":"msg","key":"burn","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":630,"y":300,"wires":[["19e5e8e6e3b7580d"]]},{"id":"19e5e8e6e3b7580d","type":"switch","z":"bf569dbfc3bc07ed","name":"","property":"burn","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":330,"y":360,"wires":[["5d62c80531f8eadf"]]},{"id":"5d62c80531f8eadf","type":"change","z":"bf569dbfc3bc07ed","name":"","rules":[{"t":"set","p":"burnMinutes","pt":"msg","to":"($$.timestamp.off - $$.timestamp.on)/60000","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":360,"wires":[["e6297bcf996a280a"]]},{"id":"e6297bcf996a280a","type":"debug","z":"bf569dbfc3bc07ed","name":"debug 344","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"burnMinutes","statusType":"msg","x":590,"y":400,"wires":[]}]
You can do it in hours also and save output to context then once a day grab the total and delete ready for next day.
[{"id":"c863ae53012dd9d8","type":"inject","z":"bf569dbfc3bc07ed","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":190,"y":280,"wires":[["676ec415cd12ade3"]]},{"id":"676ec415cd12ade3","type":"change","z":"bf569dbfc3bc07ed","name":"","rules":[{"t":"set","p":"burn","pt":"msg","to":"$$.payload > 300 ? \"on\" : \"off\"","tot":"jsonata"},{"t":"set","p":"timestamp","pt":"msg","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":300,"wires":[["49c26890a6fe0dde"]]},{"id":"ead55e9bed9f1a42","type":"inject","z":"bf569dbfc3bc07ed","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"200","payloadType":"num","x":190,"y":320,"wires":[["676ec415cd12ade3"]]},{"id":"49c26890a6fe0dde","type":"rbe","z":"bf569dbfc3bc07ed","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":510,"y":300,"wires":[["c48cf7b557492ca5"]]},{"id":"c48cf7b557492ca5","type":"join","z":"bf569dbfc3bc07ed","name":"","mode":"custom","build":"object","property":"timestamp","propertyType":"msg","key":"burn","joiner":"\\n","joinerType":"str","accumulate":true,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":630,"y":300,"wires":[["19e5e8e6e3b7580d"]]},{"id":"19e5e8e6e3b7580d","type":"switch","z":"bf569dbfc3bc07ed","name":"","property":"burn","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":330,"y":360,"wires":[["5d62c80531f8eadf"]]},{"id":"5d62c80531f8eadf","type":"change","z":"bf569dbfc3bc07ed","name":"","rules":[{"t":"set","p":"burnHours","pt":"msg","to":"$sum([$flowContext(\"burn_sum\")]) + ($$.timestamp.off - $$.timestamp.on)/3600000","tot":"jsonata"},{"t":"set","p":"burn_sum","pt":"flow","to":"burnHours","tot":"msg","dc":true}],"action":"","property":"","from":"","to":"","reg":false,"x":500,"y":360,"wires":[["e6297bcf996a280a"]]},{"id":"e6297bcf996a280a","type":"debug","z":"bf569dbfc3bc07ed","name":"debug 344","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"burnHours","statusType":"msg","x":590,"y":400,"wires":[]},{"id":"6434ab7f47c2a49e","type":"inject","z":"bf569dbfc3bc07ed","name":"get total and delete","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"burn_sum","payloadType":"flow","x":130,"y":500,"wires":[["b46ab6a86f9d07ff"]]},{"id":"b46ab6a86f9d07ff","type":"change","z":"bf569dbfc3bc07ed","name":"","rules":[{"t":"delete","p":"burn_sum","pt":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":520,"wires":[["9faceef21aeeab45"]]},{"id":"9faceef21aeeab45","type":"debug","z":"bf569dbfc3bc07ed","name":"debug 345","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":590,"y":480,"wires":[]}]