The problem with DS18b20 sensors is that in the absence of a sensor it reads a temperature of -127 degrees Celsius. In the presence of a sensor, and under certain conditions it reads 85 degrees Celsius. In order to avoid problems with temperature reading, it is necessary to write a function like this. With this function we determine the measurement parameters. If they do not match the specified values, we consider the sensor to be damaged.
[{"id":"7a0924e596359f55","type":"tab","label":"Flow 1","disabled":false,"info":"","env":[]},{"id":"0d03423efbf42c01","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"10","payloadType":"num","x":240,"y":240,"wires":[["745499cecfc990c6"]]},{"id":"e490a503cb240606","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"45","payloadType":"num","x":240,"y":280,"wires":[["745499cecfc990c6"]]},{"id":"e861de94ec407232","type":"function","z":"7a0924e596359f55","name":"hitemp","func":"var setpoint = msg.payload.triger_heater;\nvar hysteresis = 1;\nvar heater = msg.payload.temp;\n\nif (heater >= (setpoint + 1)) {\n msg.payload = \"off\";\n}\nelse if (heater <= (setpoint - 1)) {\n msg.payload = \"on\";\n}\nelse {\n msg.payload = \"standby\";\n}\nif (heater >= 40) {\n msg.payload = \"malfunction\";\n}\nelse if (heater <= 0) {\n msg.payload = \"malfunction\";\n}\nmsg.topic = \"setheater\";\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":570,"y":220,"wires":[["bbd45494c186fc33"]]},{"id":"bbd45494c186fc33","type":"debug","z":"7a0924e596359f55","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":710,"y":220,"wires":[]},{"id":"69b8065125d3cd3c","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"20","payloadType":"num","x":240,"y":160,"wires":[["745499cecfc990c6"]]},{"id":"745499cecfc990c6","type":"join","z":"7a0924e596359f55","name":"","mode":"custom","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","useparts":false,"accumulate":true,"timeout":"","count":"1","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":430,"y":220,"wires":[["e861de94ec407232","7a43ac85403a4f08"]]},{"id":"563afa0eed47fa38","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":0.1,"topic":"triger_heater","payload":"25","payloadType":"num","x":230,"y":110,"wires":[["745499cecfc990c6"]]},{"id":"7a43ac85403a4f08","type":"debug","z":"7a0924e596359f55","name":"debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":580,"y":180,"wires":[]},{"id":"40add49f827cf26a","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"24.5","payloadType":"num","x":240,"y":200,"wires":[["745499cecfc990c6"]]},{"id":"e33fe96aa98ce240","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"27","payloadType":"num","x":250,"y":320,"wires":[["745499cecfc990c6"]]},{"id":"b1ede71efcede278","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"23","payloadType":"num","x":250,"y":360,"wires":[["745499cecfc990c6"]]},{"id":"57f58b6631cb18c4","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"-10","payloadType":"num","x":250,"y":400,"wires":[["745499cecfc990c6"]]},{"id":"3537986c4fc763aa","type":"inject","z":"7a0924e596359f55","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"temp","payload":"-20","payloadType":"num","x":250,"y":440,"wires":[["745499cecfc990c6"]]}]