Files
HomeAssistant/configuration.yaml
2026-02-04 15:06:26 +01:00

577 lines
18 KiB
YAML
Executable File

# Loads default set of integrations. Do not remove.
default_config:
# Load frontend themes from the themes folder
frontend:
themes: !include_dir_merge_named themes
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
homeassistant:
customize: !include customize.yaml
auth_mfa_modules:
- type: totp
api:
#---------------------------------------------
####### Systemeinstellungen #######
#---------------------------------------------
recorder: !include recorder.yaml
#influxdb: !include influxdb.yaml
logger: !include logger.yaml
history:
prometheus: !include prometheus.yaml
#---------------------------------------------
####### Inaktive Integrationen #######
#---------------------------------------------
#ffmpeg:
#---------------------------------------------
####### Gotify und Webhook #######
#---------------------------------------------
notify:
- name: "Gotify"
platform: gotify
url: http://192.168.178.183:9085
token: AI_Iq09hVaRF_P0
# - platform: rest
# name: ntfy
# resource: https://ntfy-app.hanold.online
# method: POST
# headers:
# Authorization: cNTc7XU2nYsKXH
# Priority: "{{ priority_default|default('3') }}"
# Title: "{{ title_default|default('Home Assistant') }}"
# Tags: "{{ tags_default|default('bell') }}"
# message_param_name: message
#-------------------------------------------
http:
use_x_forwarded_for: true
ip_ban_enabled: false
trusted_proxies:
- 192.168.178.0/24
- 127.0.0.1
- 172.30.33.0/24
#-------------------------------------------
rest_command:
webhook_n8n:
url: "http://192.168.178.183:9789/webhook/16df2ae3-ec33-497d-8186-99d857363c62"
method: post
content_type: "application/json"
payload: >
{
"entity": "{{ trigger.entity_id if trigger is defined else 'manual' }}",
"state": "{{ states('sensor.irgendwas') }}",
"custom_string": "{{ custom_string }}"
}
#------------------------------------------
####### Templates #####
#------------------------------------------
template:
- sensor:
# Nachkommastellen in der elektrischen Reichweite entfernen
- name: "Electric Range ohne Nachkommastellen"
state: "{{ states('sensor.id_4_electric_range') | float | int }}"
unit_of_measurement: "km"
# Ladezeit in Stunden und Minuten aufteilen
- name: "id.4 Ladezeit Stunden"
icon: mdi:clock
unit_of_measurement: "h"
state: "{{ (states('sensor.id_4_charging_time_left') | int // 60) }}"
- name: "id.4 Ladezeit Minuten"
icon: mdi:clock
unit_of_measurement: "min"
state: "{{ (states('sensor.id_4_charging_time_left') | int % 60) }}"
#-------------------------------------------
####### Aktive Integrationen #######
#-------------------------------------------
# ZHA Einstellungen
zha:
zigpy_config:
ota:
otau_directory: /config/zigpy_ota/
# z2m_remote_index: https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json
providers:
- type: ikea
- type: sonoff
extra-providers:
- type: zigpy # The `zigpy` provider type requires a URL that points to an OTA index file
url: https://raw.githubusercontent.com/Koenkk/zigbee-OTA/master/index.json
innr_provider: true
# enable_quirks: true
# custom_quirks_path: /config/zigpy_quirks/
device_config:
# Heizlüfter
2d:49:05:60:2b:d5:b3:70-1:
type: "switch"
70:b3:d5:2b:60:07:83:bd-1:
type: "switch"
# Panel Custom
panel_custom:
- name: panel_automations
sidebar_title: 'Automatisierungen'
sidebar_icon: mdi:restart
url_path: 'config/automation/dashboard'
module_url: /api/hassio/app/entrypoint.js
embed_iframe: true
require_admin: true
- name: panel_integrations
sidebar_title: 'Integrationen'
sidebar_icon: mdi:all-inclusive-box-outline
url_path: 'config/integrations/dashboard'
module_url: /api/hassio/app/entrypoint.js
embed_iframe: true
require_admin: true
- name: addons
sidebar_title: Addons
sidebar_icon: mdi:cog-transfer
js_url: /api/hassio/app/entrypoint.js
url_path: "hassio/dashboard"
embed_iframe: true
require_admin: true
config:
ingress: core_configurator
- name: logs
sidebar_title: Logs
sidebar_icon: mdi:post
js_url: /api/hassio/app/entrypoint.js
url_path: "config/logs"
embed_iframe: true
require_admin: true
config:
ingress: core_configurator
# Adaptive Lighting
# Die Außenlampen habe ich rausgenommen, weil die dann zu hell werden
adaptive_lighting:
name: "Standard"
max_brightness: 90
min_brightness: 3
max_color_temp: 4750
lights:
# Büro
- light.burolampe_licht
# Flur
- light.bambus_licht
- light.treppe_licht
- light.empore
- light.gruppewohnzimmer_no_name_group_0x0002 #Gruppe Diele
- light.diele_1_licht
- light.diele_2_licht
- light.diele_3_licht
- light.gruppeflurlampen_deckenlampen_wohnzimmer
# Charlotte
- light.deckenlampe_charlotte_licht
- light.blume_licht
- light.mond_licht
- light.charlotte_mond_und_blume
- light.smart_rgb_bulb_2304040739043352050248e1e9c33fdb_none #schreibtisch
# Greta
- light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_400lm_licht #Greta Blume
- light.deckenlampe_greta_licht
- light.kafer_licht
- light.schreibtischlampe_licht
# Wohnzimmer
- light.esstisch_licht
- light.leselampe_licht
- light.deckenlampe_wohnzimmer
- light.gruppeflurlampen_deckenlampen_wohnzimmer_zigbee
- light.deckenlampe_wohnzimmer_1_licht
- light.deckenlampe_wohnzimmer_2_licht
- light.deckenlampe_wohnzimmer_3_licht_2
- light.deckenlampe_wohnzimmer_4_licht
- light.deckenlampe_wohnzimmer_5_licht
- light.deckenlampe_wohnzimmer_6_licht
# Küche
- light.kuchenlampe_licht
- light.speisekammer_licht
# Bad
- light.hemnes_licht #Bad
- light.bad_ventilator_licht
- light.badspiegel_licht
- light.deckenlampe_licht #Bad
- light.dusche_licht
- light.gruppeflurlampen_deckewohnzimmerzigbee #Gruppe im Bad
# Schlafzimmer
- light.deckenlampe
- light.nachttisch_sarah
- light.nachttisch_sven
- light.bett_licht
- light.gruppeflurlampen_deckenlampenwohnzimmerzigbee #Gruppe Nachttisch
# Gästebad
- light.deckenlampe_gastebad_licht
# HomeKit
homekit:
- name: "Zigbee HomeKit Bridge"
filter:
include_entities:
# Flur
- light.bambus_licht
- light.treppe_licht
- light.empore
- light.gruppewohnzimmer_no_name_group_0x0002 #Gruppe Diele
- climate.empore
- climate.flur
- switch.lichtschalter_dachboden_switch_0
- binary_sensor.tursensor_haustur_offnung
- binary_sensor.bewegungsmelder_flur
- binary_sensor.bewegungsmelder_flur_bewegung_2
# Garten
- light.terrassenlampen
- light.vordertur
- cover.maestria_io_links
- cover.maestria_io_mitte
- cover.maestria_io_rechts
# Küche
- light.speisekammer_licht
- light.arbeitsplatte
- light.kuchenlampe_licht
- climate.kuche
- climate.speisekammer
- switch.steckdose_dashboard_schalter_2 #Dashboard
- binary_sensor.ewelink_snzb_04_offnung
# Büro
- light.burolampe_licht
- switch.steckdose_computer_schalter
- switch.lichtschalter_buro_switch_0
- climate.buro
- binary_sensor.fenstersensor_buro_offnet
# Schlafzimmer
- light.nachttisch_sarah
- light.nachttisch_sven
- light.gruppeflurlampen_deckenlampenwohnzimmerzigbee #Gruppe Nachttisch
- light.deckenlampe
- light.bett_licht
- input_boolean.luftbefeuchter_schlafzimmer
- input_boolean.deckenventilator_schlafzimmer
- climate.schlafzimmer
- binary_sensor.fenstersensor_lichtband_offnet
- binary_sensor.fenstersensor_fenster_offnung
# Charlotte
- light.deckenlampe_charlotte_licht
- light.charlotte_mond_und_blume
- input_boolean.luftbefeuchter_charlotte
- climate.charlotte
- cover.smart_roller_shutter_2211016207868970080148e1e9aeb29d_shutter #Charlotte Bodentief
- cover.smart_roller_shutter_2211013226379970080248e1e9aed63f_shutter #Charlotte Fenster
- binary_sensor.fenstersensor_bodentiet_offnung
- binary_sensor.fenstersensor_bett_offnung
- light.schreibtischlampe_charlotte_licht
# Greta
- light.schreibtischlampe_licht
- light.deckenlampe_greta_licht
- input_boolean.luftbefeuchter_greta
- climate.greta
- cover.smart_roller_shutter_2211013029100770080248e1e9aed618_shutter #Greta Bodentief
- cover.smart_roller_shutter_2211016056184270080248e1e9aeca39_shutter #Greta Fenster
- binary_sensor.greta_bett_offnung
- binary_sensor.fenstersensor_bodentief_offnung
- switch.lavalampe_greta_schalter
# Bad
- light.bad_ventilator_licht
- light.dusche_licht
- light.badspiegel_licht
- light.hemnes_licht
- light.deckenlampe_licht
- climate.bad
- binary_sensor.fenstersensor_bad_offnet
- binary_sensor.tursensor_bad_offnung
- switch.steckdose_heizlufter
# Wohnzimmer
- light.lowboard_licht
- light.leselampe_licht
- light.gruppeflurlampen_deckenlampen_wohnzimmer_zigbee
- light.esstisch_licht
- light.eckbank_licht_2
- light.hochkommode_licht_2
- light.kamin_licht_2
- light.tischlampe_licht_2
- light.treibholzlampe_leuchte #Treibholzlampe
- light.65oled805_12_ambilight
- light.twinkly_christbaum #Christbaum
- input_boolean.luftbefeuchter_wohnzimmer
- climate.wohnzimmer
- scene.wohnzimmer_abend
- scene.wohnzimmer_hell
- cover.smart_roller_shutter_2303224120884470080248e1e9c1d0a6_shutter #Bodentief
- cover.smart_roller_shutter_2303225934207570080248e1e9c1d829_shutter #Lichtband Esstisch
- cover.smart_roller_shutter_2303223271354370080248e1e9c1e29b_shutter #Lichtband Garage
- cover.smart_roller_shutter_2303220444283070080248e1e9c1d0c1_shutter #Lichtband Garten
- binary_sensor.fenstersensor_terrasse_links_offnet
- binary_sensor.fenstersensor_terrasse_rechts_offnet
- binary_sensor.fenstersensor_lichtband_garage_offnung
# Technikraum
# Garage
# Auto
- climate.id_4_electric_climatisation
# Gästebad
- light.deckenlampe_gastebad_licht
- binary_sensor.tursensor_offnet
- binary_sensor.fenstersensor_gastebad_offnung
- climate.gastebad
entity_config:
light.speisekammer_licht:
name: Speisekammer
switch.lichtschalter_schlafzimmer_switch_0:
type: switch
name: Deckenlampe Schlafzimmer
switch.computer_schalter:
type: outlet
switch.lichtschalter_buro_switch_0:
type: switch
name: Deckenlampe Büro
switch.lichtschalter_dachboden_switch_0:
type: switch
name: Dachboden
switch.steckdose_dashboard_schalter_2:
type: outlet
#-----------------------------------
####### Scripte #######
#-----------------------------------
# Luftbefeuchter steuern
shell_command:
humidifier_wohnzimmer_1: 'sh Luftbefeuchter/wz1.sh'
humidifier_wohnzimmer_4: 'sh Luftbefeuchter/wz4.sh'
# humidifier_wohnzimmer_8: 'sh Luftbefeuchter/wz8.sh'
humidifier_greta_1: 'sh Luftbefeuchter/gr1.sh'
humidifier_greta_4: 'sh Luftbefeuchter/gr4.sh'
# humidifier_greta_8: 'sh Luftbefeuchter/gr8.sh'
humidifier_charlotte_1: 'sh Luftbefeuchter/ch1.sh'
humidifier_charlotte_4: 'sh Luftbefeuchter/ch4.sh'
# humidifier_charlotte_8: 'sh Luftbefeuchter/ch8.sh'
humidifier_schlafzimmer_1: 'sh Luftbefeuchter/sz1.sh'
humidifier_schlafzimmer_4: 'sh Luftbefeuchter/sz4.sh'
# humidifier_schlafzimmer_8: 'sh Luftbefeuchter/sz8.sh'
humidifier_wohnzimmer_on: 'sh Luftbefeuchter/luftbefeuchter.on.sh Wohnzimmer'
humidifier_charlotte_on: 'sh Luftbefeuchter/luftbefeuchter.on.sh Charlotte'
humidifier_schlafzimmer_on: 'sh Luftbefeuchter/luftbefeuchter.on.sh Schlafzimmer'
humidifier_greta_on: 'sh Luftbefeuchter/luftbefeuchter.on.sh Greta'
humidifier_wohnzimmer_off: 'sh Luftbefeuchter/luftbefeuchter.off.sh Wohnzimmer'
humidifier_charlotte_off: 'sh Luftbefeuchter/luftbefeuchter.off.sh Charlotte'
humidifier_schlafzimmer_off: 'sh Luftbefeuchter/luftbefeuchter.off.sh Schlafzimmer'
humidifier_greta_off: 'sh Luftbefeuchter/luftbefeuchter.off.sh Greta'
#-----------------------------------
####### Kalender #######
#-----------------------------------
calendar:
- platform: caldav
url: https://caldav.icloud.com
username: svenhanold@me.com
password: wwnw-smro-tyhm-yiqf
calendars:
- Family
- Sven
counter:
zaehler_rollo_kueche:
name: "Prozent Rollo Küche"
initial: 0
step: 8
climate:
- platform: generic_thermostat
name: Garten
heater: switch.dummy_for_climate_entity #Sonst geht die Entity nicht
target_sensor: sensor.netatmo_aussenmodul_temperatur
# Deprecated - Mit der aktuellen Alpha funktioniert das übers Frontend.
# MFA verhindert, dass das über configuration.yaml klappen kann
#camera:
# - platform: xiaomi_cloud_map_extractor
# host: 192.168.178.246
# token: 4f45594547593339624e6e394466475a
# username: 8294463040
# password: baRecM3ElOQNZaiV
# country: de
# draw: ['all']
# attributes:
# - calibration_points
#-----------------------------------
####### Sensoren #######
#-----------------------------------
#Zählerstände
sensor:
- platform: rest
resource: http://192.168.178.138:8081
value_template: >
{% for i in value_json.data %}
{% if i.uuid == "8d3353b0-1140-11ef-a931-df6ccd247a20" %}
{{ '%.2f'%(i.tuples[0][1]) | float }}
{% endif %}
{% endfor %}
method: GET
name: "zaehler_verbrauch"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- platform: rest
resource: http://192.168.178.138:8081
value_template: >
{% for i in value_json.data %}
{% if i.uuid == "480f7900-1140-11ef-b2bb-dd3e03d1aa11" %}
{{ '%.2f'%(i.tuples[0][1]) | float }}
{% endif %}
{% endfor %}
method: GET
name: "zaehler_einspeisung"
unit_of_measurement: kWh
device_class: energy
state_class: total_increasing
- platform: rest
resource: http://192.168.178.193:8081
value_template: >
{% for i in value_json.data %}
{% if i.uuid == "11c31170-16c8-11f0-9c6e-03bc4e30373d" %}
{{ '%.2f'%(i.tuples[0][1]) | float }}
{% endif %}
{% endfor %}
method: GET
name: "zaehler_waermepumpe"
unit_of_measurement: Wh
device_class: energy
state_class: total_increasing
# Standard-VZ-Integration
- platform: volkszaehler
# uuid: "8d3353b0-1140-11ef-a931-df6ccd247a20?.jsonfrom=0+second+ago&"
uuid: "8d3353b0-1140-11ef-a931-df6ccd247a20"
host: "192.168.178.138"
# port: "8081"
name: "Volkszähler Verbrauch"
monitored_conditions:
- average
- consumption
- min
- max
- platform: volkszaehler
# uuid: "480f7900-1140-11ef-b2bb-dd3e03d1aa11?.jsonfrom=0+second+ago&"
uuid: "480f7900-1140-11ef-b2bb-dd3e03d1aa11"
host: "192.168.178.138" #Ohne http:// und Port hat es geklappt...
# port: "8081"
name: "Volkszaehler Einspeisung"
monitored_conditions:
- average
- consumption
- min
- max
- platform: volkszaehler
uuid: "11c31170-16c8-11f0-9c6e-03bc4e30373d"
host: "192.168.178.193" #Ohne http:// und Port hat es geklappt...
# port: "8081"
name: "Volkszaehler Waermepumpe"
monitored_conditions:
- average
- consumption
- min
- max
# Mittelwert der Luftfeuchtigkeit Gesamt
- platform: min_max
entity_ids:
- sensor.wohnzimmer_luftfeuchtigkeit
- sensor.kuche_luftfeuchtigkeit
- sensor.bad_luftfeuchtigkeit
- sensor.buro_luftfeuchtigkeit
- sensor.charlotte_luftfeuchtigkeit
- sensor.greta_luftfeuchtigkeit
- sensor.empore_luftfeuchtigkeit
- sensor.flur_luftfeuchtigkeit
- sensor.schlafzimmer_luftfeuchtigkeit
- sensor.speisekammer_luftfeuchtigkeit
- sensor.gastebad_luftfeuchtigkeit
name: luftfeuchtigkeit_durchschnitt
type: mean
# Nittelwert Temperatur Gesamt
- platform: min_max
entity_ids:
- sensor.wohnzimmer_temperatur
- sensor.kuche_temperatur
- sensor.bad_temperatur
- sensor.buro_temperatur
- sensor.charlotte_temperatur
- sensor.greta_temperatur
- sensor.empore_temperatur
- sensor.flur_temperatur
- sensor.schlafzimmer_temperatur
- sensor.speisekammer_temperatur
- sensor.gastebad_temperatur
name: temperatur_durchschnitt
type: mean
# Mittelwert Luftfeuchtigkeit Wohnräume
- platform: min_max
entity_ids:
- sensor.wohnzimmer_luftfeuchtigkeit
- sensor.charlotte_luftfeuchtigkeit
- sensor.greta_luftfeuchtigkeit
- sensor.schlafzimmer_luftfeuchtigkeit
name: luftfeuchtigkeit_wohnraeume
type: mean
# Mittelwert Temperatur Wohnräume
- platform: min_max
entity_ids:
- sensor.wohnzimmer_temperatur
- sensor.charlotte_temperatur
- sensor.greta_temperatur
- sensor.schlafzimmer_temperatur
name: temperatur_wohnraeume
type: mean
# Discogs
- platform: discogs
name: Discogs
token: RRvvAbBgtIJAMCDlDDvYedERMUHBodSEISEZdkqY
monitored_conditions:
- collection
- wantlist
- random_record
# Discogs Enhanced
- platform: discogs_enhanced
token: RRvvAbBgtIJAMCDlDDvYedERMUHBodSEISEZdkqY
name: Plattensammlung # Optional, defaults to "Discogs"
monitored_conditions:
# - collection
# - wantlist
# - random_record
- collection_value_min
- collection_value_median
- collection_value_max
# --- 2 new entities for counting specific formats ---
- vinyl_count
- cd_count