Add Home Assistant configuration
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1 @@
|
||||
2026.7.1
|
||||
+24
@@ -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/
|
||||
@@ -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') }}"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,6 @@
|
||||
themes:
|
||||
standaard:
|
||||
primary-color: white
|
||||
accent-color: orange
|
||||
text-primary-color: black
|
||||
|
||||
Reference in New Issue
Block a user