Integrazione hub Home Assistant con Nissan Leaf 30 kWh
Regole del forum
Parlare di un solo e singolo argomento per discussione, nella sezione più corretta e con un titolo chiaro e descrittivo, evitando i fuori tema | Evitare di citare tutto il testo di un precedente messaggio, ma lasciare solo il minimo indispensabile usando questo sistema | Utilizzare le unità di misura corrette, in particolare i kW per la potenza e i kWh per l'energia, di cui è spiegata la differenza qui | Leggere il regolamento completo che è visibile qui
Parlare di un solo e singolo argomento per discussione, nella sezione più corretta e con un titolo chiaro e descrittivo, evitando i fuori tema | Evitare di citare tutto il testo di un precedente messaggio, ma lasciare solo il minimo indispensabile usando questo sistema | Utilizzare le unità di misura corrette, in particolare i kW per la potenza e i kWh per l'energia, di cui è spiegata la differenza qui | Leggere il regolamento completo che è visibile qui
- andbad
- Messaggi: 2029
- Iscritto il: 23/03/2018, 11:57
- Località: Massa (MS)
- Veicolo: Nissan Leaf 30kWh
Integrazione hub Home Assistant con Nissan Leaf 30 kWh
E' già qualche tempo che lavoro con Home Assistant, un HUB software per la domotica che permette di integrare in un unico sistema più device smart eterogenei per marca, funzionamento e tipo di collegamento. Non mi dilungo ulteriormente e passo al topic: esiste una comodissima integrazione per la Leaf:
https://www.home-assistant.io/integrations/nissan_leaf/
In pratica si abilita da file di configurazione:
Si riavvia Home Assistant e si possono da subito usare le varie entità, aggiungendole ai vari pannelli. Senza smanettarci troppo adesso ho questo:
Posso vedere il SOC, il range stimato, vedere lo storico della ricarica, avviare la carica, avviare o stoppare il condizionatore.
Ma questo è niente: avendo questi dati (e quando avrò Prism) si possono fare cose molto interessanti, ad esempio programmare la carica fino all'80%, interromperla se si accende un elettrodomestico, avviare il condizionatore quando si sta uscendo di casa e tutto quello che la fantasia può immaginare.
Sono esaltato.
By(t)e
P.S.: qui trovate altre integrazioni dedicate alle auto: https://www.home-assistant.io/integrations/#car
https://www.home-assistant.io/integrations/nissan_leaf/
In pratica si abilita da file di configurazione:
Codice: Seleziona tutto
nissan_leaf:
username: "email@email.tua"
password: "la_tua_password"
region: "NE"
update_interval:
hours: 1
update_interval_charging:
minutes: 15
update_interval_climate:
minutes: 5
Si riavvia Home Assistant e si possono da subito usare le varie entità, aggiungendole ai vari pannelli. Senza smanettarci troppo adesso ho questo:
Posso vedere il SOC, il range stimato, vedere lo storico della ricarica, avviare la carica, avviare o stoppare il condizionatore.
Ma questo è niente: avendo questi dati (e quando avrò Prism) si possono fare cose molto interessanti, ad esempio programmare la carica fino all'80%, interromperla se si accende un elettrodomestico, avviare il condizionatore quando si sta uscendo di casa e tutto quello che la fantasia può immaginare.
Sono esaltato.

By(t)e
P.S.: qui trovate altre integrazioni dedicate alle auto: https://www.home-assistant.io/integrations/#car
eVe: electric vehicle eVe
Leaf 30kWh 2016 powered by Power Cruise Control
Leaf 30kWh 2016 powered by Power Cruise Control
Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
Home assistant e' molto carino ma si basa su un server rasberry..
avendo gia' un serverino linux in funzione, ho preferito usare openhab.org che si appoggia su qualsiasi server o pc
Per le auto per adesso Tesla e Volvo pero' basta chiedere nel forum e secondo me qualcuno che si sbatte per fare il "bindings" lo si trova sempre
avendo gia' un serverino linux in funzione, ho preferito usare openhab.org che si appoggia su qualsiasi server o pc
Per le auto per adesso Tesla e Volvo pero' basta chiedere nel forum e secondo me qualcuno che si sbatte per fare il "bindings" lo si trova sempre
- andbad
- Messaggi: 2029
- Iscritto il: 23/03/2018, 11:57
- Località: Massa (MS)
- Veicolo: Nissan Leaf 30kWh
Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
Mica vero. Io lo faccio girare su Ubuntu, sulla stessa macchina che mi fa da NAS e altre mille cose.
By(t)e
By(t)e
eVe: electric vehicle eVe
Leaf 30kWh 2016 powered by Power Cruise Control
Leaf 30kWh 2016 powered by Power Cruise Control
Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
Bello, appena mi arriva la Zoe provo a sviluppare qualcosa
Zoe Intens R135 in arrivo 

Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
andbad ha scritto:Mica vero. Io lo faccio girare su Ubuntu, sulla stessa macchina che mi fa da NAS e altre mille cose.
By(t)e
ah allora ho sbagliato a leggere la documentazione dove fanno riferimento al rasberry
- andbad
- Messaggi: 2029
- Iscritto il: 23/03/2018, 11:57
- Località: Massa (MS)
- Veicolo: Nissan Leaf 30kWh
Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
Piccolo aggiornamento:
Ho preso una Shelly Plug S, proverò a metterla sull'IC-CPD per controllarla da remoto e staccare in automatico all'80%.
E' una cosa temporanea, perché pur essendo data a 2,5kW (mentre l'auto assorbe 2,3), comunque non mi fido a lasciarcelo come soluzione definitiva. O lo sostituisco con uno Shelly Plug (che arriva a 3,3kW, ma non ha il controllo di temperatura), oppure metto uno Shelly 1 con un relé esterno. Oppure aspetto di prendermi la WB Prims...
Nel frattempo mi impratichisco con le automazioni.
By(t)e
Ho preso una Shelly Plug S, proverò a metterla sull'IC-CPD per controllarla da remoto e staccare in automatico all'80%.
E' una cosa temporanea, perché pur essendo data a 2,5kW (mentre l'auto assorbe 2,3), comunque non mi fido a lasciarcelo come soluzione definitiva. O lo sostituisco con uno Shelly Plug (che arriva a 3,3kW, ma non ha il controllo di temperatura), oppure metto uno Shelly 1 con un relé esterno. Oppure aspetto di prendermi la WB Prims...
Nel frattempo mi impratichisco con le automazioni.

By(t)e
eVe: electric vehicle eVe
Leaf 30kWh 2016 powered by Power Cruise Control
Leaf 30kWh 2016 powered by Power Cruise Control
- andbad
- Messaggi: 2029
- Iscritto il: 23/03/2018, 11:57
- Località: Massa (MS)
- Veicolo: Nissan Leaf 30kWh
Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
A tempo perso continuo a lavorarci.
Pannello di default:
In alto abbiamo lo stato della batteria: la barra esterna è il SOC, quella interna sono i chilometri rimanenti. Si colorano di giallo e rosso in base al valore.
Le icone in alto servono a:
- Attivare o disattivare l'interruttore a monte dell'EVSE
- Far dettare ad Alexa il SOC
- Indica se la batteria è in stato di ricarica
La riga sotto invece:
- Indica se l'aria condizionata è attiva
- Indica se il cavo è collegato
- Aggiorna lo stato dell'auto
Ci sono poi i tempi stimati di ricarica alle varie velocità (sono abbastanza precisi), con le icone che rappresentano la spina da utilizzare (vabbè, è solo una sboronata
).
I due interruttori aprono i pannelli avanzati di impostazioni e statistiche:
Attiva ricarica automatica: avvia la ricarica quando è sotto il 70%
Limita ricarica a 80%: beh...
Poi abbiamo il consumo in ricarica degli ultimi 14 giorni, lo stato della ricarica delle ultime 24 ore, la potenza assorbita minuto per minuto, il totale del consumo del giorno in corso, del mese e dell'anno ed infine la temperatura dell'interruttore Wifi che controlla lo stato e i consumi a monte dell'EVSE (Shelly PlugS).
By(t)e
Pannello di default:
In alto abbiamo lo stato della batteria: la barra esterna è il SOC, quella interna sono i chilometri rimanenti. Si colorano di giallo e rosso in base al valore.
Le icone in alto servono a:
- Attivare o disattivare l'interruttore a monte dell'EVSE
- Far dettare ad Alexa il SOC
- Indica se la batteria è in stato di ricarica
La riga sotto invece:
- Indica se l'aria condizionata è attiva
- Indica se il cavo è collegato
- Aggiorna lo stato dell'auto
Ci sono poi i tempi stimati di ricarica alle varie velocità (sono abbastanza precisi), con le icone che rappresentano la spina da utilizzare (vabbè, è solo una sboronata

I due interruttori aprono i pannelli avanzati di impostazioni e statistiche:
Attiva ricarica automatica: avvia la ricarica quando è sotto il 70%
Limita ricarica a 80%: beh...

Poi abbiamo il consumo in ricarica degli ultimi 14 giorni, lo stato della ricarica delle ultime 24 ore, la potenza assorbita minuto per minuto, il totale del consumo del giorno in corso, del mese e dell'anno ed infine la temperatura dell'interruttore Wifi che controlla lo stato e i consumi a monte dell'EVSE (Shelly PlugS).
By(t)e
eVe: electric vehicle eVe
Leaf 30kWh 2016 powered by Power Cruise Control
Leaf 30kWh 2016 powered by Power Cruise Control
- andbad
- Messaggi: 2029
- Iscritto il: 23/03/2018, 11:57
- Località: Massa (MS)
- Veicolo: Nissan Leaf 30kWh
Re: Integrazione hub Home Assistant con Nissan Leaf 30 kWh
Chi volesse cimentarsi, può usare questo package che NON E' plug and play (va personalizzato con i riferimenti al proprio account Nissan Connect, al proprio attuatore, ecc...):
Questa invece è la scheda da aggiungere a Lovelace:
By(t)e
Codice: Seleziona tutto
#Leaf
recorder:
include:
entities:
- sensor.consumo_leaf_giornaliero
- sensor.consumo_leaf_mensile
- sensor.consumo_leaf_annuale
- sensor.potenza_leaf
- sensor.consumo_leaf
- sensor.temperatura_shelly_leaf
- sensor.leafXXXXX_charge
- binary_sensor.leafXXXXX
- binary_sensor.leafXXXXX_plug_status
nissan_leaf:
username: "XXXXXXXXXXX"
password: "XXXXXXXXXXXXX"
region: "NE"
update_interval:
hours: 2
update_interval_charging:
minutes: 5
update_interval_climate:
minutes: 5
utility_meter:
consumo_leaf_giornaliero:
source: sensor.consumo_leaf
cycle: daily
consumo_leaf_mensile:
source: sensor.consumo_leaf
cycle: monthly
consumo_leaf_annuale:
source: sensor.consumo_leaf
cycle: yearly
input_boolean:
leaf_ricarica_80:
name: Limita ricarica Leaf a 80
initial: on
icon: mdi:format-align-top
leaf_ricarica_atuomatica:
name: Attiva ricarica automatica
initial: on
icon: mdi:format-align-top
leaf_impostazioni:
name: Impostazioni
initial: off
leaf_statistiche:
name: Statistiche
initial: off
binary_sensor:
- platform: ping
host: xxx.xxx.xxx.xxx.xxx
name: leaf Ping
count: 2
scan_interval: 60
sensor:
- platform: mqtt
name: "Temperatura Shelly leaf"
state_topic: "shellies/shelly_leaf/temperature"
availability_topic: "shellies/shelly_leaf/online"
value_template: "{{ value| round (1) }}"
unit_of_measurement: "°C"
payload_available: "true"
payload_not_available: "false"
- platform: mqtt
name: "Potenza leaf"
state_topic: "shellies/shelly_leaf/relay/0/power"
unit_of_measurement: "W"
value_template: "{{ value| round (0) }}"
- platform: mqtt
name: "Consumo leaf"
state_topic: "shellies/shelly_leaf/relay/0/energy"
unit_of_measurement: 'kWh'
value_template: "{{ (( value|float )/(60*1000)) | round(2) }}"
- platform: template
sensors:
leaf_tempo_carica_2kw:
unit_of_measurement: 'ore'
value_template: >
{% if states.input_boolean.leaf_ricarica_80.state == "off" %}
{% set t = (((100-states.sensor.leafXXXXX_charge.state|int)/8.4)|round(2)*3600)|round(0) %}
{% elif states.sensor.leaf1andb_charge.state < '80' %}
{% set t = (((80-states.sensor.leafXXXXX_charge.state|int)/8.4)|round(2)*3600)|round(0) %}
{% else %}
{% set t = 0 %}
{% endif %}
{{ '{:02d}:{:02d}'.format((t // 3600) % 24, (t % 3600) // 60) }}
- platform: template
sensors:
leaf_tempo_carica_3kw:
unit_of_measurement: 'ore'
value_template: >
{% if states.input_boolean.leaf_ricarica_80.state == "off" %}
{% set t = (((100-states.sensor.leafXXXXX_charge.state|int)/13.75)|round(2)*3600)|round(0) %}
{% elif states.sensor.leaf1andb_charge.state < '80' %}
{% set t = (((80-states.sensor.leafXXXXX_charge.state|int)/13.75)|round(2)*3600)|round(0) %}
{% else %}
{% set t = 0 %}
{% endif %}
{{ '{:02d}:{:02d}'.format((t // 3600) % 24, (t % 3600) // 60) }}
- platform: template
sensors:
leaf_tempo_carica_6kw:
unit_of_measurement: 'ore'
value_template: >
{% if states.input_boolean.leaf_ricarica_80.state == "off" %}
{% set t = (((100-states.sensor.leafXXXXX_charge.state|int)/26.66)|round(2)*3600)|round(0) %}
{% elif states.sensor.leaf1andb_charge.state < '80' %}
{% set t = (((80-states.sensor.leafXXXXX_charge.state|int)/26.66)|round(2)*3600)|round(0) %}
{% else %}
{% set t = 0 %}
{% endif %}
{{ '{:02d}:{:02d}'.format((t // 3600) % 24, (t % 3600) // 60) }}
- platform: template
sensors:
leaf_tempo_carica_50kw:
unit_of_measurement: 'ore'
value_template: >
{% if states.input_boolean.leaf_ricarica_80.state == "off" %}
{% set t = (((100-states.sensor.leafXXXXX_charge.state|int)/166.66)|round(2)*3600)|round(0) %}
{% elif states.sensor.leaf1andb_charge.state < '80' %}
{% set t = (((80-states.sensor.leafXXXXX_charge.state|int)/166.66)|round(2)*3600)|round(0) %}
{% else %}
{% set t = 0 %}
{% endif %}
{{ '{:02d}:{:02d}'.format((t // 3600) % 24, (t % 3600) // 60) }}
- platform: template
sensors:
leaf_ultimo_aggiornamento:
friendly_name: 'Leaf Ultimo Aggiornamento'
value_template: >
{% set date = as_timestamp(states.sensor.leafXXXXX_charge.attributes.updated_on) | timestamp_custom('%d/%m/%Y') %}
{% set time = as_timestamp(states.sensor.leafXXXXX_charge.attributes.updated_on) | timestamp_custom('%H:%M:%S') %}
{{ date }} {{ time }}
switch:
- platform: mqtt
name: "Interruttore leaf"
state_topic: "shellies/shelly_leaf/relay/0"
command_topic: "shellies/shelly_leaf/relay/0/command"
availability_topic: "shellies/shelly_leaf/online"
qos: 1
value_template: "{% if value == 'on' %} on {% else %} off {% endif %}"
payload_on: "on"
payload_off: "off"
payload_available: "true"
payload_not_available: "false"
optimistic: false
retain: false
script:
carica_leaf:
alias: Carica Leaf
sequence:
- service: notify.alexa_media
data:
message: Il livello di carica della Leaf è {{ states.sensor.leafXXXXX_charge.state
}}%
data:
type: tts
target: media_player.alexa_echo_dotXXXXX
mode: single
icon: mdi:car
automation:
- id: '1600688930559'
alias: Leaf start
description: ''
trigger:
- platform: time
at: 00:00
condition:
- condition: numeric_state
entity_id: sensor.leafXXXXX_charge
below: '70'
- condition: state
entity_id: input_boolean.leaf_ricarica_atuomatica
state: 'on'
action:
- service: switch.turn_on
data: {}
entity_id: switch.interruttore_leaf
- service: nissan_leaf.update
data:
vin: XXXXXXXXXXXXXXXXX
mode: single
- id: '1601322049552'
alias: leaf stop
description: ''
trigger:
- platform: numeric_state
above: '80'
entity_id: sensor.leafXXXXX_charge
- platform: time
at: 08:00
condition:
- condition: state
entity_id: input_boolean.leaf_ricarica_80
state: 'on'
action:
- service: switch.turn_off
data: {}
entity_id: switch.interruttore_leaf
mode: single
Questa invece è la scheda da aggiungere a Lovelace:
Codice: Seleziona tutto
- icon: 'mdi:car'
path: auto
title: Auto
badges: []
cards:
- cards:
- type: 'custom:dual-gauge-card'
title: Stato
outer:
entity: sensor.leafXXXXX_charge
label: SOC
unit: '%'
min: 0
max: 100
colors:
- color: var(--label-badge-green)
value: 50
- color: var(--label-badge-yellow)
value: 35
- color: var(--label-badge-red)
value: 25
inner:
entity: sensor.leafXXXXX_range
label: Residui
unit: km
min: 0
max: 200
colors:
- color: var(--label-badge-green)
value: 100
- color: var(--label-badge-yellow)
value: 70
- color: var(--label-badge-red)
value: 50
- type: horizontal-stack
cards:
- type: button
tap_action:
action: toggle
entity: switch.interruttore_leaf
name: Interruttore
icon: 'hass:car-electric'
show_name: false
- type: button
tap_action:
action: toggle
entity: script.carica_leaf
icon: 'hass:waveform'
name: SOC vocale
show_name: false
- type: button
tap_action:
action: toggle
entity: binary_sensor.leafXXXXX_charging_status
icon: 'hass:battery-charging'
name: Ricarica
show_name: false
- type: horizontal-stack
cards:
- type: button
tap_action:
action: toggle
entity: switch.leafXXXXX_climate_control
icon: 'hass:air-conditioner'
show_name: false
name: A/C
- type: button
tap_action:
action: toggle
entity: binary_sensor.leafXXXXX_plug_status
icon: 'hass:ev-plug-type1'
name: Cavo
show_name: false
- type: button
tap_action:
action: call-service
service: nissan_leaf.update
service_data:
vin: XXXXXXXXXXXXXXXX
hold_action:
action: none
entity: sensor.leaf_ultimo_aggiornamento
icon: 'mdi:update'
name: Aggiorna
show_name: false
- type: entities
entities:
- entity: sensor.leaf_tempo_carica_2kw
name: 2kW
icon: 'hass:power-socket-eu'
- entity: sensor.leaf_tempo_carica_3kw
name: 3kW
icon: 'hass:ev-plug-type1'
- entity: sensor.leaf_tempo_carica_6kw
name: 6kW
icon: 'hass:ev-plug-type1'
- entity: sensor.leaf_tempo_carica_50kw
name: 50kW
icon: 'hass:ev-plug-chademo'
title: Tempi di ricarica
show_header_toggle: false
icon: 'mdi:timer'
- type: entities
entities:
- entity: sensor.leaf_ultimo_aggiornamento
hold_action:
action: none
icon: 'mdi:update'
name: Ultimio aggiornamento
- entity: input_boolean.leaf_impostazioni
icon: 'hass:cog-outline'
- entity: input_boolean.leaf_statistiche
icon: 'hass:poll'
title: Stato
show_header_toggle: false
type: vertical-stack
- type: conditional
conditions:
- entity: input_boolean.leaf_impostazioni
state: 'on'
card:
cards:
- entities:
- entity: input_boolean.leaf_ricarica_atuomatica
- entity: input_boolean.leaf_ricarica_80
name: Limita ricarica a 80%
title: Impostazioni
type: entities
show_header_toggle: false
type: vertical-stack
- type: conditional
conditions:
- entity: input_boolean.leaf_statistiche
state: 'on'
card:
cards:
- type: 'custom:mini-graph-card'
name: Consumo Giornaliero
icon: 'hass:power'
entities:
- entity: sensor.consumo_leaf_giornaliero
color: blue
show:
labels: false
graph: bar
hours_to_show: 336
animate: true
line_width: 5
hour24: true
height: 200
group_by: date
aggregate_func: max
- entities:
- entity: binary_sensor.leafXXXXX_charging_status
hours_to_show: 24
refresh_interval: 1
title: In carica
type: history-graph
type: vertical-stack
- type: conditional
conditions:
- entity: input_boolean.leaf_statistiche
state: 'on'
card:
cards:
- type: 'custom:mini-graph-card'
name: Potenza Assorbita
icon: 'mdi:flash'
entities:
- entity: sensor.potenza_leaf
color: blue
show:
labels: false
hours_to_show: 24
points_per_hour: 2
animate: true
line_width: 3
hour24: true
height: 200
decimals: 0
aggregate_func: max
smoothing: 1
- entities:
- entity: sensor.consumo_leaf_giornaliero
name: Consumo Giornaliero
- entity: sensor.consumo_leaf_mensile
name: Consumo Mensile
- entity: sensor.consumo_leaf_annuale
name: Consumo Annuale
- entity: sensor.temperatura_shelly_leaf
name: Temperatura Shelly
type: entities
type: vertical-stack
By(t)e
eVe: electric vehicle eVe
Leaf 30kWh 2016 powered by Power Cruise Control
Leaf 30kWh 2016 powered by Power Cruise Control
Chi c’è in linea
Visitano il forum: Nessuno e 1 ospite