Repeater Add-On — Configuration
Parameters like listenCron, cmodeDurSec, smodeDurSec and the filter parameters also exist in the base app-nrf91-origin firmware, but their purpose here is different: on the Repeater they control which telegrams are re-transmitted — there is no cloud upload.
General Parameters
| Description | Key | Type | Possible Values | Default |
|---|---|---|---|---|
| Listen Cron [UTC+0] | listenCron | String | Any CRON string, "" disables listening | 0 0 8 * * * |
| Listen continuously on external supply | extPowerAlwaysListen | Bool | true or false | true |
| Verbose UART Log | verbose | Bool | true or false | false |
listenCron
Each cron trigger starts one listen cycle: the configured C1/T1 and S1 windows run one after the other, then the device sleeps until the next trigger. The default is once a day at 08:00 UTC for 20 minutes (cmodeDurSec=1200), matching a gateway that collects once a day. For continuous operation on battery use e.g. 0 0/15 * * * * with cmodeDurSec=900. See Planning an Installation for how the windows interact with the gateway's windows.
extPowerAlwaysListen
When the repeater is supplied externally (12 V adapter or mains supply, detected as a supply voltage above 4 V), it ignores listenCron and listens continuously: there is no battery to save. The supply is checked at the end of every listen window, so connecting or removing the adapter takes effect within one window. Set false to keep the listenCron schedule on external supply as well.
Wireless M-Bus Reception
| Description | Key | Type | Possible Values | Default |
|---|---|---|---|---|
| C1/T1 Listen Duration [s] | cmodeDurSec | Number | seconds, 0 = disabled, max 36000 | 1860 since v0.16.0 |
| S1 Listen Duration [s] | smodeDurSec | Number | seconds, 0 = disabled, max 36000 | 0 |
| Meter ID Filter | devFilter | String | e.g. 88009035,13456035 | (empty) |
| Device Type Filter | typFilter | String | e.g. 08,07 | (empty) |
| Manufacturer Filter | mFilter | String | e.g. DME,ITW,SEN | (empty) |
| CI-Field Filter | ciFilter | String | e.g. 8a,72 | (empty) |
| Minimum RSSI [dBm] | minRssi | Number | -130 to 0, 0 = off | 0 |
| Receive Tune Commands | rxTune | String | e.g. axi, blank = none | (empty) |
cmodeDurSec and smodeDurSec must not both be 0; the configuration is rejected otherwise.
Filters support blacklist mode by prefixing with !, e.g. mFilter=!LOB excludes Lobaro telegrams.
For details see Meter Reception Filter Configuration.
minRssi
Only telegrams received with at least this signal strength are repeated, e.g. -90. Meters that are too faint to be worth a repeat, or that are heard by the gateway directly anyway, then no longer use airtime. The check is stateless per telegram: a meter that is sometimes above and sometimes below the threshold is repeated whenever it is above. Telegrams without RSSI information always pass. 0 switches the gate off.
To pick a threshold, run the repeater with verbose=true for a few hours and read the signal strength of every reception from the wmbus| RXed: ... RSSI: ... ID: ... log lines.
Repeater Settings
| Description | Key | Type | Possible Values | Default |
|---|---|---|---|---|
| Repeat From | repeatFrom | String | comma-separated repeater serial numbers (8 digits each), or * (any) | * |
| Maximum Hop Count | maxHopCount | Number | 1 to 4 | 4 |
| Duplicate Suppression Time [s] | suppressionTime | Number | seconds, 0 = off, max 36000 | 1200 |
| Install Mode Duration [s] | installModeDuration | Number | seconds after reboot, 0 to 64000 | 3600 |
| Status Telegram Interval [s] | statusInterval | Number | 60 to 36000 since v0.16.0 | 300 |
| Antenna Gain [dBi] | antennaGain | Number | 0 to 31 | 0 |
repeatFrom
Whitelist of neighbouring repeaters (called rFilter before since v0.16.0). It only applies to telegrams that have already been repeated (they carry at least one repeater footer): such a telegram is repeated again only if its last hop is one of the listed repeater IDs. Telegrams that arrive directly from a meter are never affected by repeatFrom. * accepts telegrams from any repeater. Together with maxHopCount this builds static routes, see Multi-hop chains.
maxHopCount
The maximum number of repeaters a telegram may pass in total, counting this one.
| Value | This repeater repeats … | Telegram arrives at the gateway after at most |
|---|---|---|
1 | only telegrams straight from meters | 1 repeater |
2 | also telegrams that already passed 1 repeater | 2 repeaters |
3 | also telegrams that already passed 2 repeaters | 3 repeaters |
4 | also telegrams that already passed 3 repeaters | 4 repeaters |
Set the same value on every repeater of an installation, equal to the longest chain you need. Every hop adds a footer and 5 to 30 seconds of delay.