When we refer to Tower Monitoring in Genesis, we are describing an integrated ecosystem of multiple IoT subsystems working together to ensure the tower’s operational continuity, energy efficiency, and communication reliability.
Each subsystem plays a distinct but interconnected role, contributing to the tower’s overall intelligence and autonomy.
Victron Energy oversees Power and Energy Monitoring, tracking parameters such as battery voltage, charging current, solar input, and load consumption. This ensures that the energy system operates within safe thresholds and provides early warning of battery or solar irregularities.
EFOY Fuel Cells enable Fuel Cell Backup Monitoring, safeguarding critical uptime by reporting fuel levels, voltage output, state of charge, and internal temperature — essential for remote sites relying on autonomous energy sources.
Teltonika IoT Devices manage Network Connectivity and Device Health Monitoring, including mobile network quality, SIM data usage, geofencing, input/output state changes, and advanced jamming detection for communication assurance.
Together, these intelligent systems form a unified monitoring architecture within Genesis. They continuously stream telemetry data from distributed towers into the Genesis IoT cloud, where it is analyzed, stored, and correlated with configurable alarm rules.
Each device — whether it’s a Victron solar/battery controller, EFOY fuel cell, or Teltonika router — periodically reports status and sensor values to Genesis using secure communication channels.
These data points are evaluated in real time against pre-defined alarm thresholds and logic rules. When a condition breaches the configured limits, Genesis automatically:
Generates event alerts (using the assigned event codes and group codes).
Notifies the appropriate operator or system, through respective CMS channels (Evalink, AmWin, Lisa, IMMIX, etc...)
Tracks the event lifecycle, ensuring alerts are automatically cleared/restored when the parameters return to their normal range.
This end-to-end monitoring pipeline transforms raw device data into actionable intelligence, allowing operators to detect risks early, respond faster, and maintain consistent tower uptime across all remote locations.
In Genesis, each tower integrates multiple device types — each with its own configuration logic and threshold rules. The configuration defines how the system interprets sensor values, detects abnormal conditions, and triggers the appropriate alerts.
This section explains how configuration is structured for the three core subsystems: Victron Energy, EFOY Fuel Cell, and Teltonika IoT Connectivity.
Victron devices act as the primary power monitoring system of the tower, focusing on solar charging performance, battery health, and overall DC system voltage.
To enable Victron Energy Monitoring within Genesis, the system requires certain key inputs that allow it to securely connect to the Victron VRM portal and retrieve live operational data from the associated devices.
VictronDevice Name: A valid and unique name for identification in Genesis.
Serial Number: The serial number of the device, obtainable from the Victron VRM Portal.
Username and Password: Credentials with administrative privileges to access or read the configured device in the VRM Portal.
EFOY devices provide backup power generation for sites where continuous power is critical. Their configuration ensures the fuel cell remains in optimal operating condition.
EFOY CloudDevice Name: A valid and unique name for identification in Genesis.
Serial Number: The unique serial number of the fuel cell, as listed in the EFOY Cloud Portal.
EFOY API Key: A valid API key with sufficient privileges to access all Solar and Power Controller parameters. It must be configured at Tenant level custom settings. Please find the screenshot below:
Select the tenant
Click Edit
Goto Custom Property
Click Add
Name the property as "EFOYAPIKey" and provide the original API key as value.
Click Save.
Teltonika devices manage connectivity, communication, and environmental interaction for each tower. They report detailed I/O status, network health, SIM usage, GPS, and signal jamming conditions.
Teltonika-IOTDevice Name: A valid and unique name for identification in Genesis.
IP Address: The public or VPN-accessible IP address of the Teltonika device.
Serial Number: The unique serial number of the router.
Control Port: The valid HTTP port used for device communication.
Username and Password: Administrative credentials that allow full access to all device parameters and subcomponents.
This section outlines the structure, purpose, and usage of the alarm rules configuration used for remote tower monitoring within Genesis.
Each part of the configuration defines a monitored category, its key parameters, and the conditions under which alerts are raised.
The Alarm Rules in Genesis are defined in JSON format, allowing precise and flexible configuration of alerting behavior.
Rules can be configured at either the Site level or Device level, depending on the monitoring scope.
To configure alarm rules:
Navigate to the desired Site or Device in Genesis.
Click Edit and go to the Additional Properties section.
Locate the property named Custom Alarm Rules.
Open the property’s hamburger menu and select Apply Default to load the preconfigured default rule set.
By default, all rules are inactive.
Modify the JSON configuration to enable specific rules by setting the "active" parameter to true for the relevant parameters.
Once saved, Genesis automatically applies the configured thresholds, continuously evaluates incoming telemetry, and triggers alerts when any parameter exceeds or falls below its defined range.
The Custom Alarm Rules configuration JSON in Genesis is structured into three main sections: Energy Monitoring, Fuel Cell Monitoring, and Connectivity Monitoring.
The Energy Monitoring section contains alert configurations specific to Victron devices, covering parameters such as battery voltage, and state of charge.
The Fuel Cell Monitoring section defines alert rules for EFOY systems, including fuel level, voltage, temperature, and state of charge thresholds.
The Connectivity Monitoring section manages alerts for Teltonika IoT devices, covering aspects such as network signal quality, SIM data usage, input/output status changes, and jammer detection.
| Parameter Name | Description | Example Value |
active | Enables or disables this specific alarm rule. Set to true to activate. | true |
low | The lower voltage threshold. An alert triggers if the voltage falls below this value. | 12 |
high | The upper voltage threshold. An alert triggers if the voltage exceeds this value. | 14 |
eventCode | Internal event identifier used for integration with CMS or external notification systems. | battery.voltage.warning |
groupCode | Group identifier used by Genesis Tower Alarm Manager to categorize alerts. | tower.solar.voltage.alert |
When voltage falls below 12V, an alert with event code battery.voltage.warning is raised.
When voltage returns within range (12V–14V), Genesis automatically logs the recovery event and clears the alert.
When voltage exceeds 14V, a high-voltage warning is generated.
Monitors the remaining charge percentage in the battery bank.
| Parameter Name | Description | Example Value |
low | Minimum acceptable SOC percentage | 15 |
SOC below 15% triggers low battery alert.
Restores to normal when SOC rises above the threshold.
Default JSON Configuration
| Parameter Name | Description | Example Value |
low | Minimum acceptable Fuel level | 15 |
Triggers a warning when fuel drops below 15%.
Default JSON Configuration
Example Behavior
When voltage falls below 12V, an alert with event code fuel.voltage.warning is raised.
When voltage returns within range (12V–14V), Genesis automatically logs the recovery event and clears the alert.
When voltage exceeds 14V, a fuel.voltage.warning warning is generated.
Default JSON Configuration
Example Behavior
Triggers an alert when SOC drops below 15%.
Default JSON Configuration
Below 10°C or above 35°C → Thermal warning.
Field | Description |
| active | Enables 4–20 mA loop monitoring (true/false) |
| low / high | Defines acceptable current range. |
| eventCode | input.statechange |
| groupCode | tower.input.statechange |
Field | Description |
| active | Enables analog voltage input monitoring (true/false) |
| low / high | Acceptable range (e.g., 11–14 V). |
| eventCode | input.statechange |
| groupCode | tower.input.statechange |
| Field | Description |
| active | Enables input monitoring (true/false) |
| ranges | Possible states, e.g., ["Low level", "High level"]. |
| alertOn | State that should trigger an alarm (e.g., “High Level”). |
| eventCode | input.statechange |
| groupCode | tower.input.statechange |
| Field | Description |
| active | Enables Output monitoring (true/false) |
| ranges | Possible states, e.g., ["Low level", "High level"]. |
| alertOn | State that should trigger an alarm (e.g., “High Level”). |
| eventCode | output.statechange |
| groupCode | tower.output.statechange |
| Field | Description |
| active | Enables relay trigger monitoring (true/false) |
| ranges | Possible states, e.g., ["open", "closed"]. |
| alertOn | Tracks relay states (e.g., “open”). |
| eventCode | output.statechange |
| groupCode | tower.output.statechange |
Default JSON Configuration
Configuration Parameters
| Parameter Name | Description | Example Value |
| simBillingStartDate | Billing cycle start date of the SIM plan (currently inactive) | 1 |
simDataPackageGB | Total mobile data allocated per month (in GB) | 10 |
usageWarningPercent | Warning threshold as a percentage of total data usage | 80 |
Triggers an alert when data usage exceeds 80% of 10GB.
Default JSON Configuration
An alert is triggered when the network signal drops very low. Genesis automatically clears the alert when the signal back to acceptable range.
Default JSON Configuration
| Parameter Name | Description | Example Value |
| radiusMetersWarning | Radius (in meters) from the defined geo-fence center (typically, the site's geo location) within which the tower must remain | 500 |
This rule continuously monitors the GPS coordinates reported by the Teltonika router or GPS module.
If the device moves outside the configured radius, Genesis generates an alert indicating a potential tower displacement or unauthorized movement.
The location boundary is defined by the configured coordinates of the parent Site, ensuring that alerts are triggered only when the tower moves beyond its designated operational area.
Default JSON
| Parameter Name | Description | Example Value |
| signalDropThreshold | Percentage drop in signal strength considered as a potential jamming event | 25 |
| minSignalLevel | Minimum acceptable signal level (in dBm); if signal goes below this, jamming is suspected | -113 |
| rsrqThreshold | Minimum acceptable RSRQ (Reference Signal Received Quality); poor RSRQ may indicate interference | -20 |
Each rule has an active flag. When false, the system skips that rule.
Thresholds can be adjusted per site depending on environmental conditions.
Event Codes are unique identifiers used internally within Genesis for system integrations — particularly for notifying external Central Monitoring Systems (CMS) or third-party applications. They ensure consistent and standardized communication of alarm events across different platforms.
Group Codes, while similar in structure to Event Codes, are specifically utilized within the Tower Monitoring Environment. They serve as logical identifiers for grouping related alarms, enabling efficient organization, filtering, and management of events within Genesis and its tower-level alerting workflows.