docker: tilføj healthcheck til HA + autoheal-container mod frosne hæng

This commit is contained in:
2026-06-25 06:55:45 +02:00
parent bb28a1119c
commit da92c94089
5 changed files with 93 additions and 6 deletions
@@ -5,5 +5,5 @@ panel: true
cards: cards:
- type: iframe - type: iframe
url: /local/snapshots/indkorsel_loader.html?v=20260620194231 url: /local/snapshots/indkorsel_loader.html?v=20260625061240
aspect_ratio: 100% aspect_ratio: 100%
+21
View File
@@ -11,3 +11,24 @@ services:
restart: always restart: always
environment: environment:
- TZ=Europe/Copenhagen - TZ=Europe/Copenhagen
labels:
- "autoheal=true"
healthcheck:
# Tjekker at HA's web-API faktisk svarer (ikke kun at processen kører)
test: ["CMD", "curl", "-fs", "http://localhost:8123/manifest.json"]
interval: 30s # tjek hvert 30. sekund
timeout: 10s # svar skal komme inden 10 sek
retries: 3 # 3 fejl i træk => unhealthy
start_period: 120s # giv HA 2 min til at boote inden tjek tæller
autoheal:
container_name: autoheal
image: willfarrell/autoheal:latest
restart: always
environment:
- AUTOHEAL_CONTAINER_LABEL=autoheal # genstart kun containere med label autoheal=true
- AUTOHEAL_INTERVAL=15 # tjek health-status hvert 15. sekund
- AUTOHEAL_START_PERIOD=300 # vent 5 min efter egen opstart inden overvågning
- TZ=Europe/Copenhagen
volumes:
- /var/run/docker.sock:/var/run/docker.sock
+48
View File
@@ -110,3 +110,51 @@
- service: input_boolean.turn_off - service: input_boolean.turn_off
target: target:
entity_id: input_boolean.vacation_mode entity_id: input_boolean.vacation_mode
- alias: "Varme - Påmindelse: Luk håndklæde-varmer (sommer)"
id: varme_paamindelse_haandklaedevarmer_sommer
description: >
Sender en påmindelse 1. juni om at lukke den manuelle hane til
håndklæde-varmeren i badeværelset, så den ikke trækker fjernvarme
hele sommeren. Hanen kan ikke styres af HA, så det er en manuel handling.
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: template
value_template: "{{ now().month == 6 and now().day == 1 }}"
action:
- service: notify.mobile_app_claus_iphone_15pro
data:
title: "Sommer: Luk håndklæde-varmeren"
message: >
Husk at lukke den manuelle hane til håndklæde-varmeren i badeværelset,
så den ikke trækker fjernvarme hele sommeren.
data:
push:
interruption-level: time-sensitive
tag: haandklaedevarmer_sommer
- alias: "Varme - Påmindelse: Åbn håndklæde-varmer (efterår)"
id: varme_paamindelse_haandklaedevarmer_efteraar
description: >
Sender en påmindelse 1. oktober om at åbne den manuelle hane til
håndklæde-varmeren i badeværelset igen før fyringssæsonen.
Hanen kan ikke styres af HA, så det er en manuel handling.
trigger:
- platform: time
at: "09:00:00"
condition:
- condition: template
value_template: "{{ now().month == 10 and now().day == 1 }}"
action:
- service: notify.mobile_app_claus_iphone_15pro
data:
title: "Efterår: Åbn håndklæde-varmeren"
message: >
Husk at åbne den manuelle hane til håndklæde-varmeren i badeværelset
igen, så den er klar til fyringssæsonen.
data:
push:
interruption-level: time-sensitive
tag: haandklaedevarmer_efteraar
+19 -1
View File
@@ -8,6 +8,11 @@
doorbell: doorbell:
alias: Dørklokke alias: Dørklokke
sequence: sequence:
# Gem Denon-receiverens tilstand, saa den kan gendannes efter dingdong
- variables:
denon_state: "{{ states('media_player.denon_avr_x2300w') }}"
denon_source: "{{ state_attr('media_player.denon_avr_x2300w', 'source') }}"
denon_volume: "{{ state_attr('media_player.denon_avr_x2300w', 'volume_level') }}"
- parallel: - parallel:
- sequence: - sequence:
- variables: - variables:
@@ -103,7 +108,20 @@ doorbell:
volume_level: "{{ volumennat }}" volume_level: "{{ volumennat }}"
target: target:
entity_id: media_player.andreas entity_id: media_player.andreas
# Gendan Denon-receiveren til praecis den kilde og volumen den stod paa foer ringningen
- choose:
- conditions:
- condition: template
value_template: "{{ denon_state not in ['off', 'standby', 'unavailable', 'unknown', 'none'] }}"
sequence:
- service: media_player.select_source - service: media_player.select_source
data: data:
entity_id: media_player.denon_avr_x2300w entity_id: media_player.denon_avr_x2300w
source: TV Audio source: "{{ denon_source }}"
- delay: "00:00:01"
- condition: template
value_template: "{{ denon_volume not in [none, 'None', '', 'unknown', 'unavailable'] }}"
- service: media_player.volume_set
data:
entity_id: media_player.denon_avr_x2300w
volume_level: "{{ denon_volume | float }}"
+1 -1
View File
@@ -1 +1 @@
{"count": 8, "items": [{"date": "2026-06-20", "recipe": {"name": "Bagte s\u00f8de kartofler med fyld", "slug": "bagte-sode-kartofler-med-fyld"}}, {"date": "2026-06-20", "recipe": {"name": "Engelsk b\u00f8f ", "slug": ""}}, {"date": "2026-06-26", "recipe": {"name": "M\u00f8rbradb\u00f8ffer med bl\u00f8de l\u00f8g og fl\u00f8desauce", "slug": "morbradboffer-med-blode-log-og-flodesauce"}}, {"date": "2026-06-25", "recipe": {"name": "Macaroni and cheese", "slug": "macaroni-and-cheese"}}, {"date": "2026-06-24", "recipe": {"name": "Rester fra mandag (Tortellini i fad)", "slug": ""}}, {"date": "2026-06-23", "recipe": {"name": "Rester fra s\u00f8ndag (Kylling med cornflakes)", "slug": ""}}, {"date": "2026-06-22", "recipe": {"name": "Tortellini i fad", "slug": "tortellini-i-fad"}}, {"date": "2026-06-21", "recipe": {"name": "Kylling med cornflakes", "slug": "kylling-med-cornflakes"}}]} {"count": 7, "items": [{"date": "2026-07-01", "recipe": {"name": "Spaghetti i tomatsauce med k\u00f8dboller", "slug": "spaghetti-i-tomatsauce-med-kodboller"}}, {"date": "2026-06-30", "recipe": {"name": "Paprikagryde \u2013 en klassisk m\u00f8rbradgryde", "slug": "paprikagryde-en-klassisk-morbradgryde"}}, {"date": "2026-06-29", "recipe": {"name": "Spaghetti i tomatsauce med k\u00f8dboller", "slug": "spaghetti-i-tomatsauce-med-kodboller"}}, {"date": "2026-06-28", "recipe": {"name": "Paprikagryde \u2013 en klassisk m\u00f8rbradgryde", "slug": "paprikagryde-en-klassisk-morbradgryde"}}, {"date": "2026-06-27", "recipe": {"name": "Laks p\u00e5 grill med citron og krydderurter", "slug": "laks-pa-grill-med-citron-og-krydderurter"}}, {"date": "2026-06-26", "recipe": {"name": "Citrongr\u00e6s marineret m\u00f8rbrad med nudler", "slug": "citrongraes-marineret-morbrad-med-nudler"}}, {"date": "2026-06-25", "recipe": {"name": "Macaroni and cheese", "slug": "macaroni-and-cheese"}}]}