Exemplo n.º 1
0
 internal UiStatus(NefitStatus stat)
 {
     UserMode                    = (UserModes)Enum.Parse(typeof(UserModes), stat.UMD, true);
     ClockProgram                = (ClockProgram)Enum.Parse(typeof(ClockProgram), stat.CPM, true);
     InHouseStatus               = (InHouseStatus)Enum.Parse(typeof(InHouseStatus), stat.IHS, true);
     Control                     = (ControlMode)Enum.Parse(typeof(ControlMode), stat.CTR, true);
     BoilerIndicator             = EnumHelper.ToArray <BoilerIndicator>().FirstOrDefault(bi => (int)bi == (int)(BoilerIndicatorRef)Enum.Parse(typeof(BoilerIndicatorRef), stat.BAI, true));
     InHouseTemperature          = double.Parse(stat.IHT, CultureInfo.InvariantCulture);
     TempOverrideDuration        = double.Parse(stat.TOD, CultureInfo.InvariantCulture);
     CurrentProgramSwitch        = Convert.ToInt32(stat.CSP);
     PowerSaveMode               = NefitEasyUtils.IsOnOrTrue(stat.ESI);
     FireplaceMode               = NefitEasyUtils.IsOnOrTrue(stat.FPA);
     TempOverride                = NefitEasyUtils.IsOnOrTrue(stat.TOR);
     HolidayMode                 = NefitEasyUtils.IsOnOrTrue(stat.HMD);
     BoilerBlock                 = NefitEasyUtils.IsOnOrTrue(stat.BBE);
     DayAsSunday                 = NefitEasyUtils.IsOnOrTrue(stat.DAS);
     BoilerLock                  = NefitEasyUtils.IsOnOrTrue(stat.BLE);
     BoilerMaintenance           = NefitEasyUtils.IsOnOrTrue(stat.BMR);
     TemperatureSetpoint         = double.Parse(stat.TSP, CultureInfo.InvariantCulture);
     TemperatureOverrideSetpoint = double.Parse(stat.TOT, CultureInfo.InvariantCulture);
     TemparatureManualSetpoint   = double.Parse(stat.MMT, CultureInfo.InvariantCulture);
     HedEnabled                  = NefitEasyUtils.IsOnOrTrue(stat.HED_EN);
     HedDeviceAtHome             = NefitEasyUtils.IsOnOrTrue(stat.HED_DEV);
     HotWaterAvailable           = NefitEasyUtils.IsOnOrTrue(stat.DHW);
     HedDeviceName               = stat.HED_DB;
 }
Exemplo n.º 2
0
        internal UIStatus(NefitStatus stat)
        {
            switch (stat.UMD.ToLower())
            {
            case "clock":
                UserMode = UserModes.Clock;
                break;

            case "manual":
                UserMode = UserModes.Manual;
                break;

            default:
                UserMode = UserModes.Unknown;
                break;
            }
            switch (stat.CPM.ToLower())
            {
            case "selflearning":
                ClockProgram = ClockProgram.SelfLearning;
                break;

            case "auto":
                ClockProgram = ClockProgram.Auto;
                break;

            default:
                ClockProgram = ClockProgram.Unknown;
                break;
            }
            switch (stat.IHS.ToLower())
            {
            case "ok":
                InHouseStatus = InHouseStatus.Ok;
                break;

            default:
                InHouseStatus = InHouseStatus.Unknown;
                break;
            }
            switch (stat.CTR.ToLower())
            {
            case "room":
                Control = ControlMode.Room;
                break;

            default:
                Control = ControlMode.Unknown;
                break;
            }
            switch (stat.BAI.ToLower())
            {
            case "no":
                BoilerIndicator = BoilerIndicator.Off;
                break;

            case "ch":
                BoilerIndicator = BoilerIndicator.CentralHeating;
                break;

            case "hw":
                BoilerIndicator = BoilerIndicator.HotWater;
                break;


            default:
                BoilerIndicator = BoilerIndicator.Unknown;
                break;
            }
            InHouseTemperature          = Utils.StringToDouble(stat.IHT);
            TempOverrideDuration        = Utils.StringToDouble(stat.TOD);
            CurrentProgramSwitch        = Convert.ToInt32(stat.CSP);
            PowerSaveMode               = stat.ESI == "on";
            FireplaceMode               = stat.FPA == "on";
            TempOverride                = stat.TOR == "on";
            HolidayMode                 = stat.HMD == "on";
            BoilerBlock                 = stat.BBE == "true";
            DayAsSunday                 = stat.DAS == "on";
            BoilerLock                  = stat.BLE == "on";
            BoilerMaintenance           = stat.BMR == "true";
            TemperatureSetpoint         = Utils.StringToDouble(stat.TSP);
            TemperatureOverrideSetpoint = Utils.StringToDouble(stat.TOT);
            TemparatureManualSetpoint   = Utils.StringToDouble(stat.MMT);
            HedEnabled                  = stat.HED_EN == "true";
            HedDeviceAtHome             = stat.HED_DEV == "true";
            HotWaterAvailable           = stat.DHW == "on";
            HedDeviceName               = stat.HED_DB;
        }