//using System;
//using System.Collections.Generic;
//namespace Shared.SimpleControl.Phone
//{
// public class UserSensorAutomationSettingPage : FrameLayout
// {
// ///
// /// 自动化条件目标的使能数据3*8 24bit 0 无效 1 有效,取前二十bit
// ///
// string targetEnableString = "";
// SensorAutomationDevice autonmationDevice;
// List SensorList;
// VerticalScrolViewLayout conditionView;
// VerticalScrolViewLayout targetView;
// public UserSensorAutomationSettingPage (List listCommon, SensorAutomationDevice ad)
// {
// SensorList = listCommon;
// autonmationDevice = ad;
// }
// public void ShowPage (SensorAutomation sensorAutomation,Action 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 action = (obj) => {
// sensorAutomation = obj;
// InitAutomationView (sensorAutomation);
// };
// EventHandler 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 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);
// }
// ///
// /// 二进制字符串转byte[]
// ///
// byte [] BinaryStr2ByteArray (string binaryStr)
// {
// if (string.IsNullOrEmpty (binaryStr)) binaryStr = string.Empty;
// List byte_List = new List ();
// 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
// }
// }
// }
//}