Anyone using the Enphase IQ EV charger in HA?

Are there any HA users using the Enphase IQ EV charger? I’m wondering if it integrates or provides any information through the Envoy integration, or would we need a separate integration?

Use case: I’d be interested in seeing effective kW charging rate, especially when the charger is setup to use only excess solar power. Perhaps setting up notification when charging starts, etc.

Thanks!

2 Likes

Id be interested in this as well, but I’m not too hopeful. The Enphase integration connects to the local Enphase controller, but the EVSE seems to talk directly to the cloud.

I implemented an Enphase EVSE controller in a hacky way and wrote about it on medium https://medium.com/@chriswritesstuff/how-to-controlling-the-enphase-car-charger-from-home-assistant-939aab00ab9c

Basically, you’ll need your site id, evse serial number and the set of cookies from a valid enlighten session, and can put something like the code below into your configuration.yaml.

To make a sensor that determines how much power you’ve added in the current charging session, with properties for the charging status and the plugged-in status:

rest:
  - resource: https://enlighten.enphaseenergy.com/service/evse_controller/[site_id]/ev_chargers/status
    scan_interval: 300
    headers:
      cookie: [cookies]
    sensor:
      - name: "Enphase EVSE"
        unique_id: "enphase_evse"
        value_template: "{{ value_json.data.chargers[0].session_d.e_c|round(1) }}"
        device_class: energy
        state_class: total_increasing
        unit_of_measurement: Wh
        json_attributes_path: "$.data.chargers[0]"
        json_attributes:
          - "pluggedIn"
          - "charging"

To control start/stop of charging:

rest_command:
  start_charging:
    url: "https://enlighten.enphaseenergy.com/service/evse_controller/[site_id]/ev_chargers/[serial_number]/start_charging"
    method: post
    headers:
      cookie: [cookies]
    verify_ssl: true
    content_type: "application/json"
    payload: '{"chargingLevel":100,"connectorId":1}'
  stop_charging:
    url: "https://enlighten.enphaseenergy.com/service/evse_controller/[site_id]/ev_chargers/[serial_number]/stop_charging"
    method: put
    headers:
      cookie: [cookies]
    verify_ssl: true
    content_type: "application/json"
    payload: 'null'

I’m not seeing a way to edit my original reply, so I just wanted to add that the payload for the start_charging command has changed. The “chargingLevel” should now be the max amps for your charger instead of 100%. So:

rest_command:
  start_charging:
    ...
    payload: '{"chargingLevel":32,"connectorId":1}'
    ...

chargingLevel will be your charger’s max amps. So one of: 32, 40, 48, or 64