Compare commits

...
3 Commits
2 changed files with 85 additions and 72 deletions
+71
View File
@@ -205,3 +205,74 @@
y: 45
graph_id: 816af3b7-3eac-47c3-8da3-8797d1774c0c
graph_version: 1
- id: '1780813227139'
alias: 'Alert: Fridge or Freezer Power Outage'
description: Triggers an alert if the fridge or freezer smart plug power consumption
drops to 0W for too long.
triggers:
- trigger: numeric_state
entity_id:
- sensor.freezer_power
for:
hours: 0
minutes: 45
seconds: 0
below: 1
id: freezer_down
- trigger: numeric_state
entity_id:
- sensor.fridge_power
for:
hours: 0
minutes: 20
seconds: 0
below: 1
id: fridge_down
conditions: []
actions:
- if:
- condition: trigger
id: freezer_down
then:
- data:
title: "\U0001F6A8 URGENT: Freezer Power Failure"
message: The Freezer smart plug has drawn 0W of power for over 20 minutes!
Check the physical appliance immediately.
action: notify.notify
else:
- if:
- condition: trigger
id: fridge_down
then:
- data:
title: "\U0001F6A8 URGENT: Fridge Power Failure"
message: The Fridge smart plug has drawn 0W of power for over 20 minutes!
Check the physical appliance immediately.
action: notify.notify
else: []
mode: single
variables:
_cafe_metadata:
version: 1
strategy: native
nodes:
trigger_1780846348490_0_0:
x: 12
y: 182
trigger_1780846348490_1_1:
x: 12
y: 22
condition_1780846348491_2_2:
x: 312
y: 92
action_1780846348491_3_3:
x: 632
y: 12
condition_1780846348491_4_4:
x: 632
y: 172
action_1780846348491_5_5:
x: 952
y: 102
graph_id: 5948b900-b45d-4c2e-ae73-c880acc3a1bf
graph_version: 1
+14 -72
View File
@@ -50,6 +50,7 @@ template:
{{ medium_rate }}
{% endif %}
# ADJUSTED SENSOR: Scaled down from 2.8 to 2.5 to fix Energy Dashboard overlap
- name: "HVAC Real-Time Power Draw"
unique_id: hvac_real_time_power_draw
unit_of_measurement: "kW"
@@ -59,17 +60,18 @@ template:
{% if is_state_attr('climate.living_room', 'hvac_action', 'idle') or is_state('climate.living_room', 'off') %}
0
{% elif is_state_attr('climate.living_room', 'hvac_action', 'cooling') %}
2.8
2.2
{% elif is_state_attr('climate.living_room', 'hvac_action', 'heating') %}
{% if is_state_attr('climate.living_room', 'is_aux_heat', true) %}
20.5
{% else %}
2.8
2.5
{% endif %}
{% else %}
0
{% endif %}
# ADJUSTED SENSOR: Scaled down from 1.50 to 1.35 to fix Energy Dashboard overlap
- name: "Pool Pump Estimated Power Draw"
unique_id: pool_pump_estimated_power_draw
unit_of_measurement: "kW"
@@ -77,7 +79,7 @@ template:
state_class: measurement
state: >
{% if is_state('input_boolean.pool_pump_in_use', 'on') %}
1.50
1.35
{% else %}
0
{% endif %}
@@ -102,74 +104,6 @@ template:
{% set raw_watts = states('sensor.water_heater_power') | float(0) %}
{{ (raw_watts / 1000) | round(2) }}
- name: "Pool Pump Live Running Cost"
unique_id: pool_pump_live_running_cost
unit_of_measurement: "CAD/hr"
icon: mdi:cash-clock
state: >
{{ (states('sensor.pool_pump_estimated_power_draw') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
- name: "Pool Pump Total Cost Today"
unique_id: pool_pump_total_cost_today
unit_of_measurement: "CAD"
device_class: monetary
state_class: total_increasing
icon: mdi:cash-marker
state: >
{{ (states('sensor.pool_pump_total_energy') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
- name: "HVAC Live Running Cost"
unique_id: hvac_live_running_cost
unit_of_measurement: "CAD/hr"
icon: mdi:cash-clock
state: >
{{ (states('sensor.hvac_real_time_power_draw') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
- name: "HVAC Total Cost Today"
unique_id: hvac_total_cost_today
unit_of_measurement: "CAD"
device_class: monetary
state_class: total_increasing
icon: mdi:cash-marker
state: >
{{ (states('sensor.hvac_total_energy') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
# Basement live running hourly cost
- name: "Basement Live Running Cost"
unique_id: basement_live_running_cost
unit_of_measurement: "CAD/hr"
icon: mdi:cash-clock
state: >
{{ (states('sensor.basement_heater_power_draw') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
# FIXED BASEMENT TOTAL: Uses Riemann Integral with a mathematically isolated daily tracking loop
- name: "Basement Total Cost Today"
unique_id: basement_total_cost_today
unit_of_measurement: "CAD"
device_class: monetary
state_class: total_increasing
icon: mdi:cash-marker
state: >
{{ (states('sensor.basement_total_energy') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
# Water Heater live running hourly cost
- name: "Water Heater Live Running Cost"
unique_id: water_heater_live_running_cost
unit_of_measurement: "CAD/hr"
icon: mdi:cash-clock
state: >
{{ (states('sensor.water_heater_power_draw') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
# FIXED WATER HEATER TOTAL: Points to the energy helper sensor to match Daily tracking parameters
- name: "Water Heater Total Cost Today"
unique_id: water_heater_total_cost_today
unit_of_measurement: "CAD"
device_class: monetary
state_class: total_increasing
icon: mdi:cash-marker
state: >
{{ (states('sensor.water_heater_total_energy') | float(0) * states('sensor.hydro_quebec_active_rate') | float(0)) | round(2) }}
# HTTP Proxy Configuration
http:
use_x_forwarded_for: true
@@ -179,7 +113,7 @@ http:
- 192.168.1.125
- 192.168.1.135
# Torque OBD2 Configuration
# Legacy and Integration Sensor Section
sensor:
- platform: torque
email: torque-car@asuscomm.com
@@ -201,6 +135,14 @@ sensor:
start: "{{ now().replace(hour=0, minute=0, second=0, microsecond=0) }}"
end: "{{ now() }}"
# RE-ADDED INTEGRATION ENGINE: Converts your pool pump kW into valid long-term energy stats
- platform: integration
source: sensor.pool_pump_estimated_power_draw
name: Pool Pump Total Energy
unique_id: pool_pump_total_energy_riemann_sum
method: left
round: 2
emulated_hue:
host_ip: 192.168.1.140
advertise_ip: 192.168.1.140