# ¶ Prerequisites

You will need:

- The ip of your charger's local web client
- The name of your charger
- The ip of your cofybox in your local network. This can be found from either:
  - the balena dashboard
  - using a network scanning app such as fing

Here is an example card: the name of your charger is under Charge point ID and the ip of your charger's local web client is under Local Web Client URL (in this example, 192.168.4.1).

# ¶ Charger settings

1. Log into the charger. You might need to click on "Advanced" and then "Proceed to ..." or similar, depending on your charger.

2. Log into the admin panel: the PIN is, by default, just `admin`

3. You might need to update the Network Configuration to point at your home wifi, if it doesn't already.

4. Update the web address: Go to Backend Configuration and use the Change Web Address form to update it. You will need to change it to `ws://192.168.1.XXX:80/ocpp/` where XXX makes this the ip of your cofybox on your local network. In my example. it was 175.

5. Restart your charger. You can do this at this point using the alert which pops up.

# ¶ Homeassistant settings

1. Log into your homeassistant instance, via:
   - `10.42.0.1` when connected to the cofybox's wifi network
   - at the ip address we used above when connected to your home network (in the example above, `192.168.175`)
   - at the remote url which can be found in the cofycloud or from the Balena dashboard
2. Add the OCPP integration
   a. Go to settings, then Devices & Services
   b. Click Add Integration and search for ocpp
   c. Tick "Allow availability timeout", add your charger name in the `Charge point identity` field and leave all other settings as default
3. Click on the new device (via the 2 devices under the integration, or the Devices tab)
   Here the fields should be Unknown or filled with data (not Unavailable). This may take a few minutes.
4. From here you can turn charging on and off with the `Charge_Control` toggle, if your car is plugged in. You can also add automations etc. if you wish.

# ¶ Technical details

- Sync EV doesn't fully implement OCPP 1.6 at the time of writing (May 2022). They have been contacted about this but no response yet.
  - This is why we have to allow availability timeout - the charger does not succeed in changing availability. If we let it throw an error, then it disconnects and reconnects in a loop and becomes unusable
  - We also had to let the charger respond unknown to the request for supported profiles
  - We are using this fork, and have made this ticket