Add Home Assistant configuration

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
zmeel
2026-10-09 17:32:07 +00:00
co-authored by Claude Opus 5.5
commit 0984610c1c
15 changed files with 1687 additions and 0 deletions
+1
View File
@@ -0,0 +1 @@
2026.7.1
+24
View File
@@ -0,0 +1,24 @@
# Whitelist approach: ignore everything, then allow configuration files only.
/*
!/.gitignore
!/.HA_VERSION
!/configuration.yaml
!/automations.yaml
!/scripts.yaml
!/scenes.yaml
!/themes.yaml
!/known_devices.yaml
!/compose.yaml
!/packages/
!/dashboards/
!/blueprints/
# Never commit these, even if the whitelist above changes
secrets.yaml
.storage/
.cloud/
*.db
*.db-shm
*.db-wal
*.log*
backups/
+214
View File
@@ -0,0 +1,214 @@
- id: '1706709525126'
alias: MinderGas Upload
description: ''
trigger:
- platform: time
at: 00:05:00
condition: []
action:
- data_template:
date: '{{ (as_timestamp(now())) | timestamp_custom("%Y-%m-%d", True)}}'
reading: '{{ states(''sensor.gas_meter_gas_consumption'') }}'
service: rest_command.mindergas_upload
mode: single
- id: '1709487765921'
alias: Duetes sluiten
description: ''
triggers:
- event: sunset
offset: '+600'
trigger: sun
conditions: []
actions:
- device_id: 17c9e9b984b42d84746397e424b4130c
domain: cover
entity_id: 86314016b011d81c5de7c9d1c0562234
type: close
- device_id: be50827e316c5f5b0b3c0891931044a5
domain: cover
entity_id: 62fe00a20a6f90059499a2d91dec9364
type: close
mode: single
- id: '1709489238053'
alias: Duetes openen 8:30
description: ''
triggers:
- at: 08:30:00
trigger: time
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
actions:
- device_id: 17c9e9b984b42d84746397e424b4130c
domain: cover
entity_id: 86314016b011d81c5de7c9d1c0562234
type: open
- device_id: be50827e316c5f5b0b3c0891931044a5
domain: cover
entity_id: 62fe00a20a6f90059499a2d91dec9364
type: open
mode: single
- id: '1709489299142'
alias: Duetes openen 10:30
description: ''
triggers:
- at: '10:30:00'
trigger: time
conditions:
- condition: time
weekday:
- sat
- sun
actions:
- device_id: 17c9e9b984b42d84746397e424b4130c
domain: cover
entity_id: 86314016b011d81c5de7c9d1c0562234
type: open
- device_id: be50827e316c5f5b0b3c0891931044a5
domain: cover
entity_id: 62fe00a20a6f90059499a2d91dec9364
type: open
mode: single
- id: '1736596768855'
alias: Magnum vloerverwarming aan
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.electricity_meter_power_production
for:
hours: 0
minutes: 0
seconds: 10
above: 0.6
- trigger: numeric_state
entity_id:
- sensor.solarflow_2400_ac_output_pack_power
for:
hours: 0
minutes: 0
seconds: 10
above: 800
conditions:
- condition: numeric_state
entity_id: climate.badkamer
below: 20
attribute: temperature
actions:
- action: climate.set_temperature
metadata: {}
data:
temperature: 20
hvac_mode: heat
target:
entity_id: climate.badkamer
mode: single
- id: '1736596973361'
alias: Magnum vloerverwarming uit
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.solarflow_2400_ac_output_pack_power
for:
hours: 0
minutes: 0
seconds: 10
below: 800
conditions:
- condition: numeric_state
entity_id: climate.badkamer
attribute: temperature
above: 15
actions:
- action: climate.set_temperature
metadata: {}
data:
temperature: 15
hvac_mode: 'off'
target:
entity_id: climate.badkamer
mode: single
- id: '1752301560233'
alias: Koffie aan
description: ''
triggers:
- trigger: time
at: '17:45:00'
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
actions:
- action: switch.turn_on
metadata: {}
data: {}
target:
device_id: 41bbc12d7f2982e8203c78ff1496e0d7
mode: single
- id: '1752302004436'
alias: Koffie uit
description: ''
triggers:
- trigger: time
at: '19:00:00'
conditions:
- condition: device
type: is_on
device_id: 41bbc12d7f2982e8203c78ff1496e0d7
entity_id: dbd4d7c37667bf50a28df51f84a0a220
domain: switch
actions:
- type: turn_off
device_id: 41bbc12d7f2982e8203c78ff1496e0d7
entity_id: dbd4d7c37667bf50a28df51f84a0a220
domain: switch
mode: single
- id: '1788267188934'
alias: EV3 opladen = Accu krijgt 0
description: ''
triggers:
- trigger: state
entity_id:
- switch.ev3_ev_charging
to:
- 'on'
from:
- 'off'
conditions: []
actions:
- action: number.set_value
metadata: {}
target:
entity_id: number.solarflow_2400_ac_input_limit
data:
value: '0'
mode: single
- id: '1788267312569'
alias: EV3 opladen klaar = Accu krijgt 1600
description: ''
triggers:
- trigger: state
entity_id:
- switch.ev3_ev_charging
from:
- 'on'
- 'off'
conditions: []
actions:
- action: number.set_value
metadata: {}
target:
entity_id: number.solarflow_2400_ac_input_limit
data:
value: '1600'
mode: single
@@ -0,0 +1,56 @@
blueprint:
name: Motion-activated Light
description: Turn on a light when motion is detected.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
author: Home Assistant
input:
motion_entity:
name: Motion Sensor
selector:
entity:
filter:
device_class: motion
domain: binary_sensor
light_target:
name: Light
selector:
target:
entity:
domain: light
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 120
selector:
number:
min: 0
max: 3600
unit_of_measurement: seconds
# If motion is detected within the delay,
# we restart the script.
mode: restart
max_exceeded: silent
trigger:
platform: state
entity_id: !input motion_entity
from: "off"
to: "on"
action:
- alias: "Turn on the light"
service: light.turn_on
target: !input light_target
- alias: "Wait until there is no motion from device"
wait_for_trigger:
platform: state
entity_id: !input motion_entity
from: "on"
to: "off"
- alias: "Wait the number of seconds that has been set"
delay: !input no_motion_wait
- alias: "Turn off the light"
service: light.turn_off
target: !input light_target
@@ -0,0 +1,50 @@
blueprint:
name: Zone Notification
description: Send a notification to a device when a person leaves a specific zone.
domain: automation
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
author: Home Assistant
input:
person_entity:
name: Person
selector:
entity:
filter:
domain: person
zone_entity:
name: Zone
selector:
entity:
filter:
domain: zone
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
filter:
integration: mobile_app
trigger:
platform: state
entity_id: !input person_entity
variables:
zone_entity: !input zone_entity
# This is the state of the person when it's in this zone.
zone_state: "{{ states[zone_entity].name }}"
person_entity: !input person_entity
person_name: "{{ states[person_entity].name }}"
condition:
condition: template
# The first case handles leaving the Home zone which has a special state when zoning called 'home'.
# The second case handles leaving all other zones.
value_template: "{{ zone_entity == 'zone.home' and trigger.from_state.state == 'home' and trigger.to_state.state != 'home' or trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
action:
- alias: "Notify that a person has left the zone"
domain: mobile_app
type: notify
device_id: !input notify_device
message: "{{ person_name }} has left {{ zone_state }}"
@@ -0,0 +1,86 @@
blueprint:
name: Confirmable Notification
description: >-
A script that sends an actionable notification with a confirmation before
running the specified action.
domain: script
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
author: Home Assistant
input:
notify_device:
name: Device to notify
description: Device needs to run the official Home Assistant app to receive notifications.
selector:
device:
filter:
integration: mobile_app
title:
name: "Title"
description: "The title of the button shown in the notification."
default: ""
selector:
text:
message:
name: "Message"
description: "The message body"
selector:
text:
confirm_text:
name: "Confirmation Text"
description: "Text to show on the confirmation button"
default: "Confirm"
selector:
text:
confirm_action:
name: "Confirmation Action"
description: "Action to run when notification is confirmed"
default: []
selector:
action:
dismiss_text:
name: "Dismiss Text"
description: "Text to show on the dismiss button"
default: "Dismiss"
selector:
text:
dismiss_action:
name: "Dismiss Action"
description: "Action to run when notification is dismissed"
default: []
selector:
action:
mode: restart
sequence:
- alias: "Set up variables"
variables:
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
- alias: "Send notification"
domain: mobile_app
type: notify
device_id: !input notify_device
title: !input title
message: !input message
data:
actions:
- action: "{{ action_confirm }}"
title: !input confirm_text
- action: "{{ action_dismiss }}"
title: !input dismiss_text
- alias: "Awaiting response"
wait_for_trigger:
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_confirm }}"
- platform: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_dismiss }}"
- choose:
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
sequence: !input confirm_action
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
sequence: !input dismiss_action
@@ -0,0 +1,27 @@
blueprint:
name: Invert a binary sensor
description: Creates a binary_sensor which holds the inverted value of a reference binary_sensor
domain: template
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/template/blueprints/inverted_binary_sensor.yaml
input:
reference_entity:
name: Binary sensor to be inverted
description: The binary_sensor which needs to have its value inverted
selector:
entity:
domain: binary_sensor
variables:
reference_entity: !input reference_entity
binary_sensor:
state: >
{% if states(reference_entity) == 'on' %}
off
{% elif states(reference_entity) == 'off' %}
on
{% else %}
{{ states(reference_entity) }}
{% endif %}
# delay_on: not_used in this example
# delay_off: not_used in this example
# auto_off: not_used in this example
availability: "{{ states(reference_entity) not in ('unknown', 'unavailable') }}"
+24
View File
@@ -0,0 +1,24 @@
version: '3.3'
services:
homeassistent:
image: homeassistant/home-assistant:stable
container_name: homeassistant
restart: unless-stopped
# Pass devices to container
devices:
- /dev/ttyUSB0:/dev/ttyUSB0
ports:
- "8123:123"
volumes:
- /volume1/docker/homeassistant:/config
environment:
- TZ=Europe/Amsterdam
- PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- LANG=C.UTF-8
- S6_BEHAVIOUR_IF_STAGE2_FAILS=2
- S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0
- S6_CMD_WAIT_FOR_SERVICES=1
- S6_SERVICES_READYTIME=50
- S6_SERVICES_GRACETIME=240000
network_mode: host
+36
View File
@@ -0,0 +1,36 @@
# 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
rest_command:
mindergas_upload:
url: 'https://www.mindergas.nl/api/meter_readings'
method: POST
headers:
content-type: application/json
AUTH-TOKEN: !secret mindergas_api_token
payload: '{ "date": "{{ date }}", "reading": {{ reading }} }'
verify_ssl: true
http:
use_x_forwarded_for: true
trusted_proxies:
- 192.168.178.32
logger:
default: info
logs:
# Log level for all python scripts
#homeassistant.components.python_script: debug
# Log level for a custom integration
custom_components.kia_uvo: debug
# homeassistant.components.upnp: debug
# async_upnp_client: debug
# async_upnp_client.traffic: error
+824
View File
@@ -0,0 +1,824 @@
################################################################################
# Kia EV3 dashboard
#
# Gebaseerd op de entiteiten van de integratie "Kia Uvo / Hyundai Bluelink"
# https://github.com/Hyundai-Kia-Connect/kia_uvo
# en op packages/kia_ev3.yaml (helpers, template-sensoren en scripts).
#
# Alleen standaardkaarten van Home Assistant (2025.1+), geen HACS-kaarten nodig.
# Entiteit-ID's gaan uit van de voertuignaam "EV3" (prefix: ev3_).
################################################################################
title: Kia EV3
views:
##############################################################################
# Overzicht
##############################################################################
- title: Overzicht
path: overzicht
icon: mdi:car-electric
type: sections
max_columns: 3
badges:
- type: entity
entity: sensor.ev3_ev_battery_level
name: Accu
show_name: true
color: green
- type: entity
entity: sensor.ev3_ev_range
name: Bereik
show_name: true
- type: entity
entity: binary_sensor.ev3_ev_battery_charge
name: Laden
show_name: true
color: green
visibility:
- condition: state
entity: binary_sensor.ev3_ev_battery_charge
state: "on"
- type: entity
entity: binary_sensor.ev3_ev_battery_plug
name: Kabel
show_name: true
visibility:
- condition: state
entity: binary_sensor.ev3_ev_battery_charge
state: "off"
- type: entity
entity: lock.ev3_door_lock
name: Slot
show_name: true
- type: entity
entity: climate.ev3_climate_control
name: Klimaat
show_name: true
color: orange
visibility:
- condition: state
entity: climate.ev3_climate_control
state_not: "off"
- type: entity
entity: device_tracker.ev3_location
name: Locatie
show_name: true
sections:
# ---------------------------------------------------------------- Accu --
- type: grid
cards:
- type: heading
heading: Accu & bereik
icon: mdi:battery-charging-high
- type: gauge
entity: sensor.ev3_ev_battery_level
name: Laadtoestand
unit: "%"
min: 0
max: 100
needle: true
severity:
green: 50
yellow: 20
red: 0
grid_options:
columns: 6
rows: 3
- type: tile
entity: sensor.ev3_ev_range
name: Bereik
icon: mdi:road-variant
color: blue
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_batterij_energie
name: Energie in accu
color: green
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_car_battery_level
name: 12V-accu
icon: mdi:car-battery
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_state_of_health_battery
name: Accugezondheid
icon: mdi:battery-heart-variant
grid_options:
columns: 6
# --------------------------------------------------------------- Laden --
- type: grid
cards:
- type: heading
heading: Laden
icon: mdi:ev-station
badges:
- type: entity
entity: binary_sensor.ev3_ev_battery_plug
show_state: true
show_icon: true
color: blue
- type: entity
entity: binary_sensor.ev3_ev_charge_port
show_state: true
show_icon: true
- type: tile
entity: switch.ev3_ev_charging
name: Laden
icon: mdi:ev-station
color: green
- type: tile
entity: sensor.ev3_ev_charging_power
name: Laadvermogen
color: green
grid_options:
columns: 6
visibility:
- condition: state
entity: binary_sensor.ev3_ev_battery_charge
state: "on"
- type: tile
entity: sensor.ev3_laden_gereed_om
name: Gereed om
state_content: state
color: green
grid_options:
columns: 6
visibility:
- condition: state
entity: binary_sensor.ev3_ev_battery_charge
state: "on"
- type: tile
entity: sensor.ev3_estimated_charge_duration
name: Resterende laadtijd
color: green
visibility:
- condition: state
entity: binary_sensor.ev3_ev_battery_charge
state: "on"
- type: tile
entity: number.ev3_ac_charging_limit
name: Laadlimiet AC (thuis)
icon: mdi:power-plug
color: blue
features_position: bottom
features:
- type: numeric-input
style: buttons
- type: tile
entity: number.ev3_dc_charging_limit
name: Laadlimiet DC (snellader)
icon: mdi:flash
color: blue
features_position: bottom
features:
- type: numeric-input
style: buttons
- type: tile
entity: switch.ev3_charge_port
name: Laadklep
icon: mdi:ev-plug-ccs2
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_charging_current_limit
name: Laadstroom
grid_options:
columns: 6
# ------------------------------------------------------------- Klimaat --
- type: grid
cards:
- type: heading
heading: Klimaat
icon: mdi:fan
badges:
- type: entity
entity: sensor.ev3_outside_temperature
show_state: true
show_icon: true
- type: tile
entity: climate.ev3_climate_control
name: Klimaatregeling
features_position: bottom
features:
- type: climate-hvac-modes
style: icons
hvac_modes:
- "off"
- auto
- type: target-temperature
- type: tile
entity: input_number.ev3_klimaat_temperatuur
name: Temperatuur
features_position: bottom
features:
- type: numeric-input
style: buttons
grid_options:
columns: 6
- type: tile
entity: input_number.ev3_klimaat_duur
name: Duur
features_position: bottom
features:
- type: numeric-input
style: buttons
grid_options:
columns: 6
- type: tile
entity: input_boolean.ev3_klimaat_ontdooien
name: Ontdooien
grid_options:
columns: 6
- type: tile
entity: input_boolean.ev3_klimaat_verwarming
name: Stuur & ruiten
grid_options:
columns: 6
- type: tile
entity: input_select.ev3_stoelverwarming
name: Stoelverwarming
features_position: bottom
features:
- type: select-options
- type: tile
entity: script.ev3_klimaat_starten
name: Voorverwarmen
icon: mdi:car-defrost-front
color: orange
hide_state: true
tap_action:
action: perform-action
perform_action: script.ev3_klimaat_starten
icon_tap_action:
action: perform-action
perform_action: script.ev3_klimaat_starten
grid_options:
columns: 6
- type: tile
entity: script.ev3_klimaat_stoppen
name: Stoppen
icon: mdi:fan-off
hide_state: true
tap_action:
action: perform-action
perform_action: script.ev3_klimaat_stoppen
icon_tap_action:
action: perform-action
perform_action: script.ev3_klimaat_stoppen
grid_options:
columns: 6
# --------------------------------------------------------- Beveiliging --
- type: grid
cards:
- type: heading
heading: Beveiliging
icon: mdi:shield-car
badges:
- type: entity
entity: binary_sensor.ev3_alles_dicht
show_state: true
show_icon: true
color: green
- type: tile
entity: lock.ev3_door_lock
name: Portieren
features_position: bottom
features:
- type: lock-commands
- type: glance
title: Deuren & kleppen
show_state: false
columns: 3
state_color: true
entities:
- entity: binary_sensor.ev3_front_left_door
name: Linksvoor
- entity: binary_sensor.ev3_front_right_door
name: Rechtsvoor
- entity: binary_sensor.ev3_trunk
name: Achterklep
- entity: binary_sensor.ev3_back_left_door
name: Linksachter
- entity: binary_sensor.ev3_back_right_door
name: Rechtsachter
- entity: binary_sensor.ev3_hood
name: Motorkap
- type: glance
title: Ramen
show_state: false
columns: 4
state_color: true
entities:
- entity: binary_sensor.ev3_front_left_window
name: LV
- entity: binary_sensor.ev3_front_right_window
name: RV
- entity: binary_sensor.ev3_back_left_window
name: LA
- entity: binary_sensor.ev3_back_right_window
name: RA
- type: tile
entity: button.ev3_start_hazard_lights
name: Alarmlichten
icon: mdi:car-light-alert
hide_state: true
tap_action:
action: perform-action
perform_action: button.press
target:
entity_id: button.ev3_start_hazard_lights
confirmation:
text: Alarmlichten van de EV3 aanzetten?
icon_tap_action:
action: none
grid_options:
columns: 6
- type: tile
entity: button.ev3_start_hazard_lights_and_horn
name: Licht & claxon
icon: mdi:bullhorn
hide_state: true
tap_action:
action: perform-action
perform_action: button.press
target:
entity_id: button.ev3_start_hazard_lights_and_horn
confirmation:
text: Alarmlichten en claxon van de EV3 aanzetten?
icon_tap_action:
action: none
grid_options:
columns: 6
# ------------------------------------------------------------- Locatie --
- type: grid
column_span: 2
cards:
- type: heading
heading: Locatie
icon: mdi:map-marker
- type: map
entities:
- entity: device_tracker.ev3_location
name: EV3
hours_to_show: 24
default_zoom: 15
theme_mode: auto
grid_options:
columns: full
rows: 6
- type: tile
entity: sensor.ev3_geocoded_location
name: Adres
icon: mdi:map-marker-radius
state_content:
- state
visibility:
- condition: state
entity: sensor.ev3_geocoded_location
state_not: unavailable
# -------------------------------------------------------------- Status --
- type: grid
cards:
- type: heading
heading: Status
icon: mdi:information-outline
- type: tile
entity: sensor.ev3_odometer
name: Kilometerstand
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_average_energy_consumption
name: Gem. verbruik (30 d)
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_last_updated_at
name: Laatst bijgewerkt
grid_options:
columns: 6
- type: tile
entity: button.ev3_force_refresh
name: Ververs nu
icon: mdi:refresh
hide_state: true
tap_action:
action: perform-action
perform_action: button.press
target:
entity_id: button.ev3_force_refresh
confirmation:
text: >-
De auto wordt gewekt om actuele gegevens op te halen.
Dit kost wat 12V-accu en telt mee voor de dagelijkse
API-limiet. Doorgaan?
icon_tap_action:
action: none
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_next_service
name: Volgende onderhoud
icon: mdi:car-wrench
- type: conditional
conditions:
- condition: or
conditions:
- condition: state
entity: binary_sensor.ev3_tire_pressure_all
state: "on"
- condition: state
entity: binary_sensor.ev3_washer_fluid_warning
state: "on"
- condition: state
entity: binary_sensor.ev3_brake_fluid_warning
state: "on"
- condition: state
entity: binary_sensor.ev3_smart_key_battery_warning
state: "on"
- condition: state
entity: binary_sensor.ev3_12v_battery_fault
state: "on"
- condition: numeric_state
entity: sensor.ev3_dtc_count
above: 0
card:
type: markdown
content: |-
### Waarschuwingen
{% set w = {
'binary_sensor.ev3_tire_pressure_all': 'Bandenspanning te laag',
'binary_sensor.ev3_washer_fluid_warning': 'Ruitensproeiervloeistof bijvullen',
'binary_sensor.ev3_brake_fluid_warning': 'Remvloeistof controleren',
'binary_sensor.ev3_smart_key_battery_warning': 'Batterij sleutel bijna leeg',
'binary_sensor.ev3_12v_battery_fault': 'Storing 12V-accu'
} %}
{% for e, tekst in w.items() if is_state(e, 'on') %}
- {{ tekst }}
{% endfor %}
{% if states('sensor.ev3_dtc_count') | int(0) > 0 %}
- {{ states('sensor.ev3_dtc_count') }} foutcode(s):
{{ state_attr('sensor.ev3_dtc_count', 'DTC Text') }}
{% endif %}
##############################################################################
# Ritten & verbruik
##############################################################################
- title: Ritten
path: ritten
icon: mdi:chart-line
type: sections
max_columns: 3
sections:
- type: grid
cards:
- type: heading
heading: Vandaag
icon: mdi:calendar-today
- type: tile
entity: sensor.ev3_afstand_vandaag
name: Afstand
color: blue
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_verbruik_vandaag
name: Verbruikt
color: orange
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_regeneratie_vandaag
name: Teruggewonnen
color: green
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_gemiddeld_verbruik_vandaag
name: Gemiddeld
color: purple
grid_options:
columns: 6
- type: heading
heading: Totalen
heading_style: subtitle
- type: tile
entity: sensor.ev3_average_energy_consumption
name: Gem. verbruik (30 d)
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_90_day_energy_consumption
name: Verbruik (90 d)
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_total_energy_regeneration
name: Teruggewonnen (totaal)
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_odometer
name: Kilometerstand
grid_options:
columns: 6
- type: grid
column_span: 2
cards:
- type: heading
heading: Grafieken
icon: mdi:chart-areaspline
- type: statistics-graph
title: Kilometers per dag
entities:
- entity: sensor.ev3_odometer
name: Gereden
stat_types:
- change
period: day
days_to_show: 30
chart_type: bar
hide_legend: true
grid_options:
columns: full
- type: history-graph
title: Laadtoestand & bereik (7 dagen)
hours_to_show: 168
entities:
- entity: sensor.ev3_ev_battery_level
name: Accu
- entity: sensor.ev3_ev_range
name: Bereik
grid_options:
columns: full
- type: statistics-graph
title: Laadtoestand per dag
entities:
- entity: sensor.ev3_ev_battery_level
name: Accu
stat_types:
- min
- mean
- max
period: day
days_to_show: 30
chart_type: line
grid_options:
columns: full
- type: grid
column_span: 3
cards:
- type: heading
heading: Dagoverzicht
icon: mdi:table
- type: markdown
grid_options:
columns: full
content: |-
{% set s = 'sensor.ev3_daily_driving_stats' %}
{% set ent = states.sensor.ev3_daily_driving_stats %}
{% set dagen = ent.attributes.keys()
| select('match', '\d{4}-\d{2}-\d{2}')
| sort(reverse=true) | list
if ent is not none else [] %}
{% if dagen | count == 0 %}
Nog geen dagstatistieken ontvangen van de auto.
{% else %}
| Datum | Afstand | Verbruikt | Rijden | Klimaat | Elektronica | Accuzorg | Teruggewonnen | Gemiddeld |
|:--|--:|--:|--:|--:|--:|--:|--:|--:|
{% for d in dagen[:14] -%}
{% set v = state_attr(s, d) -%}
{% set km = v.distance | float(0) -%}
| {{ strptime(d, '%Y-%m-%d').strftime('%d-%m-%Y') }} | {{ km | round(0) | int }} km | {{ (v.total_consumed | float(0) / 1000) | round(1) }} kWh | {{ (v.engine_consumption | float(0) / 1000) | round(1) }} | {{ (v.climate_consumption | float(0) / 1000) | round(1) }} | {{ (v.onboard_electronics_consumption | float(0) / 1000) | round(1) }} | {{ (v.battery_care_consumption | float(0) / 1000) | round(1) }} | {{ (v.regenerated_energy | float(0) / 1000) | round(1) }} kWh | {{ ((v.total_consumed | float(0) / 10 / km) | round(1) ~ ' kWh/100km') if km > 0 else '-' }} |
{% endfor %}
{% endif %}
##############################################################################
# Planning
##############################################################################
- title: Planning
path: planning
icon: mdi:calendar-clock
type: sections
max_columns: 3
sections:
- type: grid
cards:
- type: heading
heading: Gepland laden
icon: mdi:calendar-sync
- type: tile
entity: switch.ev3_scheduled_charging
name: Gepland laden
- type: tile
entity: switch.ev3_off_peak_charge_only
name: Alleen in daltarief
- type: tile
entity: time.ev3_off_peak_charge_start_time
name: Daltarief begint
grid_options:
columns: 6
- type: tile
entity: time.ev3_off_peak_charge_end_time
name: Daltarief eindigt
grid_options:
columns: 6
- type: grid
cards:
- type: heading
heading: Vertrektijd 1
icon: mdi:clock-start
- type: tile
entity: switch.ev3_ev_scheduled_departure_1
name: Actief
- type: tile
entity: sensor.ev3_first_departure_time
name: Tijd
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_first_departure_days
name: Dagen
grid_options:
columns: 6
- type: tile
entity: switch.ev3_first_departure_climate
name: Klimaat bij vertrek
grid_options:
columns: 6
- type: tile
entity: switch.ev3_first_departure_defrost
name: Ontdooien
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_first_departure_climate_temperature
name: Temperatuur
- type: grid
cards:
- type: heading
heading: Vertrektijd 2
icon: mdi:clock-end
- type: tile
entity: switch.ev3_ev_scheduled_departure_2
name: Actief
- type: tile
entity: sensor.ev3_second_departure_time
name: Tijd
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_second_departure_days
name: Dagen
grid_options:
columns: 6
- type: tile
entity: switch.ev3_second_departure_climate
name: Klimaat bij vertrek
grid_options:
columns: 6
- type: tile
entity: switch.ev3_second_departure_defrost
name: Ontdooien
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_second_departure_climate_temperature
name: Temperatuur
##############################################################################
# Techniek / diagnose
##############################################################################
- title: Techniek
path: techniek
icon: mdi:car-wrench
type: sections
max_columns: 3
sections:
- type: grid
cards:
- type: heading
heading: Hoogvoltaccu
icon: mdi:car-battery
- type: tile
entity: sensor.ev3_ev_battery_pack_voltage
name: Spanning
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_battery_capacity
name: Capaciteit
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_battery_temperature_min
name: Temp. min
color: blue
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_battery_temperature_max
name: Temp. max
color: red
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_battery_water_temperature
name: Koelvloeistof
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_ev_battery_chiller_rpm
name: Chiller
grid_options:
columns: 6
- type: tile
entity: binary_sensor.ev3_ev_battery_winter_mode
name: Wintermodus
grid_options:
columns: 6
- type: tile
entity: binary_sensor.ev3_ev_battery_precondition
name: Voorconditionering
grid_options:
columns: 6
- type: grid
cards:
- type: heading
heading: Banden
icon: mdi:tire
- type: tile
entity: sensor.ev3_tire_pressure_front_left
name: Linksvoor
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_tire_pressure_front_right
name: Rechtsvoor
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_tire_pressure_rear_left
name: Linksachter
grid_options:
columns: 6
- type: tile
entity: sensor.ev3_tire_pressure_rear_right
name: Rechtsachter
grid_options:
columns: 6
- type: history-graph
title: Bandenspanning (30 dagen)
hours_to_show: 720
entities:
- entity: sensor.ev3_tire_pressure_front_left
name: LV
- entity: sensor.ev3_tire_pressure_front_right
name: RV
- entity: sensor.ev3_tire_pressure_rear_left
name: LA
- entity: sensor.ev3_tire_pressure_rear_right
name: RA
- type: grid
cards:
- type: heading
heading: Systeem
icon: mdi:cog
- type: entities
state_color: true
entities:
- entity: sensor.ev3_drive_mode
name: Rijmodus
- entity: sensor.ev3_dtc_count
name: Foutcodes
- entity: binary_sensor.ev3_12v_battery_fault
name: Storing 12V-accu
- entity: binary_sensor.ev3_washer_fluid_warning
name: Ruitensproeiervloeistof
- entity: binary_sensor.ev3_brake_fluid_warning
name: Remvloeistof
- entity: binary_sensor.ev3_smart_key_battery_warning
name: Sleutelbatterij
- type: divider
- entity: sensor.ev3_last_updated_at
name: Laatst bijgewerkt
- entity: sensor.ev3_location_last_updated
name: Locatie bijgewerkt
- entity: sensor.ev3_vehicle_identification_number
name: VIN
+189
View File
@@ -0,0 +1,189 @@
sonoszp:
name: SonosZP
mac: 00:0E:58:D9:D3:2E
icon:
picture:
track: true
chromecast:
name: Chromecast
mac: 14:AE:85:70:A3:AB
icon:
picture:
track: true
eriks_mbp:
name: Eriks-MBP
mac: 3C:22:FB:27:E5:66
icon:
picture:
track: true
apple_inc:
name: Apple Inc.
mac: 56:E2:C9:74:1A:71
icon:
picture:
track: true
sonoszp_2:
name: SonosZP
mac: 5C:AA:FD:25:A8:3A
icon:
picture:
track: true
hs110:
name: HS110
mac: 70:4F:57:36:C6:FA
icon:
picture:
track: true
healthy_home_coach:
name: Healthy Home Coach
mac: 70:EE:50:81:41:8A
icon:
picture:
track: true
iphone_van_miranda_2:
name: iPhone-van-Miranda-2
mac: 86:D2:B1:CE:84:31
icon:
picture:
track: true
diskstation:
name: DISKSTATION
mac: 90:09:D0:32:01:5E
icon:
picture:
track: true
ubuntu:
name: ubuntu
mac: DC:A6:32:C7:AD:41
icon:
picture:
track: true
ecb5faa7ffd3:
name: ecb5faa7ffd3
mac: EC:B5:FA:A7:FF:D3
icon:
picture:
track: true
esp_cacc7f:
name: ESP_CACC7F
mac: 3C:61:05:CA:CC:7F
icon:
picture:
track: true
apple_inc_2:
name: Apple Inc.
mac: 4E:22:CE:ED:B4:7A
icon:
picture:
track: true
sma3008880907:
name: SMA3008880907
mac: 64:69:4E:A3:38:1F
icon:
picture:
track: true
smile025611:
name: smile025611
mac: C4:93:00:02:56:10
icon:
picture:
track: true
76_8f_74_cc_30_79:
name: 76_8f_74_cc_30_79
mac: 76:8F:74:CC:30:79
icon:
picture:
track: true
diskstation_2:
name: DISKSTATION
mac: 90:09:D0:32:01:5D
icon:
picture:
track: true
imacvananhannen:
name: iMacvananHannen
mac: C8:2A:14:31:2C:2C
icon:
picture:
track: true
desktop_2fuddru:
name: DESKTOP-2FUDDRU
mac: 7C:21:4A:0E:1D:CF
icon:
picture:
track: true
5d8a9759_3935_49e9_b279_f4b483422b62:
name: 5d8a9759-3935-49e9-b279-f4b483422b62
mac: 46:A8:04:95:1A:41
icon:
picture:
track: true
suunto_471c:
name: Suunto_471C
mac: 0C:8C:DC:47:47:1C
icon:
picture:
track: true
samsung:
name: Samsung
mac: D0:C2:4E:4B:09:56
icon:
picture:
track: true
pixel_6:
name: Pixel-6
mac: 0A:2F:69:73:99:BA
icon:
picture:
track: true
pixel_7a:
name: Pixel-7a
mac: E6:06:86:2E:86:FC
icon:
picture:
track: true
laptop_0f4ih1oq:
name: LAPTOP-0F4IH1OQ
mac: A0:AF:BD:5E:D9:5E
icon:
picture:
track: true
liteon_technology_corporation:
name: Liteon Technology Corporation
mac: E0:0A:F6:B5:E4:25
icon:
picture:
track: true
synology_incorporated:
name: Synology Incorporated
mac: 00:11:32:FB:6C:49
icon:
picture:
track: true
+150
View File
@@ -0,0 +1,150 @@
################################################################################
# Kia EV3 - helpers, template-sensoren, scripts en automatiseringen
#
# Werkt met de integratie "Kia Uvo / Hyundai Bluelink"
# https://github.com/Hyundai-Kia-Connect/kia_uvo
#
# Alle entiteit-ID's gaan uit van de voertuignaam "EV3" (prefix: ev3_).
# Heet je auto in de Kia Connect-app anders? Vervang dan overal "ev3_" door
# jouw prefix, bijvoorbeeld "mijn_ev3_". Zie README.md.
################################################################################
input_number:
ev3_klimaat_temperatuur:
name: EV3 klimaat temperatuur
icon: mdi:thermometer
min: 16
max: 28
step: 0.5
initial: 21
unit_of_measurement: "\u00b0C"
mode: slider
ev3_klimaat_duur:
name: EV3 klimaat duur
icon: mdi:timer-outline
min: 5
max: 30
step: 5
initial: 10
unit_of_measurement: min
mode: slider
input_boolean:
ev3_klimaat_ontdooien:
name: EV3 ontdooien voorruit
icon: mdi:car-defrost-front
ev3_klimaat_verwarming:
name: EV3 stuur-, spiegel- en achterruitverwarming
icon: mdi:steering
input_select:
ev3_stoelverwarming:
name: EV3 stoelverwarming voor
icon: mdi:car-seat-heater
options:
- Uit
- Laag
- Midden
- Hoog
initial: Uit
template:
- sensor:
- name: EV3 Batterij energie
unique_id: ev3_batterij_energie
icon: mdi:battery-charging-high
unit_of_measurement: kWh
device_class: energy_storage
state_class: measurement
state: >
{% set e = 'sensor.ev3_ev_battery_remaining_energy' %}
{% if has_value(e) %}
{% set factor = {'kJ': 1 / 3600, 'MJ': 1 / 3.6, 'Wh': 0.001,
'kWh': 1, 'MWh': 1000} %}
{{ (states(e) | float * factor.get(state_attr(e, 'unit_of_measurement'), 1 / 3600)) | round(1) }}
{% else %}
{# Terugval: netto accucapaciteit x laadtoestand.
EV3 Long Range: 81,4 kWh, EV3 Standard Range: 58,3 kWh. #}
{% set capaciteit = 81.4 %}
{{ (states('sensor.ev3_ev_battery_level') | float * capaciteit / 100) | round(1) }}
{% endif %}
availability: >
{{ has_value('sensor.ev3_ev_battery_remaining_energy')
or has_value('sensor.ev3_ev_battery_level') }}
- name: EV3 Laden gereed om
unique_id: ev3_laden_gereed_om
icon: mdi:battery-clock
device_class: timestamp
state: >
{% set lu = 'sensor.ev3_last_updated_at' %}
{% set basis = as_datetime(states(lu)) if has_value(lu) else now() %}
{{ (basis + timedelta(minutes=states('sensor.ev3_estimated_charge_duration') | int(0))).isoformat() }}
availability: >
{{ is_state('binary_sensor.ev3_ev_battery_charge', 'on')
and states('sensor.ev3_estimated_charge_duration') | int(0) > 0 }}
- name: EV3 Afstand vandaag
unique_id: ev3_afstand_vandaag
icon: mdi:map-marker-distance
unit_of_measurement: km
device_class: distance
state_class: measurement
state: "{{ state_attr('sensor.ev3_today_s_daily_driving_stats', 'distance') | float(0) }}"
availability: "{{ has_value('sensor.ev3_today_s_daily_driving_stats') }}"
- name: EV3 Verbruik vandaag
unique_id: ev3_verbruik_vandaag
icon: mdi:lightning-bolt
unit_of_measurement: kWh
device_class: energy
state_class: total
state: "{{ (state_attr('sensor.ev3_today_s_daily_driving_stats', 'total_consumed') | float(0) / 1000) | round(2) }}"
availability: "{{ has_value('sensor.ev3_today_s_daily_driving_stats') }}"
- name: EV3 Regeneratie vandaag
unique_id: ev3_regeneratie_vandaag
icon: mdi:recycle
unit_of_measurement: kWh
device_class: energy
state_class: total
state: "{{ (state_attr('sensor.ev3_today_s_daily_driving_stats', 'regenerated_energy') | float(0) / 1000) | round(2) }}"
availability: "{{ has_value('sensor.ev3_today_s_daily_driving_stats') }}"
- name: EV3 Gemiddeld verbruik vandaag
unique_id: ev3_gemiddeld_verbruik_vandaag
icon: mdi:gauge
unit_of_measurement: kWh/100km
state_class: measurement
state: >
{% set s = 'sensor.ev3_today_s_daily_driving_stats' %}
{{ (state_attr(s, 'total_consumed') | float(0) / 10
/ state_attr(s, 'distance') | float(1)) | round(1) }}
availability: >
{{ state_attr('sensor.ev3_today_s_daily_driving_stats', 'distance') | float(0) > 0 }}
- binary_sensor:
- name: EV3 Alles dicht
unique_id: ev3_alles_dicht
icon: >
{{ 'mdi:car-door-lock' if this.state == 'on' else 'mdi:car-door' }}
# "on" = alle deuren, ramen, klep en kofferbak dicht en de auto op slot.
state: >
{% set open = [
'binary_sensor.ev3_front_left_door', 'binary_sensor.ev3_front_right_door',
'binary_sensor.ev3_back_left_door', 'binary_sensor.ev3_back_right_door',
'binary_sensor.ev3_front_left_window', 'binary_sensor.ev3_front_right_window',
'binary_sensor.ev3_back_left_window', 'binary_sensor.ev3_back_right_window',
'binary_sensor.ev3_trunk', 'binary_sensor.ev3_hood',
'binary_sensor.ev3_ev_charge_port'
] | select('is_state', 'on') | list %}
{{ open | count == 0 and is_state('lock.ev3_door_lock', 'locked') }}
availability: "{{ has_value('lock.ev3_door_lock') }}"
script:
ev3_klimaat_starten:
alias: EV3 klimaat starten
icon: mdi:fan
mode: single
View File
View File
+6
View File
@@ -0,0 +1,6 @@
themes:
standaard:
primary-color: white
accent-color: orange
text-primary-color: black