BACnet register map
The eGauge does not have a fixed BACnet register map. Instead, registers are mapped as they are created. Thus, the map for two different eGauges will differ based on the number of registers and the order they were added in. Registers are organized into groups, which are defined below.
If a static IP address is used with an incorrect broadcast address, BACnet communication may not function properly and the meter may not be discoverable.
Group 5 and Group 6 addresses may change if register configuration is modified. It is recommended to use range 0xb0000 and 0xc0000 as the addresses numbers are tied to the register ID and will always remain in that order. See this article for more information about register IDs.
|Address Range||Group Description||Measured Value||See footnote|
|0x20000||Group 1 - The RMS voltage of the voltage-taps can be read through this group.||Voltage [V]
|0x30000||Group 2 - The RMS current measured by each sensor/CT can be read through this group.||Current [A]||1|
|0x50000||Group 3 - The frequency of the voltage-taps can be read through this group.||Line Frequency [Hz]|
Group 4 contains only the object ID 0x60000 and it reports the number of seconds since BACnet daemon startup. The daemon starts after enabling BACnet support through the UI or after power-cycling.
Group 5 reports the register value for each register (virtual and physical). The register values are time-weighted values and hence the unit of these object IDs is equal to the unit of the corresponding object ID in Group 6, multiplied by seconds. For example, for a register recording power, the Group 6 unit would be Watts, and therefore the Group 5 unit would be Watt-seconds (i.e., Joules).
DEPRECATED IN v4.0, use range 0xb0000 to 0xbffff in firmware v4.0 and newer.
Group 6 reports, for each virtual and physical register, the change in register value during the most recent one-second interval. For example, for a register recording power, the unit would be Watts, for a register recording voltage, the unit would be Volts.
DEPRECATED IN v4.0, use range 0xc0000 to 0xcffff in firmware v4.0 and newer.
|0x90000||Mean Voltages - mean (DC) voltages for voltage inputs||Voltage [V]||2|
|0xa0000||Mean Sensor Values - mean (DC) values for sensor/CT inputs||Current [A]||1, 2|
|0xb0000||Register values like Group 5, statically indexed by register ID||REGVAL [various]||2, 3|
|0xc0000||Register rate-of-change (instantaneous) values like Group 6, statically indexed by register ID||REGCHG [various]||2, 3|
1. Unit will be Amps for current, various for other sensors
2. Introduced in firmware v4.0
3. These addresses are tied to register ID. Group 5 and Group 6 are liable to have addresses change if register configuration is modified.
The BACnet PICS is available in the support knowledge base here.
- Cumulative register values are found in Group 5, REGVAL. This provides time-weighted values such as kWh or amp-hours.
- Cumulative register values may not start at zero. Thus, it is important to compare a previously received value with the current value to determine the total value change between two points in time.
- Instantaneous (rate-of-change) register values are found in Group 6, REGCHG. These provide instantaneous values such as Watts or Amps.
- The physical unit of this register depends on the quantity being recorded and can be obtained by reading the "unit" property (BACnet property 117) of the respective object id.
- The register name for a given object ID can be obtained by reading the "name" property (BACnet property 77) from the object ID.
- In Group 5 and 6, the first two object IDs will always be the Usage and Generation virtual registers. Any additional virtual registers come next. Physical registers are listed last.
- The BACnet service is enabled on the eGauge through Settings -> BACnet.