Advertisement
Guest User

Untitled

a guest
Feb 13th, 2022
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.77 KB | None | 0 0
  1. blueprint:
  2. name: Target temperature adjustment depending on second temperature sensor (Fahrenheit)
  3. description: >
  4. Sets target temperature depending on second temperature sensor.
  5. This blueprint is inspired by this blueprint https://community.home-assistant.io/t/tado-set-offset-using-separate-temperature-sensor/288515
  6. created by Sanderma. Since not all thermostat devices have an configurable
  7. offset, this blueprint sets the target temperature of the thermostat device
  8. depending on a given target temperature and a second temperature sensor.
  9. domain: automation
  10. input:
  11. temperature_sensor:
  12. name: Temperature sensor
  13. description: This sensor will be used as the source.
  14. selector:
  15. entity:
  16. domain: sensor
  17. device_class: temperature
  18. thermostat:
  19. name: Thermostat
  20. description: The thermostat to set target temperature
  21. selector:
  22. entity:
  23. domain: climate
  24. target_temperature:
  25. name: Target temperature
  26. description: Target temperature of the thermostat
  27. selector:
  28. entity:
  29. domain: input_number
  30.  
  31. variables:
  32. thermostat: !input thermostat
  33. temperature_sensor: !input temperature_sensor
  34. target_temperature: !input target_temperature
  35. actual_temperature: "{{ states(temperature_sensor) | float }}"
  36. calculated_adjustment: "{{ states(target_temperature) | float - actual_temperature }}"
  37. calculated_target_temperature: "{{ ( ( ( states(target_temperature) | float + calculated_adjustment ) * 2 ) | round ) / 2 }}"
  38.  
  39. trigger:
  40. - platform: state
  41. entity_id: !input thermostat
  42. attribute: "{{ current_temperature_attribute }}"
  43. - platform: state
  44. entity_id: !input temperature_sensor
  45. - platform: state
  46. entity_id: !input target_temperature
  47.  
  48. condition: "{{ calculated_adjustment != 0 }}"
  49.  
  50. action:
  51. - service: system_log.write
  52. data:
  53. message: >
  54. {{ thermostat }} has temp difference of {{ calculated_adjustment }}. Setting target temperature to {{ calculated_target_temperature }}
  55. level: info
  56. logger: blueprints.nevesenin.target_temperature_adjustment_fahrenheit
  57. - service: system_log.write
  58. data:
  59. message: >
  60. thermostat: {{ thermostat }},
  61. temperature_sensor: {{ temperature_sensor }},
  62. target_temperature: {{ states(target_temperature) | float | round(1)}},
  63. actual_temperature: {{ actual_temperature }},
  64. calculated_adjustment: {{ calculated_adjustment }},
  65. calculated_target_temperature: {{ calculated_target_temperature }}
  66. level: debug
  67. logger: blueprints.nevesenin.target_temperature_adjustment_fahrenheit
  68. - service: climate.set_temperature
  69. data:
  70. temperature: "{{ calculated_target_temperature }}"
  71. entity_id: "{{ thermostat }}"
  72. mode: single
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement