From 0f2e0147e8990e913d16d99bc1b94fb6bc53abd7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期四, 03 十二月 2020 15:35:42 +0800
Subject: [PATCH] 2020-12-03-1
---
HDL_ON/DAL/DriverLayer/Packet.cs | 76 ++++++++++++++++++--------------------
1 files changed, 36 insertions(+), 40 deletions(-)
diff --git a/HDL_ON/DAL/DriverLayer/Packet.cs b/HDL_ON/DAL/DriverLayer/Packet.cs
index b649c62..ea909d3 100644
--- a/HDL_ON/DAL/DriverLayer/Packet.cs
+++ b/HDL_ON/DAL/DriverLayer/Packet.cs
@@ -73,7 +73,7 @@
byte targetDeviceID = this.Bytes[24];
//涓嶆槸瑕佹帴鏀剁殑鎸囦护灏辫繑鍥�
- if (!((targetSubnetID == 252 && targetDeviceID == 252) || (targetSubnetID == 0xff && targetDeviceID == 0xff)))
+ if (!((targetSubnetID == 0 && targetDeviceID == 252) || (targetSubnetID == 0xff && targetDeviceID == 0xff)))
{
return;
}
@@ -124,7 +124,8 @@
{
if (updataObj.functionType != FunctionType.RGB)
{
- if (updataObj.trait_on_off.value.ToString() == "on")
+ updataObj.trait_on_off.curValue = receiveBytes[2] > 0 ? "on" : "off";
+ if (updataObj.trait_on_off.curValue.ToString() == "on")
{
switch (updataObj.functionType)
{
@@ -132,12 +133,10 @@
(updataObj as Fan).openLevel = receiveBytes[2];
updataObj.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2];
break;
- case FunctionType.Relay:
+ case FunctionType.Dimmer:
(updataObj as Light).brightness = receiveBytes[2];
updataObj.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
break;
- //case FunctionType.Socket:
- // (updataObj as SwitchSocket).
}
}
HomePage.UpdataFunctionStates(updataObj);
@@ -164,13 +163,13 @@
case Command.ReadLightAllLoopBrightnessACK:
for (int i = 0; i < receiveBytes[0]; i++)
{
- var light = DB_ResidenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.LoopID == (i + 1));
+ var light = DB_ResidenceData.functionList.lights.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.loopId == (i + 1));
if (light != null)
{
if (light.functionType != FunctionType.RGB)
{
- light.trait_on_off.value = receiveBytes[light.bus_Data.LoopID] == 0 ? "off" : "on";
- if (light.trait_on_off.value.ToString() == "on")
+ light.trait_on_off.curValue = receiveBytes[light.bus_Data.loopId] == 0 ? "off" : "on";
+ if (light.trait_on_off.curValue.ToString() == "on")
{
light.brightness = receiveBytes[2];
light.lastState = Language.StringByID(StringId.Brightness) + " : " + receiveBytes[2] + "%";
@@ -192,12 +191,12 @@
}
else
{
- var e = DB_ResidenceData.functionList.electricals.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.LoopID == i);
+ var e = DB_ResidenceData.functionList.electricals.Find((obj) => obj.bus_Data.SubnetID == subnetID && obj.bus_Data.DeviceID == deviceID && obj.bus_Data.loopId == i);
if (e != null)
{
var fan = e as Fan;
- fan.trait_on_off.value = receiveBytes[2] == 0 ? "off" : "on";
- if (fan.trait_on_off.value.ToString() == "on")
+ fan.trait_on_off.curValue = receiveBytes[2] == 0 ? "off" : "on";
+ if (fan.trait_on_off.curValue.ToString() == "on")
{
fan.openLevel = receiveBytes[2];
fan.lastState = Language.StringByID(StringId.Level) + " : " + receiveBytes[2];
@@ -227,7 +226,7 @@
{
if (rgb.functionType == FunctionType.RGB)
{
- rgb.trait_on_off.value = receiveBytes[1] > 0 ? "on" : "off";
+ rgb.trait_on_off.curValue = receiveBytes[1] > 0 ? "on" : "off";
if (receiveBytes[1] > 0)
{
rgb.brightness = receiveBytes[1];
@@ -256,30 +255,30 @@
{
if (receiveBytes[1] > 1)
{
- curtain.trait_on_off.value = "on";
+ curtain.trait_on_off.curValue = "on";
}
else
{
- curtain.trait_on_off.value = "off";
+ curtain.trait_on_off.curValue = "off";
}
curtain.percent = receiveBytes[1];
curtain.lastState = Language.StringByID(StringId.Open) + curtain.percent + "%";
}
else
{
- if (curtain.bus_Data.LoopID != receiveBytes[0])
+ if (curtain.bus_Data.loopId != receiveBytes[0])
continue;
switch (receiveBytes[1])
{
case 0:
- curtain.trait_on_off.value = "stop";
+ curtain.trait_on_off.curValue = "stop";
break;
case 1:
- curtain.trait_on_off.value = "on";
+ curtain.trait_on_off.curValue = "on";
curtain.lastState = Language.StringByID(StringId.Open);
break;
case 2:
- curtain.trait_on_off.value = "off";
+ curtain.trait_on_off.curValue = "off";
curtain.lastState = Language.StringByID(StringId.Close);
break;
}
@@ -311,12 +310,12 @@
{
ac.curTempType = receiveBytes[1];
ac.indoorTemp = receiveBytes[2];
- ac.trait_on_off.value = receiveBytes[8] == 1 ? "on" : "off";
+ ac.trait_on_off.curValue = receiveBytes[8] == 1 ? "on" : "off";
ac.curModeIndex = receiveBytes[9];
ac.curFanIndex = receiveBytes[10];
- ac.trait_temp.value = receiveBytes[11];
+ ac.trait_temp.curValue = receiveBytes[11];
ac.lastState = "";
- switch (ac.trait_mode.value.ToString())
+ switch (ac.trait_mode.curValue.ToString())
{
case "cool":
ac.lastState = Language.StringByID(StringId.Cool);
@@ -334,7 +333,7 @@
ac.lastState = Language.StringByID(StringId.AirSupply);
break;
}
- switch (ac.trait_fan.value.ToString())
+ switch (ac.trait_fan.curValue.ToString())
{
case "high":
ac.lastState += " " + Language.StringByID(StringId.HighWindSpeed);
@@ -349,7 +348,7 @@
ac.lastState += " " + Language.StringByID(StringId.Auto);
break;
}
- ac.lastState += " " + ac.trait_temp.value + ac.tempUnitString;
+ ac.lastState += " " + ac.trait_temp.curValue + ac.tempUnitString;
RoomPage.UpdataStates(ac);
FunctionPage.UpdataStates(ac);
HomePage.UpdataFunctionStates(ac);
@@ -365,7 +364,7 @@
if (fh.GetBusId() == subnetID + "_" + deviceID + "_" + receiveBytes[0])
{
fh.curTempType = receiveBytes[2];
- fh.trait_on_off.value = receiveBytes[1] % 2 == 0 ? "off" : "on";
+ fh.trait_on_off.curValue = receiveBytes[1] % 2 == 0 ? "off" : "on";
fh.curModeIndex = receiveBytes[3];
if (fh.modeTemp.ContainsKey("normal"))
{
@@ -400,39 +399,39 @@
fh.modeTemp.Add("away", receiveBytes[7]);
}
- switch (fh.trait_mode.value)
+ switch (fh.trait_mode.curValue)
{
case "normal":
fh.lastState = Language.StringByID(StringId.Normal);
- fh.trait_temp.value = receiveBytes[4];
+ fh.trait_temp.curValue = receiveBytes[4];
break;
case "day":
fh.lastState = Language.StringByID(StringId.Day);
- fh.trait_temp.value = receiveBytes[5];
+ fh.trait_temp.curValue = receiveBytes[5];
break;
case "night":
fh.lastState = Language.StringByID(StringId.Night);
- fh.trait_temp.value = receiveBytes[6];
+ fh.trait_temp.curValue = receiveBytes[6];
break;
case "timer":
fh.lastState = Language.StringByID(StringId.Auto);
if (receiveBytes[8] == 0)
{
fh.timeFlag = 0;
- fh.trait_temp.value = receiveBytes[5];
+ fh.trait_temp.curValue = receiveBytes[5];
}
else
{
fh.timeFlag = 1;
- fh.trait_temp.value = receiveBytes[6];
+ fh.trait_temp.curValue = receiveBytes[6];
}
break;
case "away":
- fh.trait_temp.value = receiveBytes[7];
+ fh.trait_temp.curValue = receiveBytes[7];
fh.lastState = Language.StringByID(StringId.Away);
break;
}
- fh.lastState += " " + fh.trait_temp.value + fh.tempUnitString;
+ fh.lastState += " " + fh.trait_temp.curValue + fh.tempUnitString;
RoomPage.UpdataStates(fh);
FunctionPage.UpdataStates(fh);
HomePage.UpdataFunctionStates(fh);
@@ -449,7 +448,7 @@
if (sensor.bus_Data != null)
{
if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID &&
- sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.LoopID == receiveBytes[2])
+ sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.loopId == receiveBytes[2])
{
switch (dt)
{
@@ -482,7 +481,7 @@
if (sensor.bus_Data != null)
{
if ((int)sensor.functionType % 256 == receiveBytes[1] && sensor.bus_Data.SubnetID == subnetID &&
- sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.LoopID == receiveBytes[2])
+ sensor.bus_Data.DeviceID == deviceID && sensor.bus_Data.loopId == receiveBytes[2])
{
//0淇濈暀 1鏃犵鍙�4Byte鏁村舰 2鏈夌鍙�4Byte鏁村舰 3Float褰紙浠B憋級
switch (receiveBytes[3])
@@ -532,13 +531,13 @@
switch (receiveBytes[0])
{
case 3://
- ac.trait_on_off.value = receiveBytes[1] == 1 ? "on" : "off";
+ ac.trait_on_off.curValue = receiveBytes[1] == 1 ? "on" : "off";
break;
case 4:
case 7:
case 8:
case 19:
- ac.trait_temp.value = receiveBytes[1];
+ ac.trait_temp.curValue = receiveBytes[1];
break;
case 5:
ac.curFanIndex = receiveBytes[1];
@@ -549,7 +548,7 @@
}
ac.lastState = "";
- ac.lastState += " " + ac.trait_temp.value + ac.tempUnitString;
+ ac.lastState += " " + ac.trait_temp.curValue + ac.tempUnitString;
RoomPage.UpdataStates(ac);
FunctionPage.UpdataStates(ac);
HomePage.UpdataFunctionStates(ac);
@@ -573,9 +572,6 @@
var mac = ByteToHex16(receiveBytes[5]) + ByteToHex16(receiveBytes[6]) + ByteToHex16(receiveBytes[7]) + ByteToHex16(receiveBytes[8]) + ByteToHex16(receiveBytes[9]) + ByteToHex16(receiveBytes[10]) + ByteToHex16(receiveBytes[11]) + ByteToHex16(receiveBytes[12]);
var Name = Encoding.GetEncoding("gb2312").GetString(receiveBytes, 13, 20).Trim('\0'); ;
MainPage.Log($"name : {Name} ; mac : {mac}");
-#if DEBUG
- DB_ResidenceData.residenceData.residenceGatewayMAC = "4E47323347591243";
-#endif
if (DB_ResidenceData.residenceData.residenceGatewayMAC == mac)
{
DriverLayer.Control.Ins.GatewayOnline = true;
--
Gitblit v1.8.0