packages
This commit is contained in:
parent
4525023fdf
commit
77cd7582c4
121
packages/air_conditioning.yaml
Normal file
121
packages/air_conditioning.yaml
Normal file
@ -0,0 +1,121 @@
|
||||
# Klimatizace
|
||||
homeassistant:
|
||||
customize_domain:
|
||||
climate:
|
||||
# hvac_modes: auto, cool, dry, fan_only, heat, off
|
||||
hvac_modes:
|
||||
- heat
|
||||
- cool
|
||||
- dry
|
||||
- fan_only
|
||||
- "off"
|
||||
|
||||
input_select:
|
||||
air_conditioner:
|
||||
name: Klimatizace
|
||||
options:
|
||||
- livingroom
|
||||
- bathroom
|
||||
- bedroom
|
||||
- childrensroom
|
||||
- guestroom
|
||||
initial: livingroom
|
||||
icon: mdi:air-conditioner
|
||||
|
||||
template:
|
||||
- sensor:
|
||||
# Klimatizace - aktuální teplota
|
||||
- unique_id: ac_livingroom_current_temperature
|
||||
name: "AC Livingroom Current temperature"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer
|
||||
state: >
|
||||
{{ state_attr('climate.ac_livingroom', 'current_temperature') }}
|
||||
- unique_id: ac_bathroom_current_temperature
|
||||
name: "AC Bathroom Current temperature"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer
|
||||
state: >
|
||||
{{ state_attr('climate.ac_bathroom', 'current_temperature') }}
|
||||
- unique_id: ac_bedroom_current_temperature
|
||||
name: "AC Bedroom Current temperature"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer
|
||||
state: >
|
||||
{{ state_attr('climate.ac_bedroom', 'current_temperature') }}
|
||||
- unique_id: ac_childrensroom_current_temperature
|
||||
name: "AC Childrensroom Current temperature"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer
|
||||
state: >
|
||||
{{ state_attr('climate.ac_childrensroom', 'current_temperature') }}
|
||||
- unique_id: ac_guestroom_current_temperature
|
||||
name: "AC Guestroom Current temperature"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer
|
||||
state: >
|
||||
{{ state_attr('climate.ac_guestroom', 'current_temperature') }}
|
||||
|
||||
# Klimatizace - režimm automatizace
|
||||
- unique_id: ac_mode
|
||||
name: "AC Mode"
|
||||
icon: mdi:hvac
|
||||
state: >
|
||||
{% if ((11,1) <= (now().month, now().day)) or ((now().month, now().day) <= (3,31)) %}
|
||||
heat
|
||||
{% elif (7,1) <= (now().month, now().day) <= (8,31) %}
|
||||
cold
|
||||
{% else %}
|
||||
none
|
||||
{% endif %}
|
||||
|
||||
# Korekce teploty: Teplota, kterou měří jednotka - skutečná v místnosti
|
||||
- unique_id: livingroom_temperature_correction
|
||||
name: "Livingroom Temperateure Correction"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer-check
|
||||
state: >
|
||||
{{ (states('sensor.ac_livingroom_current_temperature')|float - states('sensor.livingroom_thermometer_hygrometer_temperature')|float) | round(0) }}
|
||||
- unique_id: bathroom_temperature_correction
|
||||
name: "Bathroom Temperateure Correction"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer-check
|
||||
state: >
|
||||
{{ (states('sensor.ac_bathroom_current_temperature')|float - states('sensor.bathroom_thermometer_hygrometer_temperature')|float) | round(0) }}
|
||||
- unique_id: bedroom_temperature_correction
|
||||
name: "Bedroom Temperateure Correction"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer-check
|
||||
state: >
|
||||
{{ (states('sensor.ac_bedroom_current_temperature')|float - states('sensor.bedroom_thermometer_hygrometer_temperature')|float) | round(0) }}
|
||||
- unique_id: childrensroom_temperature_correction
|
||||
name: "Childrensroom Temperateure Correction"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer-check
|
||||
state: >
|
||||
{{ (states('sensor.ac_childrensroom_current_temperature')|float - states('sensor.childrensroom_thermometer_hygrometer_temperature')|float) | round(0) }}
|
||||
- unique_id: guestroom_temperature_correction
|
||||
name: "Guestroom Temperateure Correction"
|
||||
unit_of_measurement: "°C"
|
||||
icon: mdi:thermometer-check
|
||||
state: >
|
||||
{{ (states('sensor.ac_guestroom_current_temperature')|float - states('sensor.guestroom_thermometer_hygrometer_temperature')|float) | round(0) }}
|
||||
|
||||
climate:
|
||||
- platform: generic_thermostat
|
||||
name: Heating mirror
|
||||
heater: switch.upper_bathroom_heating_mirror
|
||||
target_sensor: sensor.upper_bathroom_thermometer_hygrometer_temperature
|
||||
min_temp: 16
|
||||
max_temp: 24
|
||||
ac_mode: false
|
||||
target_temp: 22
|
||||
cold_tolerance: 0.3
|
||||
hot_tolerance: 0
|
||||
min_cycle_duration:
|
||||
seconds: 5
|
||||
keep_alive:
|
||||
minutes: 3
|
||||
initial_hvac_mode: "off"
|
||||
away_temp: 16
|
||||
precision: 1
|
||||
167
packages/electricity.yaml
Normal file
167
packages/electricity.yaml
Normal file
@ -0,0 +1,167 @@
|
||||
input_number:
|
||||
# výkupní cena
|
||||
electricity_sell_price:
|
||||
name: "Electricity Sell Price"
|
||||
icon: mdi:cash-plus
|
||||
step: 0.1
|
||||
min: 0
|
||||
max: 10
|
||||
unit_of_measurement: CZK/kWh
|
||||
# Nákupní cena - nízký tarif + distribuce + Systémové služby + Daň z elektřiny
|
||||
electricity_buy_price_nt:
|
||||
name: "Electricity Buy Price NT"
|
||||
icon: mdi:cash-minus
|
||||
#initial: 2855.23
|
||||
min: 0
|
||||
max: 10000
|
||||
step: 0.01
|
||||
mode: box
|
||||
unit_of_measurement: CZK/MWh
|
||||
# Nákupní cena - vysoký tarif + distribuce + Systémové služby + Daň z elektřiny
|
||||
electricity_buy_price_vt:
|
||||
name: "Electricity Buy Price VT"
|
||||
icon: mdi:cash-minus
|
||||
#initial: 3370.67
|
||||
min: 0
|
||||
max: 10000
|
||||
step: 0.01
|
||||
mode: box
|
||||
unit_of_measurement: CZK/MWh
|
||||
# Stálý měsíční plat - poplpatek + provoz nesíťové infrastruktury + jistič 3x25 A
|
||||
electricity_fix_month:
|
||||
name: "Electricity Price Monthly Fee"
|
||||
icon: mdi:cash-sync
|
||||
#initial: 578.84
|
||||
min: 0
|
||||
max: 1000
|
||||
step: 0.01
|
||||
mode: box
|
||||
unit_of_measurement: CZK/Month
|
||||
|
||||
template:
|
||||
- binary_sensor:
|
||||
# Spínání HDO - nízký tarif
|
||||
- name: "Electricity HDO NT"
|
||||
unique_id: electricity_hdo_nt
|
||||
icon: mdi:transmission-tower
|
||||
state: >-
|
||||
{% set vt_hours = [10, 12, 14, 17] %}
|
||||
{% set now = now() %}
|
||||
{% if now.hour not in vt_hours %}
|
||||
{{ true }} {# Nízký tarif #}
|
||||
{% else %}
|
||||
{{ false }} {# Vysoký tarif #}
|
||||
{% endif %}
|
||||
|
||||
- sensor:
|
||||
# Stav HDO - VT/NT
|
||||
- name: "Electricity HDO"
|
||||
unique_id: electricity_hdo
|
||||
icon: mdi:transmission-tower
|
||||
state: >
|
||||
{% if is_state("binary_sensor.electricity_hdo_nt", "on") %}
|
||||
{{ "NT" }} {# Nízký tarif #}
|
||||
{% else %}
|
||||
{{ "VT" }} {# Vysoký tarif #}
|
||||
{% endif %}
|
||||
|
||||
# Aktuální nákupní cena elektřiny - VT/NT
|
||||
- name: "Electricity Buy Price"
|
||||
unique_id: electricity_buy_price
|
||||
unit_of_measurement: "CZK/kWh"
|
||||
state_class: measurement
|
||||
icon: mdi:cash-minus
|
||||
state: >
|
||||
{% set price_vt = states('input_number.electricity_buy_price_vt')|float / 1000 %}
|
||||
{% set price_nt = states('input_number.electricity_buy_price_nt')|float / 1000 %}
|
||||
{% set vat = 21 %}
|
||||
|
||||
{% if is_state("binary_sensor.electricity_hdo_nt", "on") %}
|
||||
{{ (price_nt|float * (1 + vat / 100)) | round(2) }} {# Nízký tarif #}
|
||||
{% else %}
|
||||
{{ (price_vt|float * (1 + vat / 100)) | round(2) }} {# Vysoký tarif #}
|
||||
{% endif %}
|
||||
|
||||
# Stálý měsíční plat
|
||||
- name: "Electricity Standing Charge"
|
||||
unique_id: electricity_standing_charge
|
||||
state: "0"
|
||||
unit_of_measurement: kWh
|
||||
device_class: energy
|
||||
state_class: total_increasing
|
||||
|
||||
# Shelly3EM
|
||||
- name: "Shelly3EM Energy Total"
|
||||
unique_id: shelly3em_energy_total
|
||||
icon: mdi:lightning-bolt
|
||||
availability: >-
|
||||
{{ states('sensor.shelly3em_phase_a_energy') not in ['0', 'unknown', 'unavailable', 'none'] and
|
||||
states('sensor.shelly3em_phase_b_energy') not in ['0', 'unknown', 'unavailable', 'none'] and
|
||||
states('sensor.shelly3em_phase_c_energy') not in ['0', 'unknown', 'unavailable', 'none'] }}
|
||||
state: >-
|
||||
{{ (states('sensor.shelly3em_phase_a_energy')|float +
|
||||
states('sensor.shelly3em_phase_b_energy')|float +
|
||||
states('sensor.shelly3em_phase_c_energy')|float) | round(2) }}
|
||||
unit_of_measurement: kWh
|
||||
device_class: energy
|
||||
state_class: total_increasing
|
||||
- name: "Shelly3EM Power Total"
|
||||
unique_id: shelly3em_power_total
|
||||
icon: mdi:flash
|
||||
state: >-
|
||||
{{ (states('sensor.shelly3em_phase_a_power')|float +
|
||||
states('sensor.shelly3em_phase_b_power')|float +
|
||||
states('sensor.shelly3em_phase_c_power')|float) | round(2) }}
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
state_class: measurement
|
||||
|
||||
# TUV
|
||||
- name: "TUV Energy Total"
|
||||
unique_id: tuv_energy_total
|
||||
icon: mdi:lightning-bolt
|
||||
availability: >-
|
||||
{{ states('sensor.bathroom_boiler_plug_energy') not in ['0', 'unknown', 'unavailable', 'none'] and
|
||||
states('sensor.fvetuv_feedback_energy') not in ['0', 'unknown', 'unavailable', 'none'] }}
|
||||
state: >-
|
||||
{{ (states('sensor.bathroom_boiler_plug_energy')|float +
|
||||
states('sensor.fvetuv_feedback_energy')|float) | round(2) }}
|
||||
unit_of_measurement: kWh
|
||||
device_class: energy
|
||||
state_class: total_increasing
|
||||
- name: "TUV Power Total"
|
||||
unique_id: tuv_power_total
|
||||
icon: mdi:flash
|
||||
state: >-
|
||||
{{ (states('sensor.bathroom_boiler_plug_power')|float +
|
||||
states('sensor.fvetuv_feedback_power')|float) | round(2) }}
|
||||
unit_of_measurement: W
|
||||
device_class: power
|
||||
state_class: measurement
|
||||
- name: "TUV Heater"
|
||||
unique_id: tuv_heater
|
||||
icon: mdi:water-boiler-auto
|
||||
state: >-
|
||||
{% set tuv2kw = states('sensor.bathroom_boiler_plug_power') %}
|
||||
{% set tuv4kw = states('sensor.fvetuv_feedback_power') %}
|
||||
{% if is_number(tuv2kw) and tuv2kw|float > 0 %}
|
||||
{{ "1f.2kW" }} {# distribuce #}
|
||||
{% elif is_number(tuv4kw) and tuv4kw|float > 0 %}
|
||||
{{ "3f.4kW" }} {# přetok fve #}
|
||||
{% else %}
|
||||
{{ "-" }}
|
||||
{% endif %}
|
||||
|
||||
- trigger:
|
||||
- trigger: time_pattern
|
||||
hours: "/1"
|
||||
sensor:
|
||||
- name: Electricity Fixed Hourly Charge
|
||||
unique_id: electricity_fixed_hourly_charge
|
||||
icon: mdi:cash-minus
|
||||
state: >-
|
||||
{% set hours = ((as_timestamp(now()) - as_timestamp(as_datetime('2025-06-01'))) / 3600) %}
|
||||
{% set vat = 21 %}
|
||||
{{ ((hours + 1) * (states("input_number.electricity_fix_month") |float * 12 / 365 / 24) * (1 + vat / 100)) | round(2) }}
|
||||
unit_of_measurement: "CZK"
|
||||
state_class: total_increasing
|
||||
Loading…
Reference in New Issue
Block a user