> For the complete documentation index, see [llms.txt](https://wiki.inels.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.inels.com/inels-harmony/administration/step-4-gateways.md).

# Step 4 · Gateways

Tell Harmony about the units on the network that reach your hardware.

A **gateway** is the box on the network that Harmony talks to in order to reach the hardware in a room. Nothing in the building can be read or switched until its gateway is here and online.

Go to **Gateways**.

## The three kinds

{% tabs %}
{% tab title="BUS" %}
An iNELS BUS central unit (CU3) — the usual backbone of a wired hotel installation. Lighting, heating, door and window contacts and service buttons all hang off it.

**Needs:** IP address and port.
{% endtab %}

{% tab title="eLAN" %}
An iNELS eLAN unit, bridging wireless RF devices onto the network. Common in retrofits where running cable is not an option.

**Needs:** IP address and port.
{% endtab %}

{% tab title="API" %}
Any third-party device or service reachable over REST — an energy meter, a bespoke controller.

**Needs:** IP address, port, and usually a username and password.
{% endtab %}
{% endtabs %}

## Add one gateway

{% stepper %}
{% step %}

#### Click Add gateway

{% endstep %}

{% step %}

#### Type

BUS, eLAN or API. **This cannot be changed afterwards** — delete and re-add if you pick wrong.
{% endstep %}

{% step %}

#### Name

Something a human will recognise a year from now. `BUS first floor` beats `CU3-2`. If one unit serves one room, name it after the room.
{% endstep %}

{% step %}

#### IP address and port

The unit's address on the hotel network, and the port from the unit's own configuration. It must be reachable from the Harmony server.
{% endstep %}

{% step %}

#### Username and password

Required for API gateways and any unit that is password-protected. Leave blank if the unit does not use them.
{% endstep %}

{% step %}

#### Save

The gateway appears in the table and Harmony starts trying to reach it.
{% endstep %}
{% endstepper %}

## Reading the gateway table

| Column            | Meaning                                                                                            |
| ----------------- | -------------------------------------------------------------------------------------------------- |
| Gateway           | Type: BUS, eLAN or API                                                                             |
| Name              | The label you gave it                                                                              |
| IP address / Port | Where Harmony looks for it                                                                         |
| **Status**        | A coloured dot. **Green** means Harmony is talking to the unit right now; **red** means it is not. |
| Last sync time    | When the unit last answered. A timestamp that stops moving is the first sign of trouble.           |
| Action            | Edit, reload or delete                                                                             |

{% hint style="success" %}
**Add one gateway, then stop and check it goes green.** If the first one cannot connect, the same problem — wrong subnet, firewall, wrong port — will affect all of them, and you will have typed twenty rows for nothing.
{% endhint %}

## Adding many gateways at once

For a hotel with one unit per room, typing them in is painful. Use the bulk import panel on the same page.

{% stepper %}
{% step %}

#### Download a template

**Template XLSX** or **Template CSV** — same columns in both.
{% endstep %}

{% step %}

#### Fill it in

One row per gateway: type, name, IP address, port, credentials where needed. This is where the spreadsheet from [Before you start](/inels-harmony/administration/before-you-start.md) earns its keep.
{% endstep %}

{% step %}

#### Choose the file and click Upload & import

Harmony processes rows one at a time and shows a live progress table: line number, type, IP, status and message.
{% endstep %}

{% step %}

#### Read the result table

Failed rows say why — duplicate IP, bad port, licence limit. Fix those rows and import again; rows that already succeeded are not duplicated.
{% endstep %}
{% endstepper %}

**Cancel job** stops an import in progress. Gateways already added stay added.

{% hint style="warning" %}
**A large import genuinely takes time.** Harmony deliberately pauses between rows so it does not overwhelm the units. A hundred gateways can take several minutes — leave the page open.
{% endhint %}

## Reload a gateway

The reload action asks the unit to send its configuration again. Use it after you change something on the unit itself.

{% hint style="danger" %}
**Reload deletes that gateway's settings in Harmony and rebuilds them from the unit.** Any device naming you did for it is lost. The confirmation says so plainly. Use it when you mean it, not as a general refresh.
{% endhint %}

## When a gateway will not come online

<details>

<summary>Work through these in order</summary>

1. **Ping it from the server.** No reply means a network problem, not a Harmony problem.
2. **Check the port.** A right address with a wrong port looks exactly like a dead unit.
3. **Check the credentials.** API gateways fail silently with a wrong password.
4. **Check the address has not moved.** If the unit is on DHCP it may have been given a new one. Reserve it on the router.
5. **Read the Logs** for connection errors mentioning that IP.

</details>
