Doorbell: tilføj sonos snapshot/restore for at undgå invalid auth-advarsler fra Sonos
This commit is contained in:
@@ -434,6 +434,8 @@ sections:
|
||||
name: Mål HB2 – Kartofler
|
||||
- entity: input_number.vanding_maal_fugtighed_hojbed_3
|
||||
name: Mål HB3 – Rabarber
|
||||
- entity: input_number.vanding_maal_fugtighed_drivhus
|
||||
name: Mål Drivhus
|
||||
|
||||
# �🌿 Zonekontrol
|
||||
- type: grid
|
||||
@@ -484,10 +486,19 @@ sections:
|
||||
action: call-service
|
||||
service: script.vanding_toggle_hojbed_3
|
||||
|
||||
- type: tile
|
||||
entity: switch.hojbed_3
|
||||
name: Drivhus
|
||||
icon: mdi:greenhouse
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: input_number.vanding_varighed_drivhus
|
||||
name: Varighed Drivhus
|
||||
- type: tile
|
||||
entity: switch.hojbed_3
|
||||
name: Drivhus
|
||||
icon: mdi:greenhouse
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.vanding_toggle_drivhus
|
||||
|
||||
# 🔋 Sensorbatterier
|
||||
- type: grid
|
||||
|
||||
@@ -5,5 +5,5 @@ panel: true
|
||||
|
||||
cards:
|
||||
- type: iframe
|
||||
url: /local/snapshots/indkorsel_loader.html?v=20260705130716
|
||||
url: /local/snapshots/indkorsel_loader.html?v=20260729191638
|
||||
aspect_ratio: 100%
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
# Eget projektnavn så denne stak ikke ser de andre containere som "orphans"
|
||||
name: esphome
|
||||
|
||||
services:
|
||||
esphome:
|
||||
container_name: esphome
|
||||
image: ghcr.io/esphome/esphome:latest
|
||||
# host-netværk giver adgang til LAN (OTA til 10.0.0.190) + mDNS-discovery.
|
||||
# Dashboard lytter på http://10.0.0.142:6052
|
||||
network_mode: host
|
||||
restart: always
|
||||
environment:
|
||||
- TZ=Europe/Copenhagen
|
||||
# Sæt en adgangskode på dashboardet (valgfrit – udkommentér for at aktivere)
|
||||
# - USERNAME=claus
|
||||
# - PASSWORD=changeme
|
||||
volumes:
|
||||
- /volume1/docker/esphome/config:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
@@ -59,3 +59,8 @@
|
||||
5. Evt. lille deploy-script der kører `op inject` automatisk
|
||||
|
||||
**Reel gevinst:** Fjerner hemmeligheder fra git, ikke fra disken (HA kræver plaintext på disk uanset).
|
||||
|
||||
|
||||
## Idéer til udforskning
|
||||
|
||||
- [ ] **Tjek `hass-scene_presets`** — HA-integration/tool til at generere lysscener (præsets) — https://github.com/Hypfer/hass-scene_presets
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
entity_id:
|
||||
- switch.hojbed_1
|
||||
- switch.hojbed_2
|
||||
- switch.hojbed_3
|
||||
- switch.drivhus_drypvanding
|
||||
- service: switch.turn_off
|
||||
data:
|
||||
@@ -43,6 +44,7 @@
|
||||
entity_id:
|
||||
- switch.hojbed_1
|
||||
- switch.hojbed_2
|
||||
- switch.hojbed_3
|
||||
- switch.drivhus_drypvanding
|
||||
- service: switch.turn_off
|
||||
data:
|
||||
|
||||
@@ -26,6 +26,15 @@ vanding_varighed_hojbed_3:
|
||||
initial: 15
|
||||
icon: mdi:timer
|
||||
|
||||
vanding_varighed_drivhus:
|
||||
name: Varighed – Drivhus
|
||||
min: 0
|
||||
max: 60
|
||||
step: 5
|
||||
unit_of_measurement: min
|
||||
initial: 15
|
||||
icon: mdi:timer
|
||||
|
||||
vanding_varighed_smart:
|
||||
name: Varighed pr. cyklus – smart vanding
|
||||
min: 5
|
||||
@@ -71,3 +80,12 @@ vanding_maal_fugtighed_hojbed_3:
|
||||
unit_of_measurement: "%"
|
||||
initial: 40
|
||||
icon: mdi:water-percent
|
||||
|
||||
vanding_maal_fugtighed_drivhus:
|
||||
name: Mål fugtighed – Drivhus
|
||||
min: 0
|
||||
max: 100
|
||||
step: 5
|
||||
unit_of_measurement: "%"
|
||||
initial: 40
|
||||
icon: mdi:water-percent
|
||||
|
||||
@@ -13,6 +13,14 @@ doorbell:
|
||||
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') }}"
|
||||
# Gem Sonos-tilstanden, saa doorbell-sporet ikke bliver liggende i koeen
|
||||
# (undgaar "invalid authentication"-advarsler naar den signerede URL udloeber)
|
||||
- service: sonos.snapshot
|
||||
data:
|
||||
entity_id:
|
||||
- media_player.andreas
|
||||
- media_player.daniel
|
||||
with_group: true
|
||||
- parallel:
|
||||
- sequence:
|
||||
- variables:
|
||||
@@ -108,6 +116,14 @@ doorbell:
|
||||
volume_level: "{{ volumennat }}"
|
||||
target:
|
||||
entity_id: media_player.andreas
|
||||
# Vent til doorbell-lyden er spillet faerdig, gendan derefter Sonos-koeen
|
||||
- delay: "00:00:06"
|
||||
- service: sonos.restore
|
||||
data:
|
||||
entity_id:
|
||||
- media_player.andreas
|
||||
- media_player.daniel
|
||||
with_group: true
|
||||
# Gendan Denon-receiveren til praecis den kilde og volumen den stod paa foer ringningen
|
||||
- choose:
|
||||
- conditions:
|
||||
|
||||
@@ -10,6 +10,12 @@ spil_paa_lille_bad:
|
||||
sequence:
|
||||
- variables:
|
||||
gammel_volumen: "{{ state_attr('media_player.lille_badevaerelse', 'volume_level') | default(0.3) }}"
|
||||
# Gem Sonos-tilstanden, saa lydfilen ikke bliver liggende i koeen
|
||||
# (undgaar "invalid authentication"-advarsler naar den signerede URL udloeber)
|
||||
- service: sonos.snapshot
|
||||
data:
|
||||
entity_id: media_player.lille_badevaerelse
|
||||
with_group: true
|
||||
- service: media_player.volume_set
|
||||
data:
|
||||
volume_level: "{{ volumen }}"
|
||||
@@ -29,3 +35,8 @@ spil_paa_lille_bad:
|
||||
volume_level: "{{ gammel_volumen }}"
|
||||
target:
|
||||
entity_id: media_player.lille_badevaerelse
|
||||
# Gendan Sonos-koeen, saa den lydfil ryddes ud af koeen
|
||||
- service: sonos.restore
|
||||
data:
|
||||
entity_id: media_player.lille_badevaerelse
|
||||
with_group: true
|
||||
|
||||
@@ -56,6 +56,25 @@ vanding_toggle_hojbed_3:
|
||||
entity_id: switch.drivhus_drypvanding
|
||||
duration: "{{ states('input_number.vanding_varighed_hojbed_3') | int(15) }}"
|
||||
|
||||
vanding_toggle_drivhus:
|
||||
alias: Toggle Drivhus
|
||||
mode: single
|
||||
sequence:
|
||||
- choose:
|
||||
- conditions:
|
||||
- condition: state
|
||||
entity_id: switch.hojbed_3
|
||||
state: "on"
|
||||
sequence:
|
||||
- service: switch.turn_off
|
||||
target:
|
||||
entity_id: switch.hojbed_3
|
||||
default:
|
||||
- service: rainbird.start_irrigation
|
||||
data:
|
||||
entity_id: switch.hojbed_3
|
||||
duration: "{{ states('input_number.vanding_varighed_drivhus') | int(15) }}"
|
||||
|
||||
vanding_hojbed_skiftevis:
|
||||
alias: Smart vanding – højbed 1, 2 og 3 efter fugtighed
|
||||
mode: single
|
||||
@@ -85,18 +104,19 @@ vanding_hojbed_skiftevis:
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{
|
||||
states('sensor.annes_havesensor_soil_moisture_1') | float(100) < 40 or
|
||||
states('sensor.annes_havesensor_soil_moisture_2') | float(100) < 40 or
|
||||
states('sensor.annes_havesensor_soil_moisture_3') | float(100) < 40
|
||||
states('sensor.annes_havesensor_soil_moisture_1') | float(100) < states('input_number.vanding_maal_fugtighed_hojbed_1') | float(40) or
|
||||
states('sensor.annes_havesensor_soil_moisture_2') | float(100) < states('input_number.vanding_maal_fugtighed_hojbed_2') | float(40) or
|
||||
states('sensor.annes_havesensor_soil_moisture_3') | float(100) < states('input_number.vanding_maal_fugtighed_hojbed_3') | float(40)
|
||||
}}
|
||||
- condition: template
|
||||
value_template: "{{ repeat.index <= 8 }}"
|
||||
sequence:
|
||||
# HB1 – Ærter (switch.hojbed_2) – kun hvis tørt
|
||||
- if:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.annes_havesensor_soil_moisture_1
|
||||
below: 40
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{ states('sensor.annes_havesensor_soil_moisture_1') | float(100)
|
||||
< states('input_number.vanding_maal_fugtighed_hojbed_1') | float(40) }}
|
||||
then:
|
||||
- service: rainbird.start_irrigation
|
||||
data:
|
||||
@@ -109,9 +129,10 @@ vanding_hojbed_skiftevis:
|
||||
|
||||
# HB2 – Kartofler (switch.hojbed_1) – kun hvis tørt
|
||||
- if:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.annes_havesensor_soil_moisture_2
|
||||
below: 40
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{ states('sensor.annes_havesensor_soil_moisture_2') | float(100)
|
||||
< states('input_number.vanding_maal_fugtighed_hojbed_2') | float(40) }}
|
||||
then:
|
||||
- service: rainbird.start_irrigation
|
||||
data:
|
||||
@@ -124,9 +145,10 @@ vanding_hojbed_skiftevis:
|
||||
|
||||
# HB3 – Rabarber (switch.drivhus_drypvanding) – kun hvis tørt
|
||||
- if:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.annes_havesensor_soil_moisture_3
|
||||
below: 40
|
||||
- condition: template
|
||||
value_template: >
|
||||
{{ states('sensor.annes_havesensor_soil_moisture_3') | float(100)
|
||||
< states('input_number.vanding_maal_fugtighed_hojbed_3') | float(40) }}
|
||||
then:
|
||||
- service: rainbird.start_irrigation
|
||||
data:
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
{"count": 7, "items": [{"date": "2026-07-11", "recipe": {"name": "Dampede Bao med nakkekotelet", "slug": "dampede-bao-med-nakkekotelet"}}, {"date": "2026-07-10", "recipe": {"name": "Muslinger i hvidvin og fl\u00f8desauce \u2013 Moules Frites", "slug": "muslinger-i-hvidvin-og-flodesauce-moules-frites"}}, {"date": "2026-07-09", "recipe": {"name": "Clubsandwich med m\u00f8rt kyllingek\u00f8d og bacon", "slug": "clubsandwich-med-mort-kyllingekod-og-bacon"}}, {"date": "2026-07-08", "recipe": {"name": "One Pot Pasta med champignon og bacon", "slug": "one-pot-pasta-med-champignon-og-bacon"}}, {"date": "2026-07-07", "recipe": {"name": "Kylling i fad med pikant og gr\u00f8ntsager", "slug": "kylling-i-fad-med-pikant-og-grontsager"}}, {"date": "2026-07-06", "recipe": {"name": "One Pot Pasta med champignon og bacon", "slug": "one-pot-pasta-med-champignon-og-bacon"}}, {"date": "2026-07-05", "recipe": {"name": "Kylling i fad med pikant og gr\u00f8ntsager", "slug": "kylling-i-fad-med-pikant-og-grontsager"}}]}
|
||||
{"count": 7, "items": [{"date": "2026-08-04", "recipe": {"name": "P\u00f8lsegryde", "slug": "polsegryde"}}, {"date": "2026-08-03", "recipe": {"name": "One pot french onion pasta", "slug": "one-pot-french-onion-pasta"}}, {"date": "2026-08-02", "recipe": {"name": "P\u00f8lsegryde", "slug": "polsegryde"}}, {"date": "2026-08-01", "recipe": {"name": "Pho nudelsuppe med asiatisk ribbensteg", "slug": "pho-nudelsuppe-med-asiatisk-ribbensteg"}}, {"date": "2026-07-31", "recipe": {"name": "Banh Mi Burger", "slug": "banh-mi-burger"}}, {"date": "2026-07-30", "recipe": {"name": "Tex Mex Salat", "slug": "tex-mex-salat"}}, {"date": "2026-07-29", "recipe": {"name": "Marry Me Chicken Orzo med spinat", "slug": "marry-me-chicken-orzo-med-spinat"}}]}
|
||||
Reference in New Issue
Block a user