| | |
| | | } |
| | | set |
| | | { |
| | | //if (_GatewayOnline_Local != value) |
| | | if (_GatewayOnline_Local != value) |
| | | { |
| | | _GatewayOnline_Local = value; |
| | | if (value) |
| | |
| | | } |
| | | set |
| | | { |
| | | //if (_GatewayOnline_Cloud != value) |
| | | if (_GatewayOnline_Cloud != value) |
| | | { |
| | | _GatewayOnline_Cloud = value; |
| | | if(GatewayOnline_Local) |
| | |
| | | } |
| | | if (DB_ResidenceData.Instance.GatewayType == 0) |
| | | { |
| | | new Control_Udp().ControlBytesSend(Command.ReadGateway, 255, 255, new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) }); |
| | | new Control_Udp().ControlBytesSend(Command.ReadGateway, 255, 255, |
| | | new byte[] { (byte)new Random().Next(255), (byte)new Random().Next(255) }); |
| | | } |
| | | else if (DB_ResidenceData.Instance.GatewayType == 1) |
| | | { |
| | |
| | | var sendBytes = Ins.ConvertSendBodyData(CommunicationTopic.ct.ControlFunctionTopic, functionControlDataJson); |
| | | new Control_Udp().SendLocalHdlLinkData(sendBytes, functionControlDataObj.id,resend); |
| | | MainPage.Log($"本地通讯 发送HDL-Link数据:{functionControlDataJson}"); |
| | | //Control.Ins.MsgInfoList.Add($"本地通讯 发送HDL-Link数据:{functionControlDataJson}"+"\r\n"); |
| | | } |
| | | } |
| | | //远程通讯 |
| | |
| | | gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId, |
| | | sid = securityAlarm.sid, status = state, userSecurityId = securityAlarm.userSecurityId |
| | | } }); |
| | | MainPage.Log($"安防控制结果:code:{result.Code};msg:{result.message}"); |
| | | MainPage.Log($"安防控制结果:{result.Code}"); |
| | | } |
| | | else |
| | | { |
| | |
| | | byte[] bodyBytes = new byte[receiveObj.Length]; |
| | | Array.Copy(originalReceiveBytes, topicBytes.Length + 4, bodyBytes, 0, receiveObj.Length); |
| | | byte[] receiveBytes = Securitys.EncryptionService.AesDecryptPayload(bodyBytes, DB_ResidenceData.Instance.CurrentRegion.localSecret); |
| | | var revString = Encoding.UTF8.GetString(receiveBytes); |
| | | receiveObj.BodyDataString = revString; |
| | | MainPage.Log($"局域网信息: 解密后:" + receiveObj.BodyDataString); |
| | | //if (receiveObj.Topic.EndsWith("/thing/property/up")) |
| | | //{ |
| | | // MsgInfoList.Add(revString + "\r\n"); |
| | | //} |
| | | if (receiveBytes != null) |
| | | { |
| | | var revString = Encoding.UTF8.GetString(receiveBytes); |
| | | receiveObj.BodyDataString = revString; |
| | | MainPage.Log($"局域网信息: 解密后:" + receiveObj.BodyDataString); |
| | | //if (receiveObj.Topic.EndsWith("/thing/property/up")) |
| | | //{ |
| | | // MsgInfoList.Add(revString + "\r\n"); |
| | | //} |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | /// <summary> |
| | | /// 更新设备状态 |
| | | /// A协议数据 |
| | | /// Tag Link状态处理 |
| | | /// </summary> |
| | | /// <param name="updateBytes"></param> |
| | | public void UpdataFunctionStatus(string revString, byte[] usefulBytes,bool isCloudData = false) |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | var localFunction = allLocalFuntion.Find((obj) => obj.sid == updateTemp.sid); |
| | | if (localFunction == null) |
| | |
| | | localFunction.lastState = localFunction.trait_on_off.curValue.ToString() == "on" ? Language.StringByID(StringId.Open) : Language.StringByID(StringId.Close); |
| | | CurtainModulePage.UpdataState(localFunction); |
| | | break; |
| | | case SPK.CurtainDream: |
| | | if(localFunction.GetAttrState(FunctionAttributeKey.Percent) == "0") |
| | | { |
| | | localFunction.SetAttrState(FunctionAttributeKey.OnOff, "off"); |
| | | } |
| | | localFunction.lastState = localFunction.trait_on_off.curValue.ToString() == "on" ? Language.StringByID(StringId.Open) : Language.StringByID(StringId.Close); |
| | | CurtainDreamPage.UpdataState(localFunction); |
| | | break; |
| | | case SPK.CurtainTrietex: |
| | | localFunction.lastState = Language.StringByID(StringId.Open) + localFunction.GetAttrState(FunctionAttributeKey.Percent) + "%"; |
| | | MotorCurtainPage.UpdataState(localFunction); |
| | |
| | | RollingShutterPage.UpdataState(localFunction); |
| | | break; |
| | | case SPK.CurtainShades: |
| | | break; |
| | | case SPK.HvacCac: |
| | | Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status); |
| | | |
| | | break; |
| | | case SPK.AcStandard: |
| | | case SPK.HvacAC: |
| | |
| | | case SPK.SensorSmoke: |
| | | case SPK.SensorWater: |
| | | case SPK.ClothesHanger: |
| | | case SPK.SenesorMegahealth: |
| | | case SPK.SenesorMegahealth2: |
| | | case SPK.AirFreshStandard: |
| | | case SPK.HvacAirFresh: |
| | | case SPK.SensorGas: |
| | | case SPK.SensorHelp: |
| | | case SPK.HvacCac: |
| | | //设备状态推送 |
| | | //状态更新 |
| | | Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status); |
| | | break; |
| | | case SPK.SenesorMegahealth: |
| | | case SPK.SenesorMegahealth2: |
| | | |
| | | var tempStatus = localFunction.attributes.Find((sta) => sta.key == FunctionAttributeKey.TargetStatus); |
| | | if (tempStatus != null) |
| | | { |
| | | |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | localFunction.lastState = Language.StringByID(StringId.SensorNormalState); |
| | | break; |
| | | case "1": |
| | | localFunction.lastState = Language.StringByID(StringId.SomeoneIn); |
| | | break; |
| | | case "2": |
| | | if (localFunction.extSet.labModel) |
| | | { |
| | | localFunction.lastState = Language.StringByID(StringId.SomeoneRunning); |
| | | } |
| | | break; |
| | | case "3": |
| | | if (localFunction.extSet.labModel) |
| | | { |
| | | localFunction.lastState = Language.StringByID(StringId.SomeoneSitting); |
| | | } |
| | | break; |
| | | case "4": |
| | | localFunction.lastState = Language.StringByID(StringId.SomeoneFell); |
| | | break; |
| | | case "5": |
| | | if (localFunction.extSet.labModel) |
| | | { |
| | | localFunction.lastState = Language.StringByID(StringId.SomeoneStanding); |
| | | } |
| | | break; |
| | | default: |
| | | |
| | | break; |
| | | } |
| | | } |
| | | Stan.HdlDeviceStatuPushLogic.Current.UpdateDeviceStatu(updateTemp.sid, updateTemp.status); |
| | | break; |
| | | case SPK.AvMusic: |
| | | case SPK.MusicStandard: |
| | | //UI.Music.MusicMain.mMusicMain.RefreshView(updateTemp); |