From 330e3ae4cdd1e9facb14b6ea2b3e609166c04fd3 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 12 一月 2021 16:00:27 +0800
Subject: [PATCH] 2021-1-12-1
---
HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs | 368 ++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 311 insertions(+), 57 deletions(-)
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs
index f1c4814..bcd03de 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
@@ -38,9 +40,75 @@
inputView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png";
foreach (var dic in dicList)
{
+ string keyValue = dic["key"];
string value = dic["value"];
- inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
- inputView.btnClick.AddTag("timepoint", value);
+ if (keyValue == "timepoint")
+ {
+ inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value;
+ }
+ else
+ {
+ string strtext = "";
+ string statetext = "";
+ switch (keyValue)
+ {
+ case "before_sunrise":
+ {
+ strtext = Language.StringByID(StringId.sunrise);
+ statetext = Language.StringByID(StringId.advanced);
+
+ }
+ break;
+ case "before_sunset":
+ {
+
+ strtext = Language.StringByID(StringId.sunset);
+ statetext = Language.StringByID(StringId.advanced);
+
+ } break;
+ case "before_noon":
+ {
+ strtext = Language.StringByID(StringId.at);
+ statetext = Language.StringByID(StringId.advanced);
+ }
+ break;
+ case "after_sunrise":
+ {
+ strtext = Language.StringByID(StringId.sunrise);
+ statetext = Language.StringByID(StringId.delayLogic);
+ } break;
+ case "after_sunset":
+ {
+ strtext = Language.StringByID(StringId.sunset);
+ statetext = Language.StringByID(StringId.delayLogic);
+ } break;
+ case "after_noon":
+ {
+ strtext = Language.StringByID(StringId.at);
+ statetext = Language.StringByID(StringId.delayLogic);
+ }
+ break;
+ }
+
+ if (value != "0")
+ {
+ if (value == "30")
+ {
+ statetext += value + Language.StringByID(StringId.s);
+ }
+ else
+ {
+ statetext += value + Language.StringByID(StringId.minute);
+ }
+ }
+ else
+ {
+ statetext = "";
+ }
+
+ inputView.btnText.Text = strtext;
+ inputView.btnState.Text = statetext;
+ }
}
}
break;
@@ -51,7 +119,6 @@
{
string value = dic["value"];
inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value;
- inputView.btnClick.AddTag("timeHorizon", value);
}
}
@@ -61,28 +128,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)
{
@@ -100,6 +167,94 @@
}
}
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;
@@ -122,20 +277,50 @@
break;
}
}
-
//鏍囪缂栬緫鐘舵��
bool edit = true;
switch (button.Name)
{
case "1":
{
- FrameLayout fLayout = new FrameLayout
+ bool is_bool = false;
+ Input _input = Logic.currlogic.input[indexVulae];
+ if (_input.condition_type == "1")
{
- BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
- };
- thisView.AddChidren(fLayout);
- TimeTpye timeTpye = new TimeTpye();
- timeTpye.TimePoint(fLayout, edit, indexVulae);
+ var dicLists = _input.condition as List<Dictionary<string, string>>;
+ foreach (var dic in dicLists)
+ {
+ string keyValue = dic["key"];
+ if (keyValue != "timepoint")
+ {
+ //閫氳繃閿�兼煡鎵鹃敭鍊兼槸鍚︽槸
+ //锛堟棩鍑�/鏃ヨ惤/姝e崍锛�
+ is_bool = true;
+ break;
+ }
+
+ }
+
+ }
+ if (is_bool)
+ {
+ //璺宠浆鍒帮紙鏃ュ嚭/鏃ヨ惤/姝e崍锛夌晫闈�
+ SpeciaTime speciaTime = new SpeciaTime();
+ MainPage.BasePageView.AddChidren(speciaTime);
+ speciaTime.Show(edit, indexVulae);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ }
+ else
+ {
+ //璺宠浆鍒帮紙鏃堕棿鐐癸級鐣岄潰
+ FrameLayout fLayout = new FrameLayout
+ {
+ BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+ };
+ thisView.AddChidren(fLayout);
+ TimeTpye timeTpye = new TimeTpye();
+ timeTpye.TimePoint(fLayout, edit, indexVulae);
+ }
}
break;
case "2":
@@ -159,8 +344,78 @@
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;
}
};
///鍒犻櫎鎺т欢
@@ -206,7 +461,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;
//鏀瑰彉璁惧鍚嶇О鏄剧ず鎺т欢瀹藉害
@@ -214,9 +469,9 @@
//绗竴涓彉閲忔樉绀虹姸鎬佸��
string stateStr = "";
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
- switch (device.functionType)
+ switch (device.spk)
{
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{//寮�鍏崇伅
foreach (var dic in dicList)
@@ -235,10 +490,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);
@@ -261,9 +516,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)
{
@@ -290,7 +545,7 @@
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);
@@ -386,7 +641,7 @@
}
break;
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{
string on_off = GetKeyValue("on_off", dicList);
string set_temp = GetKeyValue("set_temp", dicList);
@@ -572,10 +827,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)
{
@@ -591,10 +846,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)
{
@@ -624,9 +879,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)
{
@@ -652,7 +907,7 @@
}
}
break;
- case FunctionType.AC:
+ case SPK.AcStandard:
{
foreach (var dic in dicList)
{
@@ -748,7 +1003,7 @@
}
break;
- case FunctionType.FloorHeating:
+ case SPK.FloorHeatStandard:
{
foreach (var dic in dicList)
@@ -844,7 +1099,6 @@
}
return valueStr;
}
-
/// <summary>
///鑾峰彇鑷姩鍖栧悕绉�
/// </summary>
@@ -894,9 +1148,9 @@
name += device.name;
string stateStr = "";
//鍖哄埆涓嶅悓璁惧锛屾樉绀轰笉鍚岃澶囩姸鎬�
- switch (device.functionType)
+ switch (device.spk)
{
- case FunctionType.Relay:
+ case SPK.LightSwitch:
{//寮�鍏崇伅
foreach (var dic in dicList)
@@ -914,10 +1168,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);
@@ -939,9 +1193,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)
{
@@ -967,8 +1221,8 @@
}
}
break;
- case FunctionType.AC:
- case FunctionType.FloorHeating:
+ case SPK.AcStandard:
+ case SPK.FloorHeatStandard:
{
foreach (var dic in dicList)
{
--
Gitblit v1.8.0