---
title: "Elko EP eLAN-RF (iNELS RF)"
description: "iNELS RF relays RFSA-66M/61B/62B, RFTC-10/G temperature and heating zone via eLAN-RF local HTTP API. Login with the SHA1 hash of the password."
url: "https://taphome.com/en/compatibility/elko-ep-elan-rf/"
language: en
lastmod: 2026-11-12
generator: hugo
ai:
  topics: ["http","gateway","rf","wireless","relay","heating","lan"]
  questions: ["How to integrate the Elko EP eLAN-RF gateway with TapHome?","Which iNELS RF devices does the eLAN-RF TapHome template control?","How does TapHome connect to the eLAN-RF over its local HTTP API?","How do I get the SHA1 hash of the eLAN-RF password for the TapHome template?","Which eLAN-RF template should I use on TapHome Core 2026.1.40991 or newer?","What is the eLAN ID and how does it differ from the RF address of the element?","How to find the IP address and log in to the eLAN-RF-003 or eLAN-RF-Wi-003?","Why does the eLAN-RF module in TapHome report a login error?"]
---

# Elko EP eLAN-RF (iNELS RF)

Communication: Packet Parser → HTTP

> Network address
> 
> TapHome reaches this device at the address entered on import. Give the device a fixed address — an IP reservation in the router, or its mDNS name if it supports one — otherwise the integration stops working when the router changes the address.
> 
> [Network Preparation](https://taphome.com/en/docs/setup/network-preparation/)

## Integration guide

This community template connects the Elko EP **eLAN-RF** gateway (eLAN-RF-003 or eLAN-RF-Wi-003) to TapHome and controls wireless **iNELS RF** elements through the local HTTP API of the gateway. The TapHome Core talks to the gateway over plain HTTP on port 80 (no HTTPS) and needs no cloud connection. The template covers the six channels of an **RFSA-66M** switching actuator, one **RFSA-61B**, both channels of an **RFSA-62B**, the temperature of an **RFTC-10/G** thermostat and the temperature correction of one heating zone.

## Which template to use

This template asks for the **SHA1 hash of the eLAN password** (40 hexadecimal characters) instead of the password itself, and it also runs on older versions of the TapHome Core. On **TapHome Core 2026.1.40991 or newer** you can use [Elko EP eLAN-RF (iNELS RF) – Core 2026.1](https://taphome.com/en/compatibility/elko-ep-elan-rf-inels-rf-core-2026-1/) instead, which takes the plain eLAN password and computes the hash itself. Apart from the password field, both templates are identical — same devices, same scripts.

## Gateway installation and network

The gateway is powered from the supplied 10–27 V DC adapter or over PoE (24 V DC) from the router. It manages up to 40 RF actuators and 16 temperature zones; its radio range is up to 100 m in open space. In a metal switchboard the external antenna AN-E improves reception, and the RFRP-20 repeater extends the range. The manufacturer requires a minimum distance of 1 cm between the gateway and an actuator.

### eLAN-RF-003 (Ethernet)

1. Connect the power supply and plug the gateway into the local network with an Ethernet cable.
2. DHCP is enabled by default, so the router assigns the IP address. Find it in the router's client list, or in the iNELS RF phone app (iHC-MAIRF for Android, iHC-MIIRF for iOS) under **Settings → eLAN Settings → search**, which lists the discovered gateways with their IP addresses.
3. The template addresses the gateway by a fixed IP address — reserve it in the router (DHCP reservation) or set a static IP in the gateway web interface under **Settings → IP Settings**. After a change, use the new IP address; the TapHome Core must be in the same subnet or be routed to it.

![Installation page of the eLAN-RF-003 manual: connecting power and the Ethernet cable and finding the gateway IP address assigned by the router or via the iNELS app.](https://taphome.com/images/compatibility/elko-ep-elan-rf/install-ip-address_hu_80bf20cfdfb32d83.jpg)

### eLAN-RF-Wi-003 (Wi-Fi model)

The Wi-Fi model starts its own network for the first configuration:

1. About one minute after power-up, the Wi-Fi network **ELAN-RF-WI** appears. Connect to it with the password `00000000`.
2. Open the factory default address `192.168.1.1` in a web browser and log in (see below).
3. Under **Settings**, switch the network settings to **Static IP**, set an address in the subnet of the home network and the default gateway of that network, and save.
4. Connect the gateway to the home network with an Ethernet cable, so that the TapHome Core can reach it at the new address.

![eLAN-RF-Wi-003 manual page showing connection to the gateway Wi-Fi network and login to its web interface.](https://taphome.com/images/compatibility/elko-ep-elan-rf/wifi-login_hu_6635c977cb504b57.jpg)

## Login to the gateway

Enter the IP address of the gateway in a web browser. The factory login for the administrator is user name `admin` and password `elkoep`; the login data can be changed under **Settings → Accounts**. The template logs in to the gateway with the same user name and the **SHA1 hash** of that account's password; the user name parameter defaults to `admin`.

![eLAN-RF-003 manual page showing login to the web interface using the gateway IP address, user name and password.](https://taphome.com/images/compatibility/elko-ep-elan-rf/web-login_hu_bfb892e63015ae2c.jpg)

A long press of the button on the front panel until the yellow LED starts flashing resets the gateway: the IP address and the login data return to the factory settings (on the eLAN-RF-003, DHCP is selected again). After a reset, update the IP address and the password hash in TapHome as well.

### Getting the SHA1 hash of the password

The template sends the entered value to `/login` unchanged — it does not compute the hash itself. Compute it once on a computer and enter the result (40 hexadecimal characters, lower case, no spaces). Hash the password exactly as typed, without a trailing newline. According to the template author, a password with diacritics is encoded in Windows-1250 (CP1250) before hashing; for a password without diacritics the encoding makes no difference.

macOS or Linux terminal:

```sh
printf '%s' 'YOUR_PASSWORD' | iconv -f UTF-8 -t CP1250 | shasum -a 1
```

On Linux, `sha1sum` can be used instead of `shasum -a 1`. The output ends with ` -`; copy only the 40 characters before it.

Windows PowerShell:

```powershell
$s=[Security.Cryptography.SHA1]::Create(); -join ($s.ComputeHash([Text.Encoding]::GetEncoding(1250).GetBytes('YOUR_PASSWORD')) | % { $_.ToString('x2') })
```

For the factory password `elkoep`, the hash is `9a66d1f4e90f9e63b6d043fab6c0e12d8f0e9afd`. Whenever the password of the gateway account changes, compute the hash again and update it in TapHome.

## Adding the RF elements to the gateway

Every element has to be paired with the gateway before TapHome can control it. In the web interface open **Settings → Devices** and press **(+)**:

1. **Product Type** — select the type of the RF element (for example RFSA-61B).
2. **Address** — enter the RF address printed on the element and its box (six-character hexadecimal code).
3. **Label** and **Type** — any name and an icon for the eLAN floorplan.
4. Press **Create**.

![eLAN-RF-003 manual page showing how to add RF actuators in the Devices menu by selecting product type and entering the RF element address.](https://taphome.com/images/compatibility/elko-ep-elan-rf/add-rf-devices_hu_f107bdef48e28fbd.jpg)

Heating elements and temperature zones are set up in the iNELS RF phone app — according to the manufacturer, the web interface only shows the measured and set temperature of thermal components.

## Import parameters

| Parameter | Meaning |
|-----------|---------|
| IP address of eLAN-RF | IP address of the gateway (port 80, HTTP) |
| eLAN user name | Login name of the gateway web interface, default `admin` |
| SHA1 hash of the eLAN password | SHA1 hash of that account's password (40 hexadecimal characters) — the template sends it to `/login` unchanged |
| eLAN ID (one per element) | RFSA-66M channels 1–6, RFSA-61B, RFSA-62B channels 1–2, RFTC-10/G thermostat and the heating zone |

The **eLAN ID** is the identifier of the element in the HTTP API of the gateway: the template reads `GET /api/devices/<id>/state` and writes `PUT /api/devices/<id>`. It is **not** the six-character RF address from the box — that one is only used when the element is added to the gateway. The manufacturer manuals do not describe the HTTP API.

In the TapHome app, the template is imported as a Packet Parser module and these parameters are filled in during the import.

> [!WARNING]
> The gateway API runs over plain HTTP without encryption. Keep the gateway and the TapHome Core on a trusted local network.

## Device capabilities

The module checks its session every 30 seconds (`GET /api`). When the gateway does not answer with HTTP 200, it logs in again (`POST /login` with the user name and the entered SHA1 hash of the password, sent unchanged) and keeps the session cookie `AuthID` for all further requests. If the login fails, the module reports a login error.

### Switching actuators

**RFSA-66M channels 1–6**, **RFSA-61B** and **RFSA-62B channels 1–2** are on/off switches. Each one reads its state every 5 seconds and switches by writing `on: true` or `on: false`.

Service attributes of every channel: automatic mode, whether a delay is running, the set time of delayed off and delayed on (in seconds), whether the element is locked, and its eLAN ID.

Service actions of every channel:

| Action | Parameter |
|--------|-----------|
| Delayed off | time 2–3600 s |
| Delayed on | time 2–3600 s |
| Automatic mode | on / off |

### RFTC-10/G temperature

The thermostat temperature sensor reads the `temperature IN` value every 30 seconds. Service attributes show whether heating is on, the temperature of the external probe (`temperature OUT`, °C) and the raw state returned by the gateway.

### Heating zone temperature correction

A variable that reads and writes the temperature `correction` of one heating zone of the gateway every 30 seconds. Written values are rounded to 0.5 and limited to −5 … +5. Service attributes show the zone mode, the zone power and the raw zone state; service actions set the zone mode (1–4) and the zone power (0–2).

## Troubleshooting

### Login error on the module

- Check the user name and the SHA1 hash entered during import: exactly 40 hexadecimal characters, no spaces, and the hash of the **password** — not the password itself.
- After a reset of the gateway, the password is back to the factory value `elkoep`; enter its hash `9a66d1f4e90f9e63b6d043fab6c0e12d8f0e9afd`.
- On TapHome Core 2026.1.40991 or newer, you can use [Elko EP eLAN-RF (iNELS RF) – Core 2026.1](https://taphome.com/en/compatibility/elko-ep-elan-rf-inels-rf-core-2026-1/) instead, which takes the plain password.

### A device reports that the gateway does not respond

- Check the eLAN ID of that device and that the element was added under **Settings → Devices**.
- The gateway IP address changed — open it in a browser and update the module, or reserve the address in the router.

### The thermostat shows no temperature

The template reports an error when the `temperature IN` field is missing in the thermostat state. Check the **raw state** service attribute: it shows what the gateway returned for that eLAN ID, so a wrong ID (for example the ID of a relay) is easy to spot.

### An RF element does not react

Signal problems are on the radio side of the gateway: move the gateway out of a metal switchboard or use the external antenna AN-E, keep the range under 100 m in open space, or add the RFRP-20 repeater.

## Available devices 11

These devices appear in TapHome after import.

eLAN-RF Module

Custom Variables

|                     |
|---------------------|
| `ElanUser` (string) |
| `ElanKey` (string)  |
| `AuthId` (string)   |

Read (module)

```taphome
VAR test := SENDHTTPREQUEST("/api", "GET", "", "Cookie: AuthID=" + AuthId);
IF test.StatusCode != 200
  VAR login := SENDHTTPREQUEST("/login", "POST", "name=" + ElanUser + "&key=" + ElanKey, "Content-Type: application/x-www-form-urlencoded");
  VAR cookie := PARSETEXT(login.Headers, "AuthID=", ";");
  IF ISNULL(cookie)
    ADDERROR("Prihlásenie do eLAN zlyhalo – skontrolujte meno a SHA1 hash hesla");
  ELSE
    AuthId := cookie;
  END
END
```

RFSA-66M – kanál 1 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-66M – kanál 2 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-66M – kanál 3 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-66M – kanál 4 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-66M – kanál 5 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-66M – kanál 6 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-61B Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-62B – kanál 1 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFSA-62B – kanál 2 Switch

Values / States: ON · OFF

Service Actions

|                     |
|---------------------|
| Oneskorené vypnutie |
| Oneskorené zapnutie |
| Automatický režim   |

Variable: `ElanId`, Variable: `State`

Read switch state

```taphome
RETURN(PARSEJSON(State, "on"));
```

Write switch state

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(St, "{\"on\":true}", "{\"on\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Automatický režim

```taphome
IF(PARSEJSON(State, "automat", true), "Zapnutý", "Vypnutý")
```

Prebieha oneskorenie

```taphome
IF(PARSEJSON(State, "delay", true), "Áno", "Nie")
```

Čas oneskoreného vypnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed off: set time", true)) + " s"
```

Čas oneskoreného zapnutia

```taphome
TOSTRING(PARSEJSON(State, "delayed on: set time", true)) + " s"
```

Uzamknuté

```taphome
IF(PARSEJSON(State, "locked", true), "Áno", "Nie")
```

eLAN ID zariadenia

```taphome
ElanId
```

Service Actions

Oneskorené vypnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed off: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed off\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Oneskorené zapnutie

Parameters: Čas \[s] (2–3600 sec)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"delayed on: set time\":" + TOSTRING(ROUND(sec)) + ",\"delayed on\":null}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Automatický režim

Parameters: Automatický režim (Zapnúť / Vypnúť)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", IF(aut, "{\"automat\":true}", "{\"automat\":false}"), "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

RFTC-10/G – teplota Temperature Sensor

Service Attributes

|                    |
|--------------------|
| Kúrenie zapnuté    |
| Vonkajšia sonda    |
| Surový stav z eLAN |

Variable: `ElanId`, Variable: `State`

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read temperature

```taphome
VAR t := PARSEJSON(State, "temperature IN", true);
IF ISNULL(t)
  ADDERROR("V stave termostatu chýba pole \"temperature IN\" – pozrite atribút Surový stav z eLAN");
  RETURN(NaN);
END
RETURN(TODOUBLE(t));
```

Service Attributes

Kúrenie zapnuté

```taphome
IF(PARSEJSON(State, "on", true), "Áno", "Nie")
```

Vonkajšia sonda

```taphome
TOSTRING(PARSEJSON(State, "temperature OUT", true)) + " °C"
```

Surový stav z eLAN

```taphome
State
```

Zóna kúrenia – korekcia teploty Variable

Service Attributes

|                         |
|-------------------------|
| Režim zóny              |
| Výkon zóny              |
| Surový stav zóny z eLAN |

Service Actions

|                     |
|---------------------|
| Nastaviť režim zóny |
| Nastaviť výkon zóny |

Variable: `ElanId`, Variable: `State`

Read

```taphome
VAR c := PARSEJSON(State, "correction", true);
IF ISNULL(c)
  RETURN(NaN);
END
RETURN(TODOUBLE(c));
```

Write

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"correction\":" + TOSTRING(MAX(-5, MIN(5, ROUND(Va * 2) / 2))) + "}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess = false
  ADDERROR("Zápis do eLAN zlyhal (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Read (module)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId + "/state", "GET", "", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  State := r.Content;
ELSE
  ADDERROR("eLAN neodpovedá pre zariadenie " + ElanId + " (HTTP " + TOSTRING(r.StatusCode) + ")");
END
```

Service Attributes

Režim zóny

```taphome
TOSTRING(PARSEJSON(State, "mode", true))
```

Výkon zóny

```taphome
TOSTRING(PARSEJSON(State, "power", true))
```

Surový stav zóny z eLAN

```taphome
State
```

Service Actions

Nastaviť režim zóny

Parameters: Režim (1–4) (1–4 m)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"mode\":" + TOSTRING(ROUND(m)) + "}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

Nastaviť výkon zóny

Parameters: Výkon (0–2) (0–2 p)

```taphome
VAR r := SENDHTTPREQUEST("/api/devices/" + ElanId, "PUT", "{\"power\":" + TOSTRING(ROUND(p)) + "}", "Content-Type: application/json", "Cookie: AuthID=" + AuthId);
IF r.IsSuccess
  RETURN("OK");
ELSE
  RETURN("Chyba HTTP " + TOSTRING(r.StatusCode));
END
```

**Connection:** Packet Parser → HTTP

## Import parameters

Enter these values when you import the XML.

| Asked in the app                       | Default        |
|----------------------------------------|----------------|
| IP adresa eLAN-RF                      | `192.168.1.10` |
| eLAN – používateľské meno              | `admin`        |
| eLAN – SHA1 hash hesla (40 hex znakov) | `SHA1_HESLA`   |
| eLAN ID – RFSA-66M – kanál 1           | `0`            |
| eLAN ID – RFSA-66M – kanál 2           | `0`            |
| eLAN ID – RFSA-66M – kanál 3           | `0`            |
| eLAN ID – RFSA-66M – kanál 4           | `0`            |
| eLAN ID – RFSA-66M – kanál 5           | `0`            |
| eLAN ID – RFSA-66M – kanál 6           | `0`            |
| eLAN ID – RFSA-61B                     | `0`            |
| eLAN ID – RFSA-62B – kanál 1           | `0`            |
| eLAN ID – RFSA-62B – kanál 2           | `0`            |
| eLAN ID – RFTC-10/G (termostat)        | `0`            |
| eLAN ID – teplotná zóna (HeatCoolArea) | `0`            |

## Related Documentation

- [Packet Parser Integration](https://taphome.com/en/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/en/docs/integration/packet-parser/)
- [Packet parser functions](https://taphome.com/en/docs/script/packet-parser/)
- [Parsing functions](https://taphome.com/en/docs/script/parsing-functions/)

