giuseppeg88 / node-red-contrib-thermostat-scheduler

The Ultimate Node-RED Thermostat for Home Assistant - A NEST style thermostat with: temperature week scheduler, countdown and manual mode
GNU General Public License v3.0
66 stars 28 forks source link

Support for MQTT climate devices #1

Open scargill opened 3 years ago

scargill commented 3 years ago

Hi

As you've developed a thermostat scheduler which leans heavily on my original coding (my stat is in full time use) - I thought I'd take a look - with a view to using yours if it is better than what I'm using....

I grabbed the needed mytimeout - and pulled in your English flow...

and

Imported unrecognised types:

api-call-service server-state-changed server Imported:

Ideas?

Pete

giuseppeg88 commented 3 years ago

Hi Pete, the flow gets (and puts) the data from home assistant via node-red-contrib-home-assistant-websocket, which includes the nodes you mentioned.

scargill commented 3 years ago

Hi again - does it have to be tied to Home Assistant? I 'm not using Home Assistant - just Node-Red (and Dashboard of course) and MQTT. That would be a shame if it depended on HA. I was quite looking forward to trying it out.

Pete

giuseppeg88 commented 3 years ago

By making some changes (i.e. replacing the source and control nodes with MQTT nodes), it should be possible to use this thermostat even without the Home Assistant: I'll put it on the to-do list.

scargill commented 3 years ago

By making some changes (i.e. replacing the source and control nodes with MQTT nodes), it should be possible to use this thermostat even without the Home Assistant: I'll put it on the to-do list.

Hi Do let me know, once you make it easy I'll load the flow in my setup, can test it on my office air-conditioner in Spain and assuming it works as well as it looks, I'll then write about it on the blog which might give you more interested users. Feel free to contact me directly.

Pete

Moosbueffel commented 3 years ago

Is there any step ahead? I doens't seem so. Really pity!

I can try my best, bu if someone has a better starting point ...?? Or a code description regarding the outputs/inputs of the HA nodes??

beppexx80 commented 2 years ago

By making some changes (i.e. replacing the source and control nodes with MQTT nodes), it should be possible to use this thermostat even without the Home Assistant: I'll put it on the to-do list.

Ciao, hai qualche idea su come utilizzarlo senza HA? Grazie

SummerSeaSun commented 1 year ago

Hi,

I've tried with success to replace HA related with node-red-dashboard ui

[{"id":"c10f47600a462cea","type":"tab","label":"Flow 2","disabled":false,"info":"","env":[]},{"id":"f036317dd7c514f3","type":"ui_switch","z":"c10f47600a462cea","name":"","label":"HVAC ACTION","tooltip":"","group":"4c8392d36beb7e74","order":0,"width":0,"height":0,"passthru":true,"decouple":"false","topic":"hvac_action","topicType":"str","style":"","onvalue":"on","onvalueType":"str","onicon":"","oncolor":"","offvalue":"off","offvalueType":"str","officon":"","offcolor":"","animate":false,"className":"","x":340,"y":360,"wires":[["1d409ff652302291"]]},{"id":"65ba197462d3ab50","type":"ui_numeric","z":"c10f47600a462cea","name":"","label":"ATTUALE (DEBUGONLY)","tooltip":"","group":"4c8392d36beb7e74","order":1,"width":0,"height":0,"wrap":false,"passthru":false,"topic":"target_temperature","topicType":"str","format":"{{value}}","min":"0","max":"40","step":1,"className":"","x":310,"y":320,"wires":[["1d409ff652302291"]]},{"id":"c77d166bcc8770a4","type":"ui_numeric","z":"c10f47600a462cea","name":"","label":"SETPOINT (DEBUGONLY)","tooltip":"","group":"4c8392d36beb7e74","order":1,"width":0,"height":0,"wrap":false,"passthru":true,"topic":"ambient_temperature","topicType":"str","format":"{{value}}","min":"10","max":"25","step":"0.1","className":"","x":300,"y":280,"wires":[["1d409ff652302291"]]},{"id":"b05cb514c2efb270","type":"comment","z":"c10f47600a462cea","name":"set this","info":"","x":130,"y":280,"wires":[]},{"id":"1d409ff652302291","type":"function","z":"c10f47600a462cea","name":"Store climate state","func":"\nflow.set(msg.topic, msg.payload);\nmsg.topic = 'climate';\nmsg.payload = msg.payload;\nreturn msg;\n\n//flow.set(\"ambient_temperature\", msg.data.attributes.current_temperature);\n//flow.set(\"target_temperature\",msg.payload);\n//flow.set(\"climate_state\",msg.payload);\nflow.set(\"off_view\",msg.payload == \"off\" ? true : false);\n//flow.set(\"hvac_action\",msg.data.attributes.hvac_action);\n\nnode.status({fill:\"red\",shape:\"dot\",text:msg.payload}); \n\n\n\nvar expr = (msg.payload).toString();\nconsole.log(You are here: ${expr});\n\n\n\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":550,"y":300,"wires":[["18e377cc21124b6f"]]},{"id":"18e377cc21124b6f","type":"function","z":"c10f47600a462cea","name":"Data","func":"msg.topic = \"update\";\n\nvar msg2 = {};\nmsg2.payload = flow.get(\"thermostat_mode\");\n\nvar data = {\n 'ambient_temperature': flow.get(\"ambient_temperature\") || 20,\n 'target_temperature': flow.get(\"target_temperature\") || 14,\n 'hvac_state': flow.get(\"hvac_action\") || 'off',\n 'has_leaf': flow.get(\"away_mode\") || false,\n 'off_view': flow.get(\"off_view\") || false\n}\nmsg.payload = data;\nnode.status({fill:\"red\",shape:\"dot\",text: \"ambient_temperature: \" + data.ambient_temperature + \" / target_temperature: \" + data.target_temperature + \" / away_mode: \" + data.has_leaf + \" / climate_state: \" + flow.get(\"climate_state\") + \" / hvac_state: \" + data.hvac_state + \" / thermostat_mode: \" + msg2.payload});\n\nvar msg3 = {};\nif (msg2.payload == \"off\")\n{\n msg3.payload = false;\n}\nelse if (msg2.payload == \"countdown\")\n{\n msg3.payload = true;\n}\nelse\n{\n msg3 = null;\n}\n\nreturn [msg,msg2,msg3];","outputs":3,"noerr":0,"initialize":"","finalize":"","x":790,"y":340,"wires":[[],[],[]]},{"id":"4c8392d36beb7e74","type":"ui_group","name":"opzioni","tab":"5d954e3e.9339b","order":5,"disp":true,"width":"6","collapse":true,"className":""},{"id":"5d954e3e.9339b","type":"ui_tab","name":"Cronotermostato","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

image

Don't have understood what should do HVAC action, any advice please?