DeanCording/node-red-contrib-comfort

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.

screenshot_20170630_185143

Awesome! Thanks a lot. I will give it a try with my SonOff when I've some spare time. Great work on this node.