Dashboard views reorganized, mealie/roborock automations, indkorsel snapshots, wavin/sonoff docs, varme/sikkerhed updates
This commit is contained in:
@@ -1,3 +1,27 @@
|
||||
- id: badevaerelse_startup_sluk
|
||||
alias: Badeværelse lys sluk ved HA opstart
|
||||
description: >
|
||||
Slukker badeværelsets lys ved genstart hvis bevægelsessensoren er inaktiv.
|
||||
Sikrer mod lys der sidder tændt efter strømudfald eller HA-genstart.
|
||||
mode: single
|
||||
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
|
||||
action:
|
||||
- delay:
|
||||
seconds: 30
|
||||
- condition: state
|
||||
entity_id: binary_sensor.badevaerelse_bevaegelse
|
||||
state: "off"
|
||||
- service: light.turn_off
|
||||
target:
|
||||
area_id: badevaerelse
|
||||
- service: input_boolean.turn_off
|
||||
target:
|
||||
entity_id: input_boolean.badevaerelse_manuel_tilstand
|
||||
|
||||
- id: badevaerelse_motion_lys
|
||||
alias: Badeværelse lys via bevægelse
|
||||
mode: restart
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
{% set t = now().strftime('%H%M') | int %}
|
||||
{% if 600 <= t < 1600 %}morgen
|
||||
{% elif 1600 <= t < 1900 %}eftermiddag
|
||||
{% elif 1900 <= t %}aften
|
||||
{% elif 1900 <= t < 2100 %}aften_lys
|
||||
{% elif 2100 <= t %}aften
|
||||
{% else %}nat{% endif %}
|
||||
timeout_min: >
|
||||
{% set t = now().strftime('%H%M') | int %}
|
||||
@@ -32,7 +33,9 @@
|
||||
{{ states('input_number.stue_timeout_morgen') | int }}
|
||||
{% elif 1600 <= t < 1900 %}
|
||||
{{ states('input_number.stue_timeout_eftermiddag') | int }}
|
||||
{% elif 1900 <= t %}
|
||||
{% elif 1900 <= t < 2100 %}
|
||||
{{ states('input_number.stue_timeout_aften') | int }}
|
||||
{% elif 2100 <= t %}
|
||||
{{ states('input_number.stue_timeout_aften') | int }}
|
||||
{% else %}
|
||||
{{ states('input_number.stue_timeout_nat') | int }}
|
||||
@@ -50,6 +53,15 @@
|
||||
{{ states('sensor.stue_belysningsstyrke') | int < lux_limit }}
|
||||
sequence:
|
||||
- choose:
|
||||
# Gæster: altid Annes favorit uanset tidspunkt
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: input_boolean.gaester
|
||||
state: "on"
|
||||
sequence:
|
||||
- service: scene.turn_on
|
||||
target:
|
||||
entity_id: scene.stue_annes_favorit
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ dagperiode == 'morgen' }}"
|
||||
@@ -64,6 +76,13 @@
|
||||
- service: scene.turn_on
|
||||
target:
|
||||
entity_id: scene.stue_annes_favorit
|
||||
- conditions:
|
||||
- condition: template
|
||||
value_template: "{{ dagperiode == 'aften_lys' }}"
|
||||
sequence:
|
||||
- service: scene.turn_on
|
||||
target:
|
||||
entity_id: scene.stue_annes_favorit
|
||||
default:
|
||||
- service: scene.turn_on
|
||||
target:
|
||||
@@ -76,7 +95,7 @@
|
||||
id: motion_off
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{ dagperiode != 'aften' or
|
||||
{{ dagperiode not in ('aften','aften_lys') or
|
||||
is_state('media_player.samsung_s95ca_55_3', 'off') }}
|
||||
sequence:
|
||||
- delay:
|
||||
@@ -86,7 +105,7 @@
|
||||
state: "off"
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{ dagperiode != 'aften' or
|
||||
{{ dagperiode not in ('aften','aften_lys') or
|
||||
is_state('media_player.samsung_s95ca_55_3', 'off') }}
|
||||
- service: light.turn_off
|
||||
target:
|
||||
@@ -97,7 +116,7 @@
|
||||
- condition: trigger
|
||||
id: tv_off
|
||||
- condition: template
|
||||
value_template: "{{ dagperiode == 'aften' }}"
|
||||
value_template: "{{ dagperiode in ('aften','aften_lys') }}"
|
||||
sequence:
|
||||
- delay:
|
||||
minutes: "{{ timeout_min }}"
|
||||
|
||||
@@ -1,13 +1,3 @@
|
||||
- id: mealie_update_mealplan
|
||||
alias: "Mealie opdater madplan"
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
- platform: time_pattern
|
||||
minutes: "/30"
|
||||
action:
|
||||
- service: shell_command.mealie_update
|
||||
|
||||
- id: mealie_generate_bilka_checklist_wednesday
|
||||
alias: "Mealie indkøbsliste - onsdag morgen"
|
||||
trigger:
|
||||
@@ -19,3 +9,14 @@
|
||||
- wed
|
||||
action:
|
||||
- service: script.mealie_shopping_refresh
|
||||
|
||||
- id: mealie_update_mealplan
|
||||
alias: "Mealie opdater madplan"
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
- platform: time_pattern
|
||||
minutes: "/30"
|
||||
action:
|
||||
- service: shell_command.mealie_update
|
||||
|
||||
|
||||
@@ -88,13 +88,13 @@
|
||||
target:
|
||||
entity_id: button.roborock_s8_pro_ultra_kokken_bryggers
|
||||
|
||||
- delay: "00:00:20"
|
||||
- wait_template: "{{ is_state('vacuum.roborock_s8_pro_ultra', 'cleaning') }}"
|
||||
timeout: "00:02:00"
|
||||
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: vacuum.roborock_s8_pro_ultra
|
||||
state: "cleaning"
|
||||
- condition: template
|
||||
value_template: "{{ wait.completed }}"
|
||||
sequence:
|
||||
- service: input_number.increment
|
||||
target:
|
||||
@@ -109,17 +109,14 @@
|
||||
}} min.
|
||||
|
||||
- conditions:
|
||||
- condition: not
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: vacuum.roborock_s8_pro_ultra
|
||||
state: "cleaning"
|
||||
- condition: template
|
||||
value_template: "{{ not wait.completed }}"
|
||||
sequence:
|
||||
- service: notify.mobile_app_claus_iphone_15pro
|
||||
data:
|
||||
title: "⚠️ Roborock start fejlede"
|
||||
message: >
|
||||
Startkommando sendt, men den begyndte ikke at køre.
|
||||
Startkommando sendt, men den begyndte ikke at køre inden for 2 min.
|
||||
State: {{ states('vacuum.roborock_s8_pro_ultra') }}.
|
||||
Status: {{ state_attr('vacuum.roborock_s8_pro_ultra', 'status') | default('ukendt', true) }}.
|
||||
Error: {{ state_attr('vacuum.roborock_s8_pro_ultra', 'error') | default('ingen', true) }}.
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
- alias: 'Snapshot ved person i indkorsel'
|
||||
description: >
|
||||
Gemmer et tidsstemplet snapshot + opdaterer latest.jpg + regenererer HTML-galleri,
|
||||
hver gang binary_sensor.indkoersel_person skifter til 'on'.
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: binary_sensor.indkoersel_person
|
||||
to: 'on'
|
||||
condition: []
|
||||
action:
|
||||
- variables:
|
||||
ts: "{{ now().strftime('%Y-%m-%d_%H-%M-%S') }}"
|
||||
# Gem tidsstemplet kopi
|
||||
- action: camera.snapshot
|
||||
data:
|
||||
entity_id: camera.indkoersel_sub
|
||||
filename: "/config/www/snapshots/indkorsel/{{ ts }}.jpg"
|
||||
# Overskriv latest.jpg (bruges af local_file-kamera i dashboardet)
|
||||
- action: camera.snapshot
|
||||
data:
|
||||
entity_id: camera.indkoersel_sub
|
||||
filename: "/config/www/snapshots/indkorsel/latest.jpg"
|
||||
# Regenerer HTML-galleriet
|
||||
- action: shell_command.indkorsel_generate_gallery
|
||||
mode: queued
|
||||
max: 5
|
||||
@@ -9,7 +9,7 @@
|
||||
id: varme_vindue_trigger
|
||||
description: "Kalder varme_recalculate når et vindue eller terrassedøren skifter tilstand"
|
||||
mode: queued
|
||||
max: 3
|
||||
max: 10
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
gaester:
|
||||
name: "Gæster hjemme"
|
||||
icon: mdi:account-group
|
||||
@@ -4,7 +4,7 @@ shelly_bagdor_event_cnt:
|
||||
max: 99999
|
||||
step: 1
|
||||
mode: box
|
||||
initial: -1
|
||||
initial: 67
|
||||
|
||||
shelly_fordor_event_cnt:
|
||||
name: Shelly fordoer event count
|
||||
|
||||
@@ -23,7 +23,7 @@ varme_komfort_sovevaerelse:
|
||||
max: 28
|
||||
step: 0.5
|
||||
unit_of_measurement: "°C"
|
||||
initial: 18
|
||||
initial: 20
|
||||
icon: mdi:thermometer
|
||||
|
||||
varme_komfort_kontor:
|
||||
@@ -32,7 +32,7 @@ varme_komfort_kontor:
|
||||
max: 28
|
||||
step: 0.5
|
||||
unit_of_measurement: "°C"
|
||||
initial: 19
|
||||
initial: 20
|
||||
icon: mdi:thermometer
|
||||
|
||||
varme_komfort_gang:
|
||||
@@ -41,7 +41,7 @@ varme_komfort_gang:
|
||||
max: 28
|
||||
step: 0.5
|
||||
unit_of_measurement: "°C"
|
||||
initial: 19
|
||||
initial: 20
|
||||
icon: mdi:thermometer
|
||||
|
||||
varme_komfort_forgang:
|
||||
@@ -68,7 +68,7 @@ varme_komfort_badevarelse:
|
||||
max: 28
|
||||
step: 0.5
|
||||
unit_of_measurement: "°C"
|
||||
initial: 20
|
||||
initial: 24.5
|
||||
icon: mdi:thermometer
|
||||
|
||||
varme_komfort_stue:
|
||||
|
||||
@@ -4,5 +4,5 @@ mealie_shopping_refresh:
|
||||
- service: shell_command.mealie_shopping_merge
|
||||
- service: notify.mobile_app_claus_iphone_15pro
|
||||
data:
|
||||
title: "Bilka ToGo liste opdateret"
|
||||
message: "Mealie-indkøb (fredag til torsdag) er flettet med Keep-basislisten."
|
||||
title: "Indkøbsliste opdateret i Mealie"
|
||||
message: "Indkøbslisten 'Bilka ToGo' er opdateret med opskrifter fra fredag til torsdag."
|
||||
|
||||
@@ -15,6 +15,10 @@ overvaagning:
|
||||
device_id: cf4f218aae515c84aea9f37f190dcfd5
|
||||
enabled: true
|
||||
action: camera.snapshot
|
||||
- action: homeassistant.update_entity
|
||||
data:
|
||||
entity_id: camera.indkorsel_snapshot
|
||||
enabled: true
|
||||
- delay:
|
||||
hours: 0
|
||||
minutes: 0
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
##################################################
|
||||
# Glidende gennemsnit af anbefalet fjernvarme-ventilposition
|
||||
# Beregner mean over de seneste 21 dage, så anbefalingen
|
||||
# bevæger sig sæsonmæssigt (uger) i stedet for dagligt.
|
||||
##################################################
|
||||
|
||||
- platform: statistics
|
||||
name: "Fjernvarme ventil 3 ugers gennemsnit"
|
||||
entity_id: sensor.fjernvarme_ventil_anbefalet
|
||||
state_characteristic: mean
|
||||
sampling_size: 2000
|
||||
max_age:
|
||||
days: 21
|
||||
@@ -0,0 +1 @@
|
||||
indkorsel_generate_gallery: "python3 /config/python_scripts/generate_indkorsel_gallery.py"
|
||||
Reference in New Issue
Block a user