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

# Ratio

> Add Ratio io5 and io6 chargers picked from the ones nearby: the phone sets them up over Bluetooth.

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 a Ratio io5 or io6 with the passcode on its sticker. The phone reaches the charger over Bluetooth, shows how it connects to the internet (and connects it to Wi-Fi when needed), and points it at Plugchoice. Your user stays near the charger while it's set up.

| | |
| - | - |
| Models | io5 and io6 |
| Onboarding method | `local_ble` (or `manual_ocpp`, by hand) |
| What the phone needs | `ble` |
| Network setup | Yes, by reconnecting it (`reconnect` has `network: true` and `needs` `ble`) |
| In a browser | Yes, in Chrome and Edge (Web Bluetooth) |

## Adding a charger

<Steps>
  <Step title="Pick the charger">
    Link lists the Ratio chargers nearby, by the name they advertise: `RATIO_` and the serial number, such as `RATIO_P00000000035706`. Your user picks theirs by the serial number on its sticker. Nothing is typed. In Chrome or Edge, the browser's own Bluetooth list does this.

    <Screen name="ratio-nearby" alt="Which charger is yours: the Ratio chargers nearby, with their signal" />
  </Step>

  <Step title="Pairing">
    The phone asks for the Bluetooth passcode from the sticker in its own pairing dialog. Link never sees the passcode. Plugchoice then registers the charger under that name, its Chargepoint ID.
  </Step>

  <Step title="The setup">
    Link sets the charger's timezone to the phone's and reads which backoffice it uses. Then it shows how the charger connects: Wi-Fi, and Ethernet where the charger reports it. Your user can set up Wi-Fi by picking a network from the charger's own scan (or typing one) and entering its password. They continue once one connection is up, and Link points the charger at Plugchoice.

    <Columns cols={2}>
      <Screen name="ratio-networks" alt="Choose a Wi-Fi network: the networks the charger found, with their signal" />

      <Screen name="ratio-joined" alt="How the charger connects: Wi-Fi connected, with its network and address" />
    </Columns>
  </Step>

  <Step title="Online">
    Link waits until the charger connects to Plugchoice.
  </Step>
</Steps>

What to know:

* **Older firmware.** A charger whose firmware has no backoffice address is set to Plugchoice through the Volt Time entry in Ratio's own list. One without that entry is asked to update with Ratio's app first.
* **The current operator comes along.** When the charger used another OCPP backoffice, it stays the charger's operator, with Plugchoice connected alongside. When it used none, your user is asked whether it keeps one.

## Reconnecting it, or changing its network

The `reconnect` action gets a Ratio that's already on Plugchoice reaching Plugchoice again, or moves it to another Wi-Fi network. Link finds that charger by its name, and your user sees its connections, where they can give it another Wi-Fi. Link checks that the charger points at Plugchoice, and points it there again when it doesn't. It imports nothing again.

## What your app needs

* **iOS**: `NSBluetoothAlwaysUsageDescription`. See [iOS](/sdk/ios).
* **Android**: `BLUETOOTH_SCAN` and `BLUETOOTH_CONNECT`. See [Android](/sdk/android).
* **React Native**: the config plugin sets them up. See [React Native](/sdk/react-native).

In a browser without Bluetooth (Safari, Firefox), Link offers setting the charger up [by hand](/sdk/chargers/other) instead.


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