Advertisement
Guest User

Home Assistant Energy Costs

a guest
May 13th, 2024
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
YAML 12.98 KB | Source Code | 0 0
  1. - platform: template
  2.   sensors:
  3.     house_energy_cost_daily:
  4.       friendly_name: "House Energy Cost Daily"
  5.       value_template: >-
  6.         {% if
  7.         states("sensor.gas_cost_daily")  in ['unavailable','unknown','none']
  8.         %}
  9.           0
  10.         {% else %}
  11.           {{ (states('sensor.gas_cost_daily')  | float(2)) + states('sensor.electricity_cost_daily') | float(2) | round(2, default = 0) }}
  12.         {% endif %}
  13.       unit_of_measurement: "£"
  14.  
  15.     gas_cost_daily:
  16.       friendly_name: 'Gas Cost Daily'
  17.       value_template: >-
  18.         {% if
  19.         states("sensor.smart_meter_gas_import_unit_rate")  in ['unavailable','unknown','none'] or
  20.         states("sensor.smart_meter_gas_import_standing_charge")  in ['unavailable','unknown','none'] or
  21.         states("sensor.gas_house_daily")  in ['unavailable','unknown','none']
  22.         %}
  23.           0
  24.         {% else %}
  25.           {{ ((states('sensor.gas_house_daily')  | float(2)* states('sensor.smart_meter_gas_import_unit_rate') | float(2)) + states('sensor.smart_meter_gas_import_standing_charge') | float(2)) | round(2) }}
  26.         {% endif %}
  27.       unit_of_measurement: "£"
  28.  
  29.     gas_cost_weekly:
  30.       friendly_name: 'Gas Cost Weekly'
  31.       value_template: >-
  32.         {% if
  33.         states("sensor.smart_meter_gas_import_unit_rate")  in ['unavailable','unknown','none'] or
  34.         states("sensor.smart_meter_gas_import_standing_charge")  in ['unavailable','unknown','none'] or
  35.         states("sensor.gas_house_weekly")  in ['unavailable','unknown','none'] %}
  36.           0
  37.         {% else %}
  38.           {{ ((states('sensor.gas_house_weekly')  | float(2)* states('sensor.smart_meter_gas_import_unit_rate') | float(2)) + ( states('sensor.dayofweek') | int(0) * states('sensor.smart_meter_gas_import_standing_charge') | float(2))) | round(2) }}
  39.         {% endif %}
  40.       unit_of_measurement: "£"
  41.  
  42.     gas_cost_monthly:
  43.       friendly_name: 'Gas Cost Monthly'
  44.       value_template: >-
  45.         {% if
  46.         states("sensor.smart_meter_gas_import_unit_rate")  in ['unavailable','unknown','none'] or
  47.         states("sensor.smart_meter_gas_import_standing_charge")  in ['unavailable','unknown','none'] or
  48.         states("sensor.gas_house_monthly")  in ['unavailable','unknown','none'] %}          0
  49.         {% else %}
  50.           {{ ((states('sensor.gas_house_monthly')  | float(2)* states('sensor.smart_meter_gas_import_unit_rate') | float(2))  + ( states('sensor.dayofmonth') | int(0) * states('sensor.smart_meter_gas_import_standing_charge')  | float(2))) | round(2) }}
  51.         {% endif %}
  52.       unit_of_measurement: "£"
  53.  
  54.     gas_cost_quarterly:
  55.       friendly_name: 'Gas Cost Quarterly'
  56.       value_template: >-
  57.         {% if
  58.         states("sensor.smart_meter_gas_import_unit_rate")  in ['unavailable','unknown','none'] or
  59.         states("sensor.smart_meter_gas_import_standing_charge")  in ['unavailable','unknown','none'] or
  60.         states("sensor.gas_house_quarterly")  in ['unavailable','unknown','none'] %}          0
  61.         {% else %}
  62.           {{ (states('sensor.gas_house_quarterly')  | float(2) * states('sensor.smart_meter_gas_import_unit_rate') | float(2) )   | round(2) }}
  63.         {% endif %}
  64.       unit_of_measurement: "£"
  65.  
  66.     gas_cost_annually:
  67.       friendly_name: 'Gas Cost Annually'
  68.       value_template: >-
  69.         {% if
  70.         states("sensor.smart_meter_gas_import_unit_rate")  in ['unavailable','unknown','none'] or
  71.         states("sensor.smart_meter_gas_import_standing_charge")  in ['unavailable','unknown','none'] or
  72.         states("sensor.gas_house_yearly")  in ['unavailable','unknown','none'] %}
  73.           0
  74.         {% else %}
  75.           {{ ((states('sensor.gas_house_yearly')  | float(2) *
  76.           states('sensor.smart_meter_gas_import_unit_rate') | float(2) )  +
  77.           (states('sensor.dayofyear') | float(2) *
  78.           states('sensor.smart_meter_gas_import_standing_charge') | float(2))) | round(2) }}
  79.           {% endif %}
  80.       unit_of_measurement: "£"
  81.  
  82.  
  83.     electricity_cost_daily:
  84.       friendly_name: 'Electricity Cost Daily'
  85.       value_template: >-
  86.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  87.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  88.         states("sensor.electricity_house_daily")  in ['unavailable','unknown','none']
  89.         %}
  90.           0 | int(0)
  91.         {% else %}
  92.           {{ ((states('sensor.electricity_house_daily')  | float(2) *
  93.           states('sensor.smart_meter_electricity_import_unit_rate') | float(2) ) +
  94.           states('sensor.smart_meter_electricity_import_standing_charge') | float(2) ) | round(2)  }}
  95.         {% endif %}
  96.       unit_of_measurement: "£"
  97.       device_class: monetary
  98.  
  99.     electricity_cost_weekly:
  100.       friendly_name: 'Electricity Cost Weekly'
  101.       value_template: >-
  102.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  103.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  104.         states("sensor.electricity_house_weekly")  in ['unavailable','unknown','none']
  105.         %}
  106.           0
  107.         {% else %}
  108.           {{ ((states('sensor.electricity_house_weekly')  | float(2) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) )  +  (states('sensor.dayofweek') | float(2) * states('sensor.smart_meter_electricity_import_standing_charge') | float(2))) | round(2)  }}
  109.         {% endif %}
  110.       unit_of_measurement: "£"
  111.  
  112.     electricity_cost_monthly:
  113.       friendly_name: 'Electricity Cost Monthly'
  114.       value_template: >-
  115.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  116.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  117.         states("sensor.electricity_house_monthly")  in ['unavailable','unknown','none']
  118.         %}
  119.           0
  120.         {% else %}
  121.           {{ ((states('sensor.electricity_house_monthly')  | float(2) *
  122.           states('sensor.smart_meter_electricity_import_unit_rate') | float(2) ) +
  123.           (states('sensor.dayofmonth') | float(2) *
  124.           states('sensor.smart_meter_electricity_import_standing_charge') | float(2))) | round(2)  }}
  125.         {% endif %}
  126.       unit_of_measurement: "£"
  127.  
  128.     electricity_cost_quarterly:
  129.       friendly_name: 'Electricity Cost Quarterly'
  130.       value_template: >-
  131.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  132.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  133.         states("sensor.electricity_house_quarterly")  in ['unavailable','unknown','none']
  134.         %}
  135.           0
  136.         {% else %}
  137.           {{ (states('sensor.electricity_house_quarterly')  | float(2) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) ) | round(2)  }}
  138.         {% endif %}
  139.       unit_of_measurement: "£"
  140.  
  141.     electricity_cost_annually:
  142.       friendly_name: 'Electricity Cost Annually'
  143.       value_template: >-
  144.         {% if
  145.         states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  146.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  147.         states("sensor.electricity_house_yearly")  in ['unavailable','unknown','none']
  148.         %}
  149.           0
  150.         {% else %}
  151.           {{ ((states('sensor.electricity_house_yearly')  | float(2) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) ) + (states('sensor.dayofyear') | float(2) * states('sensor.smart_meter_electricity_import_standing_charge') | float(2))) | round(2)  }}
  152.         {% endif %}
  153.       unit_of_measurement: "£"
  154.  
  155.     ev_cost_daily:
  156.       friendly_name: 'EV Cost Daily'
  157.       value_template: >-
  158.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  159.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  160.         states("sensor.ev_electricity_daily")  in ['unavailable','unknown','none']
  161.         %}
  162.           0
  163.         {% else %}
  164.           {{ ((  states('sensor.ev_electricity_daily') | float(2) / 1000   ) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) ) | round(2) }}
  165.         {% endif %}
  166.       unit_of_measurement: "£"
  167.  
  168.  
  169.  
  170.     ev_cost_weekly:
  171.       friendly_name: 'EV Cost Weekly'
  172.       value_template: >-
  173.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  174.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  175.         states("sensor.ev_electricity_weekly")  in ['unavailable','unknown','none']
  176.         %}
  177.           0
  178.         {% else %}
  179.           {{ ( (states('sensor.ev_electricity_weekly') | float(2) / 1000)   * states('sensor.smart_meter_electricity_import_unit_rate') |float(2) ) | round(2) }}
  180.         {% endif %}
  181.       unit_of_measurement: "£"
  182.  
  183.     ev_cost_monthly:
  184.       friendly_name: 'EV Cost Monthly'
  185.       value_template: >-
  186.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  187.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  188.         states("sensor.ev_electricity_monthly")  in ['unavailable','unknown','none']
  189.         %}
  190.           0
  191.         {% else %}
  192.           {{ ((states('sensor.ev_electricity_monthly')  | float(2) /1000) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) ) | round(2) }}
  193.         {% endif %}
  194.       unit_of_measurement: "£"
  195.  
  196.     ev_cost_quarterly:
  197.       friendly_name: 'EV Cost Quarterly'
  198.       value_template: >-
  199.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  200.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  201.         states("sensor.ev_electricity_quarterly")  in ['unavailable','unknown','none']
  202.         %}
  203.           0
  204.         {% else %}
  205.           {{ ((states('sensor.ev_electricity_quarterly') | float(2) /1000 ) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) )   | round(2) }}
  206.         {% endif %}
  207.       unit_of_measurement: "£"
  208.  
  209.     ev_cost_annually:
  210.       friendly_name: 'EV Cost Annually'
  211.       value_template: >-
  212.         {% if states("sensor.smart_meter_electricity_import_unit_rate")  in ['unavailable','unknown','none'] or
  213.         states("sensor.smart_meter_electricity_import_standing_charge")  in ['unavailable','unknown','none'] or
  214.         states("sensor.ev_electricity_yearly")  in ['unavailable','unknown','none']
  215.         %}
  216.           0
  217.         {% else %}      
  218.           {{ ((states('sensor.ev_electricity_yearly') | float(2) / 1000) * states('sensor.smart_meter_electricity_import_unit_rate') | float(2) )  | round(2) }}
  219.         {% endif %}
  220.       unit_of_measurement: "£"
  221.  
  222.     ev_electricity_daily_rnd:
  223.       friendly_name: 'Electricity Used EV Daily rnd'
  224.       unit_of_measurement: "kWh"
  225.       value_template: >-
  226.         {% if states("sensor.ev_electricity_daily")  in ['unavailable','unknown','none'] %}
  227.           0
  228.         {% else %}
  229.           {{ states('sensor.ev_electricity_daily') | float(2) / 1000  | round(2) }}
  230.         {% endif %}
  231.  
  232.     ev_electricity_weekly_rnd:
  233.       friendly_name: 'electricity Used EV Weekly rnd'
  234.       unit_of_measurement: "kWh"
  235.       value_template: >-
  236.         {% if states('sensor.ev_electricity_weekly')  in ['unavailable','unknown','none'] %}
  237.           0
  238.         {% else %}
  239.           {{ states('sensor.ev_electricity_weekly') |  float(2) / 1000  | round(2) }}
  240.         {% endif %}
  241.  
  242.     ev_electricity_monthly_rnd:
  243.       friendly_name: 'Electricity Used EV Monthly  rnd'
  244.       unit_of_measurement: "kWh"
  245.       value_template: >-
  246.         {% if states('sensor.ev_electricity_monthly')  in ['unavailable','unknown','none'] %}
  247.           0
  248.         {% else %}
  249.           {{ states('sensor.ev_electricity_monthly') | float(2) / 1000  | round(2) }}
  250.         {% endif %}
  251.  
  252.     ev_electricity_quarterly_rnd:
  253.       friendly_name: 'electricity Used EV Quarterly rnd'
  254.       unit_of_measurement: "kWh"
  255.       value_template: >-
  256.         {% if states('sensor.ev_electricity_quarterly')  in ['unavailable','unknown','none'] %}
  257.           0
  258.         {% else %}
  259.           {{ states('sensor.ev_electricity_quarterly') | float(2) / 1000  | round(2) }}
  260.         {% endif %}
  261.  
  262.     ev_electricity_yearly_rnd:
  263.       friendly_name: 'electricity Used EV Annually rnd'
  264.       unit_of_measurement: "kWh"
  265.       value_template: >-
  266.         {% if states('sensor.ev_electricity_yearly')  in ['unavailable','unknown','none'] %}
  267.           0
  268.         {% else %}
  269.           {{ states('sensor.ev_electricity_yearly') | float(2) / 1000  | round(2) }}
  270.         {% endif %}
  271.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement