Example #1
0
        private void CmdListenerKsmOnDataReceived(IList <byte> bytes, IList <BytesPair> data)
        {
            _uiNotifier.Notify(() =>
            {
                Version   = IsFullVersion ? new TextFormatterDotted(UnknownText).Format(data[34]) : OkLinkText;
                WorkStage = new TextFormatterWorkStage().Format(data[8]);

                // КСМ, бит "Нет связи с МУК вентилятора испарителя" взведен
                if (data[16].HighFirstUnsignedValue.GetBit(2))
                {
                    MukInfo3      = NoLinkText;
                    MukInfoColor3 = NoLinkColor;

                    EvaporatorFanControllerInfo      = NoLinkText;
                    EvaporatorFanControllerInfoColor = NoLinkColor;

                    SensorOuterAirInfo      = NoLinkText;
                    SensorOuterAirInfoColor = NoLinkColor;

                    SensorRecycleAirInfo      = NoLinkText;
                    SensorRecycleAirInfoColor = NoLinkColor;

                    SensorSupplyAirInfo      = NoLinkText;
                    SensorSupplyAirInfoColor = NoLinkColor;

                    FanEvaporatorInfo  = NoLinkText;
                    FanEvaporatorColor = NoLinkColor;

                    CalculatedTemperatureSetting = NoLinkText;
                }

                // КСМ, бит "Нет связи с МУК тёплого " взведен
                if (data[16].HighFirstUnsignedValue.GetBit(6))
                {
                }


                var oneWireSensor1 = new SensorIndicationDoubleBasedOnBytesPair(data[0], 0.01, 0.0, new BytesPair(0x85, 0x00));
                if (oneWireSensor1.NoLinkWithSensor)
                {
                    SensorInteriorAirInfo1      = NoSensorText;
                    SensorInteriorAirInfoColor1 = NoSensorColor;
                }
                else
                {
                    SensorInteriorAirInfo1      = oneWireSensor1.Indication.ToString("f2");
                    SensorInteriorAirInfoColor1 = OkSensorColor;
                }

                var oneWireSensor2 = new SensorIndicationDoubleBasedOnBytesPair(data[1], 0.01, 0.0, new BytesPair(0x85, 0x00));
                if (oneWireSensor2.NoLinkWithSensor)
                {
                    SensorInteriorAirInfo2      = NoSensorText;
                    SensorInteriorAirInfoColor2 = NoSensorColor;
                }
                else
                {
                    SensorInteriorAirInfo2      = oneWireSensor2.Indication.ToString("f2");
                    SensorInteriorAirInfoColor2 = OkSensorColor;
                }
            });
        }
Example #2
0
        private void CmdListenerKsmOnDataReceived(IList <byte> bytes, IList <BytesPair> data)
        {
            _uiNotifier.Notify(() =>
            {
                Version   = IsFullVersion ? new TextFormatterDotted(UnknownText).Format(data[27]) : OkLinkText;
                WorkStage = new TextFormatterWorkStage().Format(data[8]);

                // КСМ, бит "Нет связи с МУК заслонки наружного воздуха" взведен
                if (data[16].HighFirstUnsignedValue.GetBit(0))
                {
                    MukInfo2      = NoLinkText;
                    MukInfoColor2 = NoLinkColor;

                    FlapAirOuterDiagInfo5Color = NoLinkColor;
                    FlapAirOuterDiagInfo5      = NoLinkText;

                    FlapAirOuterDiagInfo6Color = NoLinkColor;
                    FlapAirOuterDiagInfo6      = NoLinkText;

                    // TODO: do I need check emerson here?
                    EmersonInfo      = NoLinkText;
                    EmersonInfoColor = NoLinkColor;
                }

                // КСМ, бит "Нет связи с МУК вентилятора испарителя" взведен
                if (data[16].HighFirstUnsignedValue.GetBit(2))
                {
                    MukInfo3      = NoLinkText;
                    MukInfoColor3 = NoLinkColor;

                    EvaporatorFanControllerInfo      = NoLinkText;
                    EvaporatorFanControllerInfoColor = NoLinkColor;

                    FanEvaporatorInfo  = NoLinkText;
                    FanEvaporatorColor = NoLinkColor;

                    CalculatedTemperatureSetting = NoLinkText;
                }

                var siOuter = new SensorIndicationDoubleBasedOnBytesPair(data[0], 0.01, 0.00, new BytesPair(0x85, 0x00));
                if (siOuter.NoLinkWithSensor)
                {
                    SensorOuterAirInfo      = NoSensorText;
                    SensorOuterAirInfoColor = NoSensorColor;
                }
                else
                {
                    SensorOuterAirInfo      = siOuter.Indication.ToString("f2");
                    SensorOuterAirInfoColor = OkSensorColor;
                }

                var siRecycle = new SensorIndicationDoubleBasedOnBytesPair(data[4], 0.01, 0.00, new BytesPair(0x85, 0x00));
                if (siRecycle.NoLinkWithSensor)
                {
                    SensorRecycleAirInfo      = NoSensorText;
                    SensorRecycleAirInfoColor = NoSensorColor;
                }
                else
                {
                    SensorRecycleAirInfo      = siRecycle.Indication.ToString("f2");
                    SensorRecycleAirInfoColor = OkSensorColor;
                }

                // КСМ, бит "Нет связи с МУК тёплого пола" взведен
                if (data[16].HighFirstUnsignedValue.GetBit(6))
                {
                    MukInfo5      = NoLinkText;
                    MukInfoColor5 = NoLinkColor;

                    MukWarmFloorPwm      = NoLinkText;
                    MukWarmFloorPwmColor = NoLinkColor;
                }
                else
                {
                    //MukInfo5 = OkLinkText;
                    MukInfoColor5 = OkLinkColor;
                }

                // BS-SM state.
                if (data[17].HighFirstUnsignedValue.GetBit(0))
                {
                    // TODO: Faults reset?
                    BsSmInfo         = NoLinkText;
                    BsSmInfoColor    = NoLinkColor;
                    Voltage3000Color = UnknownColor;
                    Voltage3000Text  = HiVoltageUnknownText;
                }

                // BVS state.
                if (data[17].HighFirstUnsignedValue.GetBit(1))
                {
                    // TODO: AutoVm reset?
                    BvsInfo         = NoLinkText;
                    BvsInfoColor    = NoLinkColor;
                    Voltage380Color = UnknownColor;
                    Voltage380Text  = HiVoltageUnknownText;

                    AutoVm1.IsOk = null;
                    AutoVm2.IsOk = null;
                    AutoVm3.IsOk = null;
                    AutoVm4.IsOk = null;
                    AutoVm5.IsOk = null;
                    AutoVm6.IsOk = null;
                    AutoVm7.IsOk = null;

                    AutoVm8.IsOk  = null;
                    AutoVm9.IsOk  = null;
                    AutoVm10.IsOk = null;
                }
                else
                {
                    BvsInfo      = OkLinkText;
                    BvsInfoColor = OkLinkColor;
                }
            });
        }