How to configure Ecobee in Node-Red?

I setup and integrated my ecobee thermostats per this guide: https://home-assistant.io/components/ecobee/

I can see all of the services available when looking /dev-service page in hass.io. But, for some reason, I can only trigger climate.ecobee_resume_program right now. Trying anything else results in the following error:

ERROR (MainThread) [homeassistant.core] Invalid service data for climate.set_away_mode: required key not provided @ data['away_mode']. Got None

I don’t understand what this means. I did enter the PIN. I do have the ecobee.conf file, so I don’t know what it’s squawking about.

But that’s something else to look at later.

I’m really trying to figure out how to set these modes using Node-Red. I don’t see a way to choose the service `climate.set_away_mode’ in any of the service options, when I choose domains - none say ecobee.

How do you configure this in Node-Red?

The set_away_mode service requires a parameter of “away_mode” (either ‘on’ or ‘off’).

If that doesn’t make sense, please paste your automation/script/data sent in service call and I’ll show you what needs to change.

I’m not using any automation scripts. What I want to do is create a flow in Node-Red that I can trigger via Alexa, like several other flows I have setup.

It’s a Good Night kind of flow, where when triggered, it will turn on some lights and turn off others and set all thermostats to resume schedules.

I know how to get Alexa to work with Node-Red and getting all the lighting sequence is easy. I just don’t know how to control the ecobee in Node-Red.

Right. So, can you paste the data you’re sending in the service call? I don’t use the Node-Red HASS nodes, but, I’m well aware of how the API Service Calls work, so I should be able to provide assistance. Just paste me the JSON you’re sending to HASS.

Oh - ok… I don’t have much. Like I said, I don’t know how which domain to select to get the right service to call the ecobee settings and modify them.

The full data line is below.

{"entity_id":"climate.master_bedroom", "resume_all": true}

calling services in node-red is the same as calling them in HA. If you want to use the ecobee services, then homeassistant.turn_on is not the right domain or service.

In the example you posted above you want.

Domain: climate
Service: ecobee_resume_program

and your data should be fine.

The easiest way to browse available services is through the homeassistant front end.

EDIT: oh, and if node-red doesn’t list a domain and service, just type it out anways and it’ll still work. It just means the auto-complete didn’t update for some reason.

1 Like

It worked!

This is what had me confused! I saw no option in the auto-complete for climate, so I thought it wasn’t an option. Hah!

Where?
I thought the entities is the page I was supposed to be looking at?

This single post helped solve a lot in general for me - so thank you!

Bottom left of HA is the “Developer Tools” and the bottom left icon is “Services”.

The auto-complete actually works there which makes it easy to find services, and you can test them out there. It is that or using the home-assistant.io website and browsing the components, but I don’t find that as convenient if I generally know what I’m looking for.

1 Like

Got it! So I was close, I was triggering the service from there, but I thought it wasn’t available, since it wasn’t auto-completing in Node-Red… My famous line, “can you tell I’m new?” :slight_smile:

Ok - so now I understand how to read this much better.

In short, anything preceding the first dot (.) (ex: climate.ecobee_resume_program) in that services page is the
Domain that you use in Node-Red.

The info after it (ex: climate.ecobee_resume_program) would be Service.

From there, you choose the entity, make sure your data calls are correct, as in the correct entity ID is entered and the supported value and options are set (ex: {“entity_id”:“climate.master_bedroom”, “resume_all”: true})

Am I tracking correctly?

yes, you are correct.

1 Like

Excellent! Thank you! This was very helpful.

Learning more and more with each effort and with the help of great folks like you willing to help!

Thanks!

1 Like

I’m using a different thermostat (Nest) and I am new to node red myself and I’m completely lost as to how and where to begin. I understood most of what was said above but I’m not sure how to make a flow for what I’m trying to achieve. I am trying to setup a flow that does this If any of the doors or windows are open for more than 5 minutes then turn off the HVAC. If the HVAC is off and a door or window closes and all doors and windows are closed then resume HVAC.

reading through this feed
i have domain set to climate
but the sercie
ecobee.resume_program
i gett an api error unknow service

any help would be great