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

# Other OCPP chargers

> Add any OCPP 1.6 charger by hand: your user types its Chargepoint ID and points the charger at Plugchoice.

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>;
};

Any charger that speaks OCPP 1.6 can join Plugchoice by hand. Your user types the charger's Chargepoint ID, and Link tells them what to set in the charger's own settings or app. Nothing runs on the phone, so this works the same in your app and in a browser.

| | |
| - | - |
| Models | Any charger that speaks OCPP 1.6, and every model in Link's brand list |
| Onboarding method | `manual_ocpp` |
| Electrical setup | For some brands: read `capabilities.electrical_setup` |
| What the phone needs | Nothing |
| In a browser | Yes |

Your user gets here by picking **Other / I don't know** in the brand list, or by choosing **By hand** for a brand that also has its own setup.

## Adding a charger

<Steps>
  <Step title="The setup guide">
    When Plugchoice has a setup guide for the model, Link opens it first. It shows where to find the Chargepoint ID and how to connect the charger to Plugchoice.
  </Step>

  <Step title="The Chargepoint ID">
    Your user types the Chargepoint ID: the ID the charger uses to identify itself over OCPP, which isn't its serial number. For some models Link asks for the serial number instead and builds the ID from it, and models that come with a pincode ask for it too.

    <Screen name="manual-identity" alt="What is the Chargepoint ID? A field for the ID, with help on where to find it" />
  </Step>

  <Step title="Point the charger at Plugchoice">
    Link adds the charger to Plugchoice, then shows the backend URL and the Chargepoint ID to enter in the charger's settings or app, each with a copy button. Your user saves them, restarts the charger if it asks, and taps **I did this**.

    <Screen name="manual-ocpp-address" alt="Point the charger at Plugchoice: the backend URL and the Chargepoint ID, with copy buttons" />
  </Step>

  <Step title="Online">
    Link waits until the charger connects. When that takes long, it suggests checking the Chargepoint ID, which is case-sensitive, the backend URL and the charger's internet. Your user can also go on without waiting: the charger keeps its place, and Plugchoice applies its settings the first time it connects.
  </Step>
</Steps>

A charger that's already online, or that came pointed at Plugchoice (models with a pincode), skips the backend URL.

## When the charger is already registered

Plugchoice knows every charger by its Chargepoint ID, so Link checks the ID before it adds the charger.

* **At another site the same account manages**: Link offers to move it here. See [`charger-at-other-site`](/sdk/errors/charger-at-other-site).
* **In another account**: Link offers to claim it. Plugchoice emails the current owner, and while the charger is online and not open to the public, your user can prove they're at the charger by plugging in. See [`identity-taken`](/sdk/errors/identity-taken).
* **Someone else is adding it right now**: Link asks your user to try again in a few minutes. See [`identity-busy`](/sdk/errors/identity-busy).

A claim can succeed after the link session has ended. The charger then appears at the link session's site, and the link session lists the claim. See [Link sessions](/sdk/concepts/link-sessions).


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