diff --git a/.gitignore b/.gitignore index c07fdf0..a1dc2b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,21 @@ -librespeed/config/log/* **/[Ll]ogs **/[Ll]og +librespeed/config/log/* ha/config/custom_components/* ha/config/themes/* ha/config/image/* ha/config/www/community/* ha/config/www/community/* ha/config/www/media/ha-bambulab/* +ha/config/www/last_person_detection.jpg +ha/config/.ha_run.lock +ha/config/.HA_VERSION ha/matter_server/ +ha/zwave-config/ secrets/ +evcc/evcc/evcc.db +letsencrypt/ +letsencrypt_peek/ +zigbee2mqtt/configuration_*.yaml +zigbee_home_2/database.db +ha/config/.cache/** \ No newline at end of file diff --git a/docker-compose.service.yml b/docker-compose.service.yml index 2d38cc0..9c4e10e 100644 --- a/docker-compose.service.yml +++ b/docker-compose.service.yml @@ -13,7 +13,7 @@ services: - backend ports: - "8088:8080" - image: koenkk/zigbee2mqtt:2.10 + image: koenkk/zigbee2mqtt:2.13 restart: always volumes: - ./zigbee_home_2:/app/data @@ -43,7 +43,7 @@ services: max-file: "5" networks: - backend - image: koenkk/zigbee2mqtt:2.10 + image: koenkk/zigbee2mqtt:2.13 restart: always volumes: - ${DIR}/zigbee2matt:/app/data diff --git a/docker-compose.yml b/docker-compose.yml index 6c93a00..42db6d4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,8 +28,13 @@ secrets: file: $SECRETSDIR/skoda_spin carconnect_grafana_pw: file: $SECRETSDIR/carconnect_grafana_pw + home_assistant_token_spoolman: + file: $SECRETSDIR/home_assistant_token_spoolman +include: + - ./evcc/docker-compose.yml + ########################### EXTENSION FIELDS ########################## # Helps eliminate repetition of sections # More Info on how to use this: https://github.com/htpcBeginner/docker-traefik/pull/228 @@ -44,6 +49,7 @@ x-common-keys-monitoring: &common-keys-monitoring - backend security_opt: - no-new-privileges:true restart: always + services: reverse-proxy: @@ -176,7 +182,6 @@ services: - "traefik.http.routers.ddnsupdater.tls.certresolver=milvert_dns" - "traefik.http.routers.ddnsupdater.tls=true" - ######################### DATABASE ############################ # # DATABASE @@ -317,7 +322,7 @@ services: ha: container_name: ha - image: homeassistant/home-assistant:2026.2 + image: homeassistant/home-assistant:2026.9 restart: always privileged: true networks: @@ -373,7 +378,7 @@ services: appdaemon: container_name: appdaemon - image: acockburn/appdaemon:4.4.2 + image: acockburn/appdaemon:4.5.13 restart: unless-stopped depends_on: - ha @@ -445,11 +450,12 @@ services: image: ghcr.io/matter-js/python-matter-server:stable container_name: matter-server restart: unless-stopped - networks: - backend: - docker_vlan: - ipv4_address: 10.0.0.204 - ipv6_address: "2001:9b0:215:8e00::204" + network_mode: host + #networks: + #backend: + #docker_vlan: + #ipv4_address: 10.0.0.204 + #ipv6_address: "2001:9b0:215:8e00::204" #security_opt: # Needed for Bluetooth via dbus # - apparmor:unconfined @@ -459,29 +465,7 @@ services: environment: - diun.enable=true - evcc: - command: - - evcc - container_name: evcc - image: evcc/evcc:0.305.1 - ports: - - 7070:7070/tcp - volumes: - - "./evcc/evcc.yaml:/etc/evcc.yaml:ro" - - ./evcc/evcc:/root/.evcc - restart: unless-stopped - networks: - - backend - labels: - - diun.enable=true - - "traefik.enable=true" - - "traefik.http.routers.evcc.entrypoints=web-secure" - - "traefik.http.routers.evcc.rule=Host(`box.${DOMAIN}`)" - - "traefik.http.services.evcc.loadbalancer.server.port=7070" - - "traefik.http.routers.evcc.middlewares=chain-no-auth@file" - - "traefik.http.routers.evcc.tls.certresolver=milvert_dns" - - "traefik.http.routers.evcc.tls=true" - + grafana: image: grafana/grafana:10.3.1 container_name: grafana @@ -681,6 +665,60 @@ services: - "traefik.http.routers.librespeed.tls.certresolver=milvert_dns" - "traefik.http.routers.librespeed.tls=true" + spoolman: + image: ghcr.io/donkie/spoolman:0.23 + container_name: spoolman + restart: unless-stopped + networks: + - backend + volumes: + - ${DIR_LOCAL}/spoolman/data:/home/app/.local/share/spoolman + environment: + - TZ=Europe/Stockholm + labels: + - "diun.enable=true" + - "traefik.enable=true" + - "traefik.http.services.spoolman-service.loadbalancer.server.port=8000" + - "traefik.http.routers.spoolman-secure.entrypoints=web-secure" + - "traefik.http.routers.spoolman-secure.rule=Host(`spoolman.${DOMAIN}`)" + - "traefik.http.routers.spoolman-secure.tls.certresolver=milvert_dns" + - "traefik.http.routers.spoolman-secure.tls=true" + - "traefik.http.routers.spoolman-secure.middlewares=chain-authelia@file" + + spoolman-updater: + image: marcokreeft/spoolman-updater:latest + container_name: spoolman-updater + restart: unless-stopped + secrets: + - home_assistant_token_spoolman + entrypoint: + - /bin/sh + - -c + - | + export APPLICATION__HOMEASSISTANT__TOKEN="$$(cat /run/secrets/home_assistant_token_spoolman)" + exec dotnet Application.dll + ports: + - "8089:8080" + networks: + - backend + environment: + - TZ=Europe/Stockholm + - APPLICATION__HOMEASSISTANT__URL=http://ha:8123 + - APPLICATION__SPOOLMAN__URL=http://spoolman:8000 + - APPLICATION__HOMEASSISTANT__EXTERNALSPOOLENTITY=sensor.a1mini_0309da441900142_externalspool_external_spool + - APPLICATION__HOMEASSISTANT__TRAYENTITIES__0=sensor.a1mini_0309da441900142_ams_1_tray_1 + - APPLICATION__HOMEASSISTANT__TRAYENTITIES__1=sensor.a1mini_0309da441900142_ams_1_tray_2 + - APPLICATION__HOMEASSISTANT__TRAYENTITIES__2=sensor.a1mini_0309da441900142_ams_1_tray_3 + - APPLICATION__HOMEASSISTANT__TRAYENTITIES__3=sensor.a1mini_0309da441900142_ams_1_tray_4 + labels: + - "diun.enable=true" + - "traefik.enable=true" + - "traefik.http.services.spoolman-updater-service.loadbalancer.server.port=8080" + - "traefik.http.routers.spoolman-updater-secure.entrypoints=web-secure" + - "traefik.http.routers.spoolman-updater-secure.rule=Host(`spoolman-updater.${DOMAIN}`)" + - "traefik.http.routers.spoolman-updater-secure.tls.certresolver=milvert_dns" + - "traefik.http.routers.spoolman-updater-secure.tls=true" + - "traefik.http.routers.spoolman-updater-secure.middlewares=chain-authelia@file" jelu: image: wabayang/jelu diff --git a/ha/config/automations.yaml b/ha/config/automations.yaml index 0686bf6..5d4a764 100644 --- a/ha/config/automations.yaml +++ b/ha/config/automations.yaml @@ -174,7 +174,7 @@ alias: växtlampa schema description: '' triggers: - - value_template: '{{ now().hour == 9 }}' + - value_template: '{{ now().hour == 8 }}' id: 'on' trigger: template - value_template: '{{ (now().hour, now().minute) == (21,30) }}' @@ -813,3 +813,35 @@ title: "Dags att vattna! \U0001F331" message: Fuktnivån är nu nere på {{ states('sensor.h034s_soil_moisture') }}%. mode: single +- id: '1783927143748' + alias: Framsida pling + description: Sparar en fast bild till notis, en unik bild med tidsstämpel och skickar + notis. + triggers: + - trigger: state + entity_id: + - binary_sensor.kamera_framsida_visitor + to: 'on' + conditions: [] + actions: + - action: camera.snapshot + metadata: {} + data: + filename: /config/www/doorbell_snapshots.jpg + target: + entity_id: camera.kamera_framsida_fluent + - action: camera.snapshot + metadata: {} + data: + filename: /config/www/doorbell_snapshots/pling_{{ now().strftime('%Y%m%d_%H%M%S') + }}.jpg + target: + entity_id: camera.kamera_framsida_fluent + - action: notify.mobile_app_simon_mobil + metadata: {} + data: + title: "Dörrklocka! \U0001F514" + message: Någon plingar på framsidan. + data: + image: /local/doorbell_snapshots.jpg + mode: single diff --git a/ha/config/scenes.yaml b/ha/config/scenes.yaml index b690f2a..6afe2fb 100644 --- a/ha/config/scenes.yaml +++ b/ha/config/scenes.yaml @@ -702,6 +702,16 @@ - candle - fireplace - colorloop + - sunset + - sunrise + - sparkle + - opal + - glisten + - underwater + - cosmos + - sunbeam + - enchant + - none - finish_effect - stop_effect - stop_hue_effect @@ -774,6 +784,70 @@ switch.h015l: friendly_name: Framsida fasad state: 'on' + light.h026l: + min_color_temp_kelvin: 2202 + max_color_temp_kelvin: 4000 + min_mireds: 250 + max_mireds: 454 + effect_list: + - blink + - breathe + - okay + - channel_change + - finish_effect + - stop_effect + supported_color_modes: + - color_temp + effect: + color_mode: color_temp + brightness: 148 + color_temp_kelvin: 2202 + color_temp: 454 + hs_color: + - 29.79 + - 84.553 + rgb_color: + - 255 + - 146 + - 39 + xy_color: + - 0.579 + - 0.388 + friendly_name: Pollare_2 + supported_features: 44 + state: 'on' + light.h027l: + min_color_temp_kelvin: 2202 + max_color_temp_kelvin: 4000 + min_mireds: 250 + max_mireds: 454 + effect_list: + - blink + - breathe + - okay + - channel_change + - finish_effect + - stop_effect + supported_color_modes: + - color_temp + effect: + color_mode: color_temp + brightness: 148 + color_temp_kelvin: 2202 + color_temp: 454 + hs_color: + - 29.79 + - 84.553 + rgb_color: + - 255 + - 146 + - 39 + xy_color: + - 0.579 + - 0.388 + friendly_name: Pollare_3 + supported_features: 44 + state: 'on' icon: mdi:home-sound-out metadata: switch.h016s: @@ -792,6 +866,10 @@ entity_only: true switch.h015l: entity_only: true + light.h026l: + entity_only: true + light.h027l: + entity_only: true - id: '1708976892459' name: Ute Av entities: @@ -808,6 +886,16 @@ - candle - fireplace - colorloop + - sunset + - sunrise + - sparkle + - opal + - glisten + - underwater + - cosmos + - sunbeam + - enchant + - none - finish_effect - stop_effect - stop_hue_effect @@ -889,7 +977,7 @@ supported_features: 44 state: 'off' switch.h024s: - friendly_name: Framsida slingor + friendly_name: Garage slinga state: 'off' switch.h023s: friendly_name: Ute baksida @@ -905,10 +993,74 @@ supported_color_modes: - brightness effect: - color_mode: - brightness: + color_mode: brightness + brightness: 22 friendly_name: Liten_gultrum supported_features: 44 + state: 'on' + light.h026l: + min_color_temp_kelvin: 2202 + max_color_temp_kelvin: 4000 + min_mireds: 250 + max_mireds: 454 + effect_list: + - blink + - breathe + - okay + - channel_change + - finish_effect + - stop_effect + supported_color_modes: + - color_temp + effect: + color_mode: color_temp + brightness: 148 + color_temp_kelvin: 2202 + color_temp: 454 + hs_color: + - 29.79 + - 84.553 + rgb_color: + - 255 + - 146 + - 39 + xy_color: + - 0.579 + - 0.388 + friendly_name: Pollare_2 + supported_features: 44 + state: 'off' + light.h027l: + min_color_temp_kelvin: 2202 + max_color_temp_kelvin: 4000 + min_mireds: 250 + max_mireds: 454 + effect_list: + - blink + - breathe + - okay + - channel_change + - finish_effect + - stop_effect + supported_color_modes: + - color_temp + effect: + color_mode: color_temp + brightness: 148 + color_temp_kelvin: 2202 + color_temp: 454 + hs_color: + - 29.79 + - 84.553 + rgb_color: + - 255 + - 146 + - 39 + xy_color: + - 0.579 + - 0.388 + friendly_name: Pollare_3 + supported_features: 44 state: 'off' icon: mdi:home-sound-out metadata: @@ -934,6 +1086,10 @@ entity_only: true light.liten_gultrum: entity_only: true + light.h026l: + entity_only: true + light.h027l: + entity_only: true - id: '1715369441992' name: Bevattning entities: diff --git a/torrent/config/rutorrent/.gitignore b/torrent/config/rutorrent/.gitignore new file mode 100755 index 0000000..fd94589 --- /dev/null +++ b/torrent/config/rutorrent/.gitignore @@ -0,0 +1 @@ +profiles \ No newline at end of file diff --git a/traefik/middleware-chains.yml b/traefik/middleware-chains.yml index 3c36463..1c6de28 100644 --- a/traefik/middleware-chains.yml +++ b/traefik/middleware-chains.yml @@ -25,3 +25,11 @@ http: - middlewares-secure-headers - middlewares-authelia - middlewares-compress + + chain-local: + chain: + middlewares: + - localNetwork + - middlewares-rate-limit + - middlewares-secure-headers + - middlewares-compress diff --git a/traefik/middleware.yml b/traefik/middleware.yml index 72f8275..21a8865 100644 --- a/traefik/middleware.yml +++ b/traefik/middleware.yml @@ -36,6 +36,7 @@ http: sourceRange: - "127.0.0.1/32" - "10.0.0.0/8" + - "2001:9b0:215:8e00::/62" middlewares-https-redirectscheme: redirectScheme: