> ## Documentation Index
> Fetch the complete documentation index at: https://developer.plugchoice.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Charge Amps

> Add a Charge Amps Halo with the serial number and PIN on its label: the phone joins the charger's own hotspot and points it at Plugchoice under its own Chargepoint ID.

Link sets up a Charge Amps Halo with the serial number and PIN on its label. Your user restarts the charger first. Then the phone joins the charger's own Wi-Fi hotspot, points the charger at Plugchoice and restarts it. It shows how the charger reaches the internet, and can connect it to Wi-Fi. Your user stays near the charger while it's set up.

| | |
| - | - |
| Models | The Halo |
| Onboarding method | `local_hotspot` (or `manual_ocpp`, by hand) |
| What the phone needs | `wifi`, `socket` |
| Network setup | Yes, by reconnecting it (`reconnect` has `network: true` and `needs` `wifi`, `socket`) |
| In a browser | By hand, or in the Plugchoice app when the charger goes to your user's own account |

## Adding a charger

**1. A restart**

A Halo only opens its Wi-Fi hotspot for setup when it starts. Your user switches it off at its breaker, waits 10 seconds and switches it on again.

![Restart the charger: switch its breaker off, wait, and switch it on again](https://developer.plugchoice.com/images/sdk/charge-amps-restart-light.webp)

**2. The label**

The Halo's label and the papers that come with it have its serial number and an eight-digit PIN. Your user types both. The PIN is also the password of the charger's hotspot.

![Find the charger's PIN: the serial number and PIN, typed in](https://developer.plugchoice.com/images/sdk/charge-amps-label-light.webp)

**3. Its connections**

The phone joins the charger's hotspot (`HALO_` and the last 7 characters of its serial number); your user taps **Join** when the phone asks. Link signs in with the PIN, checks that it's the charger on the label, and shows how the charger reaches the internet. Your user can connect it to a Wi-Fi network from the ones the charger can see, or type another.

![How the charger connects: its Wi-Fi, not connected yet](https://developer.plugchoice.com/images/sdk/charge-amps-network-light.webp)

![Choose a Wi-Fi network: the networks the charger can see](https://developer.plugchoice.com/images/sdk/charge-amps-networks-light.webp)

**4. Onto Plugchoice**

Link points the charger at Plugchoice and restarts it, because a Halo only takes a new OCPP address after a restart. Link waits for the charger to come back and checks that it kept the new address. Then the phone returns to its own network.

**5. Online**

Link adds the charger to Plugchoice by its Chargepoint ID and waits until it connects.

What to know:

* **Its Chargepoint ID stays.** A Halo connects as its serial number out of the box, and Link keeps whatever ID it has.
* **Charge Amps' cloud stays connected.** A Halo comes connected to Charge Amps' own cloud. That cloud keeps getting the charger's data alongside Plugchoice, as Data & control, so the Charge Amps app keeps working. It isn't the charger's operator.
* **The current operator comes along.** When the charger used another OCPP backoffice, it stays the charger's operator, with Plugchoice connected alongside.
* **No charging history or cards.** A Halo keeps no charging history, and doesn't show its RFID cards while it's connected over OCPP, so none are imported.
* **The right charger.** Link checks that the charger it reaches matches the label's serial number. A wrong PIN takes your user back to the label.
* **No internet during the setup.** The phone is on the charger's hotspot for part of it, which has no internet. The SDK keeps the hosted flow working, and keeps the screen awake, because the hotspot drops when the phone locks.

## Reconnecting it, or changing its network

The `reconnect` action gets a Halo that's already on Plugchoice reaching Plugchoice again, or moves it to another network, such as a new Wi-Fi router. Your user restarts the charger and types the serial number and PIN again. Link checks that the charger still connects with the Chargepoint ID it has on Plugchoice, shows its connections so your user can connect it, points it at Plugchoice and restarts it when it isn't, and waits until it's back online. It imports nothing again, and keeps the backoffices the charger has.

## What your app needs

* **iOS**: the Hotspot Configuration and Access Wi-Fi Information entitlements, `NSLocalNetworkUsageDescription`, and `NSAllowsLocalNetworking` under `NSAppTransportSecurity` (its socket is plain `ws://`). On iOS 18 and later, AccessorySetupKit asks once per charger instead of on every join. See [iOS](https://developer.plugchoice.com/sdk/ios.md).
* **Android**: the charger serves its setup over a plain WebSocket at `ws://192.168.250.1`. Android blocks plain connections in release builds unless your network security configuration allows that address. See [Android](https://developer.plugchoice.com/sdk/android.md).
* **React Native**: the config plugin sets up iOS; Android's network security configuration is yours to set. See [React Native](https://developer.plugchoice.com/sdk/react-native.md).

In a browser, Link can't join the hotspot, so your user sets the charger up [by hand](https://developer.plugchoice.com/sdk/chargers/other.md), or in the Plugchoice app when the charger goes to their own account.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.