Automating the ole HVAC - eco mode issues

Well I think I’ve come a long way with this process. But, I’m stuck with a couple of issues I’m not sure how to get past.

  1. I’m trying to figure out a way for the action to run when the thermostat goes from eco to none on the preset. I’m not finding an automation trigger for that.

I tried this and it didn’t do the trick so I assume it doesn’t exist?

  - platform: device
    device_id: 9c2059a1a21eb91033f498f8fcb0baab
    domain: climate
    entity_id: d99887dac1440f472ba4ccdddb91f776
    type: preset_mode_changed
    to: none
  1. The script below not following the condition to ensure that the thermostat is NOT in eco mode. So, it overrides eco mode when it executes. Not sure where I’m off here?
alias: HVAC temps Spring and Fall 0800 - 1945 to 75 and 70
trigger:
  - platform: time
    at: "08:00:51"
  - platform: device
    device_id: 9c2059a1a21eb91033f498f8fcb0baab
    domain: climate
    entity_id: d99887dac1440f472ba4ccdddb91f776
    type: hvac_mode_changed
    to: heat_cool
condition:
  - condition: time
    before: "19:45:00"
    after: "08:00:00"
  - condition: device
    device_id: 9c2059a1a21eb91033f498f8fcb0baab
    domain: climate
    entity_id: d99887dac1440f472ba4ccdddb91f776
    type: is_preset_mode
    preset_mode: none
  - condition: or
    conditions:
      - condition: template
        value_template: "{{ (4, 10) <= (now().month, now().day) <= (6, 9) }}"
      - condition: template
        value_template: "{{ (9, 16) <= (now().month, now().day) <= (11, 15) }}"
  - condition: or
    conditions:
      - condition: zone
        entity_id: device_tracker.pixel_7_pro_3
        zone: zone.local_area
      - condition: zone
        entity_id: device_tracker.pixel_7_pro_3
        zone: zone.home
      - condition: zone
        entity_id: device_tracker.g_pixel_7_pro
        zone: zone.local_area
      - condition: zone
        entity_id: device_tracker.g_pixel_7_pro
        zone: zone.home
action:
  - service: climate.set_hvac_mode
    data:
      hvac_mode: heat_cool
    target:
      area_id: entryway
  - service: climate.set_temperature
    data:
      hvac_mode: heat_cool
      target_temp_low: 70
      target_temp_high: 75
    target:
      area_id: entryway

Again with the weird hexadecimal entity IDs. These keep popping up ion various posts.

Find out what your climate entity is called (climate.something) and use a state trigger, something like:

trigger:
  - platform: state
    entity_id: climate.the_ole_hvac   <-- replace this!
    attribute: preset_mode
    to: 'none'

Yeah that came from the UI automation tool. Just kept it as I went to YAML.

I’ll try that for issue #1.

Any thoughts on #2 where the condition to confirm preset isn’t working? Or is the theory here that the UI use of hex IDs causing it to fail to respect that condition?

That’s my guess. Again, state condition with correct entity:

- condition: state
  entity_id: climate.the_ole_hvac
  attribute: preset_mode
  state: 'none'

Sadly, I it doesn’t fix the issue. I get “This node was not executed and so no further trace information is available.” in traces.

I tried with those changes -and- a potential conditions: issue I noticed, none worked.

Currently, this is the conditions section:

  condition:
    condition: and
    conditions:
    - condition: time
      before: '19:45'
      after: '08:00:00'
    - condition: state
      entity_id: climate.entryway
      attribute: preset_mode
      state: 'none'
    - condition: or
      conditions:
      - condition: template
        value_template: "{{ (4, 10) <= (now().month, now().day) <= (6, 9) }}"
      - condition: template
        value_template: "{{ (9, 16) <= (now().month, now().day) <= (11, 15) }}"      
    - condition: or
      conditions:
      - condition: zone
        entity_id: device_tracker.pixel_7_pro_3
        zone: zone.local_area
      - condition: zone
        entity_id: device_tracker.pixel_7_pro_3
        zone: zone.home
      - condition: zone
        entity_id: device_tracker.g_pixel_7_pro
        zone: zone.local_area
      - condition: zone
        entity_id: device_tracker.g_pixel_7_pro
        zone: zone.home

Well none of this makes damn sense. The automation isn’t running now, it will detect a FALSE, and not continue. Great. But, each time I run the automation it somehow triggers Nest to changes from ECO to normal mode. It’s almost like just checking the condition makes Nest change.

I’m at a loss.

Start by looking at the state of your climate.entryway in Developer Tools / States; and see if you can successfully change the preset_mode with Developer Tools / services.

Once you’ve got that working, build it into a much simpler automation without the date and presence detection bits.

Well I got super annoyed, pulled the power on the AC unit so the Nest would die off for a bit, rebooted the whole network and HomeAssistant host. It “seems” to be working now! I’m at a complete loss as to WTF but yeah.

Thanks so much for putting up with me @Troon throughout this annoyance.

Now to dream up more things to do with this automation to piss my wife off more. :smiley: