Homemade DIY Fake Zappi Solar EV Charger

April 9th, 2022
YouTube video

I want to share with you a little hack I threw together that allows me to charge my electric car using the excess solar electricity generated by the panels on the roof of my house.

Yes, I know, a MyEnergi Zappi can do exactly that, but what if you made a massive mistake when you purchased your car and took up the offer of a really cheap Pod Point instead and are now living to regret that decision?

I had solar panels fitted back in December last year, but I’m still waiting for a battery to be installed, and seeing all of this electrical juice flying out of my house for free was upsetting me. I already have a pretty decent home automation system up and running so I decided to see if I could rig something up within that to help make better use of that excess energy.

It turns out that I didn’t need to purchase anything else at all in order to get this working, but if you want to have a go at creating this solution, you will need:

  • An EV emergency charger with adjustable charging speeds
  • A smart plug
  • A smart energy monitor
  • Home Assistant 

I have what is known in the EV world as a granny cable. I’ve no idea why it’s called that, but it’s essentially just an EV charging cable with a Type 2 plug on one end that goes into your car, and a normal 3-pin UK plug on the other end. The idea is that you should carry this with you in your car when so as you can charge from a normal socket in the event that you don’t have access to a proper 7kW or better charger. You are limited by the 13 amps of the socket you are plugging into, which means you can only charge at about 3kW maximum. My specific granny cable has a power selection option meaning I can further limit charging down to 8 amps, which is up to 1920w. In the real world, I’ve tested this at drawing 1850w. I only have a small solar array, 3.9kW, so that ability to limit the charging speed is extremely useful in this scenario.

The second component I needed was a smart plug. I used an Ikea Tradfri one, which uses a Zigbee network – you might find it easier to use a WiFi smart plug instead if you don’t have an existing Zigbee network. Whichever one you to use, make sure it supports the current you’re planning to put through it. Ikea’s plugs support up to 13 amps, so my 8 amp charger is well within that limit.

The third component is some sort of device to measure your live import and export power. You could use some sort of CT clamp solution for this, just so long as it can feed its data into Home Assistant. I’m using the Hildebrand Glow IHD that connects directly to my smart meter. Hildebrand then provide an API and MQTT feed which can push that data into Home Assistant. I could do an entire video on this excellent little gadget… but not right now.

Lastly – Home Assistant!

In Home Assistant I created a helper: An input_boolean called Solar Charge EV, which I’ll use to enable or disable this feature. Then I created some automations: the first one waits until it detects a continuous export of 1.8kW for over 30 seconds, and if the Solar Charge EV helper is turned on, it will turn on the smart switch.

alias: 'Solar Charge EV: Toggle On'
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.smart_meter_electricity_power_export
    above: '1800'
    for:
      hours: 0
      minutes: 0
      seconds: 30
condition:
  - condition: state
    entity_id: input_boolean.solar_charge_ev
    state: 'on'
action:
  - service: switch.turn_on
    data: {}
    target:
      entity_id: switch.ev_granny_cable
mode: single

The second automation waits until it detects a continuous import of over 150 watts for at least 60 seconds, it will turn the smart switch off.

alias: 'Solar Charge EV: Toggle Off'
description: ''
trigger:
  - platform: numeric_state
    entity_id: sensor.smart_meter_electricity_power_import
    above: '150'
    for:
      hours: 0
      minutes: 1
      seconds: 0
condition:
  - condition: state
    entity_id: input_boolean.solar_charge_ev
    state: 'on'
action:
  - service: switch.turn_off
    data: {}
    target:
      entity_id: switch.ev_granny_cable
mode: single

Finally, I created an automation that triggers when you toggle the Solar Charge EV helper on or off. The idea here is that if, when you turn on the helper, there’s enough power to charge the car being exported already, it’ll just turn the smart switch on straight away. When you toggle the helper off, it’ll turn the smart switch off.

alias: 'Solar Charge EV: Start/Stop'
description: ''
trigger:
  - platform: state
    entity_id: input_boolean.solar_charge_ev
condition: []
action:
  - choose:
      - conditions:
          - condition: state
            entity_id: input_boolean.solar_charge_ev
            state: 'on'
        sequence:
          - choose:
              - conditions:
                  - condition: numeric_state
                    entity_id: sensor.smart_meter_electricity_power_export
                    above: '1800'
                sequence:
                  - service: switch.turn_on
                    data: {}
                    target:
                      entity_id: switch.ev_granny_cable
            default: []
    default:
      - service: switch.turn_off
        data: {}
        target:
          entity_id: switch.ev_granny_cable
mode: single

You can obviously tweak the amount of time it takes for the plug to turn on and off when import or export is detected, and it’ll never be as efficient as a real Myenergi Zappi because you miss out on all of the energy when your export is too little for this automation to kick in, or the excess over and above what your 8 amp charger can use. But, in my case at least, that energy was just leaving for free and I’d much rather try and use some of it myself if I can.

Anyway, I hope you found this useful, maybe even useful enough to give this a go yourself.

  • As an Amazon Associate I earn from qualifying purchases.