Salta ai contenuti
ricarica intelligente

messaging

La sezione messaging configura le notifiche sulle sessioni di ricarica tramite servizi come Telegram, Pushover, ntfy o e-mail. events definisce per quali eventi vengono inviati i messaggi, mentre services stabilisce dove vengono inviati.

Esempio:

messaging:
events: ...
services: ...

events definisce il contenuto dei messaggi per vari eventi predefiniti.

Gli eventi disponibili sono:

  • start: la ricarica è iniziata
  • stop: la ricarica si è fermata
  • connect: veicolo collegato
  • disconnect: veicolo scollegato
  • soc: il livello di carica del veicolo è cambiato
  • guest: rilevato un veicolo sconosciuto
  • asleep: il veicolo non si ricarica nonostante l’abilitazione alla ricarica
  • planoverrun: si prevede che il piano di ricarica non raggiunga il suo obiettivo

Esempio:

start: # charge start event
title: Charge started
msg: Started charging in "${mode}" mode

title definisce il testo del titolo del messaggio.

msg definisce il corpo del messaggio. Titoli e messaggi supportano segnaposto, nella forma semplice ${variableName} oppure come template Go ({{.variableName}}). Le variabili disponibili sono elencate in formato dei messaggi.

Esempio (sintassi semplice):

messaging:
events:
start:
title: Charging started
msg: >-
${title} charging ${vehicleTitle} in ${mode} mode
stop:
title: Charging finished
msg: >-
${title}: ${vehicleTitle} charged ${chargedEnergy:%.1fk}kWh in ${chargeDuration}.
Solar share: ${sessionSolarPercentage:%.0f}%
connect:
title: Vehicle connected
msg: >-
${vehicleTitle} connected to ${title} at ${pvPower:%.1fk}kW solar
disconnect:
title: Vehicle disconnected
msg: >-
${vehicleTitle} disconnected from ${title} after ${connectedDuration}

Esempio (sintassi dei template Go con calcoli e condizioni):

messaging:
events:
start:
title: "{{.vehicleTitle}}: Charging started"
msg: |
{{.title}} charging {{.vehicleTitle}} in {{ toString .mode | upper }} mode.
Solar: {{round (divf .pvPower 1000) 1 }} kW
Grid: {{round (divf .grid.Power 1000) 1 }} kW
{{if .battery}}Battery: {{round (divf .battery.Power 1000) 1 }} kW ({{.battery.Soc }} %){{end}}
stop:
title: "{{.vehicleTitle}}: Charging finished"
msg: |
{{.title}}: {{round (divf .chargedEnergy 1000) 1 }} kWh in {{.chargeDuration}}.
Solar share: {{round .sessionSolarPercentage 0 }}%
{{- if .sessionPrice}}
Cost: {{round .sessionPrice 2 }} {{.currency}} ({{round .sessionPricePerKWh 2 }} {{.currency}}/kWh)
{{- end}}
connect:
title: "{{.vehicleTitle}} connected"
msg: |
{{.vehicleTitle}} connected to {{.title}}.
SoC: {{.vehicleSoc }}% ({{.vehicleRange }} km)
Solar: {{round (divf .pvPower 1000) 1 }} kW
disconnect:
title: "{{.vehicleTitle}} disconnected"
msg: |
{{.vehicleTitle}} disconnected from {{.title}} after {{.connectedDuration}}.

services definisce un elenco di servizi di messaggistica da usare.

Esempio:

services:
- type: template
template: pushover
app: 12345
recipients:
- 234567

I servizi disponibili e i loro parametri sono elencati nella pagina delle notifiche. Ogni pagina di servizio mostra un esempio di evcc.yaml pronto all’uso.

Inoltre, type: custom consente di usare qualsiasi plugin con accesso in scrittura. Vedi servizio di notifica definito dall’utente.