> ## 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.

# Alfen

> Add Alfen chargers from their flyer: Link finds the charger on the home network, or joins its setup hotspot, and configures it.

export const Screen = ({name, alt, caption, wide = false}) => {
  const style = wide ? {
    width: '100%'
  } : {
    width: '280px',
    maxWidth: '100%'
  };
  return <figure style={{
    margin: '1.5rem 0',
    textAlign: 'center'
  }}>
      <img className="block dark:hidden" src={`/images/sdk/${name}-light.webp`} alt={alt} style={{
    ...style,
    margin: '0 auto',
    borderRadius: '12px',
    border: '1px solid rgba(128, 128, 128, 0.25)'
  }} />
      <img className="hidden dark:block" src={`/images/sdk/${name}-dark.webp`} alt={alt} style={{
    ...style,
    margin: '0 auto',
    borderRadius: '12px',
    border: '1px solid rgba(128, 128, 128, 0.25)'
  }} />
      {caption ? <figcaption style={{
    marginTop: '0.5rem',
    fontSize: '0.875rem',
    opacity: 0.7
  }}>{caption}</figcaption> : null}
    </figure>;
};

Link sets up an Alfen charger from the flyer that came in its box. The phone finds the charger on the home Wi-Fi, or connects to its setup hotspot, signs in to it over Alfen's own HTTPS, and points it at Plugchoice. Link reads the Chargepoint ID from the charger itself and checks it against the flyer.

| | |
| - | - |
| Models | Eve Single and Eve Double Pro-line (NG9xx) |
| Onboarding method | `local_lan` (or `manual_ocpp`, by hand) |
| Electrical setup | Yes |
| What the phone needs | `lan`, `wifi` |
| In a browser | By hand only |

## Adding a charger

<Steps>
  <Step title="The flyer">
    The flyer has a QR code next to the charger's ID, its default password and its password recovery code. Your user scans the QR code, or types the details.
  </Step>

  <Step title="Finding the charger">
    Link looks for the charger on the Wi-Fi network the phone is on. When it isn't there, your user restarts the charger with its breaker, and the phone joins the setup network the charger opens for 15 minutes after it starts.
  </Step>

  <Step title="The setup">
    Link signs in to the charger with the flyer's password and adds it to Plugchoice. It reads the charger's settings, cards and charging history, checks how the charger reaches the internet, points it at Plugchoice, and restarts it.

    <Screen name="alfen-run" alt="Setting up your charger: the checklist for an Alfen" />
  </Step>

  <Step title="Electrical setup">
    Once the charger is online, Link asks about its electrical setup and applies it.
  </Step>
</Steps>

What to know:

* **Cards, history and the current operator come along.** Plugchoice imports the charger's cards and charging history. When the charger used another OCPP backoffice, Plugchoice keeps it connected alongside.
* **A changed password.** When the charger doesn't accept the flyer's password, Link offers to reset it with the recovery code. A password an installer set then stops working.
* **One app at a time.** The charger allows one connection. If Eve Connect or ACE Service Installer is connected, your user closes it and tries again.
* **Another charger's flyer.** When the charger it reaches isn't the one on the flyer, Link stops and asks for the right flyer.

## What your app needs

* **iOS**: `_alfen._tcp` in `NSBonjourServices`, and `NSLocalNetworkUsageDescription`. iOS only looks for the service types your app declares; without `_alfen._tcp`, Link can't find the charger on the home network. If your user denies Local Network access, Link asks them to allow it in Settings. Joining the setup hotspot uses the Hotspot Configuration entitlement, and on iOS 18 and later AccessorySetupKit when you declare it. See [iOS](/sdk/ios).
* **Android**: nothing to add. See [Android](/sdk/android).
* **React Native**: the config plugin declares `_alfen._tcp` for you. See [React Native](/sdk/react-native).

In a browser, Link can't reach the charger, so it offers only setting the charger up [by hand](/sdk/chargers/other).


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