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); } }
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) { } }