Modbus digital input module for Home Assistant
The HomeMaster ALM-173-R1 is a DIN-rail digital input module for a wired smart home running Home Assistant. Seventeen opto-isolated inputs with 5300 VRMS isolation take dry contacts — door and window reed switches, PIR detectors, leak sensors, tamper loops — and three SPDT relays switch sirens, indicators or downstream contactors. The module is a Modbus RTU slave on RS-485, so an ESPHome controller reads all seventeen channels over one twisted pair.
Seventeen inputs on nine DIN modules is the point of the device: sensor loops that would otherwise need three or four smaller boards land on one terminal strip, and the isolated +12 V and +5 V rails power the detectors themselves, so no separate PSU is needed per loop. Zone grouping, latch-until-ack and bell cut-off are executed on the module and stored in its flash, which means a triggered zone still latches and still drives its relay when the network, the controller or the Home Assistant server is unavailable.
The HomeMaster ALM-173-R1 connects 17 wired sensors to Home Assistant, a PLC, or any SCADA system from a single DIN-rail module — and powers those sensors itself from built-in isolated +12 V and +5 V rails.
Wired PIR detectors, glass-break sensors and smoke detectors need power as well as a contact, which normally means a second PSU and another distribution block in the cabinet. Here both isolated sensor supplies are on the module (12 V 150 mA shared on PS/1+PS/2; 5 V 200 mA; common GND_ISO). ALM-173-R1 is an automation and monitoring module, not a certified/insurance-grade intruder alarm system.
The module connects to a MicroPLC/MiniPLC or any Modbus RTU master over RS‑485 and is configured via a browser-based WebConfig UI over USB‑C (Web Serial). Configuration is stored in on-device flash (LittleFS) and survives power loss and reboots. Local firmware runs alarm groups, latching and acknowledgements; Modbus exposes all inputs, alarm bits, relay states and overrides to PLC/SCADA and Home Assistant.
Through a MiniPLC or MicroPLC running ESPHome, the module appears in Home Assistant over the native ESPHome API — no MQTT broker, no Modbus register mapping in Home Assistant and no custom converters. Entities are ready to use within seconds, with low latency and no cloud.
Quick Overview
- 17 wired sensors on one DIN-rail module for Home Assistant, PLC or SCADA
- Isolated 12 V (150 mA shared) and 5 V (200 mA) rails (common GND_ISO) powering PIRs and detectors directly — no second PSU
- 17 opto-isolated inputs (5 V DC) with per-input enable, invert and alarm group
- DIN-rail form factor with 24 V DC SELV supply
- 3 SPDT relays (3 A @ 250 VAC) driven by alarm groups, Modbus manual override or button override
- Front panel with 4 buttons (ack/override) and 4 LEDs (status/alert)
- Optional zone types, local arming (entry/exit delay), relay bell cut-off, and per-zone alarm memory (WebConfig v0.2.0)
- RS-485 Modbus RTU communication (address 1–247, 9600–115200 baud)
- Local configuration via USB‑C WebConfig v0.2.0 (Chromium-based browsers)
- Persistent configuration stored in external QSPI flash
Typical Applications
Residential
- New-build wired sensor networks for Home Assistant
- Intrusion and zone monitoring (PIR, door/window contacts, glass-break)
- Water leak protection — a relay can close a solenoid valve when a leak contact trips
- Heating system supervision — aggregate boiler, pump and heat pump fault contacts
Commercial and industrial
- Equipment-room fault signalling with summary relays and front-panel LEDs
- BMS and SCADA alarm expansion over Modbus RTU with local ack and override
- Machine and plant status monitoring
- Pump stations and water treatment — dry-run, float and pressure switch inputs
- Server rooms — door contacts, under-floor leak detection, UPS and generator status
- Access-control supervision — door contacts, strike and lock status
Agriculture and other
- Greenhouses and barns — door contacts, equipment fault and environmental switch inputs
- Cold storage — door contacts, defrost status and compressor fault monitoring
What You Can Connect
Isolated detector power shares one field domain (GND_ISO). +12 V on PS/1 and PS/2 is 150 mA shared (U58); +5 V is 200 mA (U59). Not four independent islands.
| Sensor type | Typical current | How many fit |
|---|---|---|
| PIR motion detector | 10–20 mA | 6–10 |
| Curtain PIR | 10–15 mA | 8–12 |
| Dual-technology detector (PIR + microwave) | 20–30 mA | 4–6 |
| Glass-break detector | 15–25 mA | 6–8 |
| 12 V smoke detector with relay output | 20–50 mA | 3–6 |
| Gas or CO detector with relay output | 30–60 mA | 2–4 |
| Infrared beam sensor or photoelectric barrier | 20–40 mA | 3–6 |
| Inductive or capacitive proximity sensor (NPN) | 5–15 mA | 8–15 |
150 mA total on the 12 V branches. Eight PIRs at 15 mA is 120 mA and fits. Eight smoke detectors at 40 mA does not — use an external supply. An isolated +5 V rail (200 mA) shares GND_ISO with the 12 V branches.
| Category | Devices |
|---|---|
| Openings | Door and window reed contacts, gate contacts, garage door position, roller shutter end positions, mailbox contacts |
| Water and fluids | Contact-type leak detectors, float switches, level switches, flow switches, pressure switches |
| Heating and HVAC | Thermostat contacts, frost stats, boiler fault contacts, pump fault contacts, heat pump alarm outputs, burner lockout |
| Security | Tamper switches, vibration and shock sensors, key switches, panic buttons, door strike and lock status |
| Controls | Momentary wall switches, push buttons, rotary and toggle switches, limit switches |
| Equipment status | UPS alarm contacts, generator run and fault contacts, machine fault relays, filter-blocked switches, belt-break detectors |
| Weather | Rain sensors and wind switches with contact output |
| Signal / device | Use instead |
|---|---|
| Mains voltage on an input | Interposing contactor or relay — inputs are SELV and dry contact only |
| Analogue sensors 0–10 V / 4–20 mA / PT100 / PT1000 | AIO-422-R1 |
| Pulse counting from S0 meter outputs | DIO-430-R1 |
| Addressable fire alarm loops | Conventional detectors with relay output only |
| End-of-line resistor supervision | Not supported — see the NC tip below |
Tip: get cable-cut detection for free. There is no EOL resistor line-supervision. Wiring contacts normally closed with Invert enabled in WebConfig makes a cut or disconnected cable read the same as an activation, so a damaged loop is visible instead of failing silently. Any security zone should be wired NC.
Alarm Logic
Each of the 17 inputs is a zone assigned to one of three Alarm Groups (G1–G3). Groups can be None, Active-while (non-latched), or Latched-until-ack. 3 SPDT relays follow their bound group; control priority is button override → Modbus manual → group.
With optional local arming (default off), zones gain types — Instant, Delayed (entry delay), or 24h/Tamper (always active) — and the module runs minimal ARM/DISARM with exit/entry delays so protection continues if the controller is offline. Bell cut-off auto-silences a relay after N seconds while the latched group stays active; per-zone alarm memory records which inputs triggered (Modbus) until ACK. Full Home/Away/Night modes and alarm codes belong in Home Assistant, not on the module.
Tech Specs
| Specification | Details |
|---|---|
| Microcontroller | RP2350A dual-core microcontroller |
| Flash Memory | External QSPI Flash (W25Q32) |
| Power Input | 24 V DC SELV nominal (V+ / 0V); 1 A time-lag fuse, reverse-polarity protection, TVS |
| Digital Inputs | 17 × opto-isolated digital inputs (IN1…IN17, 5 V DC, 5300 VRMS isolation); each with GND_ISO return; dry contact / SELV; Enable / Invert / Group (None, G1, G2, G3) |
| Relay Outputs | 3 × SPDT relays (RLY1…RLY3), HF115F/005-1ZS3 dry contacts COM/NO/NC; 3 A @ 250 VAC resistive (module rating). Relay components rated higher — use external contactors for heavy or inductive loads. |
| User Interface | 4 configurable buttons (ack/override) and 4 user LEDs (steady or blink) plus PWR/TX/RX status LEDs |
| Communication | RS-485 Modbus RTU (MAX485, half-duplex), non-isolated; TVS surge protection, PTC fuses, common-mode choke, fail-safe biasing |
| USB | USB‑C (ESD/EMI protected), Web Serial configuration and firmware upload |
| Sensor Rails | GND_ISO domain: +12 V PS/1+PS/2 shared 150 mA (U58); +5 V 200 mA (U59); PTC/fuse protected |
| Modbus Address Range | 1–247 (default: 3) |
| Modbus Baud Rate | 9600–115200 (default: 19200, 8N1) |
| Mechanical Size | Approx. 157.4 × 91 × 58.4 mm (L × W × H); DIN‑rail enclosure |
Installation, Environmental & Mechanical
| Category | Specification | Details |
|---|---|---|
| Terminal Specifications | Terminal type | Pluggable screw terminal blocks, 5.08 mm pitch |
| Terminal pitch | 5.08 mm | |
| Wire cross-section | 0.2–2.5 mm² (AWG 24–12) | |
| Conductor type | Solid or stranded copper; ferrules recommended for stranded | |
| Tightening torque | 0.4 Nm (max) | |
| Terminal access | Front wiring in control cabinet | |
| Environmental Ratings | Operating temperature | 0 °C to +40 °C |
| Storage temperature | −10 °C to +55 °C | |
| Relative humidity | 0–95 % RH, non-condensing | |
| Ingress protection | IP20 (indoor cabinet) | |
| Installation | Indoor control cabinet only; not for outdoor or exposed installation | |
| Altitude | Up to 2000 m above sea level (per datasheet) | |
| Mechanical & Packaging | Product dimensions | 157.4 × 91 × 58.4 mm (L × W × H) |
| DIN width | 9 modules (9 × 17.5 mm) | |
| Mounting | 35 mm DIN rail (EN 50022) | |
| Enclosure | PC/ABS V‑0 industrial enclosure | |
| Protection class | SELV, pollution degree 2 | |
| Net/gross weight | See datasheet for latest values | |
| Notes | All dimensions and masses as per latest official datasheet |
Install only inside a dry, ventilated control cabinet with a protective front plate covering all wiring terminals and a closing door.
All wiring terminals must be protected against accidental contact by an insulating front plate, wiring duct or terminal cover.
Home Assistant / Modbus / Web Config Integration
The ALM-173-R1 is designed as a Modbus RTU alarm endpoint that can be used with:
- HomeMaster MicroPLC and MiniPLC controllers (ESPHome based)
- Third‑party PLC and SCADA systems via Modbus RTU
- Home Assistant using an ESPHome‑based controller or Modbus integration
- Direct USB‑C configuration using a Chromium browser WebConfig tool
Internal firmware implements alarm groups (G1–G3 + Any), latching vs active‑while modes, relay follow/manual/override logic, optional local arming with zone types, and LED/button behaviour. Full Home/Away/Night alarm-panel modes and codes are intended for Home Assistant — not on-module. No EOL line-supervision (dry contact / SELV only). Configuration is stored in flash and automatically restored at power‑up.
Quick Setup Process (USB‑C WebConfig)
- Mount & Power – Mount the module on a DIN rail, wire 24 V DC and RS‑485.
- Connect USB‑C – Connect the module to a PC using a USB‑C cable.
- Open WebConfig – Open the v0.2.0 ConfigToolPage in a Chromium-based browser (Chrome, Edge, Opera, Brave, Vivaldi; Chrome/Edge 89+, Opera 76+). Firefox: experimental only (Nightly + Web Serial). Safari/stable Firefox not supported.
- Connect Device – Click Connect, select the serial device and wait for Active Modbus Configuration to appear.
- Configure – Set Modbus address and baud, choose alarm modes for G1–G3.
- Map I/O – Assign inputs to groups, configure relays, LEDs and buttons.
- Save & Disconnect – Settings are stored in flash; disconnect USB‑C and hand over control to the Modbus master.
What WebConfig is and how it works: WebConfig is a browser-based configuration UI that runs in a Chromium-based browser using the Web Serial API (Chrome, Edge, Opera, Brave, Vivaldi; Chrome/Edge 89+, Opera 76+). Firefox Nightly with Web Serial is experimental; Safari and stable Firefox are not supported. It shows live Modbus address/baud in the header, streams a serial log, and lets you edit alarm modes, input groups, relay behavior, button actions and LED mapping. Changes apply immediately and are written to flash shortly after the last update so that configuration survives power cycles.
WebConfig Configuration Options
- Modbus address (1–247) and baud rate (9600–115200)
- Alarm modes per group: None / Active‑while / Latched‑until‑ack
- Digital inputs: Enable / Invert / Alarm Group / Zone type (Instant, Delayed, 24h-Tamper)
- Relays: Enable / Invert / Alarm Group (None/1/2/3), Power-on, Bell cut-off (s)
- Local arming (opt-in): entry/exit delay; Armed/Entry/Exit/Tamper status
- Buttons: Ack All, Ack G1–G3, or Relay 1–3 override
- LEDs: Steady/Blink, source Any, G1–G3, or relay override
Minimal ESPHome YAML (Controller side)
Example controller configuration to enable Modbus and import the ALM package:
uart:
id: uart_modbus
tx_pin: 17
rx_pin: 16
baud_rate: 19200
parity: NONE
stop_bits: 1
modbus:
id: modbus_bus
uart_id: uart_modbus
turnaround_time: 100ms
send_wait_time: 250ms
packages:
alm1:
url: https://github.com/isystemsautomation/homemaster-dev
ref: main
files:
- path: ALM-173-R1/Firmware/v0.2.0/default_alm_173_r1_plc/default_alm_173_r1_plc.yaml
vars:
alm_prefix: "ALM#1" # shown in Home Assistant
alm_id: alm_1 # unique internal ID
alm_address: 5 # Modbus address set in WebConfig
refresh: 1d
ESPHome 2026.7.0 raised the Modbus client defaults —
turnaround_timefrom 100 ms to 600 ms andsend_wait_timefrom 250 ms to 2000 ms (PR #11969).At the 600 ms default the bus carries only about 1.5 Modbus transactions per second, whatever the UART speed, because the controller stays silent for 600 ms after every response. Two modules on one RS-485 bus become slow to respond. With three or more, one module can stop being polled altogether — with no timeout and no CRC error in the log.
On ESPHome 2026.7.0 and newer, set both values explicitly as shown above. On earlier releases these were the defaults and the two lines are not required.
alm_address must match the Modbus address configured in WebConfig.
The module needs a Modbus master on the bus. In a HomeMaster system that is the MiniPLC or the MicroPLC — both run ESPHome and connect to Home Assistant over the native API. To work out how many modules a panel needs and how wide it comes out, use the System Builder.
New to this kind of system? Two guides cover the ground: building a Home Assistant automation system and a wired ESPHome smart home.
Going deeper on this module: connecting dozens of wired sensors, what still works when Home Assistant is down and wiring a new house before the walls close.
FAQ
Can I connect wired sensors to Home Assistant with this?
Yes. The ALM-173-R1 exposes 17 opto-isolated inputs over RS-485 Modbus RTU. With a MiniPLC or MicroPLC running ESPHome, those inputs appear in Home Assistant as ready-made entities. Any Modbus master or SCADA system can poll the same registers.
Does it power the sensors, or do I need a separate supply?
The module includes an isolated +12 V supply on PS/1 and PS/2 (shared 150 mA, U58) and an isolated +5 V supply (200 mA, U59). Both share GND_ISO. Many 12 V PIRs, glass-break and smoke detectors with relay outputs can run from the module. If the 12 V load exceeds 150 mA, use an external supply.
How many motion sensors can I connect?
Up to 17 inputs are available. On the 12 V rail, typical PIR detectors draw 10–20 mA each, so roughly 6–10 PIRs fit within the 150 mA budget. The exact count depends on each detector's datasheet current.
Is this an alternative to Konnected?
Similar idea, different design. Konnected targets retrofitting existing alarm panels; this is a DIN-rail module for new installations, with sensor power built in, RS-485 instead of Wi-Fi, and alarm logic on the module rather than the server.
Does it work if Home Assistant goes down?
Yes for the on-board alarm engine. Groups, latching, relays and optional local arming continue on the module when the network or Home Assistant is offline. Full Home/Away/Night modes and codes still belong in Home Assistant.
Can I connect 230 V devices to the inputs?
No. The inputs are SELV dry-contact / 5 V DC signalling only. Use an interposing contactor or relay for mains voltages.
Can it detect a cut sensor cable?
There is no EOL resistor line-supervision. Wiring contacts normally closed with Invert enabled in WebConfig makes a cut or disconnected cable read the same as an activation, so a damaged loop is visible instead of failing silently. Wire security zones NC.
Can I count pulses from a water or energy meter?
No. This module does not provide pulse counting. Use the DIO-430-R1 for S0 / pulse inputs.
What temperature and humidity sensors work with it?
Dry-contact and relay-output detectors only. Analogue sensors (0–10 V, 4–20 mA, PT100, PT1000) need the AIO-422-R1. Temperature and humidity I²C or 1-Wire sensors are not wired to this module's inputs.
Do I need special software to set it up?
No. Configuration uses the browser-based WebConfig over USB-C in a Chromium-based browser. No app or login is required. Settings persist in on-device flash (LittleFS).
Is this a certified alarm system?
No. The ALM-173-R1 is an automation module with alarm-style input logic — zones, groups, latch-until-acknowledge, entry and exit delays. It is not certified to any intruder-alarm grade and should not be specified where an insurer or a regulation requires a graded system. Inputs are plain dry contacts; there is no end-of-line resistor supervision of the loop.
Do I need 17 inputs? What if I need more?
Inputs scale on the bus, not inside the module. Several ALM-173-R1 modules share the same RS-485 pair, each with its own Modbus address, so zone count grows in steps of seventeen. The System Builder works out how many modules a given number of loops comes to, and what that costs in DIN width and bus load.
Do I have to use HomeMaster controllers?
No. The module is a standard Modbus RTU slave — Input Registers on FC04, coils on FC01 and FC05, identity at register 200. Any Modbus master reaches it: a third-party PLC, a SCADA system, or your own ESP32 with an RS-485 transceiver.
Is the RS-485 port isolated?
No. The inputs are opto-isolated at 5300 VRMS, but the RS-485 transceiver shares the device's logic ground. It has transient protection — TVS diodes, resettable PTC fuses and fail-safe biasing — which is surge protection, not galvanic isolation. Run COM to every node on the bus, and fit an external RS-485 isolator where the bus crosses into a separate electrical installation.
Documentation
The ALM-173-R1 is open-source hardware. Hardware, firmware and integration documentation are available in the repository.
Hardware Design Files
| File | Description | Link |
|---|---|---|
| Field Board Schematic | Digital inputs, relays and isolated sensor rails | ALM-173-R1-FieldBoard.pdf |
| MCU Board Schematic | Controller, RS‑485, USB‑C, logic supply and expanders | ALM-173-R1-MCUBoard.pdf |
Compliance Documents
| File | Description | Link |
|---|---|---|
| EU Declaration of Conformity (DoC) | Signed EU Declaration of Conformity per Reg. (EC) 765/2008 and Decision 768/2008/EC | DoC_ALM-173-R1.pdf |
| Datasheet | Technical specifications and electrical characteristics | ALM-173-R1_Datasheet.pdf |
Firmware & Software
| Resource | Description | Link |
|---|---|---|
| Firmware Source Code | Alarm engine, Modbus RTU firmware and Web Serial configuration page | GitHub Firmware folder |
| Integration Guide | Detailed Modbus map, wiring, WebConfig and ESPHome integration | README.md |
| WebConfig Tool | Browser-based configuration interface over USB‑C Web Serial | ConfigToolPage.html (v0.2.0) |
Power Supply
The ALM-173-R1 is powered from a regulated 24 V DC SELV supply connected to the V+ and 0V terminals. Internal converters generate the logic rails and isolated 12 V / 5 V sensor rails.
Power Input Specifications
| Input Option | Terminals | Range | Notes |
|---|---|---|---|
| 24 V DC SELV | V+ / 0V | 24 V DC | Primary module supply; see datasheet for exact limits and power budget. |
Power path and protections (summary):
- 24 V DC input with reverse polarity and surge protection.
- Onboard conversion to 5 V and 3.3 V logic rails.
- Isolated 12 V and 5 V sensor rails (PS/1, PS/2) with PTC/fuse protection (for low‑power sensors only).
- SELV system; never use for mains or hazardous voltages.
For sizing the 24 V supply, consider base electronics, relay coil current and sensor rail consumption, with adequate headroom as described in the datasheet/README.
Inputs & Outputs
Digital Inputs (17 channels)
| Channel | Terminals | Type | Signal | Description |
|---|---|---|---|---|
| IN1…IN17 | INx / GND I.x | Opto‑isolated | Dry contact / isolated low‑voltage (SELV) | Each input is referenced to its own isolated return, debounced in firmware and mapped to alarm groups (None / G1 / G2 / G3). |
Digital input features:
- 17 independent opto‑isolated channels (IN1…IN17) referenced to isolated GND_ISO returns.
- Per‑input configuration: Enable, Invert (for NC sensors) and Alarm Group (None / G1 / G2 / G3) via WebConfig.
- Inputs feed the internal alarm engine, which generates Any Alarm and per‑group status bits on Modbus.
- Intended for SELV dry contacts or isolated low‑voltage signals only; never connect mains or non‑SELV circuits.
User Interface
| Component | Quantity | Description |
|---|---|---|
| Buttons | 4 | Configurable actions: Ack All, Ack G1–G3, or Relay 1–3 override (set in WebConfig). |
| User LEDs | 4 | Configurable mode (Steady/Blink) and source (Any, G1–G3, relay override) plus PWR/TX/RX status LEDs. |
Buttons and LEDs are fully configurable via WebConfig; the alarm engine combines inputs and groups to drive relays and indicators.
Connectors & terminal map
Top row (24Vdc | DIGITAL INPUTS | RELAY)
| Pos | Label | Group | Function |
|---|---|---|---|
| 1 | V+ | POWER | 24 V DC input |
| 2 | 0V | POWER | 24 V DC return |
| 3 | Gnd | DI1 | DI1 isolated return |
| 4 | I.1 | DI1 | DI1 input |
| 5 | Gnd | DI2 | DI2 isolated return |
| 6 | I.2 | DI2 | DI2 input |
| 7 | Gnd | DI3 | DI3 isolated return |
| 8 | I.3 | DI3 | DI3 input |
| 9 | Gnd | DI4 | DI4 isolated return |
| 10 | I.4 | DI4 | DI4 input |
| 11 | Gnd | DI5 | DI5 isolated return |
| 12 | I.5 | DI5 | DI5 input |
| 13 | Gnd | DI6 | DI6 isolated return |
| 14 | I.6 | DI6 | DI6 input |
| 15 | Gnd | DI7 | DI7 isolated return |
| 16 | I.7 | DI7 | DI7 input |
| 17 | Gnd | DI8 | DI8 isolated return |
| 18 | I.8 | DI8 | DI8 input |
| 19 | Gnd | DI9 | DI9 isolated return |
| 20 | I.9 | DI9 | DI9 input |
| 21 | Gnd | DI10 | DI10 isolated return |
| 22 | I.10 | DI10 | DI10 input |
| 23 | NC | RELAY1 | Relay 1 normally closed |
| 24 | C | RELAY1 | Relay 1 common |
| 25 | NO | RELAY1 | Relay 1 normally open |
| 26 | NC | RELAY3 | Relay 3 normally closed |
| 27 | C | RELAY3 | Relay 3 common |
| 28 | NO | RELAY3 | Relay 3 normally open |
Bottom row (OUTPUT 12Vdc | OUTPUT 5Vdc | RS-485 | DIGITAL INPUTS | RELAY)
| Pos | Label | Group | Function |
|---|---|---|---|
| 1 | + | PS_12V_1 | Isolated 12 V rail 1 positive |
| 2 | - | PS_12V_1 | Isolated 12 V rail 1 return |
| 3 | + | PS_12V_2 | Isolated 12 V rail 2 positive |
| 4 | - | PS_12V_2 | Isolated 12 V rail 2 return |
| 5 | + | PS_5V_1 | Isolated 5 V rail 1 positive |
| 6 | - | PS_5V_1 | Isolated 5 V rail 1 return |
| 7 | + | PS_5V_2 | Isolated 5 V rail 2 positive |
| 8 | - | PS_5V_2 | Isolated 5 V rail 2 return |
| 9 | COM | RS485 | RS-485 signal reference |
| 10 | B | RS485 | RS-485 data - |
| 11 | A | RS485 | RS-485 data + |
| 12 | GND | DI11 | DI11 isolated return |
| 13 | I.11 | DI11 | DI11 input |
| 14 | GND | DI12 | DI12 isolated return |
| 15 | I.12 | DI12 | DI12 input |
| 16 | GND | DI13 | DI13 isolated return |
| 17 | I.13 | DI13 | DI13 input |
| 18 | GND | DI14 | DI14 isolated return |
| 19 | I.14 | DI14 | DI14 input |
| 20 | GND | DI15 | DI15 isolated return |
| 21 | I.15 | DI15 | DI15 input |
| 22 | GND | DI16 | DI16 isolated return |
| 23 | I.16 | DI16 | DI16 input |
| 24 | GND | DI17 | DI17 isolated return |
| 25 | I.17 | DI17 | DI17 input |
| 26 | NO | RELAY2 | Relay 2 normally open |
| 27 | C | RELAY2 | Relay 2 common |
| 28 | NC | RELAY2 | Relay 2 normally closed |
Ports & service interfaces
| Id | Type | Note |
|---|---|---|
| USB-C | WebConfig / UF2 | Not a field power source |
Housing notes
- RELAY1 and RELAY3 are on the TOP row, RELAY2 on the BOTTOM.
- Top relays read NC-C-NO; RELAY2 reads NO-C-NC. The contact order is reversed between rows.
- Inputs DI1-DI10 are on the top row, DI11-DI17 on the bottom.
- Sensor power: one isolated field domain (GND_ISO). +12 V on PS/1 and PS/2 is two fused branches of U58 (H2412S-2WR3) — 150 mA shared, not per terminal. +5 V (U59 H2405S-1WR3) is 200 mA and shares GND_ISO with the 12 V branches — not a second island.
- No end-of-line supervision. Wire alarm loops normally closed with invert so a cable break reads as an alarm.
Cabling and wirings
24 V DC Power Supply
Digital Inputs (IN1…IN17)
- 17 opto-isolated digital inputs (IN1…IN17) referenced to isolated GND_ISO returns.
- Intended for dry contacts / isolated low-voltage signals; do not connect mains or non-SELV circuits.
- Per-input configuration in WebConfig: Enable, Invert (for NC sensors) and Alarm Group (None / G1 / G2 / G3).
- Inputs feed the internal alarm engine, which generates Any Alarm and per-group (G1–G3) status bits exposed via Modbus.
- Use shielded twisted pair and keep DI wiring away from high‑dv/dt or high‑current cables for best noise immunity.
Relay Outputs
The ALM-173-R1 provides 3 SPDT mechanical relays for switching external loads using dry contacts. Each relay exposes NO / NC / COM terminals and is driven via isolated control circuitry from the MCU.
Rating: module output is 3 A @ 250 VAC (resistive, SPDT dry contacts). Relay components (HF115F class) are rated up to 16 A @ 250 VAC at chip level — that rating does not apply to the module. Use external contactors for higher power or inductive loads.
External protection required: Every relay output must be protected by an external fuse or circuit breaker sized according to the load and system limits. Relay output circuits are not internally fused, so external overcurrent protection is mandatory for safe operation.
Relay Specifications
| Channel | Contacts | Type | Typical Use |
|---|---|---|---|
| Relay 1 | NO / NC / COM | SPDT | Alarm or siren output (group or master controlled) |
| Relay 2 | NO / NC / COM | SPDT | Zone or summary alarm output |
| Relay 3 | NO / NC / COM | SPDT | Additional alarm, strobe or fault contact |
- Each relay has COM / NO / NC terminals.
- Use NO for default-OFF loads, and NC for default-ON loads.
- Loads connected to relay contacts may carry hazardous voltage depending on your external wiring.
- Supports AC and DC switching; observe derating for DC and inductive loads as per contact manufacturer data.
Common protection warning: If a single common fuse or circuit breaker is used to protect multiple relay outputs, its rating must not be chosen by summing relay currents. The protective device rating must respect the per-output system limit and applicable standards.
For inductive or DC loads (contactors, solenoids, motors), use appropriate suppression (RC snubbers, MOVs, or flyback diodes). Loads exceeding recommended PCB current limits must be switched using external contactors or wiring that bypasses PCB copper paths.
Communication & Protocols
- Modbus RTU (RS‑485) – primary field bus for controller integration.
RS-485 / Modbus RTU
Terminal order differs across the HomeMaster range. Always read the silkscreen - do not wire by habit from another module. On this module the order is COM-B-A. Swapping A and B damages nothing but the node will not communicate. COM is required on every node.
All HomeMaster controllers and modules share the same RS-485 front end.
| Item | Value |
|---|---|
| Transceiver | MAX485CSA+T, half-duplex |
| Galvanic isolation | None — the transceiver shares the device's logic ground |
| Common-mode range | −7 V … +12 V referred to the device's own ground (MAX485 limit) |
| Terminals | A / B / COM |
| Surge protection | 3 × SMAJ6.8CA TVS (A–COM, B–COM, A–B) |
| Overcurrent | 2 × resettable PTC, 1.5 A hold, in series with A and B |
| EMI filtering | Common-mode choke on the A/B pair; COM referenced through 1 MΩ ∥ 4.7 nF |
| Idle state | Fail-safe biasing on board — do not add external bias resistors |
| Termination | 120 Ω at the two physical ends of the bus only |
Bus wiring rules — apply to every device on the bus:
- One twisted pair for A/B, 120 Ω characteristic impedance.
- Run COM to every node. Required, not optional: the ports are not isolated, and COM is what bounds the common-mode voltage the transceivers see.
- Prefer one power supply for the whole bus, distributed in star topology. With separate supplies, additionally tie the 0 V references together at a single point.
- Bond the cable shield to cabinet PE at one end only. Never land a shield on A, B or COM.
- Where the bus crosses into a different electrical installation with its own earthing reference — a utility or billing meter, another building, another cabinet's PE system — fit an external galvanic RS-485 isolator at that boundary. The on-board components are transient protection, not isolation, and will not survive a sustained ground-potential difference.
Modbus Basics
- ALM-173-R1 operates as a Modbus RTU slave; the controller (PLC/ESPHome/SCADA) is the master.
- Address and baud are configured via WebConfig and stored in flash (restored at power‑up).
- Data model: Input Registers (FC04) @0..3 — bit-packed telemetry (inputs, alarms, LEDs, entry/exit/tamper, zone latch); Coils (FC01/05) @0..10 — stateful relay/armed outputs (0–3) + momentary ack/pulse commands (4–10). Configuration via WebConfig (USB-C), not holding registers. Identity @200: MODEL_ID=1, MAP_VERSION=4. Relay/Armed state is read via coil read-back (uniform with DIO).
Function Codes
0x04Read Input Registers — state bitmasks @0..3; identity @200+.0x05 / 0x0FWrite Coils — stateful relay/armed (0–3), momentary ack and group pulse (4–10).
RS‑485 Wiring
Termination & Biasing
- Terminate the RS‑485 line with approximately 120 Ω resistors at the two physical ends of the bus only.
- Do not terminate intermediate devices.
- Provide fail-safe biasing at the controller/master as recommended for Modbus RTU networks.
COM / Reference Ground
- Connect COM (reference ground) between all RS‑485 nodes when separate power supplies are used.
- This limits common‑mode voltage and helps prevent communication faults.
A common 0 V reference between controller and ALM module improves noise immunity and reduces RS‑485 communication errors.
USB‑C Interface
| Parameter | Specification |
|---|---|
| Function | Configuration and diagnostics via Web Serial (WebConfig) |
| Interface | USB‑C |
| Protocol | USB serial (CDC) presented to the browser |
| Purpose | Setting Modbus parameters, mapping inputs/relays/LEDs/buttons, and monitoring the serial log |
Cable Recommendations & Shield Grounding
General Routing Rules
- Route signal wiring (digital inputs, RS‑485, sensor rails) separately from relay load wiring and mains bundles.
- Avoid long parallel runs with contactor, motor or VFD cables; cross at 90° where needed.
- Use wiring ducts and strain relief to keep cables organised and protected.
Digital Inputs (IN1…IN17)
- Use 2‑core twisted pair per input (INx + GND I.x).
- Recommended size: 0.2–0.75 mm² (AWG 24–18).
- For long runs and noisy environments, use shielded twisted pair and route away from high‑dv/dt wiring.
- Inputs are for dry contacts / isolated low voltage only. Do not connect mains or high‑energy circuits.
RS‑485 (Modbus) Cable
- Use twisted pair for A/B; prefer shielded twisted pair.
- Implement a true daisy‑chain bus; avoid star topologies and long stubs.
- Terminate with 120 Ω at both physical ends of the trunk.
- Use one twisted pair for A/B and a third conductor for COM. COM must be run to every node.
Shield Grounding
- Terminate cable shields at one end only, typically at the controller or main panel earth bar.
- Bond shield to PE/EMC ground using a short, low‑impedance connection (clamp or grounding bar).
- Do not connect shields to signal terminals (A/B/COM, INx, GND I.x).
- Keep shield terminations short and separated from high‑energy conductors.
System Architecture & Pinout
Safety and Installation Notes
- Use only SELV 24 V DC power supplies. Never connect mains voltage to logic, inputs or relay terminals.
- Install inside a clean, dry, ventilated enclosure on a 35 mm DIN rail.
- Protect all wiring terminals against accidental contact using covers or ducts.
- Observe relay contact ratings; use external contactors and snubbers for inductive or high power loads.
- Separate field I/O wiring from mains and high‑energy conductors to reduce EMI and improve safety.
- Installation and servicing must be performed by qualified personnel familiar with panel building and low‑voltage safety.
Compliance & Certifications
The ALM-173-R1 module is CE marked. ISYSTEMS AUTOMATION S.R.L. (HomeMaster® brand) maintains the technical documentation and a signed EU Declaration of Conformity (DoC) available for download in the Documents and Resources section above.
- EMC Directive 2014/30/EU — EN 55032:2015 (Class B emissions), EN 55035:2017 (immunity), tested by Idvorsky Laboratories Ltd. (Job #1648)
- Low Voltage Directive 2014/35/EU — EN 62368-1:2020 + A11:2020, in-house dielectric and isolation testing by ISYSTEMS AUTOMATION compliance laboratory
- RoHS Directive 2011/65/EU — EN IEC 63000 technical documentation
- HomeMaster® — registered EU trademark (EUTM No. 019082911, EUIPO, registered 15 January 2025)
Licensing. Hardware design files — schematics, PCB layouts and bills of materials — are published under CERN-OHL-W v2. Firmware and the ESPHome integration packages are published under the MIT licence. Full terms are in the LICENSE files in the HOMEMASTER repository.
Related products
These other products might interest you