Honeywell Zwave Thermostat

I have three of these thermostats
TH8320ZW
All connected fine and working.

Not sure if there is a way to define a mode/setting and then adjust them?
Otherwise the programing seems tedious.

Summer - Day
Summer - Night
Summer - Away

Same for winter

Any suggestions on where to start?

With a quick google search while that model thermostat does contain an internal programmable scheduled, i don’t think it can be changed over z-wave, and can only change those directly on the thermostat. Now thats not to say you can’t make your own schedules in homeassistant and create an automation to change the mode, temperature, and fan of the thermostat based on them.

If your looking to do the latter, I would use the schedule helper to make the time periods for day night and away. Also would setup input number helpers for heating and cooing targets to go with each schedule, then construct the automation to use all of those entities to automate the thermostat to carry out the intended functions. These helpers all can be added to the dashboard for easy future changing of the schedules and temperatures

I use the low tech approach and have an automation is HA the sets the target temperature.

Here’s a a sample. This writes the target into and input number and I have a separate automation that transfers it to the thermostat. I have input booleans to define what mode (spring, winter) it’s in.

Not elegant but it works and I haven’t tweaked it in a while.

#### WINTER

- id: Living Room Morning Heatup
  alias: Living Room Morning Heatup
  description: ""
  trigger:
    - platform: sun
      event: sunrise
      offset: "-00:30:00"
  condition: '{{ is_state("input_boolean.hvac_winter_heating_mode","on") and states("sensor.sagehouse_outdoor_temperature")|int(33) > 17}}'
  action:
    - service: input_number.set_value
      target:
        entity_id: input_number.living_room_schedule_temperature
      data:
        value: 66

- id: Living Room Morning Heatup Full Winter
  alias: Living Room Morning Heatup Full Winter
  description: ""
  trigger:
    - platform: sun
      event: sunrise
      offset: "-00:30:00"
  condition: '{{ is_state("input_boolean.hvac_winter_heating_mode","on") and states("sensor.sagehouse_outdoor_temperature")|int(33) <= 17}}'
  action:
    - service: input_number.set_value
      target:
        entity_id: input_number.living_room_schedule_temperature
      data:
        value: >
          {%- if states("sensor.living_room_thermostat_temperature")|int + 2 < 70 and  
              states("sensor.living_room_thermostat_temperature")|int > 62 %}
          {{ states("sensor.living_room_thermostat_temperature")|int + 2 }}
          {%- else %}
          {{ 67 }}
          {%- endif %}

- id: Living Room End Morning Heatup
  alias: Living Room Morning Heatup
  description: ""
  trigger:
    - platform: time
      at: "09:00:00"
  condition: '{{ is_state("input_boolean.hvac_winter_heating_mode","on")}}'
  action:
    - service: input_number.set_value
      target:
        entity_id: input_number.living_room_schedule_temperature
      data:
        value: 64

- id: Living Room Night Cooldown
  alias: Living Room Night Cooldown
  description: ""
  trigger:
    - platform: time
      at: "20:00:00"
  condition: '{{ is_state("input_boolean.hvac_winter_heating_mode","on")}}'
  action:
    - service: input_number.set_value
      target:
        entity_id: input_number.living_room_schedule_temperature
      data:
        value: 60

### SPRING

- id: Living Room Spring Morning Heatup
  alias: Living Room Spring Morning Heatup
  description: ""
  trigger:
    - platform: time
      at: "06:30:00"
  condition: '{{ is_state("input_boolean.hvac_spring_heating_mode","on")}}'
  action:
    - service: input_number.set_value
      target:
        entity_id: input_number.living_room_schedule_temperature
      data:
        value: 63