An AlphaMon Alias is a user-friendly name for a specific piece of data or a physical device. Aliases allows you to write simple rules inside AlphaMon Expressions such as “GEN_START = ON" instead of using complex device names or register addresses.
1. Where do Aliases come from?
Alias names are automatically created during the AlphaMon’s “Boot Process”. Each time the AlphaMon is reset or power-up it reads Device Definition Files (DDF) stored in its memory-based SPIFFS storage. As it loads each device, it scan the DDF content and builds an internal dictionary of Alias names:
- The Device Alias: The name or model of the hardware. For example, the Alias “SMILE5” is the AlphaMon’s short name for an AlphaESS 5kw hybrid inverter/battery system, which is also the manufacturer’s model name for this type of inverter.
- The Register Alias: The name of a specific data point or “register” inside that hardware (e.g.,
BATTSOC,VOLTS,TEMP).
2. Properties of an Alias
An Alias is more than just a name; it carries “metadata” that tells AlphaMon how to handle the data:
- Access Level: Is it Read-Only (for monitoring) or Writable (for taking action)?
- Scaling: Does the number need decimals? (e.g.,
2400becoming240.0 Volts). - Units: Does it represent Watts (W), Volts (V), or a Percentage (%)?
3. “Actions” vs. “Data” (The LHS Rule)
When writing an AlphaMon Expression, the most important thing to know is whether an Alias can be used on the Left-Hand Side (LHS) of that Expression.
- Read-Only Aliases (Data): These are things you can only observe or read, such as the value of a sensor, a reading from a smart meter or a Constant. Because they are Read-Only you can only use them on the Right-Hand Side of your AlphaMon Expressions.
- Example:
... = (BATTSOC < 20)
- Example:
- Writable Aliases (Actions): These Aliases represent things you command or control. You may also be able to read from them, in which case we call them Read/Write or R/W. Since they are write-able you can place them on the Left-Hand Side to trigger a physical change, a switching action or turn something on or off.
- Example:
RELAY_1 = ...
- Example:
4. Grouping and Identity
If you have multiple devices that have internal registers with the same or similar names, AlphaMon keeps them organized by allowing you to specify a device Alias prefix. Using prefixes you can refer to a specific alias by “tagging” it with the device name.
For example, if you have two Modbus smart meters installed on your system and METER1 is monitoring the grid voltage whilst METER2 is monitoring your inverter’s backup (UPS) voltage, you can specify which voltage you wish to read by adding the device Alias prefix to the register Alias, separated with a colon (:), as follows:
METER1:VOLTSMETER2:VOLTS
5. Internal Aliases
While most Aliases come from your external, Modbus-enabled hardware like inverters, batteries and smart meters, AlphaMon automatically includes several Built-in Aliases that are always available without any configuration.
1. The “GPIO” Device (Physical Control)
General Purpose Input/Output (GPIO) pins are physical pins on the AlphaMon’s ESP32 CPU chip, typically numbered 0 to 39. Many of the existing pins are tied to specific functionality such as operating the on-board OLED screen, connecting to WiFi and the LoRa wireless hardware, talking to external devices via Modbus, leaving about a dozen GPIO pins spare.
Of the remaining “spare” pins, some are strictly Read Only (R/O) becasue of the EPS32’s internal architecture and yet others are completely locked. You can see which GPIO pins are available when you restart or power-up your AlphaMon, as described here. Some of the GPIO pins have been assigned special functions, as described below.
The following Aliases control the AlphaMon’s internal hardware. Use them to create visual alerts or trigger external equipment.
| Alias | Type | What it controls | Example |
|---|---|---|---|
| LED | 0–100% | The main Status LED brightness | LED = 50 |
| BUZZ | On/Off | The internal alert buzzer | BUZZ = ON |
| RELAY1 | On/Off | The Generator Start relay | RELAY1 = ON |
| GENLED | On/Off | The dedicated Generator status LED | GENLED = ON |
2. Time & Date Aliases (The Clock)
AlphaMon has a built-in clock that you can use to trigger events at specific times. These follow a special format: LOCAL:FORMAT or UTC:FORMAT.
| Aliases | Meaning | Example Result |
|---|---|---|
| LOCAL:HH or UTC:HH | Current Hour (24h) | 14 (for 2:00 PM) |
| LOCAL:MM or UTC:MM | Current Minute | 05 |
| LOCAL:SS or UTC:SS | Current Second | 30 |
| LOCAL:MMDD or UTC:MMDD | Month & Day | 1225 (December 25th) |
| LOCAL:DT or UTC:DT | Full Date & Time | 2025-11-24 14:04:30 |
How to use Data and Time Aliases in a rule:
- Turn on a light at 6 PM (18:00):
LIGHT = (LOCAL:HH >= 18) - Make a LED blink each second, using a trick with the local time and the MOD function working together:
STATUS_LED = (MOD(LOCAL:SS, 2) == 0)
Assignments to Built-ins
- GPIO Aliases can be used on the Left-Hand Side if (and only if) their Access Mode is Read/Write (R/W). (e.g.,
BUZZ = ON). - Time Aliases can only be used on the Right-Hand Side (e.g.,
... = LOCAL:HH) because you can’t “set” the time via an expression; you can only “read” it.
Pro-Tip: How to Find Your Aliases
Aliases are defined in the DDFs which are loaded at boot-time. Each DDF (a text, JSON-formatted configuration file) contains all the Aliases for that device.
Each time the AlphaMon is restarted it displays a full, alphabetically sorted list of all the Alias names in it’s internal library. To see that list and learn what Alias names are available for writing Expressions for your specific system, check your Boot Log. You can also use the Alias List command line (CLI) on your console to display the full list at any time.
You can learn more about the assignment of Alias names in this boot-log tutorial.