Nissan Leaf
The nissan_leaf
integration offers integration with the NissanConnect EV cloud service. NissanConnect EV was previously known as Nissan Carwings. It offers:
- sensors for the battery status, range and charging status
- a switch to start and stop the climate control
- a button to request the car starts charging.
- service to request updates from the car.
Configuration
To use Nissan Leaf in your installation, add the following to your configuration.yaml
file:
# Example configuration.yaml entry
nissan_leaf:
username: "YOUR_USERNAME"
password: "YOUR_PASSWORD"
region: "YOUR_REGION"
Configuration Variables
The username associated with your NissanConnect EV account. Enclose in quotes.
The region where the NissanConnect EV account is registered. Should be one of the following, NE (for Europe), NNA (USA), NCI (Canada), NMA (Australia), NML (Japan).
The interval between updates if the climate control is off and the car is not charging. Set in any time unit (e.g., minutes, hours, days!). Providing a low interval will cause the service to refresh more frequently and can negatively impact your 12V battery.
The interval in minutes between updates if charging.
Full configuration sample
A more advanced example for setting the update interval:
# Example configuration.yaml entry
nissan_leaf:
username: "YOUR_USERNAME"
password: "YOUR_PASSWORD"
region: "YOUR_REGION"
update_interval:
hours: 1
update_interval_charging:
minutes: 15
update_interval_climate:
minutes: 5
force_miles: true
Starting a Charge
You can use the button.press
service to send a request to the Nissan servers to start a charge. The car must be plugged in!
- service: button.press
target:
entity_id: button.start_NICKNAME_charging # replace
Updating on-demand using Automation
You can also use the nissan_leaf.update
service to request an on-demand update. To update almost exclusively via the service set the update_interval
to a high value in the integration configuration. The service requests the VIN number as described above.
- id: update_when_driver_not_home
alias: "Update when driver not home"
initial_state: on
trigger:
- platform: time_pattern
minutes: "/30"
condition:
- condition: state
entity_id: device_tracker.drivername # replace
state: "not_home"
action:
- service: nissan_leaf.update
data:
vin: "1HGBH41JXMN109186" # replace
Hints
- The update interval has a minimum of two minutes.
- Requesting updates uses a small amount of energy from the 12 V battery. The 12 V battery charges from the main traction battery when the car is not plugged in. If the car is left plugged in for a long time, or if the main traction battery is very low then the 12 V battery may gradually discharge. A low update interval may cause the 12 V battery to become flat. When the 12 V battery is flat the car will not start. Do not set the update interval too low. Use at your own risk.
- This integration communicates with the Nissan Servers which then communicate with the car. The communication between the car and the Nissan Servers is very slow, and takes up to five minutes to get information from the car, therefore the default polling interval is set to one hour to not overwhelm the connection.
- Responses from the Nissan servers are received separately for the battery/range, climate control and location. The
updated_on
attribute will show the last time the data was retrieved from the server. There are separate attributes for when thenext_update
is scheduled, and to indicate ifupdate_in_progress
. Thenissan_leaf.update
service will reset thenext_update
attribute. - The Nissan APIs do not allow charging to be stopped remotely.
- The Nissan servers have a history of being unstable, therefore please confirm that the official Nissan Leaf app/website is working correctly before reporting bugs.
- In the UK the cut-off for Carwings was the 16 plate 24 kWh and the 65 plate 30 kWh. Cars after this have NissanConnect.
- As of 25 July 2019 the MyCarFinder API is not longer available, hence the device_tracker support has been removed.
Please report bugs using the following logger configuration.
logger:
default: critical
logs:
homeassistant.components.nissan_leaf: debug
homeassistant.components.binary_sensor.nissan_leaf: debug
homeassistant.components.button.nissan_leaf: debug
homeassistant.components.sensor.nissan_leaf: debug
homeassistant.components.switch.nissan_leaf: debug