evcc-io/templates/definition/vehicle/teslamate.yaml

72 lines
2.1 KiB
YAML

template: teslamate
products:
- description:
generic: TeslaMate
group: generic
requirements:
description:
en: Open source Tesla data logger [github.com/adriankumpf/teslamate](https://github.com/adriankumpf/teslamate). MQTT broker required.
de: Open Source Tesla Datenlogger [github.com/adriankumpf/teslamate](https://github.com/adriankumpf/teslamate). Voraussetzung ist konfigurierter MQTT Broker.
params:
- preset: vehicle-common
- preset: vehicle-online
- name: id
description:
de: Fahrzeug-ID
en: Vehicle ID
default: 1
- name: timeout
default: 720h # 30d
render: |
type: custom
{{- include "common" . }}
soc:
source: mqtt
topic: teslamate/cars/{{ .id }}/usable_battery_level
timeout: {{ .timeout }}
status:
source: combined
plugged:
source: mqtt
topic: teslamate/cars/{{ .id }}/plugged_in
timeout: {{ .timeout }}
charging:
source: mqtt
topic: teslamate/cars/{{ .id }}/charger_actual_current
timeout: {{ .timeout }}
jq: . > 0
range:
source: mqtt
topic: teslamate/cars/{{ .id }}/rated_battery_range_km
timeout: {{ .timeout }}
odometer:
source: mqtt
topic: teslamate/cars/{{ .id }}/odometer
timeout: {{ .timeout }}
position:
latitude:
source: mqtt
topic: teslamate/cars/{{ .id }}/latitude
timeout: {{ .timeout }}
longitude:
source: mqtt
topic: teslamate/cars/{{ .id }}/longitude
timeout: {{ .timeout }}
limitsoc:
source: mqtt
topic: teslamate/cars/{{ .id }}/charge_limit_soc
timeout: {{ .timeout }}
finishtime:
source: mqtt
topic: teslamate/cars/{{ .id }}/time_to_full_charge
timeout: {{ .timeout }}
jq: if (. == null) or (. == 0) or (type != "number") or (. < 0) then null else (now + (. * 3600) | strftime("%Y-%m-%dT%H:%M:%SZ")) end
chargedenergy:
source: mqtt
topic: teslamate/cars/{{ .id }}/charge_energy_added
timeout: {{ .timeout }}
climater:
source: mqtt
topic: teslamate/cars/{{ .id }}/is_preconditioning
timeout: {{ .timeout }}
{{ include "features" (merge (dict "basefeatures" (list "coarsecurrent")) .) }}