public Meter(DateTimeOffset instant, SenecDecimal totalPower, MeterPhase l3, MeterPhase l2, MeterPhase l1, SenecDecimal frequency) { Instant = instant; TotalPower = totalPower; L3 = l3; L2 = l2; L1 = l1; Frequency = frequency; }
private static void MutualExclusive(SenecDecimal leftItem, SenecDecimal rightItem) { if (leftItem.Value.HasValue) { if (leftItem.Value.Value > decimal.Zero) { rightItem.Value = 0; } else { leftItem.Value = 0; rightItem.Value = -rightItem.Value; } } }
public Energy(DateTimeOffset instant, SenecDecimal batteryPercentageFull, SenecDecimal homeInstantPowerConsumption, SenecDecimal solarPowerGeneration, SenecSystemState systemState, SenecBoolean isBatteryDischarging, SenecBoolean isBatteryCharging, SenecDecimal gridImportWatts, SenecDecimal batteryChargeWatts, SenecDecimal sTAT_STATE_DECODE, SenecDecimal sTAT_MAINT_REQUIRED) { Instant = instant; BatteryPercentageFull = batteryPercentageFull; HomeInstantPowerConsumption = homeInstantPowerConsumption; SolarPowerGeneration = solarPowerGeneration; SystemState = systemState; IsBatteryDischarging = isBatteryDischarging; IsBatteryCharging = isBatteryCharging; GridImportWatts = gridImportWatts; GridExportWatts = new SenecDecimal(GridImportWatts.Type, GridImportWatts.Value); MutualExclusive(GridImportWatts, GridExportWatts); BatteryChargeWatts = batteryChargeWatts; BatteryDischargeWatts = new SenecDecimal(BatteryChargeWatts.Type, BatteryChargeWatts.Value); MutualExclusive(BatteryChargeWatts, BatteryDischargeWatts); STAT_STATE_DECODE = sTAT_STATE_DECODE; STAT_MAINT_REQUIRED = sTAT_MAINT_REQUIRED; }
public SenecSystemState(SenecDecimal senecDecimal) : this(senecDecimal.Type, senecDecimal.Value) { }
public SenecBoolean(SenecDecimal senecDecimal) : this(senecDecimal.Type, senecDecimal.Value) { }