From 6eb21769c74cfcd10084f73ff3f212355849a3c7 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期一, 17 五月 2021 15:00:13 +0800
Subject: [PATCH] 2021-5-17-2
---
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 607 ++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 531 insertions(+), 76 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index 5aa2003..3de977d 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
@@ -1,6 +1,8 @@
锘縰sing System;
using Shared;
using System.Collections.Generic;
+using HDL_ON.Entity;
+
namespace HDL_ON.UI.UI2.Intelligence.Automation
{
public class InpOrOutLogicMethod
@@ -15,12 +17,6 @@
for (int i = 0; i < Logic.currlogic.input.Count; i++)
{
Input inputCondition = Logic.currlogic.input[i];
- if (inputCondition == null)
- {
- //闃叉鏈夌殑绌哄璞★紱
- //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛�
- continue;
- }
///鍚勭鏉′欢鐨刅iew
LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView();
inputView.FLayoutView(viewLayout);
@@ -54,7 +50,7 @@
{
strtext = Language.StringByID(StringId.sunrise);
statetext = Language.StringByID(StringId.advanced);
-
+
}
break;
case "before_sunset":
@@ -62,8 +58,9 @@
strtext = Language.StringByID(StringId.sunset);
statetext = Language.StringByID(StringId.advanced);
-
- } break;
+
+ }
+ break;
case "before_noon":
{
strtext = Language.StringByID(StringId.at);
@@ -74,12 +71,14 @@
{
strtext = Language.StringByID(StringId.sunrise);
statetext = Language.StringByID(StringId.delayLogic);
- } break;
+ }
+ break;
case "after_sunset":
{
strtext = Language.StringByID(StringId.sunset);
statetext = Language.StringByID(StringId.delayLogic);
- } break;
+ }
+ break;
case "after_noon":
{
strtext = Language.StringByID(StringId.at);
@@ -126,28 +125,28 @@
//鐢╯id鎵惧埌璁惧锛�
var device = LogicMethod.GetDevice(inputCondition.sid);
//鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛�
- inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType);
+ inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk);
//鏄剧ず璁惧鍚嶇О
inputView.btnText.Text = device.name;
//鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
inputView.btnText.Width = Application.GetRealWidth(80);
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
- switch (device.functionType)
+ switch (device.spk)
{
//寮�鍏崇伅鍏� light.Switch
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
- case FunctionType.Relay:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
+ case SPK.LightSwitch:
//绐楀笜
- case FunctionType.Curtain:
- case FunctionType.RollingShutter:
- case FunctionType.MotorCurtain:
+ case SPK.CurtainSwitch:
+ case SPK.CurtainRoller:
+ case SPK.CurtainTrietex:
//绌鸿皟
- case FunctionType.AC:
+ case SPK.AcStandard:
//鍦扮儹
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{//寮�鍏崇伅
foreach (var dic in dicList)
{
@@ -165,6 +164,264 @@
}
}
break;
+ //浼犳劅鍣�
+ case SPK.SensorSmoke:
+ case SPK.SensorGas:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "alarm")
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.xieluo);
+
+ }
+ else
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.wuxieluo);
+ }
+ }
+ }
+ break;
+ case SPK.SensorWater:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "alarm")
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.luoshui);
+
+ }
+ else
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.wuluoshui);
+ }
+ }
+ }
+ break;
+ case SPK.SensorDryContact:
+ {
+ foreach (var dic in dicList)
+ {
+
+ string value = dic["value"];
+ if (value == "on")
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.onLogic);
+
+ }
+ else
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.offLogic);
+ }
+ }
+ }
+ break;
+ case SPK.SensorShanLan:
+ case SPK.SensorDuiShe:
+ case SPK.SensorPir:
+ {
+ foreach (var dic in dicList)
+ {
+
+ string value = dic["value"];
+ if (value == "true")
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.youren);
+
+ }
+ else
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.wuren);
+ }
+ }
+ }
+ break;
+ case SPK.SensorDoorWindow:
+ {
+ foreach (var dic in dicList)
+ {
+
+ string value = dic["value"];
+ if (value == "open")
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.kaiqi);
+
+ }
+ else
+ {
+ inputView.btnState.Text = Language.StringByID(StringId.bihe);
+ }
+ }
+ }
+ break;
+ case SPK.SensoruUtrasonic:
+ {
+ string str = "";
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (dic["key"])
+ {
+ case "status":
+ {
+ if (value == "true")
+ {
+ str+= Language.StringByID(StringId.youren)+";";
+ }
+ else
+ {
+ str += Language.StringByID(StringId.wuren) + ";";
+ }
+
+
+ }
+ break;
+ case "dismantle":
+ {
+ if (value == "true")
+ {
+ str += Language.StringByID(StringId.zaixian);
+ }
+ else
+ {
+ str += Language.StringByID(StringId.buzaixian);
+ }
+ }
+ break;
+
+ }
+
+ }
+ inputView.btnState.Text = str;
+ }
+ break;
+
+ }
+ }
+ break;
+ case "4":
+ {
+ inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png";
+ string strtext = "";
+ string strvalue = "";
+ foreach (var dic in dicList)
+ {
+ string key = dic["key"];
+ string comparator = dic["comparator"];
+ string value = dic["value"];
+
+ switch (key)
+ {
+ case "outdoor_temp":
+ {
+ strvalue = value;
+ if (comparator == ">")
+ {
+ strtext = Language.StringByID(StringId.wendugaoyu);
+ }
+ else if (comparator == "<")
+ {
+ strtext = Language.StringByID(StringId.wendudiyu);
+ }
+
+ }
+ break;
+ case "outdoor_humity":
+ {
+ strvalue = value;
+ if (comparator == ">")
+ {
+ strtext = Language.StringByID(StringId.shidugaoyu);
+ }
+ else if (comparator == "<")
+ {
+ strtext = Language.StringByID(StringId.shidudiyu);
+ }
+
+ }
+ break;
+ case "pm2.5":
+ {
+ strtext = Language.StringByID(StringId.PM25);
+ strvalue = new OutdoorEnvironment { }.GetString(value);
+ }
+ break;
+
+ }
+
+
+ }
+ inputView.btnText.Text = strtext;
+ inputView.btnState.Text = strvalue;
+ }
+ break;
+ case "6":
+ {
+ inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png";
+ foreach (var dic in dicList)
+ {
+ string strtext = "";
+ string value = dic["value"];
+ switch (value)
+ {
+ case "sunny":
+ {
+ strtext = Language.StringByID(StringId.clearday);
+
+ }
+ break;
+ case "cloudy":
+ {
+
+ strtext = Language.StringByID(StringId.cloudy);
+
+ }
+ break;
+ case "rainy":
+ {
+ strtext = Language.StringByID(StringId.rain);
+ }
+ break;
+
+ }
+ inputView.btnText.TextID = StringId.tianqibianhua;
+ inputView.btnState.Text = strtext;
+ }
+ }
+ break;
+ case "9":
+ {
+ inputView.btnIcon.UnSelectedImagePath = "LogicIcon/changesinoutdoor.png";
+ foreach (var dic in dicList)
+ {
+ string strtext = "";
+ string value = dic["value"];
+ switch (value)
+ {
+ case "excellent":
+ {
+ strtext = Language.StringByID(StringId.kongqiyou);
+
+ }
+ break;
+ case "good":
+ {
+
+ strtext = Language.StringByID(StringId.kongqiliang);
+
+ }
+ break;
+ case "poor":
+ {
+ strtext = Language.StringByID(StringId.kongqicha);
+ }
+ break;
+
+ }
+ inputView.btnText.TextID = StringId.kongqizhiliang;
+ inputView.btnState.Text = strtext;
}
}
break;
@@ -187,7 +444,6 @@
break;
}
}
-
//鏍囪缂栬緫鐘舵��
bool edit = true;
switch (button.Name)
@@ -255,6 +511,87 @@
MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
}
break;
+ case "4":
+ {
+ ///褰撳墠鐨勭储寮曞�兼暟鎹璞�
+ Input inputedit = Logic.currlogic.input[indexVulae];
+ ///鐘舵�佸��
+ string stateValue = "";
+ ///鐘舵�佸�兼枃鏈�
+ int intValue = -1;
+ foreach (var dic in inputedit.condition)
+ {
+ string key = dic["key"];
+ string comparator = dic["comparator"];
+ stateValue = dic["value"];
+ switch (key)
+ {
+ case "outdoor_temp":
+ {
+ if (comparator == ">")
+ {
+ intValue = StringId.wendugaoyu;
+ }
+ else if (comparator == "<")
+ {
+ intValue = StringId.wendudiyu;
+
+ }
+
+ }
+ break;
+ case "outdoor_humity":
+ {
+
+ if (comparator == ">")
+ {
+ intValue = StringId.shidugaoyu;
+ }
+ else if (comparator == "<")
+ {
+ intValue = StringId.shidudiyu;
+ }
+
+ }
+ break;
+ case "pm2.5":
+ {
+ intValue = StringId.PM25;
+ }
+ break;
+
+ }
+ }
+ OutdoorEnvironment outdoorEnvironment = new OutdoorEnvironment();
+ if (intValue == StringId.PM25)
+ {
+ outdoorEnvironment.PmAction(thisView, stateValue);
+ }
+ else
+ {
+ outdoorEnvironment.InputBoxAction(intValue, stateValue);
+ }
+
+ }
+ break;
+ case "6":
+ {
+
+ WeatherCondition weatherCondition = new WeatherCondition();
+ MainPage.BasePageView.AddChidren(weatherCondition);
+ weatherCondition.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ }
+ break;
+ case "9":
+ {
+
+ AirQuality airQuality = new AirQuality();
+ MainPage.BasePageView.AddChidren(airQuality);
+ airQuality.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ }
+ break;
}
};
///鍒犻櫎鎺т欢
@@ -273,16 +610,10 @@
/// <param name="viewLayout">涓婁笅婊戝姩鎺т欢</param>
public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout)
{
-
+
for (int i = 0; i < Logic.currlogic.output.Count; i++)
{
Output outputTarget = Logic.currlogic.output[i];
- if (outputTarget == null)
- {
- //闃叉鏈夌殑绌哄璞★紱
- //姝e父鎯呭喌涓嬩笉浼氳鐜拌薄锛�
- continue;
- }
///鍚勭鏉′欢鐨刅iew
LogicView.AddOutputInputView targetView = new LogicView.AddOutputInputView();
targetView.FLayoutView(viewLayout);
@@ -300,7 +631,7 @@
//鐢╯id鎵惧埌璁惧锛�
var device = LogicMethod.GetDevice(outputTarget.sid);
//鐢ㄨ澶囩殑functionType绫诲瀷鎵惧埌瀵瑰簲鍥炬爣锛�
- targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType);
+ targetView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.spk);
//鏄剧ず璁惧鍚嶇О
targetView.btnText.Text = device.name;
//鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
@@ -308,9 +639,9 @@
//绗竴涓彉閲忔樉绀虹姸鎬佸��
string stateStr = "";
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
- switch (device.functionType)
+ switch (device.spk)
{
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{//寮�鍏崇伅
foreach (var dic in dicList)
@@ -329,10 +660,10 @@
targetView.btnState.Text = stateStr;
}
break;
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
- case FunctionType.Dimmer:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
+ case SPK.LightDimming:
{
string on_off = GetKeyValue("on_off", dicList);
string brightness = GetKeyValue("brightness", dicList);
@@ -355,9 +686,9 @@
targetView.btnState.Text = stateStr;
}
break;
- case FunctionType.Curtain:
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
+ case SPK.CurtainSwitch:
+ case SPK.CurtainTrietex:
+ case SPK.CurtainRoller:
{
foreach (var dic in dicList)
{
@@ -384,17 +715,19 @@
targetView.btnState.Text = stateStr;
}
break;
- case FunctionType.AC: {
+ case SPK.AcStandard:
+ {
string on_off = GetKeyValue("on_off", dicList);
string set_temp = GetKeyValue("set_temp", dicList);
string mode = GetKeyValue("mode", dicList);
string fan = GetKeyValue("fan", dicList);
- if (on_off != "") {
+ if (on_off != "")
+ {
switch (on_off)
{
case "on":
{
- stateStr = Language.StringByID(StringId.onLogic)+",";
+ stateStr = Language.StringByID(StringId.onLogic) + ",";
}
break;
case "off":
@@ -402,7 +735,7 @@
stateStr = Language.StringByID(StringId.offLogic) + ",";
}
break;
-
+
}
}
@@ -419,7 +752,7 @@
{
case "cool":
{
- stateStr += Language.StringByID(StringId.coolLogic)+",";
+ stateStr += Language.StringByID(StringId.coolLogic) + ",";
}
break;
case "heat":
@@ -448,7 +781,7 @@
{
case "high":
{
- stateStr += Language.StringByID(StringId.HighWindSpeed)+",";
+ stateStr += Language.StringByID(StringId.HighWindSpeed) + ",";
}
break;
case "medium":
@@ -473,14 +806,15 @@
{
targetView.btnState.Text = Language.StringByID(StringId.offLogic);
}
- else {
+ else
+ {
targetView.btnState.Text = stateStr.TrimEnd(',');
}
}
break;
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{
string on_off = GetKeyValue("on_off", dicList);
string set_temp = GetKeyValue("set_temp", dicList);
@@ -514,7 +848,7 @@
{
case "day":
{
- stateStr += Language.StringByID(StringId.dayMode)+",";
+ stateStr += Language.StringByID(StringId.dayMode) + ",";
}
break;
case "night":
@@ -568,7 +902,7 @@
}
if (on_off != "" && on_off == "off")
{
- targetView.btnState.Text =Language.StringByID(StringId.offLogic);
+ targetView.btnState.Text = Language.StringByID(StringId.offLogic);
}
else
{
@@ -592,7 +926,7 @@
break;
case "3":
{
- targetView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png";
+ targetView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png";
foreach (var dic in dicList)
{
string value = dic["value"];
@@ -606,7 +940,7 @@
{
Button button = (Button)sen;
//鎵惧埌褰撳墠缂栬緫鐨勭储寮�
- int indexVulae =0;
+ int indexVulae = 0;
for (int index = 0; index < Logic.currlogic.output.Count; index++)
{
Output target = Logic.currlogic.output[index];
@@ -666,10 +1000,10 @@
/// <param name="button4">鏄剧ずBtn</param>
public static void EditState(Entity.Function device, List<Dictionary<string, string>> dicList, Button button1, Button button2, Button button3, Button button4)
{
- switch (device.functionType)
+ switch (device.spk)
{
//寮�鍏崇伅鍏�
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{
foreach (var dic in dicList)
{
@@ -685,10 +1019,10 @@
}
}
break;
- case FunctionType.Dimmer:
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
+ case SPK.LightDimming:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
{
foreach (var dic in dicList)
{
@@ -718,9 +1052,9 @@
}
}
break;
- case FunctionType.Curtain:
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
+ case SPK.CurtainSwitch:
+ case SPK.CurtainTrietex:
+ case SPK.CurtainRoller:
{
foreach (var dic in dicList)
{
@@ -746,7 +1080,7 @@
}
}
break;
- case FunctionType.AC:
+ case SPK.AcStandard:
{
foreach (var dic in dicList)
{
@@ -842,7 +1176,7 @@
}
break;
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{
foreach (var dic in dicList)
@@ -915,6 +1249,128 @@
}
break;
+ case SPK.SensorGas:
+ case SPK.SensorSmoke:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "alarm")
+ {
+ button1.Text = Language.StringByID(StringId.xieluo);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.wuxieluo);
+ }
+ }
+ }
+ break;
+ case SPK.SensorWater:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "alarm")
+ {
+ button1.Text = Language.StringByID(StringId.luoshui);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.wuluoshui);
+ }
+ }
+ }
+ break;
+ case SPK.SensorDryContact:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "on")
+ {
+ button1.Text = Language.StringByID(StringId.onLogic);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.offLogic);
+ }
+ }
+ }
+ break;
+ case SPK.SensorShanLan:
+ case SPK.SensorDuiShe:
+ case SPK.SensorPir:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "true")
+ {
+ button1.Text = Language.StringByID(StringId.youren);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.wuren);
+ }
+ }
+ }
+ break;
+ case SPK.SensorDoorWindow:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ if (value == "open")
+ {
+ button1.Text = Language.StringByID(StringId.kaiqi);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.bihe);
+ }
+ }
+ }
+ break;
+ case SPK.SensoruUtrasonic:
+ {
+ foreach (var dic in dicList)
+ {
+ string value = dic["value"];
+ switch (dic["key"])
+ {
+ case "status":
+ {
+ if (value == "true")
+ {
+ button1.Text = Language.StringByID(StringId.youren);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.wuren);
+ }
+
+
+ }
+ break;
+ case "dismantle":
+ {
+ if (value == "true")
+ {
+ button1.Text = Language.StringByID(StringId.zaixian);
+ }
+ else
+ {
+ button1.Text = Language.StringByID(StringId.buzaixian);
+ }
+ }
+ break;
+
+ }
+
+ }
+ }
+ break;
}
}
/// <summary>
@@ -938,7 +1394,6 @@
}
return valueStr;
}
-
/// <summary>
///鑾峰彇鑷姩鍖栧悕绉�
/// </summary>
@@ -988,9 +1443,9 @@
name += device.name;
string stateStr = "";
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
- switch (device.functionType)
+ switch (device.spk)
{
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{//寮�鍏崇伅
foreach (var dic in dicList)
@@ -1008,10 +1463,10 @@
}
}
break;
- case FunctionType.RGB:
- case FunctionType.RGBW:
- case FunctionType.ColorTemperature:
- case FunctionType.Dimmer:
+ case SPK.LightRGB:
+ case SPK.LightRGBW:
+ case SPK.LightCCT:
+ case SPK.LightDimming:
{
string on_off = InpOrOutLogicMethod.GetKeyValue("on_off", dicList);
string brightness = InpOrOutLogicMethod.GetKeyValue("brightness", dicList);
@@ -1033,9 +1488,9 @@
}
}
break;
- case FunctionType.Curtain:
- case FunctionType.MotorCurtain:
- case FunctionType.RollingShutter:
+ case SPK.CurtainSwitch:
+ case SPK.CurtainTrietex:
+ case SPK.CurtainRoller:
{
foreach (var dic in dicList)
{
@@ -1061,8 +1516,8 @@
}
}
break;
- case FunctionType.AC:
- case FunctionType.FloorHeating:
+ case SPK.AcStandard:
+ case SPK.FloorHeatStandard:
{
foreach (var dic in dicList)
{
--
Gitblit v1.8.0