Class Sealed
public sealed class MeterInfo

Namespace: SharpMeter.Core.Models

Aggregated meter identification and configuration information.

Properties

NameDescription
AccessLevel Gets or sets the current access level.
AmiDevice Gets or sets the AMI device type.
AvailableManufacturingTables Gets the list of available manufacturing table IDs.
AvailableStandardTables Gets the list of available standard table IDs.
FirmwareVersion Gets or sets the firmware version numbers [major, minor, build, patch].
HardwareRevision Gets or sets the hardware revision number.
HardwareVersion Gets or sets the hardware version number.
HasRelay Gets or sets whether the meter has a disconnect relay.
IsCalibration Gets or sets whether the meter is in calibration mode.
IsMagImmune Gets or sets whether the meter is magnetically immune.
Manufacturer Gets or sets the manufacturer name.
Mode Gets or sets the meter operating mode.
Model Gets or sets the meter model type.
ModelString Gets or sets the meter model string from ST1.
SerialNumber Gets or sets the manufacturer serial number.
Target Gets or sets the target utility type.
Upgrades Gets or sets the active softswitch upgrades.

AccessLevel

AccessLevel MeterInfo.AccessLevel { get; set; }

Gets or sets the current access level.

AmiDevice

AmiDevice MeterInfo.AmiDevice { get; set; }

Gets or sets the AMI device type.

AvailableManufacturingTables

IList<ushort> MeterInfo.AvailableManufacturingTables { get; }

Gets the list of available manufacturing table IDs.

AvailableStandardTables

IList<ushort> MeterInfo.AvailableStandardTables { get; }

Gets the list of available standard table IDs.

FirmwareVersion

IReadOnlyList<int> MeterInfo.FirmwareVersion { get; set; }

Gets or sets the firmware version numbers [major, minor, build, patch].

HardwareRevision

byte MeterInfo.HardwareRevision { get; set; }

Gets or sets the hardware revision number.

HardwareVersion

byte MeterInfo.HardwareVersion { get; set; }

Gets or sets the hardware version number.

HasRelay

bool MeterInfo.HasRelay { get; set; }

Gets or sets whether the meter has a disconnect relay.

IsCalibration

bool MeterInfo.IsCalibration { get; set; }

Gets or sets whether the meter is in calibration mode.

IsMagImmune

bool MeterInfo.IsMagImmune { get; set; }

Gets or sets whether the meter is magnetically immune.

Manufacturer

string MeterInfo.Manufacturer { get; set; }

Gets or sets the manufacturer name.

Mode

MeterMode MeterInfo.Mode { get; set; }

Gets or sets the meter operating mode.

Model

MeterModel MeterInfo.Model { get; set; }

Gets or sets the meter model type.

ModelString

string MeterInfo.ModelString { get; set; }

Gets or sets the meter model string from ST1.

SerialNumber

string MeterInfo.SerialNumber { get; set; }

Gets or sets the manufacturer serial number.

Target

MeterTarget MeterInfo.Target { get; set; }

Gets or sets the target utility type.

Upgrades

SoftswitchUpgrade MeterInfo.Upgrades { get; set; }

Gets or sets the active softswitch upgrades.

View Source
/// <summary>
///     Aggregated meter identification and configuration information.
/// </summary>
public sealed class MeterInfo
{
#region Identity
    /// <summary>Gets or sets the manufacturer serial number.</summary>
    public string SerialNumber { get; set; } = string.Empty;
    /// <summary>Gets or sets the manufacturer name.</summary>
    public string Manufacturer { get; set; } = string.Empty;
    /// <summary>Gets or sets the meter model string from ST1.</summary>
    public string ModelString { get; set; } = string.Empty;
    /// <summary>Gets or sets the firmware version numbers [major, minor, build, patch].</summary>
    public IReadOnlyList<int> FirmwareVersion { get; set; } = [0, 0, 0, 0];
    /// <summary>Gets or sets the hardware version number.</summary>
    public byte HardwareVersion { get; set; }
    /// <summary>Gets or sets the hardware revision number.</summary>
    public byte HardwareRevision { get; set; }
#endregion
#region Classification
    /// <summary>Gets or sets the meter model type.</summary>
    public MeterModel Model { get; set; } = MeterModel.Generic;
    /// <summary>Gets or sets the meter operating mode.</summary>
    public MeterMode Mode { get; set; } = MeterMode.DemandOnly;
    /// <summary>Gets or sets the target utility type.</summary>
    public MeterTarget Target { get; set; } = MeterTarget.Electric;
    /// <summary>Gets or sets the AMI device type.</summary>
    public AmiDevice AmiDevice { get; set; } = AmiDevice.None;
    /// <summary>Gets or sets the current access level.</summary>
    public AccessLevel AccessLevel { get; set; } = AccessLevel.NoAccess;
#endregion
#region Status
    /// <summary>Gets or sets the active softswitch upgrades.</summary>
    public SoftswitchUpgrade Upgrades { get; set; } = SoftswitchUpgrade.None;
    /// <summary>Gets or sets whether the meter has a disconnect relay.</summary>
    public bool HasRelay { get; set; }
    /// <summary>Gets or sets whether the meter is in calibration mode.</summary>
    public bool IsCalibration { get; set; }
    /// <summary>Gets or sets whether the meter is magnetically immune.</summary>
    public bool IsMagImmune { get; set; }
#endregion
#region Tables
    /// <summary>Gets the list of available standard table IDs.</summary>
    public IList<ushort> AvailableStandardTables { get; } = [];
    /// <summary>Gets the list of available manufacturing table IDs.</summary>
    public IList<ushort> AvailableManufacturingTables { get; } = [];
#endregion
}
Was this page helpful?