Nest Automations

First off anyone looking for a smart thermostat check with your electric and gas company for rebates. My electric company is offering $100 and my gas company offered $50. They can be stacked so $150.00 off. With the upcoming black Friday sales (sorry everyone across a pond) you can get one pretty cheap.

Anyway, on to my question. Can you set ‘Away Mode’ with an automation? Rather than have HA tracking my phone and the Nest app I would like to save my battery and just let HA do it. However, I can’t seem to find the right combination of service call to get it working.

Anyone know if this is possible?

Yes, this is possible, you can toggle away mode as a service as follows:

  action:
    service: climate.set_away_mode
    data:
      entity_id: climate.family_room
      away_mode: false

Hope it helps!

3 Likes

Awesome, thanks.

I know this might be unrelated, but I’m trying to set my fan to blow air from the basement. Would I use the following:

action:
    service: climate.set_fan_mode
    data:
      entity_id: climate.family_room
      set_fan_mode: on

Currently I get no action with the above. It probably just needs a small tweak. I should note, I can control my fan with my Nest app.

try ‘on’ instead of on

@silvrr

just figured that out on Saturday :slight_smile:

automation: 
  alias: Thermostat - Away mode when not home
  trigger:
    platform: state
    entity_id: device_tracker.paul
    state: 'not_home'
  action:
    service: climate.set_away_mode
    entity_id: climate.upstairs
    data:
      away_mode: 'true'  

Only issue I have right now… I can’t seem to set the temperature as it keeps failing :frowning:

1 Like

What did you set as your minimum for away mode. Look in the nest app. Open the app > click on your thermostat > click the gear in the upper right > eco temperatures

(if you have a gen 1 or 2 you might have different options)

Thanks @silvrr … yeah I have tried a bunch of things with no luck so I just posted a new thread - didn’t want to hijack :slight_smile:

pjo

Previously I had an automation that just turned off away mode at 4:00 PM and that set my heat back to 69 and warmed the house back up before my wife got home at 5:00. That stopped working after the nest platform update. So I have been adding more and more options to my automation to get the nest to pre-heat the house at 4:00. I even tried setting a schedule in the app to set the temp but that didn’t work either.

Current setup is:

  - alias: "Set Nest Away Mode at 1600"
    trigger:
      platform: time
      after: '16:00'
    condition:
      condition: time
      weekday:
        - mon
        - tue
        - wed
        - thu
        - fri  
    action:
      - service: climate.set_away_mode
        data:
          entity_id: climate.downstairs
          away_mode: 'false'
      - service: climate.operation_mode
        data:
          entity_id: climate.downstairs
          temperature: 'heat'
      - service: climate.set_temperature
        data:
          entity_id: climate.downstairs
          temperature: '69'   

Which does set the away mode, turn on the heat and set the temp. However after a few minutes it sets it back to eco mode and keeps the house cold.

I tried in the app also today and it reverts back. How can I ‘preheat’ starting at a given time. It seems like the nest wants to wait until we are home to start warming things back up.

Ok, spoke with Nest Support for awhile today.

Seems like the reason that settings aren’t sticking (even their own schedule tool) is possibly due to the nest not interrupting them as manual inputs. Apparently a manual input at the device will override any currently running settings. However entries made from the app or another source (api, website) don’t have the same functionality, or at least they are working to confirm that is the case. Therefore settings put in from the app or api are allowed to be cancelled by the thermostat if it thinks no one is home and return to eco.

They had to get an engineer involved and I ran out of time so they are going to e-mail me when they have a solution.

@technicalpickles This may be why some are reporting the new nest component not working when entering settings. From my experience the settings are transmitted and actually take effect, however, they are quickly reversed based on what the thermostat wants to do. If someone is not watching closely, they may think the settings never took as it happens quite quickly.

does anyone know what the code is to enter the nest into eco mode and heat mode? I see that you can set the attribute for it, but not sure the exact way to write it. That way we could use HASS to put the nest into full eco mode (it shouldn’t come out of that state until told) and then back into heat mode when told again (ignoring away mode). Can we do the same thing with the cameras while we are at it?

Here is the code for heat/eco to be called in a automation/script. If you want to do it mannually it can be done from the front end also.

  • service: climate.set_operation_mode
    data:
    entity_id: climate.downstairs
    operation_mode: ‘heat’

Note my post above. I have a automation that sets eco and away when everyone leaves in the morning. I try to “pre-heat” my house at a given time. However, even by turning off away mode, turning off eco mode and setting the temp my nest was overriding it a few min later and setting it back to eco temps and away. Currently I have the nest set to no sense away/home and am just operating it manually with HA until I get a response from Nest Support.

code worked great - I’ll test to see what mine does now as well. It’s set to go into eco mode when everyone leaves and heat back on when people get home. I turned off all the nest aware stuff, so hopefully it doesn’t mess with the eco setting.

Thanks for the help

I for the life of me just can’t seem to control my nest thermostat. For example, When I try to set the fan mode to on or auto I receive I receive the error: homeassistant.core: Invalid service data for climate.set_fan_mode: expected a dictionary. Got ‘ON’

I’m able to view my Nest Cameras, so my account must be set up correctly. I am also able to control the settings (e.g. fan mode) within the app.

Here’s my code:
trigger:
platform: time
after: “06:15:00”
action:
service: climate.set_fan_mode
data:
entity_id: climate.dining_room_thermostat
fan_mode: ‘on’

I have 2 automations in test and they appear to work very well. 1 that puts the nest into Eco mode when we both go out and 1 that turns on the heating when 1 of us gets home. I am also testing on that will turn on when we are getting close to home, but not quite there yet… i.e. at the football and when we are half way home, it comes on…

- alias: 'Heating Eco when we are out'
  hide_entity: False
  trigger:
    platform: state
    entity_id: group.family
    from: 'home'
    to: 'not_home'
  action:
    service: script.turn_on
    entity_id: script.set_nest_away
#set Nest to away.
set_nest_away:
  sequence:
    - service: nest.set_mode
      data:
        home_mode: away
- alias: 'Heating on when we come home'
  hide_entity: False
  trigger:
    platform: state
    entity_id: group.family
    from: 'not_home'
    to: 'home'
  action:
    service: script.turn_on
    entity_id: script.set_nest_home
#set Nest to Home.
set_nest_home:
  sequence:
    - service: nest.set_mode
      data:
        home_mode: home