84 lines
3.1 KiB
C#
84 lines
3.1 KiB
C#
using System;
|
|
|
|
namespace Xylem.Common.Hardware.WaterMeter.Genesis.GenesisStatus
|
|
{
|
|
/// <summary>
|
|
/// Status of Cordonel calculated out of the Cordonel readouts
|
|
/// </summary>
|
|
public class GenesisStatus
|
|
{
|
|
/// <summary>
|
|
/// Remaining lifetime for Cordonel in years based on FW calculation.
|
|
/// </summary>
|
|
public Double? FwCalculatedRemainingLifeTimeYears { get; set; }
|
|
|
|
/// <summary>
|
|
/// Remaining lifetime for Cordonel in seconds based on FW calculation.
|
|
/// </summary>
|
|
public UInt64? FwCalculatedRemainingLifeTime_s { get; set; }
|
|
|
|
/// <summary>
|
|
/// Remaining lifetime for Cordonel in years based on battery drainage.
|
|
/// </summary>
|
|
public Double RemainingLifeTimeYears { get; set; }
|
|
|
|
/// <summary>
|
|
/// Exceeded lifetime of all batteries in seconds.
|
|
/// </summary>
|
|
public UInt64 ExceededLifeTime_s { get; set; }
|
|
|
|
/// <summary>
|
|
/// Battery drainage in percent.
|
|
/// </summary>
|
|
public Double DrainedBatteryLoadPercent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Number of batteries attached to Cordonel.
|
|
/// </summary>
|
|
public Int32 BatteryQuantity { get; set; }
|
|
|
|
/// <summary>
|
|
/// Initial capacity of one battery in mAh.
|
|
/// </summary>
|
|
public UInt64 InitialBatteryLoad_mAh { get; set; }
|
|
|
|
/// <summary>
|
|
/// Quiescent current used for alternative calculation of threshold for
|
|
/// maximum remaining battery load given by Cordonel requirements.
|
|
/// If this values and the <see cref="EstimatedProductionBatteryLoadPercent"/>
|
|
/// is set, this has a higher priority as the normal threshold.
|
|
/// </summary>
|
|
public Double? QuiescentCurrent_uA { get; set; }
|
|
|
|
///<summary>
|
|
///Additional allowed load for production used for alternative calculation of
|
|
/// threshold for maximum remaining battery load given by Cordonel requirements.
|
|
/// If this values and the <see cref="QuiescentCurrent_uA"/>
|
|
/// is set, this has a higher priority as the normal threshold.
|
|
/// </summary>
|
|
public Double? EstimatedProductionBatteryLoadPercent { get; set; }
|
|
|
|
/// <summary>
|
|
/// Drained capacity of all batteries in uAs.
|
|
/// </summary>
|
|
public UInt64 DrainedBatteryLoad_uAs { get; set; }
|
|
|
|
/// <summary>
|
|
/// Alternative calculation of required battery load in percent based on quiescent
|
|
/// current multiplied by operational time and supplement for production.
|
|
/// </summary>
|
|
public Double? AlternativeRequiredBatteryLoadPercent { get; internal set; }
|
|
|
|
/// <summary>
|
|
/// Battery assembly time based on the POWERMON_TotalUsedSeconds and the current time in UTC.
|
|
/// </summary>
|
|
public DateTime? BatteryAssemblyDateTimeUtc { get; internal set; }
|
|
|
|
/// <summary>
|
|
/// Calculation of storage months based on assembly time and UtcNow.
|
|
/// </summary>
|
|
public Double? StorageMonths { get; internal set; }
|
|
|
|
}
|
|
}
|