예제 #1
0
        public async Task <bool> SetAutoInstallAsyncTask(autoinstall autoinstall)
        {
            Version api   = Version.Parse(ApiVersion);
            Version limit = Version.Parse("1.20.0");

            if (api < limit)
            {
                return(false);
            }
            CommResult comres = await Comm.SendRequestAsyncTask(new Uri(BridgeUrl + "/config"), WebRequestType.Put, "{\"swupdate2\": {\"autoinstall\" : " + Serializer.SerializeToJson(autoinstall) + "}}");

            switch (comres.Status)
            {
            case WebExceptionStatus.Success:
                LastCommandMessages.AddMessage(Serializer.DeserializeToObject <List <IMessage> >(comres.Data));
                return(LastCommandMessages.Success);

            case WebExceptionStatus.Timeout:
                LastCommandMessages.AddMessage(new Error()
                {
                    address = BridgeUrl + "/config", description = "A Timeout occured.", type = 65535
                });
                break;

            default:
                LastCommandMessages.AddMessage(new Error()
                {
                    address = BridgeUrl + "/config", description = "An unknown error occured.", type = 65535
                });
                break;
            }
            return(false);
        }
예제 #2
0
        public async Task <bool> SetAutoInstallAsyncTask(autoinstall autoinstall)
        {
            Version api   = Version.Parse(ApiVersion);
            Version limit = Version.Parse("1.20.0");

            if (api < limit)
            {
                return(false);
            }
            HttpResult comres = await HueHttpClient.SendRequestAsyncTask(new Uri(BridgeUrl + "/config"), WebRequestType.Put, "{\"swupdate2\": {\"autoinstall\" : " + Serializer.SerializeJsonObject(autoinstall) + "}}");

            if (comres.Success)
            {
                LastCommandMessages.AddMessage(Serializer.DeserializeToObject <List <IMessage> >(comres.Data));
                return(LastCommandMessages.Success);
            }
            BridgeNotResponding?.Invoke(this, new BridgeNotRespondingEventArgs(this, BridgeUrl + "/config", WebExceptionStatus.NameResolutionFailure));
            return(false);
        }