diff --git a/dashboards/views/06_varme.yaml b/dashboards/views/06_varme.yaml index 914db90..e69de29 100644 --- a/dashboards/views/06_varme.yaml +++ b/dashboards/views/06_varme.yaml @@ -1,414 +0,0 @@ -title: Varme -path: varme -icon: mdi:radiator -type: sections - -max_columns: 2 - -sections: - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Andreas - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.sovevaerelse_stue_temperatur - name: Netatmo - - entity: sensor.hue_motion_sensor_2_temperature_2 - name: Hue - - entity: climate.andreas - attribute: current_temperature - name: Roth aktuelt - - entity: climate.andreas - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Daniel - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.sovevaerelse_daniel_temperatur - name: Netatmo - - entity: sensor.hue_motion_sensor_2_temperature - name: Hue - - entity: climate.daniel - attribute: current_temperature - name: Roth aktuelt - - entity: climate.daniel - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Sovevaerelse - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.sovevaerelse_temperatur - name: Netatmo - - entity: sensor.hue_motion_sensor_1_temperature_2 - name: Hue sovevaerelse - - entity: sensor.hue_motion_sensor_1_temperature - name: Skab Claus - - entity: sensor.temperature - name: Skab Anne - - entity: climate.sovev_prelse - attribute: current_temperature - name: Roth aktuelt - - entity: climate.sovev_prelse - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Kontor - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.kontor_motion_temperatur - name: Hue - - entity: climate.kontor - attribute: current_temperature - name: Roth aktuelt - - entity: climate.kontor - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Gang - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.gang_sensor_temperature - name: Hue - - entity: climate.fordelingsgang - attribute: current_temperature - name: Roth aktuelt - - entity: climate.fordelingsgang - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Badeværelse - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.bad_motion_sensor_temperature - name: Hue - - entity: climate.badevarelse - attribute: current_temperature - name: Ally aktuelt - - entity: climate.badevarelse - attribute: temperature - name: Ally mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Stue - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.stue_motion_temperatur - name: Hue - - entity: climate.stue - attribute: current_temperature - name: Ally aktuelt - - entity: climate.stue - attribute: temperature - name: Ally mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Forgang - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: sensor.forgang_sensor_temperature - name: Hue - - entity: climate.forgang - attribute: current_temperature - name: Roth aktuelt - - entity: climate.forgang - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - - type: grid - cards: - - type: custom:apexcharts-card - graph_span: 24h - header: - show: true - title: Lille bad - show_states: true - colorize_states: true - now: - show: true - label: Nu - apex_config: - chart: - height: 240 - grid: - strokeDashArray: 2 - xaxis: - type: datetime - labels: - datetimeFormatter: - hour: HH:mm - yaxis: - decimalsInFloat: 1 - tickAmount: 6 - series: - - entity: climate.lille_bad - attribute: current_temperature - name: Roth aktuelt - - entity: climate.lille_bad - attribute: temperature - name: Roth mål - stroke_width: 1 - curve: stepline - color: "#ff8800" - - # Indstillinger: Komforttemperaturer og sænkninger - - type: grid - cards: - - type: entities - title: Komforttemperaturer - entities: - - entity: input_number.varme_komfort_andreas - - entity: input_number.varme_komfort_daniel - - entity: input_number.varme_komfort_sovevaerelse - - entity: input_number.varme_komfort_kontor - - entity: input_number.varme_komfort_gang - - entity: input_number.varme_komfort_forgang - - entity: input_number.varme_komfort_lille_bad - - entity: input_number.varme_komfort_badevarelse - - entity: input_number.varme_komfort_stue - - - type: entities - title: Sænkninger og ferie - entities: - - entity: input_number.varme_nat_saenkning - - entity: input_number.varme_vaek_saenkning - - entity: input_number.varme_ferie_temp - - entity: input_datetime.vacation_end - name: Hjemkomst (ferie slutter) - - # Ventilposition - - type: grid - cards: - - type: gauge - entity: sensor.fjernvarme_ventil_anbefalet - name: Anbefalet ventilposition (1–5) - min: 1 - max: 5 - needle: true - segments: - - from: 1 - color: "#44aa44" # grøn: lukket/sommer - - from: 2 - color: "#aaaa00" # gul: mildt - - from: 3 - color: "#dd8800" # orange: køligt - - from: 4 - color: "#cc4400" # rød-orange: koldt - - from: 4.5 - color: "#aa0000" # rød: frost - - - type: markdown - content: |- - **{{ state_attr('sensor.fjernvarme_ventil_anbefalet', 'anbefaling') }}** - - Udetemperatur: {{ state_attr('sensor.fjernvarme_ventil_anbefalet', 'udetemperatur') }}°C - - Gælder for begge manuelle hoveddrejehaner: - - Roth-fordeler (sauna) - - Fjernvarme indstikning (bryggers) \ No newline at end of file diff --git a/include/automations/varme_styring.yaml b/include/automations/varme_styring.yaml index b55c0ff..a0a78ce 100644 --- a/include/automations/varme_styring.yaml +++ b/include/automations/varme_styring.yaml @@ -1,8 +1,8 @@ ################################################## # Varme: Triggers der kalder script.varme_recalculate # Scenarierne der kræver genberegning: -# - Morgen (06:30) - nat slut → komforttemp -# - Aften (22:00) - nat start → natsænkning +# - Morgen (input_datetime.varme_morgen_tid) - nat slut → komforttemp +# - Aften (input_datetime.varme_aften_tid) - nat start → natsænkning # - Tilstedeværelse - hjemme/væk skifter # - Ferietilstand - ferie til/fra # - HA genstart - genopret korrekt temp @@ -10,19 +10,19 @@ - alias: "Varme - Genberegn: Morgen" id: varme_recalc_morgen - description: "Slutter natsænkning kl. 06:00 - sætter komforttemperaturer" + description: "Slutter natsænkning - tidspunkt styret af input_datetime.varme_morgen_tid" trigger: - platform: time - at: "06:00:00" + at: input_datetime.varme_morgen_tid action: - service: script.varme_recalculate - alias: "Varme - Genberegn: Nat" id: varme_recalc_nat - description: "Starter natsænkning kl. 22:00" + description: "Starter natsænkning - tidspunkt styret af input_datetime.varme_aften_tid" trigger: - platform: time - at: "22:00:00" + at: input_datetime.varme_aften_tid action: - service: script.varme_recalculate @@ -61,10 +61,10 @@ id: varme_ferie_forvarm description: > Slår vacation_mode fra 2 dage inden vacation_end så huset er - varmt ved hjemkomst. Kører dagligt kl. 06:00. + varmt ved hjemkomst. Kører dagligt ved morgen-tidspunktet. trigger: - platform: time - at: "06:00:00" + at: input_datetime.varme_morgen_tid condition: - condition: state entity_id: input_boolean.vacation_mode diff --git a/include/input/datetime/varme.yaml b/include/input/datetime/varme.yaml new file mode 100644 index 0000000..cfb3b81 --- /dev/null +++ b/include/input/datetime/varme.yaml @@ -0,0 +1,11 @@ +varme_morgen_tid: + name: Varme - Morgen (nat slut) + has_date: false + has_time: true + icon: mdi:weather-sunny + +varme_aften_tid: + name: Varme - Aften (nat start) + has_date: false + has_time: true + icon: mdi:weather-night diff --git a/include/scripts/varme_styring.yaml b/include/scripts/varme_styring.yaml index 41eca35..06e334a 100644 --- a/include/scripts/varme_styring.yaml +++ b/include/scripts/varme_styring.yaml @@ -8,7 +8,7 @@ # Logik pr. rum: # - Vindue åbent → skip (håndteres af vinduer.yaml) # - Ferie → varme_ferie_temp (frostbeskyttelse) -# - Nat (22–06:30) → komfort - varme_nat_saenkning +# - Nat (aften_tid–morgen_tid) → komfort - varme_nat_saenkning # - Ingen hjemme → komfort - varme_vaek_saenkning # - Ellers → rum-komforttemperatur ################################################## @@ -19,7 +19,11 @@ varme_recalculate: sequence: - variables: vacation: "{{ is_state('input_boolean.vacation_mode', 'on') }}" - night: "{{ now().hour >= 22 or now().hour < 7 }}" + night: > + {% set m = states('input_datetime.varme_morgen_tid') %} + {% set a = states('input_datetime.varme_aften_tid') %} + {% set t = now().strftime('%H:%M:%S') %} + {{ t >= a or t < m }} home: "{{ is_state('binary_sensor.family_presence', 'on') }}" nat_sænk: "{{ states('input_number.varme_nat_saenkning') | float(3) }}" vaek_sænk: "{{ states('input_number.varme_vaek_saenkning') | float(3) }}"