AutomationDataset/Techposts/Techposts_automations.yaml

151 lines
5.8 KiB
YAML

- alias: Enhanced High Power Usage Monitoring
description: Smart power monitoring that provides graduated alerts based on power
usage levels and duration
triggers:
- entity_id: sensor.gf_power_meter_gf_measured_power
id: warning_level
above: 3.1
for:
seconds: 30
trigger: numeric_state
- entity_id: sensor.gf_power_meter_gf_measured_power
id: critical_level
above: 3.8
for:
seconds: 15
trigger: numeric_state
- entity_id: sensor.gf_power_meter_gf_measured_power
id: extended_warning
above: 3.1
for:
minutes: 5
trigger: numeric_state
conditions:
- condition: time
after: 07:00:00
before: '22:00:00'
- condition: template
value_template: "{% set last_alert = states('input_datetime.last_power_alert')\
\ %} {% if last_alert != 'unavailable' and last_alert != 'unknown' %}\n {%\
\ set time_diff = (as_timestamp(now()) - as_timestamp(last_alert)) / 60 %}\n\
\ {{ time_diff > 10 }}\n{% else %}\n true\n{% endif %}"
- condition: template
value_template: '{{ power_level > 0 }}'
actions:
- choose:
- conditions:
- condition: trigger
id: critical_level
sequence:
- data:
title: ⚠️ CRITICAL POWER OVERLOAD
message: 'Critical overload detected! Please reduce load to avoid risk.
Current usage: {{ power_level }} kW.'
action: persistent_notification.create
- data:
title: ⚠️ CRITICAL POWER OVERLOAD
message: 'Urgent! Current usage: {{ power_level }} kW. Please turn off {{
appliance_guess }} immediately to prevent damage.'
data:
push:
sound:
name: default
critical: 1
volume: 1
interruption-level: critical
action: notify.mobile_app_ravis_iphone
- data:
target:
- media_player.name
- media_player.name
- media_player.name
message: Alert! Critical power overload at {{ power_level }} kilowatts!
Please turn off {{ appliance_guess }} immediately. मीटर गंभीर ओवरलोड
- तुरंत {{ appliance_guess }} बंद करें!
data:
type: tts
method: all
action: notify.alexa_media
- conditions:
- condition: trigger
id: extended_warning
sequence:
- data:
title: ⚠️ EXTENDED HIGH POWER USAGE
message: Your power usage has remained high for 5 minutes at {{ power_level
}} kW. Consider turning off unnecessary appliances.
action: persistent_notification.create
- data:
title: ⚠️ Extended High Power Usage
message: Continuous high power usage detected for over 5 minutes. Consider
turning off {{ appliance_guess }}.
data:
push:
sound:
name: default
interruption-level: time-sensitive
action: notify.mobile_app_ravis_iphone
- data:
target:
- media_player.name
- media_player.name
- media_player.name
message: Warning! High power usage sustained for over 5 minutes at {{ power_level
}} kilowatts. Please turn off unnecessary devices. बिजली की खपत कम करने
के लिए, कृपया कुछ उपकरण बंद करें।
data:
type: tts
method: all
action: notify.alexa_media
- conditions:
- condition: trigger
id: warning_level
sequence:
- data:
title: ⚠️ HIGH POWER USAGE
message: 'Warning: Power usage at {{ power_level }} kW. Consider reducing
the load.'
action: persistent_notification.create
- data:
title: High Power Usage
message: 'Current power usage: {{ power_level }} kW. Reduce unnecessary
load.'
data:
push:
sound:
name: default
interruption-level: passive
action: notify.mobile_app_ravis_iphone
- data:
target:
- media_player.name
- media_player.name
- media_player.name
message: 'मीटर ओवरलोड - कृपया लोड कम करने के लिए उपकरण बंद कर दें। Meter
Overload - Please switch off {{ appliance_guess }} to reduce the load.
Current power: {{ power_level }} kilowatts.'
data:
type: tts
method: all
action: notify.alexa_media
- data:
entity_id: input_datetime.last_power_alert
datetime: '{{ now().strftime(''%Y-%m-%d %H:%M:%S'') }}'
action: input_datetime.set_datetime
- data:
entity_id: input_number.last_power_level
value: '{{ power_level }}'
action: input_number.set_value
variables:
power_level: '{% set power1 = states(''sensor.gf_power_meter_gf_measured_power'')
| float(0) %} {% set power2 = states(''sensor.measured_power'') | float(0) %}
{% if power1 > power2 %}{{ power1 }}{% else %}{{ power2 }}{% endif %}'
appliance_guess: "{% set power = power_level | float %} {% if power > 4.5 %}\n\
\ multiple heavy appliances\n{% elif power > 3.8 %}\n an air conditioner or\
\ water heater\n{% elif power > 3.1 %}\n a heavy appliance like a microwave,\
\ iron, or water pump\n{% else %}\n some appliances\n{% endif %}"
message_severity: "{% if trigger.id == 'critical_level' %}\n CRITICAL POWER OVERLOAD\n\
{% elif trigger.id == 'extended_warning' %}\n Extended High Power Usage\n{%\
\ else %}\n High Power Usage\n{% endif %}"
mode: single