From 0af30aadd6e0b6549bdcc6c2b2c82b8d12294b85 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期三, 10 十一月 2021 17:26:23 +0800
Subject: [PATCH] 2021-11-10 1.Android没适配乐橙国内环境问题修复。
---
HDL_ON/DAL/DriverLayer/Packet.cs | 88 ++++++++++++++++++++++++++++++-------------
1 files changed, 61 insertions(+), 27 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs
index a5b60c5..3e07ff2 100644
--- a/HDL_ON/DAL/DriverLayer/Packet.cs
+++ b/HDL_ON/DAL/DriverLayer/Packet.cs
@@ -97,7 +97,8 @@
{
ddd += bb + ",";
}
- MainPage.Log($"bus鍛戒护:"+ ((int)command) + " : 鏁版嵁:" + ddd);
+ MainPage.Log($"bus鍛戒护:" + ((int)command).ToString("X").PadLeft(4, '0') + " : 鏁版嵁:" + ddd);
+ //MainPage.Log($"bus鍛戒护:"+ ((int)command) + " : 鏁版嵁:" + ddd);
#endif
//澶勭悊鏄惁瑕侀噸鍙戞暟鎹�
ManagerReceive(subnetID, deviceID, command, usefulBytes);
@@ -132,11 +133,12 @@
{
if (updataObj.spk != SPK.LightRGB)
{
- updataObj.trait_on_off.curValue = receiveBytes[2] > 0 ? "on" : "off";
+ updataObj.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[2] > 0 ? "on" : "off");
if (updataObj.trait_on_off.curValue.ToString() == "on")
{
switch (updataObj.spk)
{
+ case SPK.HvacFan:
case SPK.ElectricFan:
updataObj.SetAttrState(FunctionAttributeKey.OpenLevel, receiveBytes[2].ToString());
updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2];
@@ -159,6 +161,7 @@
case SPK.LightDimming:
DimmerPage.UpdataStates(updataObj);
break;
+ case SPK.HvacFan:
case SPK.ElectricFan:
FanPage.UpdataState(updataObj);
break;
@@ -176,10 +179,10 @@
{
if (light.spk != SPK.LightRGB)
{
- light.trait_on_off.curValue = receiveBytes[light.bus.LoopId] == 0 ? "off" : "on";
+ light.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[light.bus.LoopId] == 0 ? "off" : "on");
if (light.trait_on_off.curValue.ToString() == "on")
{
- light.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[2].ToString());
+ light.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[i+1].ToString());
light.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
}
HomePage.UpdataFunctionStates(light);
@@ -215,9 +218,11 @@
switch (function.spk)
{
case SPK.ElectricFan:
+ case SPK.HvacFan:
FanPage.UpdataState(function);
break;
case SPK.ElectricSocket:
+ case SPK.PanelSocket:
SocketPage.UpdataState(function);
break;
}
@@ -227,25 +232,40 @@
break;
case Command.SetLogicLoopColorACK:
case Command.ReadLogicLoopColorACK:
- foreach (var rgb in FunctionList.List.GetLightList())
+ foreach (var lightTeme in FunctionList.List.GetLightList())
{
- if (rgb.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
+ if (lightTeme.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
{
- if (rgb.spk == SPK.LightRGB)
+ if (lightTeme.spk == SPK.LightRGB)
{
- rgb.trait_on_off.curValue = receiveBytes[1] > 0 ? "on" : "off";
+ lightTeme.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] > 0 ? "on" : "off");
if (receiveBytes[1] > 0)
{
- rgb.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[1].ToString());
- rgb.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[1] + "%";
+ lightTeme.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[1].ToString());
+ lightTeme.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[1] + "%";
}
- new Light().SetRGBcolor(new byte[] { receiveBytes[6], receiveBytes[7], receiveBytes[8] }, rgb);
+ new Light().SetRGBcolor(new byte[] { receiveBytes[6], receiveBytes[7], receiveBytes[8] }, lightTeme);
- HomePage.UpdataFunctionStates(rgb);
- RoomPage.UpdataStates(rgb);
- FunctionPage.UpdataStates(rgb);
- ClassificationPage.UpdataInfo(rgb);
- RGBPage.UpdataStates(rgb);
+ HomePage.UpdataFunctionStates(lightTeme);
+ RoomPage.UpdataStates(lightTeme);
+ FunctionPage.UpdataStates(lightTeme);
+ ClassificationPage.UpdataInfo(lightTeme);
+ RGBPage.UpdataStates(lightTeme);
+ }else if(lightTeme.spk == SPK.LightCCT)
+ {
+ lightTeme.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] > 0 ? "on" : "off");
+ if (receiveBytes[1] > 0)
+ {
+ lightTeme.SetAttrState(FunctionAttributeKey.Brightness, receiveBytes[1].ToString());
+ lightTeme.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[1] + "%";
+ }
+ new Light().SetCCT(new byte[] { receiveBytes[6], receiveBytes[7] }, lightTeme);
+
+ HomePage.UpdataFunctionStates(lightTeme);
+ RoomPage.UpdataStates(lightTeme);
+ FunctionPage.UpdataStates(lightTeme);
+ ClassificationPage.UpdataInfo(lightTeme);
+ ColorTureLampPage.UpdataStatus(lightTeme);
}
}
}
@@ -260,11 +280,11 @@
{
if (receiveBytes[1] > 1)
{
- curtain.trait_on_off.curValue = "on";
+ curtain.SetAttrState(FunctionAttributeKey.OnOff, "on");
}
else
{
- curtain.trait_on_off.curValue = "off";
+ curtain.SetAttrState(FunctionAttributeKey.OnOff, "off");
}
curtain.SetAttrState(FunctionAttributeKey.Percent, receiveBytes[1].ToString());
curtain.lastState = Language.StringByID(StringId.Open) + curtain.GetAttrState(FunctionAttributeKey.Percent) + "%";
@@ -276,14 +296,15 @@
switch (receiveBytes[1])
{
case 0:
- curtain.trait_on_off.curValue = "stop";
- break;
+ curtain.SetAttrState(FunctionAttributeKey.OnOff, "stop");
+ return;
case 1:
- curtain.trait_on_off.curValue = "on";
+ curtain.SetAttrState(FunctionAttributeKey.OnOff, "on");
+ //curtain.
curtain.lastState = Language.StringByID(StringId.Open);
break;
case 2:
- curtain.trait_on_off.curValue = "off";
+ curtain.SetAttrState(FunctionAttributeKey.OnOff, "off");
curtain.lastState = Language.StringByID(StringId.Close);
break;
}
@@ -316,7 +337,7 @@
{
function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[1].ToString());
function.SetAttrState(FunctionAttributeKey.RoomTemp, receiveBytes[2].ToString());
- function.trait_on_off.curValue = receiveBytes[8] == 1 ? "on" : "off";
+ function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[8] == 1 ? "on" : "off");
acFunction.SetMode(receiveBytes[9],function);
acFunction.SetFan(receiveBytes[10],function);
function.SetAttrState(FunctionAttributeKey.SetTemp, receiveBytes[11].ToString());
@@ -359,7 +380,8 @@
FunctionPage.UpdataStates(function);
HomePage.UpdataFunctionStates(function);
ClassificationPage.UpdataInfo(function);
- ACPage.UpdataStates(function);
+ Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(function.sid, function.status);
+
}
}
break;
@@ -370,7 +392,7 @@
if (function.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
{
function.SetAttrState(FunctionAttributeKey.TempType, receiveBytes[2]);
- function.trait_on_off.curValue = receiveBytes[1] % 2 == 0 ? "off" : "on";
+ function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] % 2 == 0 ? "off" : "on");
new FloorHeating().SetModeIndex(receiveBytes[3],function);
if (function.Fh_Mode_Temp.ContainsKey("normal"))
@@ -503,21 +525,27 @@
case SPK.SensorTemperature:
byte[] tempBytes = new byte[] { receiveBytes[24], receiveBytes[25], receiveBytes[26], receiveBytes[27] };
sensor.SetAttrState(FunctionAttributeKey.Value,Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString());
+ sensor.SetAttrState(sensor.spk,Math.Round(BitConverter.ToSingle(tempBytes, 0), 1).ToString());
break;
case SPK.SensorHumidity:
sensor.SetAttrState(FunctionAttributeKey.Value, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10).ToString());
+ sensor.SetAttrState(sensor.spk, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 10).ToString());
break;
case SPK.SensorTVOC:
sensor.SetAttrState(FunctionAttributeKey.Value, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100).ToString());
+ sensor.SetAttrState(sensor.spk, (Convert.ToDouble(receiveBytes[24] * 256 + receiveBytes[25]) / 100).ToString());
break;
case SPK.SensorPm25:
sensor.SetAttrState(FunctionAttributeKey.Value,Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
+ sensor.SetAttrState(sensor.spk,Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
break;
case SPK.SensorCO2:
sensor.SetAttrState(FunctionAttributeKey.Value, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
+ sensor.SetAttrState(sensor.spk, Convert.ToInt32(receiveBytes[24] * 256 + receiveBytes[25]).ToString());
break;
}
EnvironmentalPage.LoadEvent_UpdataStatus(sensor);
+ //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor);
}
}
}
@@ -555,13 +583,16 @@
{
case 1:
sensor.SetAttrState(FunctionAttributeKey.Value,( (receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString());
+ sensor.SetAttrState(sensor.spk,( (receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8]).ToString());
break;
case 2:
sensor.SetAttrState(FunctionAttributeKey.Value,( -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString());
+ sensor.SetAttrState(sensor.spk,( -1 * ((receiveBytes[5] * 256 * 256 * 256) + (receiveBytes[6] * 256 * 256) + (receiveBytes[7] * 256) + receiveBytes[8])).ToString());
break;
case 3:
byte[] tempBytes = new byte[] { receiveBytes[5], receiveBytes[6], receiveBytes[7], receiveBytes[8] };
sensor.SetAttrState(FunctionAttributeKey.Value,( Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString());
+ sensor.SetAttrState(sensor.spk,( Math.Round(BitConverter.ToSingle(tempBytes, 0), 1)).ToString());
break;
}
switch (receiveBytes[4])
@@ -571,9 +602,12 @@
{
var value = Convert.ToInt32(sensor.GetAttrState(FunctionAttributeKey.Value));
sensor.SetAttrState(FunctionAttributeKey.Value, (value /= 100000).ToString());
+ sensor.SetAttrState(sensor.spk, (value /= 100000).ToString());
}
break;
}
+
+ //A_EnvironmentalDataCenter.LoadEvent_UpdataStatus(sensor);
EnvironmentalPage.LoadEvent_UpdataStatus(sensor);
}
}
@@ -602,7 +636,7 @@
switch (receiveBytes[0])
{
case 3://
- function.trait_on_off.curValue = receiveBytes[1] == 1 ? "on" : "off";
+ function.SetAttrState(FunctionAttributeKey.OnOff, receiveBytes[1] == 1 ? "on" : "off");
break;
case 4:
case 7:
@@ -624,7 +658,7 @@
FunctionPage.UpdataStates(function);
HomePage.UpdataFunctionStates(function);
ClassificationPage.UpdataInfo(function);
- ACPage.UpdataStates(function);
+ Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(function.sid, function.status);
}
}
break;
--
Gitblit v1.8.0