Can't find the node in node-red GUI
Closed this issue · 6 comments
Hi,
How to use this node? I don't see it on the node-red GUI.
I get the following error:
30 Jun 09:16:30 - [warn] [comfort] Error: Cannot find module './psychrometrics.js'
Thank you. Works well now.
Mind sharing a sample flow on how to use this node?
Here's one I am using now:
[ { "id": "c055b337.da49a8", "type": "mqtt in", "z": "3056855d.ae605a", "name": "", "topic": "tele/+/SENSOR", "qos": "2", "broker": "c689a17e.a806a8", "x": 136.5, "y": 211, "wires": [ [ "389b6246.b82b0e" ] ] }, { "id": "389b6246.b82b0e", "type": "json", "z": "3056855d.ae605a", "name": "", "x": 316.5, "y": 208, "wires": [ [ "795dab9f.568514" ] ] }, { "id": "795dab9f.568514", "type": "change", "z": "3056855d.ae605a", "name": "Extract Sensor Name", "rules": [ { "t": "change", "p": "topic", "pt": "msg", "from": "tele/(.*)/SENSOR", "fromt": "re", "to": "$1", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 535.5, "y": 206, "wires": [ [ "657ae7e0.db9b8" ] ] }, { "id": "657ae7e0.db9b8", "type": "assert", "z": "3056855d.ae605a", "name": "", "rules": [ { "property": "payload.AM2301.Temperature", "propertyType": "msg", "type": "within", "value": "0.5", "valueType": "num", "value2": "5", "value2Type": "mean", "failMsg": "Invalid temperature" }, { "property": "payload.AM2301.Temperature", "propertyType": "msg", "type": "gt", "value": "-10", "valueType": "num", "failMsg": "Temperature Low" }, { "property": "payload.AM2301.Temperature", "propertyType": "msg", "type": "lt", "value": "50", "valueType": "num", "failMsg": "Temperature High" }, { "property": "payload.AM2301.Humidity", "propertyType": "msg", "type": "within", "value": "5", "valueType": "num", "value2": "", "value2Type": "prev", "failMsg": "Invalid humidity" }, { "property": "payload.AM2301.Humidity", "propertyType": "msg", "type": "lt", "value": "99", "valueType": "num", "failMsg": "Humidity high" }, { "property": "payload.AM2301.Humidity", "propertyType": "msg", "type": "gt", "value": "0", "valueType": "num", "failMsg": "Humidity low" } ], "x": 744.5, "y": 208, "wires": [ [ "c7b192ad.978888" ] ] }, { "id": "c7b192ad.978888", "type": "comfort", "z": "3056855d.ae605a", "name": "", "tempField": "payload.AM2301.Temperature", "tempFieldType": "msg", "humidityField": "payload.AM2301.Humidity", "humidityFieldType": "msg", "airspeedField": "0", "airspeedFieldType": "num", "metabolicRateField": "1", "metabolicRateFieldType": "num", "clothingLevelField": "1", "clothingLevelFieldType": "num", "comfortField": "payload.comfort", "comfortFieldType": "msg", "x": 915.5, "y": 297, "wires": [ [ "f4919ae7.d7eaf8" ] ] }, { "id": "f4919ae7.d7eaf8", "type": "Input Split", "z": "3056855d.ae605a", "name": "", "inputProps": [ "payload.AM2301.Temperature", "payload.AM2301.Humidity", "payload.comfort" ], "outputs": 3, "x": 1191.5, "y": 404, "wires": [ [ "aa5ab909.1611f", "4ba755af.713e34" ], [ "b1a46a73.858db", "3775db3c.49940c" ], [ "eff3b341.007e5", "47f58cff.e1212c" ] ] }, { "id": "4ba755af.713e34", "type": "ui_gauge", "z": "3056855d.ae605a", "name": "Temperature", "group": "cd6a6011.f60598", "order": 1, "width": "6", "height": "6", "gtype": "gage", "title": "Temperature", "label": "C", "format": "{{value}}", "min": 0, "max": "45", "colors": [ "#0a0aff", "#2ca838", "#ef1313" ], "seg1": "", "seg2": "", "x": 1400.625, "y": 267.5, "wires": [] }, { "id": "3775db3c.49940c", "type": "ui_gauge", "z": "3056855d.ae605a", "name": "", "group": "cd6a6011.f60598", "order": 2, "width": "6", "height": "6", "gtype": "gage", "title": "Humidity", "label": "%", "format": "{{value}}", "min": 0, "max": "100", "colors": [ "#f9de09", "#35c651", "#1808ff" ], "seg1": "", "seg2": "", "x": 1450.625, "y": 493.75, "wires": [] }, { "id": "eff3b341.007e5", "type": "ui_gauge", "z": "3056855d.ae605a", "name": "Comfort", "group": "cd6a6011.f60598", "order": 3, "width": "6", "height": "6", "gtype": "gage", "title": "Comfort", "label": "PMV", "format": "{{value | number:1}}", "min": "-3", "max": "3", "colors": [ "#0706f3", "#00e60c", "#ca3838" ], "seg1": "", "seg2": "", "x": 1435.5, "y": 647, "wires": [] }, { "id": "c689a17e.a806a8", "type": "mqtt-broker", "z": "", "broker": "localhost", "port": "1883", "clientid": "", "usetls": false, "verifyservercert": true, "compatmode": true, "keepalive": "15", "cleansession": true, "willTopic": "", "willQos": "0", "willRetain": null, "willPayload": "", "birthTopic": "", "birthQos": "0", "birthRetain": null, "birthPayload": "" }, { "id": "cd6a6011.f60598", "type": "ui_group", "z": "", "name": "Indoor", "tab": "29fdbef5.1baf5a", "disp": true, "width": "18" }, { "id": "29fdbef5.1baf5a", "type": "ui_tab", "z": "", "name": "Weather", "icon": "dashboard", "order": 7 } ]
I have a Sonoff Temperature and Humidity switch running the Tasmota firmware. It reports current temperature and humidity, which is run through the comfort node, and all three values displayed on gauges.
Awesome! Thanks a lot. I will give it a try with my SonOff when I've some spare time. Great work on this node.