public override async void KeyPressed(KeyPayload payload)
        {
            Logger.Instance.LogMessage(TracingLevel.INFO, "Key Pressed");

            try
            {
                if (PrismatikApiClient.PRISMATIC_CLIENT == null || !PrismatikApiClient.PRISMATIC_CLIENT.IsConnected)
                {
                    PrismatikApiClient.SetupTelnetClient(this.global.ApiKey);
                    if (PrismatikApiClient.PRISMATIC_CLIENT == null)
                    {
                        return;
                    }

                    if (payload.IsInMultiAction)
                    {
                        await ApiSetProfilAction((int)payload.UserDesiredState);
                    }
                    else
                    {
                        await ApiSetProfilAction();
                    }
                }
            }
            catch (Exception)
            {
            }
        }
        private async Task ApiSetProfilAction(int desiredState = -1)
        {
            try
            {
                var currProfil = PrismatikApiClient.GetProfile();

                if (desiredState == -1)
                {
                    if (currProfil != settings.ProfilA)
                    {
                        PrismatikApiClient.SetProfile(settings.ProfilB);
                    }
                    else
                    {
                        PrismatikApiClient.SetProfile(settings.ProfilA);
                    }
                }
                else
                {
                    if (desiredState == 0)
                    {
                        PrismatikApiClient.SetProfile(settings.ProfilA);
                    }
                    else
                    {
                        PrismatikApiClient.SetProfile(settings.ProfilB);
                    }
                }
            }
            catch (Exception)
            {
                PrismatikApiClient.PRISMATIC_CLIENT?.Dispose();
                PrismatikApiClient.PRISMATIC_CLIENT = null;
            }
        }
 private async Task ApiSetProfilAction(int desiredState = -1)
 {
     try
     {
         PrismatikApiClient.SetProfile(settings.Profil);
     }
     catch (Exception)
     {
         PrismatikApiClient.PRISMATIC_CLIENT?.Dispose();
         PrismatikApiClient.PRISMATIC_CLIENT = null;
         await Connection.SetStateAsync(0);
     }
 }
Ejemplo n.º 4
0
        public override async void KeyPressed(KeyPayload payload)
        {
            Logger.Instance.LogMessage(TracingLevel.INFO, "Key Pressed");

            try
            {
                if (PrismatikApiClient.PRISMATIC_CLIENT == null || !PrismatikApiClient.PRISMATIC_CLIENT.IsConnected)
                {
                    PrismatikApiClient.SetupTelnetClient(this.global.ApiKey);
                    if (PrismatikApiClient.PRISMATIC_CLIENT == null)
                    {
                        return;
                    }

                    if (payload.IsInMultiAction)
                    {
                        if (payload.UserDesiredState == 0)
                        {
                            PrismatikApiClient.SetStatus(true);
                        }
                        if (payload.UserDesiredState == 1)
                        {
                            PrismatikApiClient.SetStatus(false);
                        }
                    }
                    else
                    {
                        var currStatus = PrismatikApiClient.GetStatus();
                        if (currStatus != "on")
                        {
                            PrismatikApiClient.SetStatus(true);
                        }
                        else
                        {
                            PrismatikApiClient.SetStatus(false);
                        }
                    }
                }
            }
            catch (Exception)
            {
            }
        }