Files
haos-blueprints/Common/Refrigerator/blueprint.yaml
alexei.dolgolyov 7b00899903 Restructure repository: organize blueprints into folders
Each blueprint now has its own folder containing:
- blueprint.yaml: The automation code with a short header
- README.md: Detailed documentation extracted from headers

Updated CLAUDE.md with repository structure guidelines.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 02:38:52 +03:00

121 lines
3.5 KiB
YAML

# Refrigerator Express Mode Control Blueprint
# Enables express cooling when temperature drifts too far from target.
# See README.md for detailed documentation.
blueprint:
name: "Custom: Refrigerator Express Mode Control"
description: >
Turns on express mode if the refrigerator temperature is too far from target.
Sends a notification when the difference exceeds the allowed threshold.
domain: automation
input:
door_sensor:
name: Door Sensor
description: Binary sensor for refrigerator door
selector:
entity:
domain: binary_sensor
temp_sensor:
name: Temperature Sensor
description: Sensor reporting current refrigerator temperature
selector:
entity:
domain: sensor
climate_entity:
name: Refrigerator Climate Entity
description: Climate entity that provides target temperature
selector:
entity:
domain: climate
device_name:
name: Device Name
description: Name of the device
default: 'Refrigerator'
selector:
text:
express_switch:
name: Express Mode Switch
description: Switch entity to enable express mode
selector:
entity:
domain: switch
max_diff:
name: Max Allowed Temperature Difference
description: Maximum difference between target and actual temperature before express mode is enabled
default: 3
selector:
number:
min: 1
max: 10
step: 0.5
unit_of_measurement: "°C"
notify_target:
name: Notification Target
description: Device or service to send notifications
default: []
selector:
entity:
domain: notify
multiple: true
mode: restart
trigger:
- platform: state
entity_id: !input temp_sensor
- platform: state
entity_id: !input door_sensor
- platform: state
entity_id: !input climate_entity
attribute: temperature
variables:
temp_sensor: !input temp_sensor
climate_entity: !input climate_entity
door_sensor: !input door_sensor
notify_target: !input notify_target
device_name: !input device_name
max_diff: !input max_diff
express_switch: !input express_switch
curr_temp: "{{ states(temp_sensor) | float(0) }}"
target_temp: "{{ state_attr(climate_entity, 'temperature') | float(0) }}"
diff: "{{ (curr_temp - target_temp) | abs }}"
temp_is_not_ok: "{{ diff > max_diff and is_state(door_sensor, 'off') }}"
action:
- choose:
- conditions:
- condition: template
value_template: "{{ temp_is_not_ok and is_state(express_switch, 'off') }}"
sequence:
- service: switch.turn_on
target:
entity_id: !input express_switch
- service: notify.send_message
target:
entity_id: !input notify_target
data:
message: >
{{ device_name }}: обнаружена проблема температурного режима.
Текущая {{ curr_temp }}°C, Целевая {{ target_temp }}°C,
Разница {{ diff }}°C. Включение экпресс режима.
- conditions:
- condition: template
value_template: "{{ not temp_is_not_ok }}"
sequence:
- service: switch.turn_off
target:
entity_id: !input express_switch