TapHome

Ropam OptimaGSM

Modbus TCP
Submitted by
Last updated: 06. 2026

Requires external gateway

Ropam AP-IP — product page

Ropam OptimaGSM

The Ropam OptimaGSM is a Polish security alarm panel with GSM/GPRS connectivity. TapHome communicates with the panel via Modbus TCP through the Ropam AP-IP gateway module, which provides the TCP/IP communication interface on port 502.

This is a starter template implementing 1 output and 9 zone inputs from the full capacity of 40 outputs and 48 inputs. Users can add more devices following the same pattern described below.

The Modbus protocol on OptimaGSM does not expose arming, disarming, or system status registers directly — this is a security design decision. A workaround using I/O mapping is described in the Troubleshooting section.

Hardware connection

The AP-IP module connects to the OptimaGSM panel internally and provides an Ethernet (RJ45) port for TCP/IP communication. Connect the AP-IP module to the same local network as TapHome Core using a standard Ethernet cable.

  • Protocol: Modbus TCP
  • Port: 502
  • Slave ID: Configurable (default 1 in template; official docs state 255; community reports 4 also works)

Assign a static IP address to the AP-IP module in the router’s DHCP settings. The module uses DHCP by default — without a reservation, the IP may change after a power cycle.

Configuration

Firmware requirements
  • OptimaGSM firmware: v2.4 or newer
  • AP-IP firmware: v1.5 or newer

Update the firmware using OptimaGSM Manager before proceeding if the installed version is older.

Enabling Modbus TCP/IP server
  1. Open OptimaGSM Manager (v2.0 or newer)
  2. Navigate to the AP-IP internet module section
  3. Configure network settings (Ethernet DHCP or static IP)
  4. Enable the checkbox “Enable MODBUS TCP/IP server” at the bottom of the AP-IP configuration page
Enabling output control via Modbus

Each output that should be controllable via TapHome must have the “WWW/IP control” option enabled:

  1. In OptimaGSM Manager, navigate to the Outputs section
  2. For each output you want to control, enable “WWW” in the “Triggered by” checkbox list
  3. This enables control via the app, web server, and Modbus TCP/IP simultaneously

Without the “WWW/IP control” option enabled for a specific output, Modbus write commands to the corresponding coil register will be ignored by the panel.

TapHome import parameters

When importing the template in TapHome, provide:

  • IP Address — the AP-IP module’s IP on the local network (default: 192.168.1.0)
  • Slave ID — Modbus slave address (default: 1)

Device capabilities

Output control

The template includes one output (Output 1) mapped to coil register C:0. The output uses Emergency/OK state labels and can be toggled on/off via Modbus function 0x05 (Write Single Coil).

Zone input monitoring

Nine zone inputs are included as reed contact sensors reading discrete input registers:

  • Zone Inputs 1–8 — continuous addresses D:0 through D:7
  • Zone Input 32 — address D:31 (non-contiguous, skips D:8 through D:30)

Each zone input reflects the physical state of the corresponding alarm zone input with a 250ms response time.

Expanding the template

The OptimaGSM exposes 40 outputs (coils C:0–C:39) and 48 zone inputs (discrete inputs D:0–D:47). The template includes only a starter subset. To add more devices:

  • Additional outputs: Add a ModbusSwitch device with MODBUSR(C, {address}, Bool) where address is 0–39
  • Additional inputs: Add a ModbusReedContact device with MODBUSR(D, {address}, Bool) where address is 0–47
Additional capabilities

The OptimaGSM panel also exposes input registers for temperature sensors (4 channels), analog input (0–10V), GSM signal level, AC power status, DC supply voltage, IOE-IQPL module power/voltage monitoring, system time, fault codes, and firmware versions. These can be added to the TapHome template as ModbusVariable devices reading input registers.

Troubleshooting

No Modbus communication
  1. Verify the AP-IP module firmware is v1.5 or newer
  2. Confirm the Modbus TCP/IP server is enabled in OptimaGSM Manager
  3. Check that the AP-IP module and TapHome Core are on the same network/subnet
  4. Try different slave IDs (1, 4, or 255) — the correct value depends on the AP-IP firmware version and configuration
Outputs not responding to commands
  1. Verify the “WWW/IP control” option is enabled for each output in OptimaGSM Manager
  2. Use the Ropam Modbus Tester (modbus_tester.exe) to verify that outputs respond to write commands independently of TapHome
Arming and disarming via TapHome

The Modbus protocol intentionally excludes direct arming/disarming registers for security reasons. A workaround using I/O mapping is available:

  1. Arming control: Configure an output (coil) to be logically mapped to an input in the panel. Set the input type to ARM, DISARM, ARM-only, DISARM-only, or CANCEL alarm as needed
  2. Status monitoring: Configure output(s) to be triggered by system status in bistable mode (e.g., Output 3 for “Full arm”, Output 4 for “Alarm”). Read the coil status via Modbus to determine the system state

Available devices

Ropam OptimaGSM Module
Output 1 Switch

Alarm panel output O1 — toggleable via Modbus, requires WWW/IP control enabled in OptimaGSM Manager

Register: C:0 Bool
Values / States: ${Emergency_Emergency} · ${Emergency_Ok}

Output 1

Read switch state
MODBUSR(C, 0, Bool)
Zone Input 1 Reed Contact Read-only
Register: D:0 Bool

Zone Input 1

Read
MODBUSR(D, 0, Bool)
Zone Input 2 Reed Contact Read-only
Register: D:1 Bool

Zone Input 2

Read
MODBUSR(D, 1, Bool)
Zone Input 3 Reed Contact Read-only
Register: D:2 Bool

Zone Input 3

Read
MODBUSR(D, 2, Bool)
Zone Input 4 Reed Contact Read-only
Register: D:3 Bool

Zone Input 4

Read
MODBUSR(D, 3, Bool)
Zone Input 5 Reed Contact Read-only
Register: D:4 Bool

Zone Input 5

Read
MODBUSR(D, 4, Bool)
Zone Input 6 Reed Contact Read-only
Register: D:5 Bool

Zone Input 6

Read
MODBUSR(D, 5, Bool)
Zone Input 7 Reed Contact Read-only
Register: D:6 Bool

Zone Input 7

Read
MODBUSR(D, 6, Bool)
Zone Input 8 Reed Contact Read-only
Register: D:7 Bool

Zone Input 8

Read
MODBUSR(D, 7, Bool)
Zone Input 32 Reed Contact Read-only

Non-contiguous zone input — address D:31 (skips D:8 through D:30)

Register: D:31 Bool

Zone Input 32

Read
MODBUSR(D, 31, Bool)
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (14)
  • C:1–C:39 Outputs O2–O40 — 39 additional coil outputs available — users can add following the same pattern as Output1
  • D:8–D:30 Zone Inputs I9–I31 — 23 additional discrete inputs available — users can add following the same pattern
  • D:32–D:47 Zone Inputs I33–I48 — 16 additional discrete inputs available
  • I:0–I:3 Temperature Sensors T1–T4 — 4 temperature sensors, Input Register, UInt16, value / 10 = degrees C
  • I:12 Analog Input (0–10V) — Analog input value in mV
  • I:14 GSM Signal Level — Signal strength 0–5 (0=min, 5=max)
  • I:16 AC Power Status — 1=present, 0=absent
  • I:18 DC Supply Voltage — Supply voltage in mV (e.g. 13700 = 13.7V)
  • I:20–I:27 IOE-IQPL Power Consumption (p1–p8) — Power consumption per IOE-IQPL module in Watts
  • I:30–I:37 IOE-IQPL Supply Voltage (u1–u8) — Supply voltage per IOE-IQPL module in Volts
  • I:40–I:44 System Time — Minutes, hour, day, month, year
  • I:50–I:53 Fault Codes — 4 fault code bytes
  • I:60 AP-IP Firmware Version — Firmware version of AP-IP module
  • I:61 OptimaGSM Firmware Version — Firmware version of OptimaGSM panel

Sources

Found a problem with this device template?

Tell us what's wrong, what's missing, or how the template should behave. We rely on your feedback to keep the catalog accurate.

Verified by TapHome

Want to use this in your TapHome Core?

Open this template in the Customer Portal to apply it to one of your homes, or to draft a refinement and submit it back to the catalog.

Open in portal