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; } }); }
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; } }); }