//using System;
|
//using System.Collections.Generic;
|
|
//namespace Shared.SimpleControl.Phone
|
//{
|
// public class UserSensorAutomationSettingPage : FrameLayout
|
// {
|
// /// <summary>
|
// /// 自动化条件目标的使能数据3*8 24bit 0 无效 1 有效,取前二十bit
|
// /// </summary>
|
// string targetEnableString = "";
|
|
// SensorAutomationDevice autonmationDevice;
|
// List<Common> SensorList;
|
// VerticalScrolViewLayout conditionView;
|
// VerticalScrolViewLayout targetView;
|
// public UserSensorAutomationSettingPage (List<Common> listCommon, SensorAutomationDevice ad)
|
// {
|
// SensorList = listCommon;
|
// autonmationDevice = ad;
|
// }
|
|
// public void ShowPage (SensorAutomation sensorAutomation,Action<string> rename)
|
// {
|
// this.BackgroundColor = SkinStyle.Current.MainColor;
|
// #region 标题
|
// var topView = new FrameLayout () {
|
// Y = Application.GetRealHeight (36),
|
// Height = Application.GetRealHeight (90),
|
// BackgroundColor = SkinStyle.Current.MainColor
|
// };
|
// AddChidren (topView);
|
|
// var title = new Button () {
|
// TextAlignment = TextAlignment.Center,
|
// TextID = R.MyInternationalizationString.AutomationSetting,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// TextSize = 19,
|
// };
|
// topView.AddChidren (title);
|
|
// var logo = new Button () {
|
// Width = Application.GetRealWidth (154),
|
// Height = Application.GetRealHeight (90),
|
// X = Application.GetRealWidth (486),
|
// UnSelectedImagePath = MainPage.LogoString,
|
// };
|
// topView.AddChidren (logo);
|
// var back = new Button () {
|
// Height = Application.GetRealHeight (90),
|
// Width = Application.GetRealWidth (85),
|
// UnSelectedImagePath = "Item/Back.png",
|
// SelectedImagePath = "Item/BackSelected.png",
|
// };
|
// topView.AddChidren (back);
|
// back.MouseUpEventHandler += (sender, e) => {
|
// (Parent as PageLayout).PageIndex -= 1;
|
// };
|
// #endregion
|
|
// var bodyScrolView = new VerticalScrolViewLayout () {
|
// Y = topView.Bottom,
|
// BackgroundColor = SkinStyle.Current.ViewColor,
|
// Height = Application.GetRealHeight (Application.DesignHeight - 126 - 90)-1
|
// };
|
// AddChidren (bodyScrolView);
|
|
// Button btnCondition = new Button () {
|
// Height = Application.GetRealHeight(100),
|
// TextAlignment = TextAlignment.Center,
|
// TextID = R.MyInternationalizationString.TriggerCondition,
|
// TextSize = 16,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// BackgroundColor = SkinStyle.Current.ViewColor
|
// };
|
// bodyScrolView.AddChidren (btnCondition);
|
|
// conditionView = new VerticalScrolViewLayout () {
|
// BackgroundColor = SkinStyle.Current.ViewColor,
|
// ScrollEnabled = false,
|
// Height = 0,
|
// };
|
// bodyScrolView.AddChidren (conditionView);
|
|
// var conditionButtonView = new VerticalScrolViewLayout (){
|
// Height = Application.GetRealHeight (110),
|
// ScrollEnabled = false,
|
// BackgroundColor = SkinStyle.Current.MainColor
|
// };
|
// bodyScrolView.AddChidren (conditionButtonView);
|
|
// var btnConditionAddIcon = new Button () {
|
// Height = Application.GetRealHeight (110),
|
// Width = Application.GetRealWidth (110),
|
// Gravity = Gravity.Center,
|
// SelectedImagePath = "Sensor/AddOn.png",
|
// UnSelectedImagePath = "Sensor/Add.png"
|
// };
|
// conditionButtonView.AddChidren (btnConditionAddIcon);
|
|
|
// Button btnTarget = new Button () {
|
// Height = Application.GetRealHeight (100),
|
// TextAlignment = TextAlignment.Center,
|
// TextID = R.MyInternationalizationString.Target,
|
// TextSize = 16,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// BackgroundColor = SkinStyle.Current.ViewColor
|
// };
|
// bodyScrolView.AddChidren (btnTarget);
|
|
// targetView = new VerticalScrolViewLayout (){
|
// BackgroundColor = SkinStyle.Current.ViewColor,
|
// ScrollEnabled = false,
|
// Height = 0
|
// };
|
// bodyScrolView.AddChidren (targetView);
|
|
// FrameLayout targetButtonView = new FrameLayout () {
|
// Height = Application.GetRealHeight (110),
|
// BackgroundColor = SkinStyle.Current.MainColor
|
// };
|
// bodyScrolView.AddChidren (targetButtonView);
|
|
// var btnTargetAddIcon = new Button () {
|
// Height = Application.GetRealHeight(110),
|
// Width = Application.GetRealWidth(110),
|
// Gravity = Gravity.Center,
|
// SelectedImagePath = "Sensor/Add.png",
|
// UnSelectedImagePath = "Sensor/Add.png"
|
// };
|
// targetButtonView.AddChidren (btnTargetAddIcon);
|
|
// Action<SensorAutomation> action = (obj) => {
|
// sensorAutomation = obj;
|
// InitAutomationView (sensorAutomation);
|
// };
|
// EventHandler<MouseEventArgs> addConditonHandler = (sender, e) => {
|
// var uslp = new UserSensorAutomationConditionSettingPage (SensorList, autonmationDevice, sensorAutomation);
|
// UserMiddle.DevicePageView.AddChidren (uslp);
|
// uslp.ShowPage (action);
|
// UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1;
|
// };
|
// conditionButtonView.MouseUpEventHandler += addConditonHandler;
|
// btnConditionAddIcon.MouseUpEventHandler += addConditonHandler;
|
// EventHandler<MouseEventArgs> addTargetHandler = (sender, e) => {
|
// if (sensorAutomation.TargetBytesList.Count == 20) {
|
// new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID(R.MyInternationalizationString.NoMoreTargetCanBeAdded), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
// return;
|
// }
|
|
// var uslp = new UserSensorAutomationDeviceTypeChoose (sensorAutomation,action);
|
// UserMiddle.DevicePageView.AddChidren (uslp);
|
// uslp.ShowPage ();
|
// UserMiddle.DevicePageView.PageIndex = UserMiddle.DevicePageView.ChildrenCount - 1;
|
// };
|
// targetButtonView.MouseUpEventHandler += addTargetHandler;
|
// btnTargetAddIcon.MouseUpEventHandler += addTargetHandler;
|
|
// var bodyBottomView = new FrameLayout () {
|
// Y = bodyScrolView.Bottom,
|
// Height = Application.GetRealHeight(90)+1,//+ Application.GetRealHeight (70) + 1,
|
// BackgroundColor = SkinStyle.Current.White20Transparent,
|
// };
|
// AddChidren (bodyBottomView);
|
|
// //var cycleView = new FrameLayout () {
|
// // Y = 1,
|
// // Height = Application.GetRealHeight (70),
|
// // //BackgroundColor = SkinStyle.Current.White20Transparent,
|
// // BackgroundColor = SkinStyle.Current.MainColor,
|
// //};
|
// //bodyBottomView.AddChidren (cycleView);
|
|
// //var btnCycle = new Button () {
|
// // X = Application.GetRealWidth(60),
|
// // Width = Application.GetRealWidth(300),
|
// // //TextID = R.MyInternationalizationString.SAVE,
|
// // Text = "重复周期",
|
// // TextAlignment = TextAlignment.CenterLeft,
|
// // TextColor = SkinStyle.Current.TextColor1,
|
// // BackgroundColor = SkinStyle.Current.MainColor,
|
// //};
|
// //cycleView.AddChidren (btnCycle);
|
|
|
// //var btnCycleText = new Button () {
|
// // X = btnCycle.Right,
|
// // Width = Application.GetRealWidth(200),
|
// // TextAlignment = TextAlignment.CenterRight,
|
// // Text = "只执行一次",
|
// // TextColor = SkinStyle.Current.TextColor1,
|
// //};
|
// //cycleView.AddChidren (btnCycleText);
|
|
// //var rightButton = new Button () {
|
// // Width = Application.GetRealWidth (28),
|
// // Height = Application.GetRealHeight (40),
|
// // Gravity = Gravity.CenterVertical,
|
// // X = Application.GetRealWidth (580),
|
// // UnSelectedImagePath = "Item/Right.png",
|
// // SelectedImagePath = "Item/RightSelected.png",
|
// //};
|
// //cycleView.AddChidren (rightButton);
|
|
|
// var btnSave = new Button () {
|
// Y = 1,//+Application.GetRealHeight (70) + 1
|
// Height = Application.GetRealHeight (90),
|
// TextID = R.MyInternationalizationString.SAVE,
|
// TextAlignment = TextAlignment.Center,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// BackgroundColor = SkinStyle.Current.MainColor,
|
// TextSize = 16
|
// };
|
// bodyBottomView.AddChidren (btnSave);
|
|
// btnSave.MouseUpEventHandler += (senddd, ddd) => {
|
// //创建自动化,修改自动化条件使能,修改自动化条件目标使能,修改自动化条件目标数据
|
// var dialog = new Dialog ();
|
|
// var dialogBodyView = new FrameLayout () {
|
// Gravity = Gravity.Center,
|
// Width = Application.GetRealWidth (400),
|
// Height = Application.GetRealHeight (300),
|
// BackgroundColor = SkinStyle.Current.DialogColor,
|
// Radius = 5,
|
// BorderColor = SkinStyle.Current.Transparent,
|
// BorderWidth = 1
|
// };
|
// dialog.AddChidren (dialogBodyView);
|
|
// var etAutomationName = new EditText () {
|
// Gravity = Gravity.CenterHorizontal,
|
// Y = Application.GetRealHeight (60),
|
// Width = Application.GetRealWidth(260),
|
// Height = Application.GetRealHeight(90),
|
// BackgroundColor = SkinStyle.Current.White20Transparent,
|
// TextColor = SkinStyle.Current.TextColor,
|
// TextAlignment = TextAlignment.Center,
|
// BorderColor = SkinStyle.Current.ButtonColor,
|
// BorderWidth = 1,
|
// Radius = 1,
|
// PlaceholderText = "",
|
// Text = sensorAutomation.AutomationName
|
// };
|
// dialogBodyView.AddChidren (etAutomationName);
|
|
// var bottomView = new FrameLayout () {
|
// Y = Application.GetRealHeight (202),
|
// Height = Application.GetRealHeight (100),
|
// BackgroundColor = SkinStyle.Current.White20Transparent,
|
// };
|
// dialogBodyView.AddChidren (bottomView);
|
|
// var btnDialogClose = new Button () {
|
// Width = Application.GetRealWidth(200),
|
// BackgroundColor = SkinStyle.Current.ButtonColor,
|
// TextAlignment = TextAlignment.Center,
|
// TextID = R.MyInternationalizationString.cancel,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// };
|
// bottomView.AddChidren (btnDialogClose);
|
// btnDialogClose.MouseUpEventHandler += (df, dsa) => {
|
// dialog.Close ();
|
// };
|
|
// var btnDialogSave = new Button () {
|
// X = btnDialogClose.Right +1,
|
// Width = Application.GetRealWidth(200),
|
// BackgroundColor = SkinStyle.Current.ButtonColor,
|
// TextAlignment = TextAlignment.Center,
|
// TextID = R.MyInternationalizationString.SAVE,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// };
|
// bottomView.AddChidren (btnDialogSave);
|
|
// btnDialogSave.MouseUpEventHandler += (df, dsa) => {
|
// MainPage.Loading.Start ("Saving...");
|
// string conditionName = etAutomationName.Text.Trim ();
|
// System.Threading.Tasks.Task.Run (() => {
|
// try {
|
// int j = 0;
|
// for (int i = 0; i < 39;i++){//先把自动化里面的所有条件清空,防止有一些条件已经被删除的没有去掉
|
// if (autonmationDevice.ConditionIdList [i] == sensorAutomation.AutomationId) {
|
// autonmationDevice.ConditionIdList [i] = 255;
|
// }
|
// }
|
// foreach (var autoCondition in sensorAutomation.ConditionList) {
|
// autonmationDevice.ConditionIdList [(autoCondition.PushId * 8 + autoCondition.Level)] = sensorAutomation.AutomationId;
|
// j = 0;
|
// var targetEnableStringSend = "";
|
// foreach (var targetBytes in sensorAutomation.TargetBytesList) {
|
// targetEnableStringSend += "1";
|
// targetBytes [0] = autoCondition.PushId;
|
// targetBytes [1] = autoCondition.Level;
|
// targetBytes [2] = (byte)j;
|
|
// var setSensorScenceRevice = Control.ControlBytesSendHasReturn (Command.SetSensorScence, autonmationDevice.SubnetID, autonmationDevice.DeviceID, targetBytes);
|
// if (setSensorScenceRevice == null) {
|
// Application.RunOnMainThread (() => {
|
// new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show ();
|
// return;
|
// });
|
// }
|
// j++;
|
// }
|
// targetEnableStringSend= targetEnableStringSend.PadRight (24, '0');
|
// var targetEnableBytesSend = BinaryStr2ByteArray (targetEnableStringSend);
|
|
// //读取自动化条件触发目标的使能数据
|
// var automationTargetLevelEnable = Control.ControlBytesSendHasReturn (Command.ReadSensorAutomationLevelTargetEnable, autonmationDevice.SubnetID, autonmationDevice.DeviceID, new byte [] { autoCondition.PushId });
|
// //将对应的自动化条件触发的目标使能修改
|
// automationTargetLevelEnable [3 * autoCondition.Level + 1] = targetEnableBytesSend [0];
|
// automationTargetLevelEnable [3 * autoCondition.Level + 2] = targetEnableBytesSend [1];
|
// automationTargetLevelEnable [3 * autoCondition.Level + 3] = targetEnableBytesSend [2];
|
// var setAutomationTargetLevelEnable = Control.ControlBytesSendHasReturn (Command.SetSensorAutomationTargetLevelEnable, autonmationDevice.SubnetID, autonmationDevice.DeviceID, automationTargetLevelEnable);
|
// //var sss = Control.ControlBytesSendHasReturn (Command.SetSensorAutomationTargetLevelEnable, autonmationDevice.SubnetID, autonmationDevice.DeviceID, automationTargetLevelEnable);
|
// }
|
// autonmationDevice.AutomationEnableList [sensorAutomation.AutomationId] = 1;
|
// var conditianStatusListRevice = Control.ControlBytesSendHasReturn (Command.SetSensorAutomationEnableList, autonmationDevice.SubnetID, autonmationDevice.DeviceID, autonmationDevice.AutomationEnableList);
|
// var conditionIdListRevice = Control.ControlBytesSendHasReturn (Command.SetSensorAutomationListID, autonmationDevice.SubnetID, autonmationDevice.DeviceID, autonmationDevice.ConditionIdList);
|
// byte [] conditionNameBytes = CommonPage.MyEncodingUTF8.GetBytes (conditionName);
|
// byte [] sendCondtionNameBytes = new byte [21];
|
// sendCondtionNameBytes [0] = sensorAutomation.AutomationId;
|
// Array.Copy (conditionNameBytes, 0, sendCondtionNameBytes, 1,20< conditionNameBytes.Length ? 20 : conditionNameBytes.Length);
|
// var conditionNameRevice = Control.ControlBytesSendHasReturn (Command.SetSensorAutomationName, autonmationDevice.SubnetID, autonmationDevice.DeviceID, sendCondtionNameBytes);
|
// sensorAutomation.AutomationName = conditionName;
|
// } catch (Exception ex) {
|
// Console.WriteLine (ex.Message);
|
// } finally {
|
// Application.RunOnMainThread (() => {
|
// rename (sensorAutomation.AutomationName);
|
// (Parent as PageLayout).PageIndex -= 1;
|
// MainPage.Loading.Hide ();
|
// dialog.Close ();
|
// });
|
// }
|
// });
|
// };
|
// dialog.Show ();
|
// };
|
|
// InitAutomationView (sensorAutomation);
|
// }
|
|
// /// <summary>
|
// /// 二进制字符串转byte[]
|
// /// </summary>
|
// byte [] BinaryStr2ByteArray (string binaryStr)
|
// {
|
// if (string.IsNullOrEmpty (binaryStr)) binaryStr = string.Empty;
|
|
// List<byte> byte_List = new List<byte> ();
|
// var strL = binaryStr.Length;
|
// if (strL == 0)
|
// byte_List.Add (0);
|
// else if (strL > 0 && strL <= 8)
|
// byte_List.Add (Convert.ToByte (binaryStr, 2));
|
// else {
|
// var tempStr = string.Empty;
|
// for (var i = strL; i > 0; i = i - 8) {
|
// if (i - 4 > 0)
|
// tempStr = binaryStr.Substring (i - 8, 8);
|
// else
|
// tempStr = binaryStr.Substring (0, i);
|
// byte_List.Add (Convert.ToByte (tempStr, 2));
|
// }
|
// }
|
|
// byte_List.Reverse ();
|
// return byte_List.ToArray ();
|
// }
|
|
// void InitAutomationView (SensorAutomation sensorAutomation)
|
// {
|
// conditionView.RemoveAll ();
|
// targetView.RemoveAll ();
|
// conditionView.Height = Application.GetRealHeight (100 * sensorAutomation.ConditionList.Count);
|
// foreach (var auto in sensorAutomation.ConditionList) {
|
// string conditionTipText = "";
|
// switch (auto.PushId) {
|
// case 0://DeviceType.SensorPM25:
|
// //devicePushType = 0;
|
// conditionTipText = "PM2.5";
|
// switch (auto.Level) {
|
// case 0:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipPM25Level1);
|
// break;
|
// case 1:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipPM25Level2);
|
// break;
|
// case 2:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipPM25Level3);
|
// break;
|
// case 3:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipPM25Level4);
|
// break;
|
// case 4:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition1);
|
// break;
|
// case 5:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition2);
|
// break;
|
// case 6:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition3);
|
// break;
|
// case 7:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition4);
|
// break;
|
// }
|
// break;
|
// case 1://DeviceType.SensorCO2:
|
// //devicePushType = 1;
|
// conditionTipText = "CO2";
|
// switch (auto.Level) {
|
// case 0:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipCO2Level1);
|
// break;
|
// case 1:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipCO2Level2);
|
// break;
|
// case 2:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipCO2Level3);
|
// break;
|
// case 3:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTipCO2Level4);
|
// break;
|
// case 4:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition1);
|
// break;
|
// case 5:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition2);
|
// break;
|
// case 6:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition3);
|
// break;
|
// case 7:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition4);
|
// break;
|
// }
|
// break;
|
// case 2://DeviceType.SensorTVOC:
|
// //devicePushType = 2;
|
// conditionTipText = "TVOC";
|
// switch (auto.Level) {
|
// case 0:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTVOCTipLevel1);
|
// break;
|
// case 1:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTVOCTipLevel2);
|
// break;
|
// case 2:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTVOCTipLevel3);
|
// break;
|
// case 3:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTVOCTipLevel4);
|
// break;
|
// case 4:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition1);
|
// break;
|
// case 5:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition2);
|
// break;
|
// case 6:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition3);
|
// break;
|
// case 7:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition4);
|
// break;
|
// }
|
// break;
|
// case 3://DeviceType.SensorTemperature:
|
// //devicePushType = 3;
|
// conditionTipText = Language.StringByID (R.MyInternationalizationString.Temperature);
|
// switch (auto.Level) {
|
// case 0:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTempTipLevel1);
|
// break;
|
// case 1:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTempTipLevel2);
|
// break;
|
// case 2:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTempTipLevel3);
|
// break;
|
// case 3:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTempTipLevel4);
|
// break;
|
// case 4:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition1);
|
// break;
|
// case 5:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition2);
|
// break;
|
// case 6:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition3);
|
// break;
|
// case 7:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition4);
|
// break;
|
// }
|
// break;
|
// case 4://DeviceType.SensorHumidity:
|
// //devicePushType = 4;
|
// conditionTipText = Language.StringByID (R.MyInternationalizationString.Humidity);
|
// switch (auto.Level) {
|
// case 0:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceHumidityTipLevel3);
|
// break;
|
// case 1:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceTempTipLevel1);
|
// break;
|
// case 2:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceHumidityTipLevel1);
|
// break;
|
// case 3:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.SensorReferenceHumidityTipLevel2);
|
// break;
|
// case 4:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition1);
|
// break;
|
// case 5:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition2);
|
// break;
|
// case 6:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition3);
|
// break;
|
// case 7:
|
// conditionTipText += " " + Language.StringByID (R.MyInternationalizationString.CustomCondition4);
|
// break;
|
// }
|
// break;
|
// }
|
|
// RowLayout rowConditionView = new RowLayout () {
|
// Height = Application.GetRealHeight (100),
|
// BackgroundColor = SkinStyle.Current.MainColor,
|
// };
|
// conditionView.AddChidren (rowConditionView);
|
|
// Button btnDel = new Button () {
|
// BackgroundColor = SkinStyle.Current.DelColor,
|
// TextID = R.MyInternationalizationString.Del,
|
// TextColor = SkinStyle.Current.TextColor2,
|
// Tag = (auto.PushId * 8 + auto.Level)
|
// };
|
// rowConditionView.AddRightView (btnDel);
|
// btnDel.MouseUpEventHandler += (ddff, ffdd) => {
|
// sensorAutomation.ConditionIdList.Remove (Convert.ToInt32 (((Button)ddff).Tag));
|
// InitAutomationView (sensorAutomation);
|
// };
|
|
// Button btnCondition = new Button () {
|
// X = Application.GetRealWidth (60),
|
// Width = Application.GetRealWidth (580),
|
// Text = conditionTipText,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// TextAlignment = TextAlignment.CenterLeft,
|
// };
|
// rowConditionView.AddChidren (btnCondition);
|
// }
|
// if (sensorAutomation.AutomationStatus != 0 || sensorAutomation.AutomationStatus != 255) {
|
// #region 目标设置
|
// MainPage.Loading.Start (Language.StringByID(R.MyInternationalizationString.load));
|
// System.Threading.Tasks.Task.Run (() => {
|
// try {
|
// if (targetEnableString == "") {//第一次加载界面先读取自动化配置的目标使能数据
|
// sensorAutomation.TargetBytesList.Clear ();
|
// var sensorAutomationLevelTargetEnable = Control.ControlBytesSendHasReturn (Command.ReadSensorAutomationLevelTargetEnable, autonmationDevice.SubnetID, autonmationDevice.DeviceID, new byte [] { sensorAutomation.ConditionList [0].PushId });
|
// if (sensorAutomationLevelTargetEnable == null)
|
// return;
|
// //sensorAutomation.sensorAutomationLevelTargetEnable = sensorAutomationLevelTargetEnable;
|
|
// var targetEnableBytes = new byte [] { sensorAutomationLevelTargetEnable[3* sensorAutomation.ConditionList [0].Level+1],
|
// sensorAutomationLevelTargetEnable[3* sensorAutomation.ConditionList [0].Level+2],sensorAutomationLevelTargetEnable[3* sensorAutomation.ConditionList [0].Level+3]};
|
|
// targetEnableString = Convert.ToString (targetEnableBytes [0], 2).PadLeft (8, '0') + Convert.ToString (targetEnableBytes [1], 2).PadLeft (8, '0') + Convert.ToString (targetEnableBytes [2], 2).PadLeft (8, '0');
|
// for (int ii = 0; ii < 20; ii++) { //读取自动化等级配置了的目标数据
|
// if (targetEnableString [ii] == '0') {
|
// continue;
|
// }
|
// /// 4 Control_kind 控制类型
|
// /// 5 Control_sub_net 子网号
|
// /// 6 Control_dev 设备号
|
// /// 7 Control_fenqu 回路号
|
// var readTargetBytes = Control.ControlBytesSendHasReturn (Command.ReadSensorScence, autonmationDevice.SubnetID, autonmationDevice.DeviceID, new byte [] {
|
// (byte)sensorAutomation.ConditionList [0].PushId,(byte)sensorAutomation.ConditionList [0].Level, (byte)ii });
|
// sensorAutomation.TargetBytesList.Add (readTargetBytes);
|
|
// }
|
// }
|
// Application.RunOnMainThread (() => {
|
// targetView.Height = Application.GetRealHeight (100 * sensorAutomation.TargetBytesList.Count);
|
// });
|
// for (int ii = 0; ii < sensorAutomation.TargetBytesList.Count; ii++) {
|
// var readTargetBytes = sensorAutomation.TargetBytesList [ii];
|
// var index = ii;
|
|
// string targetDeviceName = "Unknow";
|
// foreach (var room in Room.Lists) {
|
// if (room.Name == "")
|
// continue;
|
// if (readTargetBytes [3] == 0x59) {
|
// var device = room.DeviceList.Find ((obj) => obj.SubnetID == readTargetBytes [4] && obj.DeviceID == readTargetBytes [5] && obj.LoopID == readTargetBytes [6]);
|
// if (device != null) {
|
// targetDeviceName = room.Name;
|
// targetDeviceName += " - " + device.Name;
|
// if (readTargetBytes [7] == 0) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Close);
|
// } else if (readTargetBytes [7] == 100) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Open);
|
// }
|
// break;
|
// }
|
// } else if (readTargetBytes [3] == 0x5f) {
|
// var device = room.DeviceList.Find ((obj) => obj.SubnetID == readTargetBytes [4] && obj.DeviceID == readTargetBytes [5] && obj.LoopID == readTargetBytes [8]);
|
// if (device != null) {
|
// targetDeviceName = room.Name;
|
// targetDeviceName += " - " + device.Name;
|
// //targetDeviceName = device.Name;
|
// if (readTargetBytes [6] == 3 || readTargetBytes [6] == 20) {
|
// if (readTargetBytes [7] == 0) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Close);
|
// } else if (readTargetBytes [7] == 1) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Open);
|
// }
|
// } else if (readTargetBytes [6] == 21) {
|
// switch (readTargetBytes [7]) {
|
// case 1:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Normal);
|
// break;
|
// case 2:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Day);
|
// break;
|
// case 3:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.AtNight);
|
// break;
|
// case 4:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.GoAway);
|
// break;
|
// case 5:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Auto);
|
// break;
|
// }
|
// } else if (readTargetBytes [6] < 28 && readTargetBytes [6] > 24) {
|
// device.obj2++;
|
// if (device.obj2 > 28) {
|
// device.obj2 = 25;
|
// }
|
// switch (device.obj3) {
|
// case 25:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Normal);
|
// break;
|
// case 26:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Day);
|
// break;
|
// case 27:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.AtNight);
|
// break;
|
// case 28:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.GoAway);
|
// break;
|
// }
|
// targetDeviceName += " " + readTargetBytes [7] + "°";
|
// } else if (readTargetBytes [6] == 6) {
|
// switch (readTargetBytes [7]) {
|
// case 0:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Cool);
|
// break;
|
// case 1:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Heating);
|
// break;
|
// case 2:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Ventila);
|
// break;
|
// case 3:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Auto);
|
// break;
|
// case 4:
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Dehumidify);
|
// break;
|
// }
|
// } else if (readTargetBytes [6] == 4) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Cool) + " " + readTargetBytes [7] + "°";
|
|
// } else if (readTargetBytes [6] == 7) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Heating) + " " + readTargetBytes [7] + "°";
|
|
// } else if (readTargetBytes [6] == 8) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Auto) + " " + readTargetBytes [7] + "°";
|
// } else if (readTargetBytes [6] == 19) {
|
// targetDeviceName += " - " + Language.StringByID (R.MyInternationalizationString.Dehumidify) + " " + readTargetBytes [7] + "°";
|
// }
|
// break;
|
// }
|
// }
|
// }
|
|
|
// Application.RunOnMainThread (() => {
|
// var rowTargetView = new RowLayout () {
|
// Height = Application.GetRealHeight (100),
|
// BackgroundColor = SkinStyle.Current.MainColor,
|
// };
|
// targetView.AddChidren (rowTargetView);
|
|
// var btnDel = new Button () {
|
// BackgroundColor = SkinStyle.Current.DelColor,
|
// TextID = R.MyInternationalizationString.Del,
|
// TextColor = SkinStyle.Current.TextColor2,
|
// Tag = index
|
// };
|
// rowTargetView.AddRightView (btnDel);
|
// btnDel.MouseUpEventHandler += (ddff, ffdd) => {
|
// sensorAutomation.TargetBytesList.RemoveAt (Convert.ToInt32((ddff as Button).Tag));
|
// InitAutomationView (sensorAutomation);
|
// };
|
|
// var btnTarget = new Button () {
|
// X = Application.GetRealWidth (60),
|
// Width = Application.GetRealWidth (580),
|
// Text = targetDeviceName,
|
// TextColor = SkinStyle.Current.TextColor1,
|
// TextAlignment = TextAlignment.CenterLeft,
|
// };
|
// rowTargetView.AddChidren (btnTarget);
|
// });
|
// }
|
// } catch (Exception ex) {
|
// Console.WriteLine (ex.Message);
|
// } finally {
|
// Application.RunOnMainThread (() => {
|
// MainPage.Loading.Hide ();
|
// });
|
// }
|
// });
|
|
// #endregion
|
|
// #region 执行周期
|
|
|
// //var cycleBytes = Control.ControlBytesSendHasReturn (Command.ReadSensorAutomationDateTimeCycle, autonmationDevice.SubnetID, autonmationDevice.DeviceID, new byte [] { sensorAutomation.sensorAutomationConditionList [0].PushId });
|
|
// //TimeView timeView = new TimeView () {
|
|
// //};
|
// #endregion
|
|
// }
|
// }
|
// }
|
//}
|