From ea318e20d9a513bfae81a9203cef4bca0fc23c2c Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 30 九月 2020 11:01:15 +0800
Subject: [PATCH] 202009301
---
HDL_ON/Entity/Function/AC.cs | 227 +++++++++++++++++++++++++++++---------------------------
1 files changed, 116 insertions(+), 111 deletions(-)
diff --git a/HDL_ON/Entity/Function/AC.cs b/HDL_ON/Entity/Function/AC.cs
index 01bf037..671f080 100644
--- a/HDL_ON/Entity/Function/AC.cs
+++ b/HDL_ON/Entity/Function/AC.cs
@@ -1,19 +1,17 @@
锘縰sing System;
-using System.Collections;
using System.Collections.Generic;
-using Newtonsoft.Json.Linq;
namespace HDL_ON.Entity
{
public class AC : Function
{
/*
- * 绌鸿皟锛歵rait: [switch, mode, fan, temperature, swing, lock]
+ * 绌鸿皟锛歵rait: [switch, mode, fan, set_temperature, swing, lock]
* 灞炴�� 鎻忚堪
* on_off on/off
* mode mode: auto, cool, heat, dry, fan
* fan high, medium, low, auto
- * temperature up,down,value
+ * set_temperature up,down,value
* swing up/down/left/right
* lock boolean (Lock閿佸畾鎺у埗)
*/
@@ -27,17 +25,29 @@
/// </summary>
[Newtonsoft.Json.JsonIgnore]
public int curTempType = 0;
-
/// <summary>
- /// 褰撳墠绌鸿皟妯″紡
+ /// 褰撳墠娓╁害妯″紡瀛楃
/// </summary>
- [Newtonsoft.Json.JsonIgnore]
- public string curMode = "cool";
+ public string tempUnitString
+ {
+ get
+ {
+ if (curTempType == 0)
+ {
+ return "掳C";
+ }
+ else
+ {
+ return "掳F";
+ }
+ }
+ }
/// <summary>
/// 褰撳墠妯″紡绱㈠紩
/// bus鎺у埗鍛戒护浣跨敤
/// </summary>
+ [Newtonsoft.Json.JsonIgnore]
public byte curModeIndex
{
get
@@ -45,7 +55,7 @@
try
{
byte index = 0;
- switch (curMode)
+ switch (trait_mode.value.ToString())
{
case "auto":
index = 3;
@@ -79,22 +89,22 @@
switch (value)
{
case 0:
- curMode = "cool";
+ trait_mode.value = "cool";
break;
case 1:
- curMode = "heat";
+ trait_mode.value = "heat";
break;
case 2:
- curMode = "fan";
+ trait_mode.value = "fan";
break;
case 3:
- curMode = "auto";
+ trait_mode.value = "auto";
break;
case 4:
- curMode = "dry";
+ trait_mode.value = "dry";
break;
default:
- curMode = "cool";
+ trait_mode.value = "cool";
break;
}
@@ -112,7 +122,7 @@
try
{
byte index = 0;
- switch (curFan)
+ switch (trait_fan.value.ToString())
{
case "high":
index = 1;
@@ -143,109 +153,135 @@
switch (value)
{
case 0:
- curFan = "auto";
+ trait_fan.value = "auto";
break;
case 1:
- curFan = "high";
+ trait_fan.value = "high";
break;
case 2:
- curFan = "medium";
+ trait_fan.value = "medium";
break;
case 3:
- curFan = "low";
+ trait_fan.value = "low";
break;
default:
- curFan = "high";
+ trait_fan.value = "high";
break;
}
}
}
+ Trait _trait_mode;
/// <summary>
- /// 绌鸿皟妯″紡
+ /// 妯″紡灞炴��
/// </summary>
[Newtonsoft.Json.JsonIgnore]
- public List<string> mode
+ public Trait trait_mode
{
get
{
- try
+ if (_trait_mode == null)
{
-#if DEBUG
- return new List<string> { "cool", "heat", "dry", "fan", "auto"};
-#endif
- string b = "";
- dicPropert.TryGetValue("mode", out b);
- if (b == "")
+ _trait_mode = function.Find((obj) => obj.name == "mode");
+ //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+ if (_trait_mode == null)
{
- return new List<string> { "auto", "cool", "heat", "dry", "fan" };
+ _trait_mode = new Trait()
+ {
+ name = "mode",
+ value_key = new List<string> { "auto", "cool", "heat", "dry", "fan" },
+ max = 4,
+ min = 0,
+ };
}
- return new List<string>(b.Split(","));
+ _trait_mode.value = _trait_mode.value_key.Count > 0 ? _trait_mode.value_key[0] : "";
}
- catch (Exception ex)
- {
- MainPage.Log($"ac get mode error : {ex.Message}");
- return new List<string> { "auto", "cool", "heat", "dry", "fan" };
- }
- }
- set
- {
- try
- {
- dicPropert["mode"] = value.ToString();
- }
- catch
- {
- MainPage.Log("mode 鏁版嵁鍒锋柊澶辫触.");
- }
+ return _trait_mode;
}
}
- /// <summary>
- /// 褰撳墠绌鸿皟椋庨��
- /// </summary>
+ Trait _trait_fan;
[Newtonsoft.Json.JsonIgnore]
- public string curFan = "high";
-
- /// <summary>
- /// 绌鸿皟椋庨�熸ā寮�
- /// </summary>
- [Newtonsoft.Json.JsonIgnore]
- public List<string> fan
+ public Trait trait_fan
{
get
{
- try
+ if (_trait_fan == null)
{
-#if DEBUG
- return new List<string> { "high", "medium", "low", "auto" };
-#endif
- string b = "";
- dicPropert.TryGetValue("fan", out b);
- if (b == "")
+ _trait_fan = function.Find((obj) => obj.name == "fan");
+ //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+ if (_trait_fan == null)
{
- return new List<string> { "high", "medium", "low", "auto" };
+ _trait_fan = new Trait()
+ {
+ name = "fan",
+ value_key = new List<string> { "high", "medium", "low", "auto" },
+ max = 3,
+ min = 0,
+ };
}
- return new List<string>(b.Split(","));
+ _trait_fan.value = _trait_fan.value_key.Count > 0 ? _trait_fan.value_key[0] : "";
}
- catch (Exception ex)
- {
- MainPage.Log($"ac get fan error : {ex.Message}");
- return new List<string> { "high", "medium", "low", "auto" };
- }
+ return _trait_fan;
}
}
+
+ Trait _trait_temp;
/// <summary>
/// 褰撳墠绌鸿皟娓╁害
/// </summary>
[Newtonsoft.Json.JsonIgnore]
- public int curTemp = 20;
- // temperature up, down, value
- // swing up/down/left/right
+ public Trait trait_temp
+ {
+ get
+ {
+ if (_trait_temp == null)
+ {
+ _trait_temp = function.Find((obj) => obj.name == "set_temperature");
+ //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+ if (_trait_temp == null)
+ {
+ _trait_temp = new Trait()
+ {
+ name = "set_temperature",
+ value_key = new List<string> { },
+ max = 32,
+ min = 16,
+ };
+ }
+ _trait_temp.value = 16;
+ }
+ return _trait_temp;
+ }
+ }
+
+ Trait _trait_swting;
[Newtonsoft.Json.JsonIgnore]
- public string curSwting;
+ public Trait trait_swting
+ {
+ get
+ {
+ if (_trait_swting == null)
+ {
+ _trait_swting = function.Find((obj) => obj.name == "swting");
+ //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂��
+ if (_trait_swting == null)
+ {
+ _trait_swting = new Trait()
+ {
+ name = "swting",
+ value_key = new List<string> { "up", "down", "left", "right" },
+ max = 3,
+ min = 0,
+ };
+ }
+ _trait_swting.value = _trait_swting.value_key.Count > 0 ? _trait_swting.value_key[trait_mode.min] : "";
+ }
+ return _trait_swting;
+ }
+ }
/// <summary>
- /// 绌鸿皟鎵妯″紡
+ /// 绌鸿皟鎵妯″紡鍒楄〃
/// </summary>
[Newtonsoft.Json.JsonIgnore]
public List<string> swting
@@ -254,16 +290,7 @@
{
try
{
-#if DEBUG
- return new List<string> { "up", "down", "left", "right" };
-#endif
- string b = "";
- dicPropert.TryGetValue("swting", out b);
- if (b == "")
- {
- return new List<string> { "up", "down", "left", "right" };
- }
- return new List<string>(b.Split(","));
+ return trait_swting.value_key;
}
catch (Exception ex)
{
@@ -289,7 +316,7 @@
try
{
var imagePath = "FunctionIcon/AC/CoolIcon.png";
- switch (curMode)
+ switch (trait_mode.value.ToString())
{
case "auto":
imagePath = "FunctionIcon/AC/AutoIcon.png";
@@ -330,7 +357,7 @@
try
{
var imagePath = "FunctionIcon/AC/WindHighIcon.png";
- switch (curFan)
+ switch (trait_fan.value.ToString())
{
case "high":
imagePath = "FunctionIcon/AC/WindHighIcon.png";
@@ -356,28 +383,6 @@
}
}
}
- /// <summary>
- /// 鎷兼帴銆佽幏鍙朅鍗忚鎿嶄綔鏁版嵁
- /// </summary>
- public override JObject GetSendJObject(string command)
- {
- var sendJob = new JObject();
- if (command == "write")
- {
-
- sendJob = new JObject { { "Namespace", vendor_code }, { "Command", command }, { "Type", "device" } };
- JObject data = new JObject { { "openLevel", dicPropert["openLevel"] }, { "sid", sid } };
- sendJob.Add("objects", data);
- }
- else if (command == "read")
- {
- sendJob = new JObject { { "Namespace", vendor_code }, { "Command", command }, { "Type", "device" } };
- var data = new JObject { { "sid", sid } };
- sendJob.Add("objects", data);
- }
- return sendJob;
- }
-
}
}
--
Gitblit v1.8.0