| | |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensordryContact_white.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_blue.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_white.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Icon\sensorlight.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_off_home_click.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_off_home.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_off.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_on_home_click.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_on_home.png" /> |
| | | <AndroidAsset Include="Assets\Phone\FunctionIcon\Light\LightScene\gp_all_on.png" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <AndroidResource Include="Resources\values\colors.xml" /> |
| | |
| | | <?xml version="1.0" encoding="utf-8"?> |
| | | <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.2.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202310131"> |
| | | <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="2.3.0" package="com.hdl.onpro" xmlns:tools="http://schemas.android.com/tools" android:versionCode="202310201"> |
| | | <uses-sdk android:minSdkVersion="26" android:targetSdkVersion="30" /> |
| | | <uses-permission android:name="android.permission.RECEIVE_SMS" /> |
| | | <!--友盟--> |
| | |
| | | { |
| | | UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0; |
| | | } |
| | | |
| | | [Export("application:shouldAllowExtensionPointIdentifier:")] |
| | | public override bool ShouldAllowExtensionPointIdentifier(UIApplication application, NSString extensionPointIdentifier) |
| | | { |
| | | //if (extensionPointIdentifier == UIApplicationKeyboardExtensionPointIdentifier) |
| | | //{ |
| | | // return false; |
| | | //} |
| | | return true; |
| | | |
| | | } |
| | | |
| | | public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) |
| | | { |
| | |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensorpir_hold_white.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorpir_hold.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensordryContact.png" /> |
| | | <BundleResource Include="Resources\Phone\Collection\FunctionArmOnbg.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Icon\HomeIcon\sensormegahealth.png" /> |
| | | <BundleResource Include="Resources\Phone\LogicIcon\selectlocation.png" /> |
| | | <BundleResource Include="Resources\Phone\LogicIcon\ganjiedian.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\FunctionBg\VideoDoorLockFunctionBg.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Icon\sensorlight.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_off_home_click.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_off_home.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_off.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_on_home_click.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_on_home.png" /> |
| | | <BundleResource Include="Resources\Phone\FunctionIcon\Light\LightScene\gp_all_on.png" /> |
| | | </ItemGroup> |
| | | <ItemGroup> |
| | | <ITunesArtwork Include="iTunesArtwork" /> |
| | |
| | | <key>CFBundleName</key> |
| | | <string>On Pro</string> |
| | | <key>CFBundleShortVersionString</key> |
| | | <string>2.2.0</string> |
| | | <string>2.3.0</string> |
| | | <key>CFBundleURLTypes</key> |
| | | <array> |
| | | <dict> |
| | |
| | | </dict> |
| | | </array> |
| | | <key>CFBundleVersion</key> |
| | | <string>2.2.0</string> |
| | | <string>2.3.0</string> |
| | | <key>LSApplicationQueriesSchemes</key> |
| | | <array> |
| | | <string>weixinULAPI</string> |
| | |
| | | case SPK.SensorTemperature: |
| | | case SPK.SensorHumidity: |
| | | case SPK.SensorHcho: |
| | | case SPK.SensorLight: |
| | | if (localFunction.spk == SPK.SensorTemperature) |
| | | { |
| | | HomePage.LoadEvent_RefreshEnvirIndoorTemp(); |
| | |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | localFunction.lastState = Language.StringByID(StringId.SensorNormalState); |
| | | localFunction.lastState = Language.StringByID(StringId.wuren); |
| | | break; |
| | | case "1": |
| | | localFunction.lastState = Language.StringByID(StringId.SomeoneIn); |
| | |
| | | case SPK.OtherCommon: |
| | | iconPath = "sensordryContact"; |
| | | break; |
| | | case SPK.SensorLight: |
| | | iconPath = "lightswitch"; |
| | | break; |
| | | //case SPK.SensorLight: |
| | | // iconPath = "lightswitch"; |
| | | // break; |
| | | case SPK.AirSwitchP3: |
| | | iconPath = "electricalbreaker"; |
| | | break; |
| | |
| | | public const string Temperature = "temperature"; |
| | | public const string Hcho = "hcho"; |
| | | public const string Humidity = "humidity"; |
| | | /// <summary> |
| | | /// 照度 |
| | | /// </summary> |
| | | public const string Illuminance = "illuminance"; |
| | | public const string Pm25 = "pm25"; |
| | | public const string Tvoc = "tvoc"; |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | public List<string> GetIntervalValue(string spk) |
| | | { |
| | | if(_intervalValue.Count != 0) |
| | | { |
| | | return _intervalValue; |
| | | } |
| | | //if (_intervalValue.Count != 0) |
| | | //{ |
| | | // return _intervalValue; |
| | | //} |
| | | _intervalValue = new List<string>(); |
| | | switch (spk) |
| | | { |
| | |
| | | /// <summary> |
| | | /// 版本号 |
| | | /// </summary> |
| | | public static string VersionString = "2.2.0"; |
| | | public static string VersionString = "2.3.0"; |
| | | ///// <summary> |
| | | ///// 客户端类型 |
| | | ///// </summary> |
| | |
| | | PlaceholderText = Language.StringByID(StringId.PlsEntryPhoneNumber), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | }; |
| | | #if __IOS__ |
| | | etAccount.MyTextContentType = UIKit.UITextContentType.Name; |
| | | #endif |
| | | accountView.AddChidren(etAccount); |
| | | |
| | | if (userInfo != null && userInfo.ID != "1234567890") |
| | |
| | | }, |
| | | }); |
| | | |
| | | FunctionList.List.Functions.Add(new Function() |
| | | { |
| | | spk = SPK.SensorLight, |
| | | name = "光照传感器", |
| | | //collect = true, |
| | | sid = "SensorLightsss000001", |
| | | attributes = new List<FunctionAttributes>() |
| | | { |
| | | new FunctionAttributes(){ key = "illuminance",curValue= "100",state = "100" }, |
| | | }, |
| | | }); |
| | | |
| | | |
| | | FunctionList.List.Functions.Add(new Function() |
| | | { |
| | |
| | | }; |
| | | |
| | | pm = new HttpServerRequest(); |
| | | |
| | | } |
| | | |
| | | //public RegisterPage(Action action) |
| | |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | function.lastState = Language.StringByID(StringId.SensorNormalState); |
| | | function.lastState = Language.StringByID(StringId.wuren); |
| | | break; |
| | | case "1": |
| | | function.lastState = Language.StringByID(StringId.SomeoneIn); |
| | |
| | | if (//SPK.CurtainSpkList().Contains(function.spk)) |
| | | function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades || |
| | | function.spk == SPK.CurtainDream || |
| | | function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex) |
| | | function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex |
| | | ) |
| | | { |
| | | btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png"; |
| | | btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png"; |
| | |
| | | SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png", |
| | | }; |
| | | view.AddChidren(btnCurtainClose); |
| | | |
| | | |
| | | Button btnCurtainOpen; |
| | | btnCurtainOpen = new Button() |
| | |
| | | view.AddChidren(btnPower); |
| | | |
| | | btnState.Text = function.GetAttrState("song_name"); |
| | | |
| | | btnState.Width = Application.GetRealWidth(90); |
| | | btnState.SelectedTextColor = CSS_Color.MainBackgroundColor; |
| | | btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1 |
| | | |
| | |
| | | //为了去掉开关按钮 |
| | | btnIcon.UnSelectedImagePath = "AksIcon/yingyinzhongkong1.png"; |
| | | } |
| | | //else if (function.spk == SPK.GroupControl) |
| | | //{ |
| | | // btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_blue.png"; |
| | | // btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/lightswitch_white.png"; |
| | | //} |
| | | else if (function.spk == SPK.GroupControl) |
| | | { |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png"; |
| | | btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png"; |
| | | if (function.spk == SPK.GroupControl) |
| | | { |
| | | Button btnClose; |
| | | Button btnOpen; |
| | | btnOpen = new Button() |
| | | { |
| | | X = Application.GetRealWidth(84), |
| | | Y = Application.GetRealWidth(89), |
| | | Width = Application.GetRealWidth(40), |
| | | Height = Application.GetRealWidth(40), |
| | | UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home.png", |
| | | SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on_home_click.png", |
| | | }; |
| | | view.AddChidren(btnOpen); |
| | | |
| | | |
| | | btnClose = new Button() |
| | | { |
| | | X = btnOpen.Right, |
| | | Y = Application.GetRealWidth(89), |
| | | Width = Application.GetRealWidth(40), |
| | | Height = Application.GetRealWidth(40), |
| | | UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home.png", |
| | | SelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off_home_click.png", |
| | | }; |
| | | view.AddChidren(btnClose); |
| | | |
| | | |
| | | btnClose.MouseDownEventHandler = (sender, e) => { |
| | | btnClose.IsSelected = true; |
| | | }; |
| | | |
| | | btnClose.MouseUpEventHandler = (sender, e) => { |
| | | btnClose.IsSelected = false; |
| | | if (function.spk == SPK.GroupControl) |
| | | { |
| | | var d = new Dictionary<string, string>(); |
| | | d.Add("on_off", "off"); |
| | | (function as GroupControl).Control(d); |
| | | } |
| | | }; |
| | | btnOpen.MouseDownEventHandler = (sender, e) => { |
| | | btnOpen.IsSelected = true; |
| | | }; |
| | | btnOpen.MouseUpEventHandler = (sender, e) => { |
| | | btnOpen.IsSelected = false; |
| | | if (function.spk == SPK.GroupControl) |
| | | { |
| | | var d = new Dictionary<string, string>(); |
| | | d.Add("on_off", "on"); |
| | | (function as GroupControl).Control(d); |
| | | } |
| | | }; |
| | | |
| | | |
| | | } |
| | | } |
| | | else if (function.spk == SPK.ElectricEnergy || function.spk == SPK.AirSwitch || function.spk == SPK.AirSwitchP3) |
| | | { |
| | | |
| | |
| | | d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(curtain, d); |
| | | }; |
| | | |
| | | btnOpen.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | //if (!curtain.isOnline())//离线不允许操作 |
| | |
| | | // return; |
| | | //} |
| | | btnOpen.IsSelected = true; |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | |
| | | curtain.trait_on_off.curValue = "on"; |
| | | curtain.SetAttrState(FunctionAttributeKey.Percent, 100); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.curValue.ToString()); |
| | | Control.Ins.SendWriteCommand(curtain, d); |
| | | }; |
| | |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | btnStatus.TextID = StringId.SensorNormalState; |
| | | btnStatus.TextID = StringId.wuren; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | break; |
| | | case "1": |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | else if (SPK.ArmSensorSpkList().Contains(updataFunction.spk)) |
| | | { |
| | | if (cTag == updataFunction.sid + "_Sensor_Status") |
| | | { |
| | | Button btnStatus = (fcView.GetChildren(j) as Button); |
| | | |
| | | var alarm_status = updataFunction.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "normal") |
| | | { |
| | | btnStatus.TextID = StringId.SensorNormalState; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.InAlarm; |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | alarm_status = updataFunction.attributes.Find((sta) => sta.key == "contact_status"); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "close") |
| | | { |
| | | btnStatus.TextID = StringId.Shut; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | if (updataFunction.spk == SPK.SensorDryContact || updataFunction.spk == SPK.SensorDryContact2) |
| | | { |
| | | btnStatus.TextID = StringId.DryBreak; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.Open; |
| | | } |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | alarm_status = updataFunction.attributes.Find((sta) => sta.key == "people_status"); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "false") |
| | | { |
| | | btnStatus.TextID = StringId.wuren; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.youren; |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | //更新温控器状态 |
| | | else if(SPK.HvacCac == updataFunction.spk) |
| | | { |
| | |
| | | Button btnTipPowerLow = new Button() |
| | | { |
| | | X = Application.GetRealWidth(307), |
| | | Y = Application.GetRealHeight(25), |
| | | Y = Application.GetRealHeight(45), |
| | | Width = Application.GetRealWidth(24), |
| | | Height = Application.GetRealWidth(24), |
| | | UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png", |
| | |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | btnStatus.TextID = StringId.SensorNormalState; |
| | | btnStatus.TextID = StringId.wuren; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | break; |
| | | case "1": |
| | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | else if (SPK.ArmSensorSpkList().Contains(function.spk)) |
| | | { |
| | | var btnStatus = new Button() |
| | | { |
| | | X = Application.GetRealWidth(51), |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(18), |
| | | TextColor = CSS_Color.MainColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | Text = "", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = function.sid + "_Sensor_Status" |
| | | }; |
| | | bodyDiv.AddChidren(btnStatus); |
| | | |
| | | var alarm_status = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus); |
| | | if(alarm_status!= null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "normal") |
| | | { |
| | | btnStatus.TextID = StringId.SensorNormalState; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.InAlarm; |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | alarm_status = function.attributes.Find((sta) => sta.key == "contact_status"); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "close") |
| | | { |
| | | btnStatus.TextID = StringId.Shut; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2) |
| | | { |
| | | btnStatus.TextID = StringId.DryBreak; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.Open; |
| | | } |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | alarm_status = function.attributes.Find((sta) => sta.key == "people_status"); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "false") |
| | | { |
| | | btnStatus.TextID = StringId.wuren; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.youren; |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | |
| | | UnSelectedImagePath = "Collection/CollectionGrayIcon.png", |
| | | IsSelected = function.collect |
| | | }; |
| | | if ( !SPK.ArmSensorSpkList().Contains(function.spk) |
| | | && function.spk != SPK.DoorLock |
| | | if ( !SPK.ArmSensorSpkList().Contains(function.spk)&& |
| | | function.spk != SPK.DoorLock |
| | | && function.spk != SPK.GroupControl |
| | | && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare && |
| | | && !SPK.EnvironDeviceSpkList().Contains( function.spk)) |
| | | { |
| | | bodyDiv.AddChidren(btnCollectionIcon); |
| | | } |
| | | |
| | | if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) |
| | | if(function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold || function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) |
| | | { |
| | | bodyDiv.AddChidren(btnCollectionIcon); |
| | | } |
| | |
| | | case SPK.SensorHelp: |
| | | { |
| | | LogicView.FunTypeView view = new LogicView.FunTypeView(); |
| | | view.btnText.TextID = StringId.qiujiuandzhengchang; |
| | | view.btnText.TextID = StringId.mubiaozhuangtai; |
| | | fLayout.AddChidren(view.FLayoutView()); |
| | | view.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang ); |
| | | DeviceView(device, view.btnState, StringId.qiujiu, StringId.zhengchang ,1); |
| | | }; |
| | | if (edit) |
| | | { |
| | |
| | | case StringId.onLogic: |
| | | { |
| | | value = "on"; |
| | | if (device.spk == SPK.SensorDryContact) |
| | | { |
| | | value = "open"; |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case StringId.offLogic: |
| | | { |
| | | value = "off"; |
| | | if (device.spk == SPK.SensorDryContact) |
| | | { |
| | | value = "close"; |
| | | } |
| | | } |
| | | break; |
| | | case StringId.youren: |
| | |
| | | if (device.spk == SPK.SensorLight) |
| | | { |
| | | //照明传感器 |
| | | max =int.MaxValue; |
| | | max =1200; |
| | | } |
| | | |
| | | new LogicView.TipPopView { }.InputBox(textInt, stateValue, (value) => |
| | |
| | | case SPK.SensorDryContact2: |
| | | { |
| | | |
| | | string value = this.GetKeyValue("on_off", dicList); |
| | | string value = this.GetKeyValue(FunctionAttributeKey.ContactStatus, dicList); |
| | | inputView.btnState.Text = Language.StringByID(StringId.offLogic); |
| | | if (value == "on") |
| | | if (value == "open") |
| | | { |
| | | inputView.btnState.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | if (value == "on") |
| | | if (value == "on" || value == "open") |
| | | { |
| | | button1.Text = Language.StringByID(StringId.onLogic); |
| | | } |
| | |
| | | int intValue = int.Parse(editText.Text.Trim()); |
| | | if (intValue <minValue || intValue > maxValue) |
| | | { |
| | | errorId_IsNullOrEmpty = Language.StringByID(StringId.setvalue).Replace("1",minValue.ToString()).Replace("000",maxValue.ToString()); |
| | | errorId_IsNullOrEmpty = Language.StringByID(StringId.setvalue).Replace("1",minValue.ToString()).Replace("100",maxValue.ToString()); |
| | | } |
| | | } |
| | | if (errorId_IsNullOrEmpty!="") |
| | |
| | | btnConfirm.Gravity = Gravity.BottomRight; |
| | | |
| | | btnTip.X = Application.GetRealWidth(53); |
| | | btnTip.Y = editBjView.Bottom + Application.GetRealHeight(12); |
| | | btnTip.Width = Application.GetRealWidth(157);//200 |
| | | btnTip.Y = editBjView.Bottom + Application.GetRealHeight(6); |
| | | btnTip.Width = Application.GetRealWidth(187);//200 |
| | | btnTip.Height = Application.GetRealHeight(24);//17 |
| | | btnTip.Text = errorId_IsNullOrEmpty; |
| | | btnTip.TextColor = CSS_Color.textRedColor; |
| | |
| | | if(brand.productPlatform == "HaiLin")//子晴需要隐藏这个入口,由调试软件上传数据 2023-03-09 17:20:33 |
| | | { |
| | | continue; |
| | | }else if(brand.productPlatform == "TUYA") { |
| | | if(DB_ResidenceData.Instance.CurrentRegion.regionUrl != "https://test-gz.hdlcontrol.com" && |
| | | DB_ResidenceData.Instance.CurrentRegion.regionUrl != "https://china-gateway.hdlcontrol.com") |
| | | { |
| | | continue; |
| | | } |
| | | } |
| | | var row = new RowLayout() |
| | | { |
| | |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | |
| | | Action<string> callBack = (str) => |
| | | { |
| | | if (string.IsNullOrEmpty(str)) |
| | |
| | | } |
| | | else |
| | | { |
| | | try |
| | | { |
| | | //撤防 |
| | | if (bodyView.InDefenseMode != null) |
| | | { |
| | | if (bodyView.InDefenseMode.sid == updataTemp.sid) |
| | | { |
| | | bodyView.InDefenseMode.status = updataTemp.status; |
| | |
| | | { |
| | | tempView.LightingView(false); |
| | | } |
| | | } |
| | | } |
| | | }catch(Exception ex) |
| | | { |
| | | MainPage.Log($"撤防异常:{ex.Message}"); |
| | | } |
| | | } |
| | | |
| | |
| | | bodyView.btnArmTipIcon.IsSelected = true; |
| | | bodyView.btnDefenseName.Text = bodyView.InDefenseMode.name; |
| | | } |
| | | if (bodyView.InDefenseMode != null) |
| | | { |
| | | bodyView.InitAlarmStatus(bodyView.InDefenseMode.alarm); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"安防界面更新异常:{ex.Message}"); |
| | |
| | | else if (temp.state == "uninhabited")//无人 |
| | | { |
| | | btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png"; |
| | | btnSuctionView.TextID = StringId.SensorNormalState; |
| | | btnSuctionView.TextID = StringId.wuren; |
| | | btnSuctionView.IsSelected = false; |
| | | } |
| | | else//有人 |
| | |
| | | else |
| | | { |
| | | btnIcon.IsSelected = false; |
| | | btnSuctionView.TextID = StringId.SensorNormalState; |
| | | btnSuctionView.TextID = StringId.wuren; |
| | | btnSuctionView.IsSelected = false; |
| | | } |
| | | //增加实验室模式反馈 |
| | |
| | | btnIcon.UnSelectedImagePath = "FunctionIcon/ArmSensor/UnderProtectionBgIcon.png"; |
| | | btnIcon.IsSelected = true; |
| | | btnIcon.IsSelected = false; |
| | | btnSuctionView.TextID = StringId.SensorNormalState; |
| | | btnSuctionView.TextID = StringId.wuren; |
| | | btnSuctionView.IsSelected = false; |
| | | break; |
| | | case "1": |
| | |
| | | else |
| | | { |
| | | btnIcon.IsSelected = false; |
| | | btnSuctionView.TextID = StringId.SensorNormalState; |
| | | btnSuctionView.TextID = StringId.wuren; |
| | | btnSuctionView.IsSelected = false; |
| | | } |
| | | } |
| | |
| | | else |
| | | { |
| | | btnIcon.IsSelected = false; |
| | | btnSuctionView.TextID = StringId.SensorNormalState; |
| | | btnSuctionView.TextID = StringId.wuren; |
| | | btnSuctionView.IsSelected = false; |
| | | } |
| | | } |
| | |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = MainPage.cityInfo.location, |
| | | Text = MainPage.cityInfo.city, |
| | | }; |
| | | topWeatherView.AddChidren(btnLocationText); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | Console.WriteLine(updateTemp.spk); |
| | | for (int i = 0; i < bodyView.sensorListView.ChildrenCount; i++) |
| | | { |
| | | var sensorTag = updateTemp.spk + updateTemp.sid + updateTemp.deviceId; |
| | |
| | | case SPK.SensorHumidity: |
| | | attr = updateTemp.GetAttribute(FunctionAttributeKey.Humidity); |
| | | break; |
| | | case SPK.SensorLight: |
| | | attr = updateTemp.GetAttribute(FunctionAttributeKey.Illuminance); |
| | | break; |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | else if (tag == "SensorLevel") |
| | | { |
| | | if (updateTemp.spk != SPK.SensorLight) |
| | | { |
| | | (btn as Button).TextID = bodyView.sensorTemp.GetLevelTextList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | | (btn as Button).TextColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | else if (btn.GetType() == typeof(ArcSeekBar)) |
| | | { |
| | | (btn as ArcSeekBar).ProgressBarColor = bodyView.sensorTemp.GetLevelColorList(updateTemp.spk)[bodyView.sensorTemp.GetCurLevel(updateTemp) - 1]; |
| | |
| | | { |
| | | LoadEditDialog(() => |
| | | { |
| | | if(hour == 0 && minute == 0 && second == 0) |
| | | if( second == 0) |
| | | { |
| | | new PublicAssmebly().TipMsg(StringId.Tip, StringId.TimeInvalid); |
| | | return; |
| | | } |
| | | //btnWorkHours.Text = hour + "时"; |
| | | btnWorkHours.Text = minute + "分"; |
| | | btnWorkHours.Text += second + "秒"; |
| | | btnWorkHours.Text = second/60 + "分"; |
| | | btnWorkHours.Text += second%60 + "秒"; |
| | | new System.Threading.Thread(() => { |
| | | var d = new Dictionary<string, string>(); |
| | | function.SetAttrState(FunctionAttributeKey.ColorfulTime, (hour * 360 + minute * 60 + second).ToString()); |
| | | d.Add(FunctionAttributeKey.ColorfulTime, (hour * 360 + minute * 60 + second).ToString()); |
| | | function.SetAttrState(FunctionAttributeKey.ColorfulTime, ( minute * 60 + second).ToString()); |
| | | d.Add(FunctionAttributeKey.ColorfulTime, ( minute * 60 + second).ToString()); |
| | | Control.Ins.SendWriteCommand(function, d); |
| | | }) { IsBackground = true }.Start(); |
| | | }); |
| | |
| | | { |
| | | item1.Add(i+Language.StringByID(StringId.h)); |
| | | } |
| | | for (int i = 1; i <= 119; i += 1) |
| | | for (int i = 1; i <= 120; i += 1) |
| | | { |
| | | item2.Add(i + Language.StringByID(StringId.m)); |
| | | item3.Add(i + Language.StringByID(StringId.s)); |
| | |
| | | dialog.Close(); |
| | | }; |
| | | uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => { |
| | | hour = int1; |
| | | minute = int2; |
| | | second = int3; |
| | | second = int1+1; |
| | | }; |
| | | btnConfrim.MouseUpEventHandler = (sender, e) => { |
| | | dialog.Close(); |
| | |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | //UnSelectedImagePath = "Public/PowerClose.png", |
| | | UnSelectedImagePath = "Public/PowerOpen.png", |
| | | UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_on.png", |
| | | }; |
| | | controlView.AddChidren(btnOn); |
| | | var btnOnText = new Button() |
| | | { |
| | | X = Application.GetRealWidth(100-9), |
| | | Y = Application.GetRealHeight(500), |
| | | Width = Application.GetMinRealAverage(50), |
| | | Height = Application.GetMinRealAverage(32), |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.Open, |
| | | }; |
| | | controlView.AddChidren(btnOnText); |
| | | |
| | | |
| | | var btnOff = new Button() |
| | | { |
| | |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetMinRealAverage(32), |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | //UnSelectedImagePath = "Public/PowerOpen.png", |
| | | UnSelectedImagePath = "FunctionIcon/Light/LightScene/gp_all_off.png", |
| | | }; |
| | | controlView.AddChidren(btnOff); |
| | | var btnOffText = new Button() |
| | | { |
| | | X = Application.GetRealWidth(180 - 9), |
| | | Y = Application.GetRealHeight(500), |
| | | Width = Application.GetMinRealAverage(50), |
| | | Height = Application.GetMinRealAverage(32), |
| | | TextColor = CSS_Color.TextualColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextAlignment = TextAlignment.Center, |
| | | TextID = StringId.Close, |
| | | }; |
| | | controlView.AddChidren(btnOffText); |
| | | |
| | | |
| | | |
| | | btnOn.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var d = new Dictionary<string, string>(); |
| | |
| | | d.Add(FunctionAttributeKey.OnOff, "off"); |
| | | function.Control(d); |
| | | }; |
| | | btnOnText.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.OnOff, "on"); |
| | | function.Control(d); |
| | | }; |
| | | |
| | | btnOffText.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | var d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.OnOff, "off"); |
| | | function.Control(d); |
| | | }; |
| | | |
| | | |
| | | if (hadRGB) |