Issue with Node-Red service call climate.set_fan_mode

Not sure what’s going on here, seems like a very strange issue. My node-red automation service call setting my Nest thermostat fan mode to ‘on’ works just fine, but setting it back to ‘auto’ doesn’t. The service is being called, but it’s not actually doing anything. I can call the service manually from HA without issue, and I’m using the same JSON. Pics to show the settings of the two call service nodes, with how they are arranged (service ‘on’ on the left, back to ‘auto’ on the right).

fan%20on

I think I know what the issue is, and how I’d solve it, but would be good to know if my solution is just a hack solution, or if I’m missing something.

What I think is going on (checked with a debug) is that the first service call data is being passed through the delay node and into the second service call. The second service call node isn’t using it’s own data, it’s calling the fan ‘on’ again.

I’d solve this by inserting a change node or something and clearing that ‘on’ payload. But I don’t know if there’s just an easy thing I’m forgetting to click without the service call node itself.

if you’re running a version of node-red-contrib-home-assistant-websocket >= 0.50.0 you should have the option to set the output to Nothing or to any property you would like.

set it to None, but it doesn’t seem to have done anything. The service was still carried through the delay node and sent as “on” again instead of “auto”.

I wasn’t very clear I meant set output location to none of the first service call.

that’s what I assumed, and what I tried that doesn’t seem to have worked.

You could check by dropping a debug node after the first call-service node and see what the msg.payload is.

That option was made speicific for this use case so it should be working.

You can just replace delay node with trigger node.

actually it is working, I guess I didn’t have the latest version or hadn’t deployed my changes or something.