Calculate how many hours fireplace burned in a day

Hey All,
I have a Rocket Mass Heater with a thermocouple sensor. I'm trying to report how many hours per day fire is burning.

Something like if the temp rises over 300 drop a timestamp. When the temp drops below 300 set a timestamp. Then calculate the time in between. There will be several fires throughout the day. Then at midnight reset the number and begin again.

I found this library but not sure how to use it; no documentation

How can I calculate hours burned per day?

Thanks
Rich

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":[]}]

A lot of nodes don't have documentation visible on flows.nodered.org. You have to navigate to their Github repo (see link on the same page), then you will see it appearing...

Here it is.

3 Likes

Hey All,
I'm just getting back to this. I made a few tweaks to what E1cid provided but I'm still not there. My goal is to render and record how many hours and minutes per day the fire is above 300 degrees.

Currently this flow puts out some numbers but they don't seem to be related to time. How can I set this up to show time burned?

Thanks

[
    {
        "id": "14df4444b40e6302",
        "type": "mqtt in",
        "z": "0e9443b6465b78e6",
        "name": "",
        "topic": "/rmh/core",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e8de652f3f0d5685",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 420,
        "y": 1220,
        "wires": [
            [
                "c014c8ab62e8708b",
                "b2a09457d1a9deec"
            ]
        ]
    },
    {
        "id": "f3b3efa30c4048b9",
        "type": "inject",
        "z": "0e9443b6465b78e6",
        "name": "get total and delete at midnight",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "59 23 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "burn_sum",
        "payloadType": "flow",
        "x": 490,
        "y": 1420,
        "wires": [
            [
                "8ec8fdbc98c2134e"
            ]
        ]
    },
    {
        "id": "8ec8fdbc98c2134e",
        "type": "change",
        "z": "0e9443b6465b78e6",
        "name": "",
        "rules": [
            {
                "t": "delete",
                "p": "burnSum",
                "pt": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 800,
        "y": 1420,
        "wires": [
            [
                "e18d5c75b433dab7"
            ]
        ]
    },
    {
        "id": "e18d5c75b433dab7",
        "type": "debug",
        "z": "0e9443b6465b78e6",
        "name": "debug 345",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 1010,
        "y": 1420,
        "wires": []
    },
    {
        "id": "17e985bce66b4d6a",
        "type": "ui_text",
        "z": "0e9443b6465b78e6",
        "group": "a36b1802b62e1a87",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Time Burned",
        "format": "{{msg.payload}}",
        "layout": "row-spread",
        "className": "",
        "style": false,
        "font": "",
        "fontSize": 16,
        "color": "#000000",
        "x": 1050,
        "y": 1360,
        "wires": []
    },
    {
        "id": "af381cc47b5475d1",
        "type": "inject",
        "z": "0e9443b6465b78e6",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "200",
        "payloadType": "num",
        "x": 410,
        "y": 1320,
        "wires": [
            [
                "5295c0401dc5c4c9"
            ]
        ]
    },
    {
        "id": "5295c0401dc5c4c9",
        "type": "change",
        "z": "0e9443b6465b78e6",
        "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": 580,
        "y": 1300,
        "wires": [
            [
                "75c0963bb611b839"
            ]
        ]
    },
    {
        "id": "d48e8e325568f0b9",
        "type": "inject",
        "z": "0e9443b6465b78e6",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "400",
        "payloadType": "num",
        "x": 410,
        "y": 1280,
        "wires": [
            [
                "5295c0401dc5c4c9"
            ]
        ]
    },
    {
        "id": "75c0963bb611b839",
        "type": "rbe",
        "z": "0e9443b6465b78e6",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 730,
        "y": 1300,
        "wires": [
            [
                "50e4bf04242687ce"
            ]
        ]
    },
    {
        "id": "50e4bf04242687ce",
        "type": "join",
        "z": "0e9443b6465b78e6",
        "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": 850,
        "y": 1300,
        "wires": [
            [
                "cf08559d7ec6ef29"
            ]
        ]
    },
    {
        "id": "cf08559d7ec6ef29",
        "type": "switch",
        "z": "0e9443b6465b78e6",
        "name": "",
        "property": "burn",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "on",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 550,
        "y": 1360,
        "wires": [
            [
                "9b1a936b212953d7"
            ]
        ]
    },
    {
        "id": "9b1a936b212953d7",
        "type": "change",
        "z": "0e9443b6465b78e6",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "burnMinutes",
                "pt": "msg",
                "to": "($$.timestamp.on - $$.timestamp.off)/60000",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 740,
        "y": 1360,
        "wires": [
            [
                "17e985bce66b4d6a",
                "3e01d0fc67467d6b"
            ]
        ]
    },
    {
        "id": "b2a09457d1a9deec",
        "type": "delay",
        "z": "0e9443b6465b78e6",
        "name": "",
        "pauseType": "rate",
        "timeout": "5",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 610,
        "y": 1220,
        "wires": [
            [
                "5295c0401dc5c4c9"
            ]
        ]
    },
    {
        "id": "68ed3969abc24490",
        "type": "change",
        "z": "0e9443b6465b78e6",
        "name": "set flow.burnSum",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "burnSum",
                "tot": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 990,
        "y": 1240,
        "wires": [
            []
        ]
    },
    {
        "id": "3e01d0fc67467d6b",
        "type": "debug",
        "z": "0e9443b6465b78e6",
        "name": "debug 344",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "true",
        "targetType": "full",
        "statusVal": "burnMinutes",
        "statusType": "msg",
        "x": 1030,
        "y": 1300,
        "wires": []
    },
    {
        "id": "9ec4945dfa0b1b7a",
        "type": "comment",
        "z": "0e9443b6465b78e6",
        "name": "I think I need this but not sure how to incorporate",
        "info": "",
        "x": 1000,
        "y": 1200,
        "wires": []
    },
    {
        "id": "e8de652f3f0d5685",
        "type": "mqtt-broker",
        "name": "",
        "broker": "192.168.1.154",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "a36b1802b62e1a87",
        "type": "ui_group",
        "name": "Rocket Mass Heater",
        "tab": "f3a8a67ff0904e39",
        "order": 24,
        "disp": true,
        "width": "6",
        "collapse": true,
        "className": ""
    },
    {
        "id": "f3a8a67ff0904e39",
        "type": "ui_tab",
        "name": "Home",
        "icon": "home",
        "order": 1,
        "disabled": false,
        "hidden": false
    }
]

You have set the switch node to pass on burn on, but should be burn off.
You have removed the JSONata which calculates the total burn time, so it will not sum the minutes.
I have added a third rule which calculates the total burn time in hours and minutes, I round it so it shows 0 till the total burn sum is longer than 30 seconds.

[{"id":"14df4444b40e6302","type":"mqtt in","z":"2493d0f1b4d72d1b","name":"","topic":"/rmh/core","qos":"2","datatype":"auto-detect","broker":"e8de652f3f0d5685","nl":false,"rap":true,"rh":0,"inputs":0,"x":280,"y":920,"wires":[["b2a09457d1a9deec"]]},{"id":"b2a09457d1a9deec","type":"delay","z":"2493d0f1b4d72d1b","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":470,"y":920,"wires":[["5295c0401dc5c4c9"]]},{"id":"5295c0401dc5c4c9","type":"change","z":"2493d0f1b4d72d1b","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":440,"y":1000,"wires":[["75c0963bb611b839"]]},{"id":"af381cc47b5475d1","type":"inject","z":"2493d0f1b4d72d1b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"200","payloadType":"num","x":270,"y":1020,"wires":[["5295c0401dc5c4c9"]]},{"id":"d48e8e325568f0b9","type":"inject","z":"2493d0f1b4d72d1b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":270,"y":980,"wires":[["5295c0401dc5c4c9"]]},{"id":"75c0963bb611b839","type":"rbe","z":"2493d0f1b4d72d1b","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":590,"y":1000,"wires":[["50e4bf04242687ce"]]},{"id":"50e4bf04242687ce","type":"join","z":"2493d0f1b4d72d1b","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":710,"y":1000,"wires":[["cf08559d7ec6ef29"]]},{"id":"cf08559d7ec6ef29","type":"switch","z":"2493d0f1b4d72d1b","name":"","property":"burn","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":410,"y":1060,"wires":[["5d62c80531f8eadf"]]},{"id":"5d62c80531f8eadf","type":"change","z":"2493d0f1b4d72d1b","name":"","rules":[{"t":"set","p":"burnMinutes","pt":"msg","to":"$sum([$flowContext(\"burnSum\")]) + ($$.timestamp.off - $$.timestamp.on)/60000","tot":"jsonata"},{"t":"set","p":"burnSum","pt":"flow","to":"burnMinutes","tot":"msg","dc":true},{"t":"set","p":"payload","pt":"msg","to":"$pad( $string( $floor($$.burnMinutes/60) ),-2, \"0\") & \":\" & $pad( $string( $round($$.burnMinutes % 60) ),-2 , \"0\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":1060,"wires":[["17e985bce66b4d6a","3e01d0fc67467d6b"]]},{"id":"17e985bce66b4d6a","type":"ui_text","z":"2493d0f1b4d72d1b","group":"a36b1802b62e1a87","order":1,"width":0,"height":0,"name":"","label":"Time Burned","format":"{{msg.payload}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":910,"y":1060,"wires":[]},{"id":"3e01d0fc67467d6b","type":"debug","z":"2493d0f1b4d72d1b","name":"debug 344","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"burnMinutes","statusType":"msg","x":910,"y":1000,"wires":[]},{"id":"f3b3efa30c4048b9","type":"inject","z":"2493d0f1b4d72d1b","name":"get total and delete at midnight","props":[{"p":"payload"}],"repeat":"","crontab":"59 23 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"burnSum","payloadType":"flow","x":350,"y":1120,"wires":[["8ec8fdbc98c2134e"]]},{"id":"8ec8fdbc98c2134e","type":"change","z":"2493d0f1b4d72d1b","name":"","rules":[{"t":"delete","p":"burnSum","pt":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":660,"y":1120,"wires":[["e18d5c75b433dab7"]]},{"id":"e18d5c75b433dab7","type":"debug","z":"2493d0f1b4d72d1b","name":"debug 345","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":870,"y":1120,"wires":[]},{"id":"e8de652f3f0d5685","type":"mqtt-broker","name":"","broker":"192.168.1.154","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a36b1802b62e1a87","type":"ui_group","name":"Rocket Mass Heater","tab":"f3a8a67ff0904e39","order":24,"disp":true,"width":"6","collapse":true,"className":""},{"id":"f3a8a67ff0904e39","type":"ui_tab","name":"Home","icon":"home","order":1,"disabled":false,"hidden":false}]

Thanks, when I try this I get the following error.

"Invalid JSONata expression: The values "nan" and 300 either side of operator ">" must be of the same data type"

Note that the numbers coming in are floats with one decimal place i.e. 300.1 not sure if that matters.

I stripped the float and it's no longer getting an error

However the dashboard just renders 00:00

How long did you give it when testing.

You received the error as incoming mqtt value is a string not a float.
This should handle strings or floats or integers incoming e.g "300.1"

[{"id":"14df4444b40e6302","type":"mqtt in","z":"b779de97.b1b46","name":"","topic":"/rmh/core","qos":"2","datatype":"auto-detect","broker":"e8de652f3f0d5685","nl":false,"rap":true,"rh":0,"inputs":0,"x":180,"y":4780,"wires":[["b2a09457d1a9deec"]]},{"id":"b2a09457d1a9deec","type":"delay","z":"b779de97.b1b46","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":370,"y":4780,"wires":[["5295c0401dc5c4c9"]]},{"id":"5295c0401dc5c4c9","type":"change","z":"b779de97.b1b46","name":"","rules":[{"t":"set","p":"burn","pt":"msg","to":"$number($$.payload) > 300 ? \"on\" : \"off\"","tot":"jsonata"},{"t":"set","p":"timestamp","pt":"msg","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":340,"y":4860,"wires":[["75c0963bb611b839"]]},{"id":"af381cc47b5475d1","type":"inject","z":"b779de97.b1b46","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"200","payloadType":"num","x":170,"y":4880,"wires":[["5295c0401dc5c4c9"]]},{"id":"d48e8e325568f0b9","type":"inject","z":"b779de97.b1b46","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400","payloadType":"num","x":170,"y":4840,"wires":[["5295c0401dc5c4c9"]]},{"id":"75c0963bb611b839","type":"rbe","z":"b779de97.b1b46","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":490,"y":4860,"wires":[["50e4bf04242687ce"]]},{"id":"50e4bf04242687ce","type":"join","z":"b779de97.b1b46","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":610,"y":4860,"wires":[["cf08559d7ec6ef29"]]},{"id":"cf08559d7ec6ef29","type":"switch","z":"b779de97.b1b46","name":"","property":"burn","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":310,"y":4920,"wires":[["5d62c80531f8eadf"]]},{"id":"5d62c80531f8eadf","type":"change","z":"b779de97.b1b46","name":"","rules":[{"t":"set","p":"burnMinutes","pt":"msg","to":"$sum([$flowContext(\"burnSum\")]) + ($$.timestamp.off - $$.timestamp.on)/60000","tot":"jsonata"},{"t":"set","p":"burnSum","pt":"flow","to":"burnMinutes","tot":"msg","dc":true},{"t":"set","p":"payload","pt":"msg","to":"$pad( $string( $floor($$.burnMinutes/60) ),-2, \"0\") & \":\" & $pad( $string( $round($$.burnMinutes % 60) ),-2 , \"0\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":4920,"wires":[["17e985bce66b4d6a","3e01d0fc67467d6b"]]},{"id":"17e985bce66b4d6a","type":"ui_text","z":"b779de97.b1b46","group":"a36b1802b62e1a87","order":1,"width":0,"height":0,"name":"","label":"Time Burned","format":"{{msg.payload}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":810,"y":4920,"wires":[]},{"id":"3e01d0fc67467d6b","type":"debug","z":"b779de97.b1b46","name":"debug 344","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"burnMinutes","statusType":"msg","x":810,"y":4860,"wires":[]},{"id":"f3b3efa30c4048b9","type":"inject","z":"b779de97.b1b46","name":"get total and delete at midnight","props":[{"p":"payload"}],"repeat":"","crontab":"59 23 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"burnSum","payloadType":"flow","x":250,"y":4980,"wires":[["8ec8fdbc98c2134e"]]},{"id":"8ec8fdbc98c2134e","type":"change","z":"b779de97.b1b46","name":"","rules":[{"t":"delete","p":"burnSum","pt":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":4980,"wires":[["e18d5c75b433dab7"]]},{"id":"e18d5c75b433dab7","type":"debug","z":"b779de97.b1b46","name":"debug 345","active":true,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":770,"y":4980,"wires":[]},{"id":"e8de652f3f0d5685","type":"mqtt-broker","name":"","broker":"192.168.1.154","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a36b1802b62e1a87","type":"ui_group","name":"Rocket Mass Heater","tab":"f3a8a67ff0904e39","order":24,"disp":true,"width":"6","collapse":true,"className":""},{"id":"f3a8a67ff0904e39","type":"ui_tab","name":"Home","icon":"home","order":1,"disabled":false,"hidden":false}]

A few minutes. The time doesn't change and stays at 00:00.

Are you saying the example i posted above does not change, seems strange as clearly in image i have posted it does. You must be using an edited version. If you are then more info will be required to see what is occurring.

hmm, when I checked it this morning it shows a static, unchanging number 18033:14

Now I'm getting this error

"Invalid JSONata expression: Unable to cast value to a number: "nan""

Here is the flow

[
    {
        "id": "4adeb8e7d2204452",
        "type": "mqtt in",
        "z": "3bec4593b80f93c3",
        "name": "",
        "topic": "/rmh/core",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e8de652f3f0d5685",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 420,
        "y": 280,
        "wires": [
            [
                "fda91984c826b9e0"
            ]
        ]
    },
    {
        "id": "fda91984c826b9e0",
        "type": "delay",
        "z": "3bec4593b80f93c3",
        "name": "",
        "pauseType": "rate",
        "timeout": "5",
        "timeoutUnits": "seconds",
        "rate": "1",
        "nbRateUnits": "1",
        "rateUnits": "second",
        "randomFirst": "1",
        "randomLast": "5",
        "randomUnits": "seconds",
        "drop": false,
        "allowrate": false,
        "outputs": 1,
        "x": 610,
        "y": 280,
        "wires": [
            [
                "f3b373b878e65f40"
            ]
        ]
    },
    {
        "id": "f3b373b878e65f40",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "burn",
                "pt": "msg",
                "to": "$number($$.payload) > 300 ? \"on\" : \"off\"",
                "tot": "jsonata"
            },
            {
                "t": "set",
                "p": "timestamp",
                "pt": "msg",
                "to": "",
                "tot": "date"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 580,
        "y": 360,
        "wires": [
            [
                "e1d404b88bfc0aa5"
            ]
        ]
    },
    {
        "id": "100934e985d8fd7f",
        "type": "inject",
        "z": "3bec4593b80f93c3",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "200",
        "payloadType": "num",
        "x": 370,
        "y": 380,
        "wires": [
            [
                "f3b373b878e65f40"
            ]
        ]
    },
    {
        "id": "746a5bb32cbe140e",
        "type": "inject",
        "z": "3bec4593b80f93c3",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "400",
        "payloadType": "num",
        "x": 370,
        "y": 340,
        "wires": [
            [
                "f3b373b878e65f40"
            ]
        ]
    },
    {
        "id": "e1d404b88bfc0aa5",
        "type": "rbe",
        "z": "3bec4593b80f93c3",
        "name": "",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload",
        "topi": "topic",
        "x": 730,
        "y": 360,
        "wires": [
            [
                "3f0ba7d234fc4319"
            ]
        ]
    },
    {
        "id": "3f0ba7d234fc4319",
        "type": "join",
        "z": "3bec4593b80f93c3",
        "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": 850,
        "y": 360,
        "wires": [
            [
                "f02ec50af2618cce",
                "b0040172bb18fac9"
            ]
        ]
    },
    {
        "id": "f02ec50af2618cce",
        "type": "switch",
        "z": "3bec4593b80f93c3",
        "name": "",
        "property": "burn",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "off",
                "vt": "str"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 550,
        "y": 420,
        "wires": [
            [
                "cfc4f78d370412d3"
            ]
        ]
    },
    {
        "id": "cfc4f78d370412d3",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "burnMinutes",
                "pt": "msg",
                "to": "$sum([$flowContext(\"burnSum\")]) + ($$.timestamp.off - $$.timestamp.on)/60000",
                "tot": "jsonata"
            },
            {
                "t": "set",
                "p": "burnSum",
                "pt": "flow",
                "to": "burnMinutes",
                "tot": "msg",
                "dc": true
            },
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "$pad( $string( $floor($$.burnMinutes/60) ),-2, \"0\") & \":\" & $pad( $string( $round($$.burnMinutes % 60) ),-2 , \"0\")",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 760,
        "y": 420,
        "wires": [
            [
                "c47a78ec139f34f4"
            ]
        ]
    },
    {
        "id": "c47a78ec139f34f4",
        "type": "ui_text",
        "z": "3bec4593b80f93c3",
        "group": "a36b1802b62e1a87",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Time Burned",
        "format": "{{msg.payload}}",
        "layout": "row-spread",
        "className": "",
        "style": false,
        "font": "",
        "fontSize": 16,
        "color": "#000000",
        "x": 1050,
        "y": 420,
        "wires": []
    },
    {
        "id": "b0040172bb18fac9",
        "type": "debug",
        "z": "3bec4593b80f93c3",
        "name": "debug 344",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "true",
        "targetType": "full",
        "statusVal": "burnMinutes",
        "statusType": "msg",
        "x": 1010,
        "y": 220,
        "wires": []
    },
    {
        "id": "eaab94a3a0a884c9",
        "type": "inject",
        "z": "3bec4593b80f93c3",
        "name": "get total and delete at midnight",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "59 23 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "burnSum",
        "payloadType": "flow",
        "x": 490,
        "y": 480,
        "wires": [
            [
                "c68dcc1a2f7489df"
            ]
        ]
    },
    {
        "id": "c68dcc1a2f7489df",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "",
        "rules": [
            {
                "t": "delete",
                "p": "burnSum",
                "pt": "flow"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 800,
        "y": 480,
        "wires": [
            [
                "9094b8b9eb574e7e"
            ]
        ]
    },
    {
        "id": "9094b8b9eb574e7e",
        "type": "debug",
        "z": "3bec4593b80f93c3",
        "name": "debug 345",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": true,
        "complete": "payload",
        "targetType": "msg",
        "statusVal": "payload",
        "statusType": "auto",
        "x": 1010,
        "y": 480,
        "wires": []
    },
    {
        "id": "e8de652f3f0d5685",
        "type": "mqtt-broker",
        "name": "",
        "broker": "192.168.1.154",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "a36b1802b62e1a87",
        "type": "ui_group",
        "name": "Rocket Mass Heater",
        "tab": "f3a8a67ff0904e39",
        "order": 24,
        "disp": true,
        "width": "6",
        "collapse": true,
        "className": ""
    },
    {
        "id": "f3a8a67ff0904e39",
        "type": "ui_tab",
        "name": "Home",
        "icon": "home",
        "order": 1,
        "disabled": false,
        "hidden": false
    }
]

Not enough info

Which node is throwing error? I suspect the first change node, please confirm.

What are the inputs of the mqtt node, monitor them and then provide all the different payloads, as I suspect you are not just getting the temp payloads.

Yes, it's the first change node.

this is what's coming out of the mqtt node
Screenshot 2023-10-20 101945

How long did you monitor it, that payload would not throw an error.
Also show us your context store value.

THe debug in this flow will log any non numbers to debug sidebar

[{"id":"7971f06b37810726","type":"inject","z":"2493d0f1b4d72d1b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"400.1","payloadType":"num","x":310,"y":1440,"wires":[["52f5d3e4b606524d"]]},{"id":"52f5d3e4b606524d","type":"switch","z":"2493d0f1b4d72d1b","name":"","property":"payload","propertyType":"msg","rules":[{"t":"istype","v":"number","vt":"number"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":430,"y":1420,"wires":[["ac29fabac2f00219"],["94c5192c3e0f8e4c"]]},{"id":"ce4c1df7eb979ae7","type":"inject","z":"2493d0f1b4d72d1b","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"200","payloadType":"num","x":310,"y":1480,"wires":[["52f5d3e4b606524d"]]},{"id":"ac29fabac2f00219","type":"change","z":"2493d0f1b4d72d1b","name":"","rules":[{"t":"set","p":"burn","pt":"msg","to":"$number($$.payload) > 300 ? \"on\" : \"off\"","tot":"jsonata"},{"t":"set","p":"timestamp","pt":"msg","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":520,"y":1460,"wires":[["1d355db417eba54e"]]},{"id":"94c5192c3e0f8e4c","type":"debug","z":"2493d0f1b4d72d1b","name":"debug 346","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":510,"y":1320,"wires":[]},{"id":"1d355db417eba54e","type":"rbe","z":"2493d0f1b4d72d1b","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":true,"property":"payload","topi":"topic","x":670,"y":1460,"wires":[["8616bd24893b4a03"]]},{"id":"8616bd24893b4a03","type":"join","z":"2493d0f1b4d72d1b","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":790,"y":1460,"wires":[["c93ffeeca4007a28"]]},{"id":"c93ffeeca4007a28","type":"switch","z":"2493d0f1b4d72d1b","name":"","property":"burn","propertyType":"msg","rules":[{"t":"eq","v":"off","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":490,"y":1520,"wires":[["333201a2b10e3802"]]},{"id":"333201a2b10e3802","type":"change","z":"2493d0f1b4d72d1b","name":"","rules":[{"t":"set","p":"burnMinutes","pt":"msg","to":"$sum([$flowContext(\"burnSum\")]) + ($$.timestamp.off - $$.timestamp.on)/60000","tot":"jsonata"},{"t":"set","p":"burnSum","pt":"flow","to":"burnMinutes","tot":"msg","dc":true},{"t":"set","p":"payload","pt":"msg","to":"$pad( $string( $floor($$.burnMinutes/60) ),-2, \"0\") & \":\" & $pad( $string( $round($$.burnMinutes % 60) ),-2 , \"0\")","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":700,"y":1520,"wires":[["fbfaebdbbe412228","84e61e8b69716b01"]]},{"id":"fbfaebdbbe412228","type":"ui_text","z":"2493d0f1b4d72d1b","group":"a36b1802b62e1a87","order":1,"width":0,"height":0,"name":"","label":"Time Burned","format":"{{msg.payload}}","layout":"row-spread","className":"","style":false,"font":"","fontSize":16,"color":"#000000","x":990,"y":1520,"wires":[]},{"id":"84e61e8b69716b01","type":"debug","z":"2493d0f1b4d72d1b","name":"debug 344","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"true","targetType":"full","statusVal":"burnMinutes","statusType":"msg","x":790,"y":1340,"wires":[]},{"id":"a36b1802b62e1a87","type":"ui_group","name":"Rocket Mass Heater","tab":"f3a8a67ff0904e39","order":24,"disp":true,"width":"6","collapse":true,"className":""},{"id":"f3a8a67ff0904e39","type":"ui_tab","name":"Home","icon":"home","order":1,"disabled":false,"hidden":false}]

feed your mqtt node into the switch node

Looks to me like your mqtt node is returning payload values of NaN, the switch node should filter them and sort the issue. You may want to look at why your sensor is returning these value though.

Yes, I am occasionally seeing NaN readings, they come at random times.

I'm getting a reading every second or so. Monitoring is ongoing.

The last code you posted does not render anything to the dashboard, blank.

Nor will it, till you receive 1 reading over 300 and 1 below.
You provide no information as to what readings the flow has received, hard to help with limited info.

I found the Hourglass node and got it working.

Thanks for wading through the weeds with me on this E1cid! The support I get on this forum is unparalleled! You and the other regulars do an excellent job.

Much appreciated!

[
    {
        "id": "10ef739ae222708f",
        "type": "switch",
        "z": "3bec4593b80f93c3",
        "name": "is it a number?",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "istype",
                "v": "number",
                "vt": "number"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 280,
        "y": 360,
        "wires": [
            [
                "fe5a8184e294562d"
            ]
        ]
    },
    {
        "id": "4803cbe23bbdc274",
        "type": "ui_text",
        "z": "3bec4593b80f93c3",
        "group": "a36b1802b62e1a87",
        "order": 1,
        "width": 0,
        "height": 0,
        "name": "",
        "label": "Time Burned",
        "format": "{{msg.elapsed.time.minutes}}:{{msg.elapsed.time.seconds}}",
        "layout": "row-spread",
        "className": "",
        "style": false,
        "font": "",
        "fontSize": 16,
        "color": "#000000",
        "x": 990,
        "y": 340,
        "wires": []
    },
    {
        "id": "3aec4d681ab3c3e0",
        "type": "mqtt in",
        "z": "3bec4593b80f93c3",
        "name": "",
        "topic": "/rmh/core",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e8de652f3f0d5685",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 120,
        "y": 360,
        "wires": [
            [
                "10ef739ae222708f"
            ]
        ]
    },
    {
        "id": "92109e0a.88d96",
        "type": "hourglass",
        "z": "3bec4593b80f93c3",
        "name": "",
        "persistId": "",
        "humanizeLocale": "",
        "x": 840,
        "y": 360,
        "wires": [
            [
                "4803cbe23bbdc274",
                "f4f9d1c1226ca057"
            ]
        ]
    },
    {
        "id": "5a0a72af.5c5fc4",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "{command:'reset'}",
        "rules": [
            {
                "t": "set",
                "p": "command",
                "pt": "msg",
                "to": "reset",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 650,
        "y": 420,
        "wires": [
            [
                "92109e0a.88d96"
            ]
        ]
    },
    {
        "id": "cfff0e2d.ada0e8",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "{command:'start'}",
        "rules": [
            {
                "t": "set",
                "p": "command",
                "pt": "msg",
                "to": "start",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 650,
        "y": 340,
        "wires": [
            [
                "92109e0a.88d96"
            ]
        ]
    },
    {
        "id": "a0a2d80e.88f7d",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "{command:'stop'}",
        "rules": [
            {
                "t": "set",
                "p": "command",
                "pt": "msg",
                "to": "stop",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 650,
        "y": 380,
        "wires": [
            [
                "92109e0a.88d96"
            ]
        ]
    },
    {
        "id": "894f06df.59219",
        "type": "inject",
        "z": "3bec4593b80f93c3",
        "name": "reset at midnight",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "59 23 * * *",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "str",
        "x": 430,
        "y": 420,
        "wires": [
            [
                "5a0a72af.5c5fc4"
            ]
        ]
    },
    {
        "id": "6384eb1d.90bca4",
        "type": "inject",
        "z": "3bec4593b80f93c3",
        "name": "",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "1",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "str",
        "x": 470,
        "y": 300,
        "wires": [
            [
                "5bb3a7b5.cb8b9"
            ]
        ]
    },
    {
        "id": "5bb3a7b5.cb8b9",
        "type": "change",
        "z": "3bec4593b80f93c3",
        "name": "{command:'status'}",
        "rules": [
            {
                "t": "set",
                "p": "command",
                "pt": "msg",
                "to": "status",
                "tot": "str"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 650,
        "y": 300,
        "wires": [
            [
                "92109e0a.88d96"
            ]
        ]
    },
    {
        "id": "fe5a8184e294562d",
        "type": "switch",
        "z": "3bec4593b80f93c3",
        "name": "Over 300?",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
            {
                "t": "gte",
                "v": "335",
                "vt": "num"
            },
            {
                "t": "lt",
                "v": "335",
                "vt": "num"
            }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 450,
        "y": 360,
        "wires": [
            [
                "cfff0e2d.ada0e8"
            ],
            [
                "a0a2d80e.88f7d"
            ]
        ]
    },
    {
        "id": "f4f9d1c1226ca057",
        "type": "debug",
        "z": "3bec4593b80f93c3",
        "name": "debug 395",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "true",
        "targetType": "full",
        "statusVal": "",
        "statusType": "auto",
        "x": 990,
        "y": 380,
        "wires": []
    },
    {
        "id": "a36b1802b62e1a87",
        "type": "ui_group",
        "name": "Rocket Mass Heater",
        "tab": "f3a8a67ff0904e39",
        "order": 24,
        "disp": true,
        "width": "6",
        "collapse": true,
        "className": ""
    },
    {
        "id": "e8de652f3f0d5685",
        "type": "mqtt-broker",
        "name": "",
        "broker": "192.168.1.154",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "f3a8a67ff0904e39",
        "type": "ui_tab",
        "name": "Home",
        "icon": "home",
        "order": 1,
        "disabled": false,
        "hidden": false
    }
]

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.