Heating Set Points

That would be the heater entity in the generic thermostat

The heater entity would need to be the relay attached to my boiler. The TRVs sit next to the radiators.

Perhaps the state change of HVAC_Mode should trigger the relay?

Yes… you didn’t read it all did you?

But how does this generic thermostat send a target temperature to the TRV? This is what I don’t understand. If the heater entity is a switch, this would just shut the boiler on/off when required.

The TRV has its own controls, therefore the generic thermostat would need to be updated in the UI by a user and also by the actual buttons on the TRV.

You said:

I believe you need to put all cards on the table now…

OK,

I have a TRV which has its own user interface for setting its status, target temperature and current temperature. Its a z-wave device, and it reads into HA - what it doesnt do is have a “HVAC_Action”. This is what I said in my original post.

What would normally happen is that the HVAC_Action is updated by the TRV, and this can be used to trigger the boiler relay. As this is missing from the TRV, I need to automate the process myself, hence why I have tried to use Automations.

Do I said earlier and you ignored?

Sorry i missed your comment.

How does the automation copy the setpoint and copy it back again? Any help would be appreciated.

Thanks.

It only needs to copy it one way

Could you give me an example automation?

Thanks.

alias: New Automation
description: ''
mode: single
trigger:
  - platform: state
    entity_id: climate.bathroom_trv
    attribute: target_temp
condition: []
action:
  - service: climate.set_temperature
    data: {{ state_attr('climate.bathroom_trv', 'target_temp') }}
    entity_id: climate.bathroom

If anyone can check this as templating isn’t my strong point, and I can’t test this from where I am

Hi,

Does this compare the 2 separate values?

Climate.Living_Room has 2 entities as follows:

entity_id:temperature (which is a set point / target)

entity_id:current_temperature (which is the actual room temp taken from a local sensor inside of the TRV)

I want the condition to check to see if:

Current_Temperature => Temperature then heating relay switch off

Current_Temperature < Temperature then heating relay switch on

Thanks,

Russell.

It doesn’t need to. The generic thermostat will be doing that.
This isn’t as hard as you’re making it

Can you send a screenshot of the developer console with the climate.living_room entity so and mark it in that what all you want to compare… It will help me pick the correct template as I see one more state attribute target_temperature

Also i think you should check @samnewman86 has advised. It could also work out better than this.

I have an actual thermostat that shows up as a climate entity already from the z-wave gateway, with all of the features I need except the ability to turn on/off the boiler (which is usually done by means of the HVAC_Action entity which is missing on this z wave TRV).

I don’t how creating a generic thermostat makes sense when I have one already from the Z-Wave hub.

The only thing I need to replicate is the switching on/off of the boiler.

If I create a generic thermostat, how will it send status updates to the actual TRV? I thought the generic thermostat was for when you had a separate temperature node and a separate switch?

Thanks.

Here you go.

hvac_modes:
  - heat
  - 'off'
min_temp: 7
max_temp: 35
preset_modes:
  - none
  - eco
current_temperature: 19.8
temperature: 17
preset_mode: none
friendly_name: Living Room
supported_features: 16

So these are the entities from the climate entity for my Z Wave TRV - as you can see, the usual “HVAC_action” is missing. This “action” is what i want to monitor to switch the boiler on or off, so for example usually the action would say “heat” and this would fire the boiler. As its missing, the only way I can think of switching the boiler is by monitoring the current temperature (measured by the TRV) and the Temperature (setpoint, stored on the TRV).

It is a known issue that the HVAC_Action doesn’t show on all TRVs.

Trust this makes sense.

Thanks.

This script compare the current_temperature and temperature.

alias: Heating Controls
description: ''
mode: single
trigger:
  - platform: time_pattern
    seconds: /10
condition: []
action:
  - choose:
      - conditions:
          - condition: template
            value_template: >-
              {{state_attr('climate.living_room', 'current_temperature') | int <
              state_attr('climate.living_room', 'temperature') | int}}
        sequence:
          - service: (put the actions you want with current_temperature is less than set_temperature)
            data: {}
      - conditions:
          - condition: template
            value_template: >-
              {{state_attr('climate.living_room', 'current_temperature') | int >
              state_attr('climate.living_room', 'temperature') | int}}
        sequence:
          - service: (put the actions you want with current_temperature is more than set_temperature)
            data: {}
    default: []

Will try when I get home! Thanks. Really appreciated!

Just gonna throw this out there.
I’m presuming you have.more than one trv.
What happens if one wants heat and one doesn’t. Will the relay beon or off? Your going to need a Boolean for each zone, then a sensor checking those. Then a automation turning the boiler on if any zone calls for heat.

Yeah there are multiples, there will be a second automation that checks the status of each zone so will overcome this. If any zone asks for heat, the boiler will be on.