fixing gitignore + traefik logging

This commit is contained in:
Simon 2026-05-22 10:24:18 +02:00
parent 3a10536e71
commit ce816f36e7
66 changed files with 3923 additions and 1799 deletions

8
.gitignore vendored
View File

@ -1,3 +1,11 @@
librespeed/config/log/* librespeed/config/log/*
**/[Ll]ogs **/[Ll]ogs
**/[Ll]og **/[Ll]og
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/matter_server/
secrets/

View File

@ -1,184 +0,0 @@
http:
pprof:
port: 6060
enabled: false
address: 0.0.0.0:80
session_ttl: 720h
users:
- name: simon
password: $2a$10$LmhzPrlAZ8gzqXuibTTlPud.vOXgkpa3zhzrVj8xgLqFEnHQTFt7e
auth_attempts: 5
block_auth_min: 15
http_proxy: ""
language: ""
theme: auto
dns:
bind_hosts:
- 0.0.0.0
port: 53
anonymize_client_ip: false
ratelimit: 20
ratelimit_subnet_len_ipv4: 24
ratelimit_subnet_len_ipv6: 56
ratelimit_whitelist: []
refuse_any: true
upstream_dns:
- https://dns.cloudflare.com/dns-query
- https://dns.google/dns-query
- https://security.cloudflare-dns.com/dns-query
upstream_dns_file: ""
bootstrap_dns:
- 9.9.9.10
- 149.112.112.10
- 2620:fe::10
- 2620:fe::fe:10
fallback_dns:
- 1.1.1.2
upstream_mode: load_balance
fastest_timeout: 1s
allowed_clients: []
disallowed_clients: []
blocked_hosts:
- version.bind
- id.server
- hostname.bind
trusted_proxies:
- 127.0.0.0/8
- ::1/128
cache_size: 4194304
cache_ttl_min: 0
cache_ttl_max: 0
cache_optimistic: false
bogus_nxdomain: []
aaaa_disabled: false
enable_dnssec: false
edns_client_subnet:
custom_ip: ""
enabled: false
use_custom: false
max_goroutines: 300
handle_ddr: true
ipset: []
ipset_file: ""
bootstrap_prefer_ipv6: false
upstream_timeout: 10s
private_networks: []
use_private_ptr_resolvers: false
local_ptr_upstreams: []
use_dns64: false
dns64_prefixes: []
serve_http3: false
use_http3_upstreams: false
serve_plain_dns: true
hostsfile_enabled: true
tls:
enabled: false
server_name: ""
force_https: false
port_https: 443
port_dns_over_tls: 853
port_dns_over_quic: 853
port_dnscrypt: 0
dnscrypt_config_file: ""
allow_unencrypted_doh: false
certificate_chain: ""
private_key: ""
certificate_path: ""
private_key_path: ""
strict_sni_check: false
querylog:
dir_path: ""
ignored: []
interval: 2160h
size_memory: 1000
enabled: true
file_enabled: true
statistics:
dir_path: ""
ignored: []
interval: 24h
enabled: true
filters:
- enabled: false
url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_1.txt
name: AdGuard DNS filter
id: 1
- enabled: false
url: https://adguardteam.github.io/HostlistsRegistry/assets/filter_2.txt
name: AdAway Default Blocklist
id: 2
whitelist_filters: []
user_rules: []
dhcp:
enabled: false
interface_name: ""
local_domain_name: lan
dhcpv4:
gateway_ip: ""
subnet_mask: ""
range_start: ""
range_end: ""
lease_duration: 86400
icmp_timeout_msec: 1000
options: []
dhcpv6:
range_start: ""
lease_duration: 86400
ra_slaac_only: false
ra_allow_slaac: false
filtering:
blocking_ipv4: ""
blocking_ipv6: ""
blocked_services:
schedule:
time_zone: UTC
ids: []
protection_disabled_until: null
safe_search:
enabled: false
bing: true
duckduckgo: true
google: true
pixabay: true
yandex: true
youtube: true
blocking_mode: default
parental_block_host: family-block.dns.adguard.com
safebrowsing_block_host: standard-block.dns.adguard.com
rewrites:
- domain: '*.milvert.com'
answer: milvert.com
- domain: milvert.com
answer: 10.0.0.3
safebrowsing_cache_size: 1048576
safesearch_cache_size: 1048576
parental_cache_size: 1048576
cache_time: 30
filters_update_interval: 24
blocked_response_ttl: 10
filtering_enabled: true
parental_enabled: false
safebrowsing_enabled: false
protection_enabled: false
clients:
runtime_sources:
whois: true
arp: true
rdns: true
dhcp: true
hosts: true
persistent: []
log:
enabled: true
file: ""
max_backups: 0
max_size: 100
max_age: 3
compress: false
local_time: false
verbose: false
os:
group: ""
user: ""
rlimit_nofile: 0
schema_version: 28

View File

@ -0,0 +1,18 @@
apiVersion: 1
deleteDatasources:
- name: CarConnectivity-SQLite
orgId: 1
datasources:
- name: CarConnectivity-SQLite
uid: P2EF847825A020B66
type: frser-sqlite-datasource
access: proxy
isDefault: true
editable: false
jsonData:
path: /carconnectivity.db
pathPrefix: "file:"
pathOptions: "mode=ro&_ignore_check_constraints=1"
attachLimit: 0

View File

@ -29,7 +29,8 @@
{ {
"type": "database", "type": "database",
"config": { "config": {
"db_url": "sqlite:///carconnectivity.db" "log_level": "error",
"db_url": "postgresql://carconnect:carconnect@postgres:5432/carconnect"
} }
} }
] ]

View File

@ -15,4 +15,16 @@ EOF
chmod 600 /root/.netrc chmod 600 /root/.netrc
# Kör original-cmd # Kör original-cmd
if [ -n "$ADDITIONAL_INSTALLS" ]; then
echo "Installing additional packages: $ADDITIONAL_INSTALLS"
# try pip3 first, fall back to pip
if command -v pip3 >/dev/null 2>&1; then
pip3 install --no-cache-dir $ADDITIONAL_INSTALLS || echo "Warning: pip3 install failed for $ADDITIONAL_INSTALLS"
elif command -v pip >/dev/null 2>&1; then
pip install --no-cache-dir $ADDITIONAL_INSTALLS || echo "Warning: pip install failed for $ADDITIONAL_INSTALLS"
else
echo "No pip found in container; skipping additional installs"
fi
fi
exec "$@" exec "$@"

View File

@ -1,6 +1,16 @@
db: db:
path: diun.db path: diun.db
defaults:
watchRepo: false
notifyOn:
- new
- update
maxTags: 10
sortTags: reverse
includeTags:
- '^v[0-9]+\.[0-9]+\.[0-9]+$'
watch: watch:
workers: 20 workers: 20
schedule: "0 */6 * * *" schedule: "0 */6 * * *"

View File

@ -13,7 +13,7 @@ services:
- backend - backend
ports: ports:
- "8088:8080" - "8088:8080"
image: koenkk/zigbee2mqtt:2.7 image: koenkk/zigbee2mqtt:2.10
restart: always restart: always
volumes: volumes:
- ./zigbee_home_2:/app/data - ./zigbee_home_2:/app/data
@ -43,7 +43,7 @@ services:
max-file: "5" max-file: "5"
networks: networks:
- backend - backend
image: koenkk/zigbee2mqtt:2.6 image: koenkk/zigbee2mqtt:2.10
restart: always restart: always
volumes: volumes:
- ${DIR}/zigbee2matt:/app/data - ${DIR}/zigbee2matt:/app/data

View File

@ -49,7 +49,7 @@ services:
reverse-proxy: reverse-proxy:
# The official v2.0 Traefik docker image # The official v2.0 Traefik docker image
#image: traefik:v2.11 #image: traefik:v2.11
image: traefik:v3.3 image: traefik:v3.7
container_name: "traefik" container_name: "traefik"
logging: logging:
driver: "json-file" driver: "json-file"
@ -65,7 +65,7 @@ services:
- "80:80" - "80:80"
- "443:443" - "443:443"
# Insecure port # Insecure port
- "8080:8080" # - "8080:8080"
# Influx # Influx
- "8086:8086" - "8086:8086"
# Mqtt # Mqtt
@ -77,7 +77,7 @@ services:
- ${DIR_LOCAL}/traefik/log:/log:rw - ${DIR_LOCAL}/traefik/log:/log:rw
- ./traefik.yml:/etc/traefik/traefik.yml - ./traefik.yml:/etc/traefik/traefik.yml
- ./traefik:/rules - ./traefik:/rules
- ./static_config.yml:/etc/traefik/static_config.yml # - ./static_config.yml:/etc/traefik/static_config.yml
# - "./log.json:/etc/traefik/log.json" # - "./log.json:/etc/traefik/log.json"
# - ./acme.json:/acme.json # - ./acme.json:/acme.json
- ./letsencrypt/:/letsencrypt:rw - ./letsencrypt/:/letsencrypt:rw
@ -95,6 +95,7 @@ services:
authelia: authelia:
image: authelia/authelia:4 image: authelia/authelia:4
container_name: authelia container_name: authelia
restart: always
volumes: volumes:
- ./authelia:/config - ./authelia:/config
- ./notify.txt:/tmp/authelia/notification.txt - ./notify.txt:/tmp/authelia/notification.txt
@ -176,36 +177,6 @@ services:
- "traefik.http.routers.ddnsupdater.tls=true" - "traefik.http.routers.ddnsupdater.tls=true"
adguard:
container_name: adguard
image: adguard/adguardhome:v0.107.52
restart: unless-stopped
networks:
docker_vlan:
ipv4_address: 10.0.0.204
ports:
- 53/udp
- 67/udp
- 68/tcp
- 68/udp
- 80/tcp
- 443/tcp
- 853/tcp
- 3000/tcp
volumes:
- ./adguard/conf:/opt/adguardhome/conf
- ./adguard/work:/opt/adguardhome/work
labels:
- diun.enable=true
- "traefik.enable=true"
- "traefik.http.services.adguard.loadbalancer.server.port=80"
- "traefik.http.routers.adguard.entrypoints=web-secure"
- "traefik.http.routers.adguard.rule=Host(`adguard.${DOMAIN}`)"
- "traefik.http.routers.adguard.middlewares=chain-authelia@file"
- "traefik.http.routers.adguard.tls.certresolver=milvert_dns"
- "traefik.http.routers.adguard.tls=true"
######################### DATABASE ############################ ######################### DATABASE ############################
# #
# DATABASE # DATABASE
@ -252,8 +223,7 @@ services:
labels: labels:
- diun.enable=true - diun.enable=true
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.middlewares.webdb-mid.ipallowlist.sourcerange=127.0.0.1/32, 10.0.0.1/24" - "traefik.http.routers.webdb-secure.middlewares=chain-local@file"
- "traefik.http.routers.webdb-secure.middlewares=webdb-mid"
- "traefik.http.routers.webdb-secure.entrypoints=web-secure" - "traefik.http.routers.webdb-secure.entrypoints=web-secure"
- "traefik.http.routers.webdb-secure.rule=Host(`webdb.${DOMAIN}`)" - "traefik.http.routers.webdb-secure.rule=Host(`webdb.${DOMAIN}`)"
- "traefik.http.routers.webdb-secure.tls.certresolver=milvert_dns" - "traefik.http.routers.webdb-secure.tls.certresolver=milvert_dns"
@ -315,8 +285,7 @@ services:
labels: labels:
- diun.enable=true - diun.enable=true
- "traefik.enable=true" - "traefik.enable=true"
#- "traefik.http.middlewares.webpg-mid.ipwhitelist.sourcerange=127.0.0.1/32, 10.0.0.1/24" - "traefik.http.routers.webpg-secure.middlewares=chain-local@file"
# # # - "traefik.http.routers.webpg-secure.middlewares=webpg-mid"
- "traefik.http.routers.webpg-secure.entrypoints=web-secure" - "traefik.http.routers.webpg-secure.entrypoints=web-secure"
- "traefik.http.routers.webpg-secure.rule=Host(`webpg.${DOMAIN}`)" - "traefik.http.routers.webpg-secure.rule=Host(`webpg.${DOMAIN}`)"
- "traefik.http.routers.webpg-secure.tls.certresolver=milvert_dns" - "traefik.http.routers.webpg-secure.tls.certresolver=milvert_dns"
@ -348,13 +317,14 @@ services:
ha: ha:
container_name: ha container_name: ha
image: homeassistant/home-assistant:2026.1 image: homeassistant/home-assistant:2026.2
restart: always restart: always
privileged: true privileged: true
networks: networks:
backend: backend:
docker_vlan: docker_vlan:
ipv4_address: 10.0.0.203 ipv4_address: 10.0.0.203
ipv6_address: "2001:9b0:215:8e00::203"
depends_on: depends_on:
- postgres - postgres
ports: ports:
@ -375,6 +345,11 @@ services:
- "traefik.http.routers.ha.tls.certresolver=milvert_dns" - "traefik.http.routers.ha.tls.certresolver=milvert_dns"
- "traefik.http.routers.ha.tls=true" - "traefik.http.routers.ha.tls=true"
- "traefik.http.services.ha.loadbalancer.server.port=8123" - "traefik.http.services.ha.loadbalancer.server.port=8123"
- "traefik.http.routers.ha-int.entrypoints=web-secure"
- "traefik.http.routers.ha-int.rule=Host(`ha-int.${DOMAIN}`)"
- "traefik.http.routers.ha-int.middlewares=localNetwork@file,chain-no-auth@file"
- "traefik.http.routers.ha-int.tls=true"
- "traefik.http.routers.ha-int.tls.certresolver=milvert_dns"
hassconf: hassconf:
container_name: hassconf container_name: hassconf
@ -466,11 +441,29 @@ services:
labels: labels:
- diun.enable=true - diun.enable=true
matter-server:
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"
#security_opt:
# Needed for Bluetooth via dbus
# - apparmor:unconfined
volumes:
# Create an .env file that sets the USERDIR environment variable.
- ./ha/matter_server:/data
environment:
- diun.enable=true
evcc: evcc:
command: command:
- evcc - evcc
container_name: evcc container_name: evcc
image: evcc/evcc:0.300.3 image: evcc/evcc:0.305.1
ports: ports:
- 7070:7070/tcp - 7070:7070/tcp
volumes: volumes:
@ -527,8 +520,8 @@ services:
- backend - backend
environment: environment:
- TZ=${TZ} - TZ=${TZ}
ports: # ports:
- "1881:1880" # - "1881:1880"
#devices: #devices:
#- /dev/ttyAMA0 #- /dev/ttyAMA0
restart: unless-stopped restart: unless-stopped
@ -848,15 +841,19 @@ services:
container_name: carconnect-grafana container_name: carconnect-grafana
volumes: volumes:
- ${DIR_LOCAL}/carconnect-grafana:/var/lib/grafana - ${DIR_LOCAL}/carconnect-grafana:/var/lib/grafana
- ${DIR_LOCAL}/carconnectivity/sqlite.db:/carconnectivity.db:ro # - ${DIR_LOCAL}/carconnectivity/sqlite.db:/carconnectivity.db:ro
- ./carconnectivity/carconnectivity-sqlite.yaml:/etc/grafana/provisioning/datasources/carconnectivity-sqlite.yml # - ./carconnectivity/carconnectivity-sqlite.yaml:/etc/grafana/provisioning/datasources/carconnectivity-sqlite.yml
environment: environment:
- PUID=1000 - PUID=1000
- PGID=1004 - PGID=1004
- TZ=Europe/Stockholm - TZ=Europe/Stockholm
- GF_SECURITY_ADMIN_USER=admin - GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD_FILE=/run/secrets/carconnect_grafana_pw - GF_SECURITY_ADMIN_PASSWORD_FILE=/run/secrets/carconnect_grafana_pw
- GF_PLUGINS_TRUSTED_FILES=/carconnectivity.db - DB_USER=carconnect
- DB_PASSWORD=carconnect
- DB_NAME=carconnect
- DB_HOSTNAME=postgres
- DB_PORT=5432
secrets: secrets:
- carconnect_grafana_pw - carconnect_grafana_pw
restart: unless-stopped restart: unless-stopped
@ -888,11 +885,15 @@ networks:
docker_vlan: docker_vlan:
external: true external: true
driver: macvlan driver: macvlan
enable_ipv6: true
driver_opts: driver_opts:
parent: eno1 parent: eno1
ipam: ipam:
config: config:
- subnet: 10.0.0.200/27 - subnet: 10.0.0.0/24 # Hela Home-nätverket
gateway: 10.0.0.1
- subnet: "2001:9b0:215:8e00::/64"
gateway: "2001:9b0:215:8e00::1"
volumes: volumes:
vwfriend_grafana: vwfriend_grafana:

View File

@ -32,10 +32,6 @@ binary_sensor:
script: script:
- id: wake_screen - id: wake_screen
mode: restart mode: restart
then:
if:
condition:
light.is_off: backlight
then: then:
- light.turn_on: - light.turn_on:
id: backlight id: backlight
@ -47,6 +43,7 @@ script:
id(current_image) = 0; id(current_image) = 0;
- component.update: display_main - component.update: display_main
- id: send_volume_debounced - id: send_volume_debounced
mode: restart mode: restart
then: then:

View File

@ -32,123 +32,124 @@ vehicles:
# source: mqtt # source: mqtt
# topic: weconnect/0/vehicles/WVGZZZE2ZPE051949/domains/climatisation/climatisationStatus/climatisationState # topic: weconnect/0/vehicles/WVGZZZE2ZPE051949/domains/climatisation/climatisationStatus/climatisationState
- name: skoda_car #- name: skoda_car
type: custom #type: custom
title: elroq #title: elroq
capacity: 64 # kWh #capacity: 64 # kWh
soc: #soc:
source: mqtt #source: mqtt
topic: carconnectivity/0/garage/TMBNC7NY8SF105227/drives/primary/level #topic: carconnectivity/0/garage/TMBNC7NY8SF105227/drives/primary/level
range: #range:
source: mqtt #source: mqtt
topic: carconnectivity/0/garage/TMBNC7NY8SF105227/drives/primary/range #topic: carconnectivity/0/garage/TMBNC7NY8SF105227/drives/primary/range
odometer: #odometer:
source: mqtt #source: mqtt
topic: carconnectivity/0/garage/TMBNC7NY8SF105227/odometer #topic: carconnectivity/0/garage/TMBNC7NY8SF105227/odometer
climater: #climater:
source: mqtt #source: mqtt
topic: carconnectivity/0/garage/TMBNC7NY8SF105227/climatization/binarystate #topic: carconnectivity/0/garage/TMBNC7NY8SF105227/climatization/binarystate
limitsoc: #limitsoc:
source: mqtt #source: mqtt
topic: carconnectivity/0/garage/TMBNC7NY8SF105227/charging/settings/target_level #topic: carconnectivity/0/garage/TMBNC7NY8SF105227/charging/settings/target_level
status: #status:
source: mqtt #source: mqtt
topic: carconnectivity/0/garage/TMBNC7NY8SF105227/charging/state #topic: carconnectivity/0/garage/TMBNC7NY8SF105227/charging/state
chargers: chargers:
- name: wallbox #- name: wallbox
type: easee #type: easee
user: simon+easee@milvert.com #user: simon+easee@milvert.com
password: X7#aEzjlEysBgl #password: X7#aEzjlEysBgl
charger: EHCNF485 #charger: EHCNF485
circuits: circuits:
- name: main # if there is only one circuit defined the name needs to be 'main' #- name: main # if there is only one circuit defined the name needs to be 'main'
title: 'main circuit' # name for the UI (not implemented in UI yet) #title: 'main circuit' # name for the UI (not implemented in UI yet)
maxCurrent: 20 #maxCurrent: 20
maxPower: 10000 #maxPower: 10000
meter: my_grid # optiona #meter: my_grid # optiona
loadpoints: loadpoints:
- title: Garage #- title: Garage
charger: wallbox # charger: wallbox
vehicle: skoda_car #vehicle: skoda_car
circuit: main #circuit: main
mode: pv #mode: pv
enable: #enable:
threshold: 0 #threshold: 0
delay: 15s #delay: 15s
disable: #disable:
threshold: 500 #threshold: 500
delay: #delay:
2m #2m
site: #site:
title: Hemma #title: Hemma
meters: #meters:
pv: #pv:
- pv #- pv
grid: my_grid #grid:
#- my_grid
meters: #meters:
- name: pv #- name: pv
type: custom #type: custom
power: #power:
source: mqtt #source: mqtt
topic: inverter/measure/active_power #topic: inverter/measure/active_power
# jq: .value # jq: .value
energy: #energy:
source: mqtt #source: mqtt
topic: inverter/calculated/accumulated_yield_energy #topic: inverter/calculated/accumulated_yield_energy
timeout: 60s #timeout: 60s
currents: #currents:
- source: mqtt #- source: mqtt
topic: inverter/measure/phase_A_current #topic: inverter/measure/phase_A_current
timeout: 60s #timeout: 60s
# jq: .value # jq: .value
- source: mqtt #- source: mqtt
topic: inverter/measure/phase_B_current #topic: inverter/measure/phase_B_current
timeout: 60s #timeout: 60s
# jq: .value # jq: .value
- source: mqtt #- source: mqtt
topic: inverter/measure/phase_C_current #topic: inverter/measure/phase_C_current
timeout: 60s #timeout: 60s
- name: my_grid #- name: my_grid
type: custom #type: custom
power: #power:
source: calc #source: calc
add: #add:
- source: mqtt #- source: mqtt
topic: dsmr/reading/electricity_currently_returned #topic: dsmr/reading/electricity_currently_returned
scale: -1000 #scale: -1000
timeout: 30s #timeout: 30s
- source: mqtt #- source: mqtt
topic: dsmr/reading/electricity_currently_delivered #topic: dsmr/reading/electricity_currently_delivered
scale: 1000 #scale: 1000
timeout: 30s #timeout: 30s
energy: #energy:
source: calc #source: calc
add: #add:
- source: mqtt #- source: mqtt
topic: dsmr/reading/electricity_returned_1 #topic: dsmr/reading/electricity_returned_1
scale: 0.001 #scale: 0.001
timeout: 30s #timeout: 30s
- source: mqtt #- source: mqtt
topic: dsmr/reading/electricity_delivered_1 #topic: dsmr/reading/electricity_delivered_1
scale: -0.001 #scale: -0.001
timeout: 30s #timeout: 30s
currents: #currents:
- source: mqtt #- source: mqtt
topic: dsmr/reading/phase_power_current_l1 #topic: dsmr/reading/phase_power_current_l1
timeout: 30s #timeout: 30s
- source: mqtt #- source: mqtt
topic: dsmr/reading/phase_power_current_l2 #topic: dsmr/reading/phase_power_current_l2
timeout: 30s #timeout: 30s
- source: mqtt #- source: mqtt
topic: dsmr/reading/phase_power_current_l1 #topic: dsmr/reading/phase_power_current_l1
timeout: 30s #timeout: 30s
influx: influx:
@ -162,3 +163,8 @@ mqtt:
user: simon user: simon
password: bajsa123 password: bajsa123
topic: evcc topic: evcc
network:
host: 0.0.0.0
port: 7070
externalUrl: https://box.milvert.com

Binary file not shown.

23
ha/config/.gitignore vendored Normal file
View File

@ -0,0 +1,23 @@
# Gitignore settings for HA
# This is an example and may include too much for your use-case.
# You can modify this file to suit your needs.
/.cloud
/.storage
/backups
/tts
*.db*
*.log*
*.pyc
**/.config-db
custom_components/bambu_lab
custom_components/battery_notes
custom_components/edge_tts
custom_components/evcc_intg
custom_components/fontawesome
custom_components/hacs
custom_components/nordpool_git_repo
custom_components/plant
custom_components/pollenprognos
www/community

17
ha/config/Elpris.yaml Normal file
View File

@ -0,0 +1,17 @@
sensor:
- platform: nordpool
region: "SE3"
currency: "SEK"
VAT: false # Vi sätter false här för att styra momsen exakt som i din Python-kod!
name: "Nordpool Köppris Med Avgifter"
# (Spotpris + överföring + skatt + påslag + certifikat) * 1.25 moms
additional_costs: "{{ ((current_price + 0.3120 + 0.4390 + 0.07 + 0.014) * 1.25) - current_price }}"
- platform: nordpool
region: "SE3"
currency: "SEK"
VAT: false
name: "Nordpool Säljpris Med Nätnytta"
# Spotpris + nätnytta (ingen moms på export)
additional_costs: "{{ 0.132 }}"

View File

@ -172,17 +172,18 @@
mode: single mode: single
- id: '1709494545609' - id: '1709494545609'
alias: växtlampa schema alias: växtlampa schema
trigger: description: ''
- platform: template triggers:
value_template: '{{ now().hour == 7 }}' - value_template: '{{ now().hour == 9 }}'
id: 'on' id: 'on'
- platform: template trigger: template
value_template: '{{ (now().hour, now().minute) == (21,30) }}' - value_template: '{{ (now().hour, now().minute) == (21,30) }}'
id: 'off' id: 'off'
action: trigger: template
- service: light.turn_{{ trigger.id }} actions:
target: - target:
entity_id: light.vaxtlampa label_id: blomma
action: homeassistant.turn_{{ trigger.id }}
- id: '1713552723716' - id: '1713552723716'
alias: Automation_oscar_skrivbord alias: Automation_oscar_skrivbord
description: '' description: ''
@ -333,17 +334,27 @@
action: scene.turn_on action: scene.turn_on
mode: single mode: single
- id: '1725646259613' - id: '1725646259613'
alias: Kök på 5 min alias: Kök släck efter 5 min utan rörelse
description: '' description: ''
trigger: triggers:
- platform: state - entity_id:
entity_id: - binary_sensor.sensor_inne_kitchen_mt004_occupancy
- light.kok_ct to:
to: 'on' - 'on'
condition: [] trigger: state
action: conditions: []
- entity_id: script.kok_ct_timer_2 actions:
action: script.turn_on - wait_for_trigger:
- entity_id: binary_sensor.sensor_inne_kitchen_mt004_occupancy
to: 'off'
trigger: state
- delay: 00:05:00
- condition: state
entity_id: binary_sensor.sensor_inne_kitchen_mt004_occupancy
state: 'off'
- target:
entity_id: light.kok_ct
action: light.turn_off
mode: restart mode: restart
- id: '1729969302596' - id: '1729969302596'
alias: Tänd och släck vrum upp vid helgmorgon alias: Tänd och släck vrum upp vid helgmorgon
@ -753,3 +764,52 @@
media_content_type: playlist media_content_type: playlist
tag_id: '{{ trigger.event.data.tag_id }}' tag_id: '{{ trigger.event.data.tag_id }}'
current: '{{ TAGS.get(tag_id) }}' current: '{{ TAGS.get(tag_id) }}'
- id: '1762201785091'
description: Lås elroq efter 5 min
triggers:
- trigger: state
entity_id:
- sensor.elroq_vehicle_state
for:
hours: 0
minutes: 30
seconds: 0
to: parked
conditions: []
actions:
- action: lock.lock
metadata: {}
data: {}
target:
entity_id: lock.elroq_lock_unlock
mode: single
- id: '1763930495328'
alias: Jul belysning 2025
description: ''
triggers:
- value_template: '{{ now().hour >= 16 }}'
id: 'on'
trigger: template
- value_template: '{{ (now().hour) == 8 }}'
id: 'off'
trigger: template
actions:
- target:
label_id: jul
action: homeassistant.turn_{{ trigger.id }}
- id: '1777316920776'
alias: Vattna_notis
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.h034s_soil_moisture
below: 19.9
conditions: []
actions:
- action: notify.mobile_app_simon_mobil
metadata: {}
data:
title: "Dags att vattna! \U0001F331"
message: Fuktnivån är nu nere på {{ states('sensor.h034s_soil_moisture') }}%.
mode: single

View File

@ -10,26 +10,14 @@ frontend:
automation: !include automations.yaml automation: !include automations.yaml
script: !include scripts.yaml script: !include scripts.yaml
scene: !include scenes.yaml scene: !include scenes.yaml
command_line: !include sensor.yaml command_line: !include sensor.yaml
battery_notes: input_select: !include_dir_merge_named input_select # States såsom house/pople etc
#lovelace:
# mode: storage
# resources:
# - url: /local/week-planner-card_2.js
# type: module
# dashboards:
# dash-general:
# mode: yaml
# filename: dashboards/default.yaml
# title: Overview
# icon: mdi:tools
# show_in_sidebar: true
# require_admin: false
tts: tts:
- platform: edge_tts - platform: edge_tts
@ -41,14 +29,6 @@ input_text:
tts_syntesiser: tts_syntesiser:
name: TTS-til-Google name: TTS-til-Google
proximity:
home_jaffa:
zone: home
devices:
- device_tracker.jaffa_location
tolerance: 5
unit_of_measurement: km
homeassistant: homeassistant:
internal_url: http://10.0.0.203:8123 internal_url: http://10.0.0.203:8123
external_url: https://ha.milvert.com external_url: https://ha.milvert.com
@ -77,15 +57,6 @@ sonos:
logger: logger:
default: error default: error
#logs:
#homeassistant.components.command_line: debug
#adax: debug
#custom_components.adax: debug
#homeassistant.components.adax: debug
# rflink: error
# homeassistant.components.rflink: debug
http: http:
use_x_forwarded_for: true use_x_forwarded_for: true
@ -93,6 +64,7 @@ http:
login_attempts_threshold: 5 login_attempts_threshold: 5
trusted_proxies: trusted_proxies:
- 10.0.0.223 - 10.0.0.223
- 172.20.0.0/16
- 172.19.0.0/24 - 172.19.0.0/24
template: template:

View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--!Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2024 Fonticons, Inc.--><path d="M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75l-8.7 0-32 0-96 0c-35.3 0-64 28.7-64 64l0 96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32l64 0c17.7 0 32-14.3 32-32l0-128 8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6l0-147.6c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4L480 32zm-64 76.7L416 240l0 131.3C357.2 317.8 280.5 288 200.7 288l-8.7 0 0-96 8.7 0c79.8 0 156.5-29.8 215.3-83.3z"/></svg>

After

Width:  |  Height:  |  Size: 688 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 121 KiB

File diff suppressed because it is too large Load Diff

22
ha/config/files/week.json Normal file
View File

@ -0,0 +1,22 @@
{
"monday": {
"simon": "jobbet",
"sandra": "hemma"
},
"tuesday": {
"simon": "hemma",
"sandra": "jobbet"
},
"wednesday": {
"simon": "jobbet",
"sandra": "jobbet"
},
"thursday": {
"simon": "hemma",
"sandra": "hemma"
},
"friday": {
"simon": "jobbet",
"sandra": "hemma"
}
}

View File

@ -0,0 +1,3 @@
{"temperature": 22, "humidity": 36}
{"temperature": 23, "humidity": 36}
{"temperature": 25, "humidity": 36}

View File

@ -1,17 +0,0 @@
jaffa_location:
hide_if_away: false
icon: mdi:car
mac: ff:ff:ff:ff:f1
name: Jaffa
picture: https://ibb.co/nbXgmH3
track: true
unique_id: unique_id_jaffa_location
jaffa_location:
name: jaffa_location
mac:
icon:
picture:
track: true

View File

@ -0,0 +1,15 @@
automation:
- id: arbetsrum_släck_17_simon_hemma
alias: Arbetsrum släck liten gul lampa 17:00 när Simon jobbar hemma
trigger:
- platform: time
at: "17:00:00"
condition:
- condition: state
entity_id: input_select.simon_work_state
state: "Hemma"
action:
- service: light.turn_off
target:
entity_id: light.arum_gullampa
mode: single

View File

@ -0,0 +1,23 @@
template:
- sensor:
- name: "Nordpool Köppris Med Avgifter"
unique_id: "nordpool_koppris_med_avgifter_2026"
unit_of_measurement: "SEK/kWh"
device_class: monetary
state: >
{% set spot = states('sensor.nordpool_kwh_se3_sek_3_10_0') | float(0) %}
{% set overforing = 0.3120 %}
{% set energiskatt = 0.4390 %}
{% set spotpaslag = 0.07 %}
{% set elcertifikat = 0.014 %}
{{ ((spot + overforing + energiskatt + spotpaslag + elcertifikat) * 1.25) | round(3) }}
- name: "Nordpool Säljpris Med Nätnytta"
unique_id: "nordpool_saljpris_med_natnytta_2026"
unit_of_measurement: "SEK/kWh"
device_class: monetary
state: >
{% set spot = states('sensor.nordpool_kwh_se3_sek_3_10_0') | float(0) %}
{% set natnytta = 0.132 %}
{{ (spot + natnytta) | round(3) }}

View File

@ -0,0 +1,38 @@
# Package: Vardagsrum - Kamin
template:
- binary_sensor:
- name: "Vardagsrum kamin igång"
unique_id: vardagsrum_kamin_igang
state: >
{{ states('sensor_inne_kamin_th017_temperature') | float(0) > 23 }}
delay_on:
minutes: 5
delay_off:
minutes: 30
icon: >
{% if is_state('binary_sensor.vardagsrum_kamin_igang', 'on') %}
mdi:fire
{% else %}
mdi:fireplace-off
{% endif %}
counter:
vardagsrum_kamin_eldningar:
name: "Vardagsrum: Antal eldningar"
icon: mdi:counter
step: 1
automation:
- id: vardagsrum_rakna_eldning
alias: "Vardagsrum: Räkna eldning"
mode: single
trigger:
- platform: state
entity_id: binary_sensor.vardagsrum_kamin_igang
from: "off"
to: "on"
action:
- service: counter.increment
target:
entity_id: counter.vardagsrum_kamin_eldningar

View File

@ -14,14 +14,6 @@
effect: effect:
color_mode: color_mode:
brightness: brightness:
last_seen: '2023-12-16T12:43:47.097Z'
linkquality: 36
power_on_behavior:
update:
installed_version: 587806257
latest_version: 587806257
state: idle
update_available: false
friendly_name: Matrum_tak friendly_name: Matrum_tak
supported_features: 44 supported_features: 44
state: 'off' state: 'off'
@ -49,11 +41,11 @@
- 69.357 - 69.357
rgb_color: rgb_color:
- 255 - 255
- 162 - 163
- 78 - 78
xy_color: xy_color:
- 0.538 - 0.536
- 0.388 - 0.389
friendly_name: matrum_fönster_2 friendly_name: matrum_fönster_2
supported_features: 44 supported_features: 44
state: 'on' state: 'on'
@ -159,9 +151,6 @@
hs_color: hs_color:
rgb_color: rgb_color:
xy_color: xy_color:
color:
x: 0.4599
y: 0.4106
friendly_name: Kök tak friendly_name: Kök tak
supported_features: 44 supported_features: 44
state: 'off' state: 'off'
@ -219,11 +208,19 @@
- stop_effect - stop_effect
supported_color_modes: supported_color_modes:
- brightness - brightness
effect:
color_mode:
brightness:
friendly_name: Vrum fönster friendly_name: Vrum fönster
supported_features: 44 supported_features: 44
effect: state: 'off'
light.nodeid_23_nodeid_23_dimmer:
supported_color_modes:
- brightness
color_mode: brightness color_mode: brightness
brightness: 143 brightness: 144
friendly_name: Egen
supported_features: 0
state: 'on' state: 'on'
icon: mdi:lightbulb-night icon: mdi:lightbulb-night
metadata: metadata:
@ -255,6 +252,8 @@
entity_only: true entity_only: true
light.h020l: light.h020l:
entity_only: true entity_only: true
light.nodeid_23_nodeid_23_dimmer:
entity_only: true
- id: '1698441557226' - id: '1698441557226'
name: Natt name: Natt
entities: entities:
@ -673,7 +672,7 @@
entities: entities:
switch.h016s: switch.h016s:
friendly_name: UteSlinga friendly_name: UteSlinga
state: 'off' state: 'on'
light.h018l: light.h018l:
effect_list: effect_list:
- blink - blink
@ -690,11 +689,6 @@
friendly_name: Garage_sida friendly_name: Garage_sida
supported_features: 44 supported_features: 44
state: 'on' state: 'on'
switch.utebaksida_brytare:
restored: true
friendly_name: Utebaksida brytare
supported_features: 0
state: unavailable
light.baksida_spot_ute: light.baksida_spot_ute:
min_color_temp_kelvin: 2000 min_color_temp_kelvin: 2000
max_color_temp_kelvin: 6535 max_color_temp_kelvin: 6535
@ -772,8 +766,8 @@
supported_features: 44 supported_features: 44
state: 'on' state: 'on'
switch.h024s: switch.h024s:
friendly_name: Framsida slingor friendly_name: Garage slinga
state: 'off' state: 'on'
switch.h023s: switch.h023s:
friendly_name: Ute baksida friendly_name: Ute baksida
state: 'on' state: 'on'
@ -786,8 +780,6 @@
entity_only: true entity_only: true
light.h018l: light.h018l:
entity_only: true entity_only: true
switch.utebaksida_brytare:
entity_only: true
light.baksida_spot_ute: light.baksida_spot_ute:
entity_only: true entity_only: true
light.h013s: light.h013s:

View File

@ -24,29 +24,6 @@ talk_on_oscar:
media_player: media_player:
- media_player.oscar - media_player.oscar
icon: mdi:speaker-message icon: mdi:speaker-message
kok_ct_timer_2:
alias: kok_ct_timer_2
sequence:
- action: timer.start
metadata: {}
data: {}
target:
entity_id: timer.kokct
- wait_template: '"{{ state.binary_sensor.sensor_inne_kitchen_mt004_occupancy.state
== ''on'' }}"'
continue_on_timeout: true
timeout: 00:05:00
- action: timer.cancel
metadata: {}
data: {}
target:
entity_id: timer.kokct
- action: light.turn_off
metadata: {}
data: {}
target:
entity_id: light.kok_ct
description: ''
test: test:
alias: Test alias: Test
sequence: sequence:
@ -329,3 +306,13 @@ nfc_playbox_volume_down:
mode: restart mode: restart
icon: mdi:spotify icon: mdi:spotify
description: '' description: ''
talk_on_ada:
alias: talk_on_ada
use_blueprint:
path: balloob/announce-text-to-speech-on-media-player.yaml
input:
text_to_speech_engine: tts.google_sv_se
media_player:
- media_player.ada
icon: mdi:speaker-message
description: ''

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 852 KiB

File diff suppressed because one or more lines are too long

1
ha/zwave-config/.gitignore vendored Executable file
View File

@ -0,0 +1 @@
.config-db

View File

@ -0,0 +1,19 @@
#!/bin/bash
# This script will quickly and easily swap between two different configurations so that access to configuration
# options can be easily turned on or off, this can help to protect against unauthorised setting changes.
STR=$(cat access.ini | head -n1| cut -c4)
GOOD=$(cat access_yes)
BAD=$(cat access_no)
echo $STR
if [ $STR = 0 ]
then
echo -e "\x1B[31m Access Opened \x1B[0m"
echo "$GOOD" > access.ini
else
echo -e "\x1B[32m Access Closed \x1B[0m"
echo "$BAD" > access.ini
fi

View File

@ -0,0 +1,23 @@
;; 1
;; ruTorrent permissions.
;; All flags are assumed to be yes by default.
[settings]
showDownloadsPage = yes
showConnectionPage = yes
showBittorentPage = yes
showAdvancedPage = yes
[tabs]
showPluginsTab = yes
[statusbar]
canChangeULRate = yes
canChangeDLRate = yes
[dialogs]
canChangeTorrentProperties = yes
canAddTorrentsWithoutPath = yes
canAddTorrentsWithoutStarting = yes
canAddTorrentsWithResume = yes
canAddTorrentsWithRandomizeHash = yes

View File

@ -0,0 +1,23 @@
;; 0
;; ruTorrent permissions.
;; All flags are assumed to be yes by default.
[settings]
showDownloadsPage = no
showConnectionPage = no
showBittorentPage = no
showAdvancedPage = no
[tabs]
showPluginsTab = no
[statusbar]
canChangeULRate = no
canChangeDLRate = no
[dialogs]
canChangeTorrentProperties = no
canAddTorrentsWithoutPath = no
canAddTorrentsWithoutStarting = no
canAddTorrentsWithResume = no
canAddTorrentsWithRandomizeHash = no

View File

@ -0,0 +1,23 @@
;; 1
;; ruTorrent permissions.
;; All flags are assumed to be yes by default.
[settings]
showDownloadsPage = yes
showConnectionPage = yes
showBittorentPage = yes
showAdvancedPage = yes
[tabs]
showPluginsTab = yes
[statusbar]
canChangeULRate = yes
canChangeDLRate = yes
[dialogs]
canChangeTorrentProperties = yes
canAddTorrentsWithoutPath = yes
canAddTorrentsWithoutStarting = yes
canAddTorrentsWithResume = yes
canAddTorrentsWithRandomizeHash = yes

View File

@ -0,0 +1,73 @@
<?php
// configuration parameters
// for snoopy client
@define('HTTP_USER_AGENT', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36', true);
@define('HTTP_TIME_OUT', 30, true); // in seconds
@define('HTTP_USE_GZIP', true, true);
$httpIP = null; // IP string. Or null for any.
$httpProxy = array
(
'use' => false,
'proto' => 'http', // 'http' or 'https'
'host' => 'PROXY_HOST_HERE',
'port' => 3128
);
@define('RPC_TIME_OUT', 5, true); // in seconds
@define('LOG_RPC_CALLS', false, true);
@define('LOG_RPC_FAULTS', true, true);
// for php
@define('PHP_USE_GZIP', false, true);
@define('PHP_GZIP_LEVEL', 2, true);
$schedule_rand = 10; // rand for schedulers start, +0..X seconds
$do_diagnostic = true;
$log_file = '/config/log/rutorrent/rutorrent.log'; // path to log file (comment or leave blank to disable logging)
$saveUploadedTorrents = true; // Save uploaded torrents to profile/torrents directory or not
$overwriteUploadedTorrents = false; // Overwrite existing uploaded torrents in profile/torrents directory or make unique name
$topDirectory = '/'; // Upper available directory. Absolute path with trail slash.
$forbidUserSettings = false;
// $scgi_port = 5000;
// $scgi_host = "127.0.0.1";
// For web->rtorrent link through unix domain socket
// (scgi_local in rtorrent conf file), change variables
// above to something like this:
//
$scgi_port = 0;
$scgi_host = "unix:////run/php/.rtorrent.sock";
$XMLRPCMountPoint = "/RPC2"; // DO NOT DELETE THIS LINE!!! DO NOT COMMENT THIS LINE!!!
$pathToExternals = array(
"php" => '/usr/bin/php7', // Something like /usr/bin/php. If empty, will be found in PATH.
"pgrep" => '/usr/bin/pgrep', // Something like /usr/bin/pgrep. If empty, will be found in PATH.
"python" => '/usr/bin/python3', // Something like /usr/bin/python3. If empty, will be found in PATH.
"curl" => '/usr/bin/curl', // Something like /usr/bin/curl. If empty, will be found in PATH.
"gzip" => '/usr/bin/gzip', // Something like /usr/bin/gzip. If empty, will be found in PATH.
"id" => '/usr/bin/id', // Something like /usr/bin/id. If empty, will be found in PATH.
"stat" => '/bin/stat', // Something like /usr/bin/stat. If empty, will be found in PATH.
);
$localhosts = array( // list of local interfaces
"127.0.0.1",
"localhost",
);
$profilePath = '/config/rutorrent/profiles'; // Path to user profiles
$profileMask = 0777; // Mask for files and directory creation in user profiles.
// Both Webserver and rtorrent users must have read-write access to it.
// For example, if Webserver and rtorrent users are in the same group then the value may be 0770.
$tempDirectory = '/config/rutorrent/profiles/tmp/'; // Temp directory. Absolute path with trail slash. If null, then autodetect will be used.
$canUseXSendFile = true; // Use X-Sendfile feature if it exist
$locale = "UTF8";

View File

@ -0,0 +1,27 @@
;; Plugins' permissions.
;; If flag is not found in plugin section, corresponding flag from "default" section is used.
;; If flag is not found in "default" section, it is assumed to be "yes".
;;
;; For setting individual plugin permissions you must write something like that:
;;
;; [ratio]
;; enabled = yes ;; also may be "user-defined", in this case user can control plugin's state from UI
;; canChangeToolbar = yes
;; canChangeMenu = yes
;; canChangeOptions = no
;; canChangeTabs = yes
;; canChangeColumns = yes
;; canChangeStatusBar = yes
;; canChangeCategory = yes
;; canBeShutdowned = yes
[default]
enabled = user-defined
canChangeToolbar = yes
canChangeMenu = yes
canChangeOptions = yes
canChangeTabs = yes
canChangeColumns = yes
canChangeStatusBar = yes
canChangeCategory = yes
canBeShutdowned = yes

View File

@ -1,7 +1,7 @@
api: api:
dashboard: true dashboard: true
debug: true debug: true
insecure: true insecure: false
providers: providers:
docker: docker:
@ -25,9 +25,22 @@ accessLog:
statusCodes: statusCodes:
- "200" - "200"
- "300-302" - "300-302"
- "500" - "400-599"
retryAttempts: true retryAttempts: true
minDuration: "10ms" minDuration: "10ms"
fields:
defaultMode: keep
names:
RequestPath: drop
RequestLine: drop
ClientUsername: drop
headers:
defaultMode: drop
names:
Authorization: drop
Cookie: drop
Set-Cookie: drop
X-Forwarded-For: keep
#metrics: #metrics:
#influxDB: #influxDB:

View File

@ -35,7 +35,7 @@ http:
ipAllowList: ipAllowList:
sourceRange: sourceRange:
- "127.0.0.1/32" - "127.0.0.1/32"
- "10.0.0.1/8" - "10.0.0.0/8"
middlewares-https-redirectscheme: middlewares-https-redirectscheme:
redirectScheme: redirectScheme:

View File

@ -46,7 +46,7 @@ http:
- chain-authelia - chain-authelia
redirecttohttps: redirecttohttps:
rule: "HostRegexp(`{host:.+}`)" rule: "PathPrefix(`/`)"
middlewares: middlewares:
- middlewares-https-redirectscheme - middlewares-https-redirectscheme
service: noop service: noop

1
vwfriend_grafana/.gitignore vendored Executable file
View File

@ -0,0 +1 @@
data

View File

@ -47,8 +47,6 @@ devices:
'0x001788010452ec91': '0x001788010452ec91':
friendly_name: Philips Lily 4 friendly_name: Philips Lily 4
retain: false retain: false
'0x14b457fffe6d87e8':
friendly_name: Kök_Multidimmer
'0x086bd7fffe5a6240': '0x086bd7fffe5a6240':
friendly_name: Kök 1 friendly_name: Kök 1
'0xd0cf5efffed8c794': '0xd0cf5efffed8c794':
@ -93,6 +91,10 @@ devices:
friendly_name: '0x00124b002a51c5f1' friendly_name: '0x00124b002a51c5f1'
'0x00158d000484f134': '0x00158d000484f134':
friendly_name: sensor/inne/ada/th002 friendly_name: sensor/inne/ada/th002
'0x000d6ffffe61e2f8':
friendly_name: Kök_dimmer_2
'0x000b57fffe8abe13':
friendly_name: Jul - stjärna 4
groups: groups:
'1': '1':
friendly_name: Kök_ct friendly_name: Kök_ct
@ -105,4 +107,8 @@ groups:
retain: false retain: false
'4': '4':
friendly_name: baksida_spot_ute friendly_name: baksida_spot_ute
version: 4 '44386':
friendly_name: '44386'
'57338':
friendly_name: '57338'
version: 5

View File

@ -84,7 +84,7 @@ devices:
'0x680ae2fffe6d374c': '0x680ae2fffe6d374c':
friendly_name: Kök_svart_2 friendly_name: Kök_svart_2
'0x086bd7fffe05e8ad': '0x086bd7fffe05e8ad':
friendly_name: Julstjärna röd friendly_name: Jul - stjärna 3
'0xb4e3f9fffe6c3642': '0xb4e3f9fffe6c3642':
friendly_name: Växtlampa friendly_name: Växtlampa
'0x54ef4410003e9419': '0x54ef4410003e9419':
@ -107,7 +107,7 @@ devices:
'0xb4e3f9fffec8b2bb': '0xb4e3f9fffec8b2bb':
friendly_name: Oscar Skrivbord friendly_name: Oscar Skrivbord
'0x385b44fffe1cb234': '0x385b44fffe1cb234':
friendly_name: Ute_garage_slinga friendly_name: H032S
'0x1c34f1fffe7b1d6c': '0x1c34f1fffe7b1d6c':
friendly_name: mormor_malla_1 friendly_name: mormor_malla_1
'0x1c34f1fffed69863': '0x1c34f1fffed69863':
@ -207,9 +207,6 @@ devices:
'0x588e81fffe14100f': '0x588e81fffe14100f':
friendly_name: H018L friendly_name: H018L
description: Ute soptunna description: Ute soptunna
'0x00158d00058a2ad5':
friendly_name: sensor/ute/vind/th007
description: Temp vind
'0x00158d0005888dfa': '0x00158d0005888dfa':
friendly_name: H017S friendly_name: H017S
description: Växthus description: Växthus
@ -226,13 +223,36 @@ devices:
description: 'Baksida ' description: 'Baksida '
'0xa4c138743401b4ed': '0xa4c138743401b4ed':
friendly_name: H024S friendly_name: H024S
description: Julslinga description: 'Garage sida '
'0x5c0272fffe8ab0ce': '0x5c0272fffe8ab0ce':
friendly_name: H025L friendly_name: H025L
description: Garage inne description: Garage inne
'0x00158d00058a2ad5':
friendly_name: sensor/ute/vind/th007
description: Temp vind
'0x0c2a6ffffe27eb85':
friendly_name: H026L
description: Spot framsida 2
'0x0c2a6ffffe27e999':
friendly_name: H027L
description: Spot framsida 3
'0xa46dd4fffe3000d5':
friendly_name: H028s
description: Temp oscar
temperature_precision: 2
'0x8c8b48fffec70f78':
friendly_name: Jul - stjärna 2
'0xbc8d7efffe33627d':
friendly_name: h029
'0x94a081fffef4b1c9':
friendly_name: h030r
'0xf4ce364abf76dbac': '0xf4ce364abf76dbac':
friendly_name: h014s friendly_name: H014S
description: Lås '0xa4c138986ee26ddd':
friendly_name: H033S
'0xa4c1382931eb162b':
friendly_name: H034S
description: Framsida, jord
groups: groups:
'0': '0':
friendly_name: default_0 friendly_name: default_0
@ -252,4 +272,4 @@ homeassistant:
enabled: true enabled: true
experimental_event_entities: true experimental_event_entities: true
status_topic: homeassistant/status status_topic: homeassistant/status
version: 4 version: 5