public override Task RunTask(int taskId) { switch (taskId) { case 0: MessageBroker.Send(VolumeUpCommand.Default, Uid); break; case 1: MessageBroker.Send(VolumeDownCommand.Default, Uid); break; case 2: MessageBroker.Send(TurnOnCommand.Default, Uid); break; case 3: MessageBroker.Send(TurnOffCommand.Default, Uid); break; case 4: MessageBroker.Send(MuteCommand.Default, Uid); break; case 5: MessageBroker.Send(InputSetCommand.Create("HDMI"), Uid); break; } return(Task.CompletedTask); }
protected async Task SetInput(InputSetCommand message) { if (_fullState == null) { throw new ArgumentException("Cannot change input source on Denon device because device info was not downloaded from device"); } var inputName = message.AsString(MessageProperties.InputSource); var input = _fullState.TranslateInputName(inputName, _zone.ToString()); if (input?.Length == 0) { throw new ArgumentException($"Input {inputName} was not found on available device input sources"); } var control = new DenonControlQuery { Command = input, Api = "formiPhoneAppDirect", ReturnNode = "", Zone = "", Address = _hostName }; await MessageBroker.QueryService <DenonControlQuery, string>(control).ConfigureAwait(false); _input = await UpdateState(InputSourceState.StateName, _input, inputName).ConfigureAwait(false); }
protected async Task Handle(InputSetCommand message) { var inputName = message.AsString(MessageProperties.InputSource); var source = ""; if (inputName == "HDMI") { source = "KEY_HDMI"; } else if (inputName == "AV") { source = "KEY_AV1"; } else if (inputName == "COMPONENT") { source = "KEY_COMPONENT1"; } else if (inputName == "TV") { source = "KEY_TV"; } if (source?.Length == 0) { throw new ArgumentException($"Input {inputName} was not found on Samsung available device input sources"); } var cmd = GetCommand(source); await MessageBroker.SendToService(cmd).ConfigureAwait(false); _input = await UpdateState(InputSourceState.StateName, _input, inputName).ConfigureAwait(false); }
public static InputSetCommand Create(string input) { var command = new InputSetCommand { InputSource = input }; return(command); }
public override async Task RunTask(int taskId) { switch (taskId) { case 0: MessageBroker.Send(VolumeUpCommand.Default, Uid); break; case 1: MessageBroker.Send(VolumeDownCommand.Default, Uid); break; case 2: MessageBroker.Send(TurnOnCommand.Default, Uid); break; case 3: MessageBroker.Send(TurnOffCommand.Default, Uid); break; case 4: MessageBroker.Send(VolumeSetCommand.Create(40), Uid); break; case 5: MessageBroker.Send(MuteCommand.Default, Uid); break; case 6: MessageBroker.Send(UnmuteCommand.Default, Uid); break; case 7: MessageBroker.Send(InputSetCommand.Create("HDMI1"), Uid); break; case 8: var command = new SonyRegisterQuery(); var result = await MessageBroker.Request <SonyRegisterQuery, string>(command, "Sony"); ConsoleEx.WriteTitleLine("Enter PIN from TV:"); var pin = Console.ReadLine(); command.PIN = pin; result = await MessageBroker.Request <SonyRegisterQuery, string>(command, "Sony"); Console.WriteLine($"Device was registered successfully. Application hash: {result}"); break; } }
protected async Task Handle(InputSetCommand message) { var inputName = message.AsString(MessageProperties.InputSource); var cmd = new ComputerCommand { Address = _hostname, Service = "InputSource", Message = new InputSourcePost { Input = inputName } }; await MessageBroker.SendToService(cmd).ConfigureAwait(false); _input = await UpdateState(InputSourceState.StateName, _input, inputName).ConfigureAwait(false); }
protected async Task Handle(InputSetCommand message) { var inputName = message.AsString(MessageProperties.InputSource); if (!_inputSourceMap.ContainsKey(inputName)) { throw new ArgumentException($"Input {inputName} was not found on available device input sources"); } var code = _inputSourceMap[inputName]; var cmd = GetControlCommand(code); await MessageBroker.QueryService <SonyControlQuery, string>(cmd); _input = await UpdateState(InputSourceState.StateName, _input, inputName); }
public override async Task RunTask(int taskId) { switch (taskId) { case 0: MessageBroker.Send(VolumeUpCommand.Default, Uid); break; case 1: MessageBroker.Send(VolumeDownCommand.Default, Uid); break; case 2: MessageBroker.Send(TurnOnCommand.Default, Uid); break; case 3: MessageBroker.Send(TurnOffCommand.Default, Uid); break; case 4: MessageBroker.Send(VolumeSetCommand.Create(40), Uid); break; case 5: MessageBroker.Send(MuteCommand.Default, Uid); break; case 6: MessageBroker.Send(UnmuteCommand.Default, Uid); break; case 7: MessageBroker.Send(InputSetCommand.Create("DVD"), Uid); break; case 8: MessageBroker.Send(ModeSetCommand.Create("Movie"), Uid); break; case 9: var capabilities = await MessageBroker.Request <CapabilitiesQuery, IReadOnlyCollection <string> >(CapabilitiesQuery.Default, Uid); ConsoleEx.WriteTitleLine($"Capabilities of '{Uid}': {string.Join(", ", capabilities)}"); break; case 10: var supportedStates = await MessageBroker.Request <SupportedStatesQuery, IReadOnlyCollection <string> >(SupportedStatesQuery.Default, Uid); ConsoleEx.WriteTitleLine($"Supported states of '{Uid}': {string.Join(", ", supportedStates)}"); break; case 11: var states = await MessageBroker.Request <StateQuery, IReadOnlyDictionary <string, string> >(StateQuery.Default, Uid); ConsoleEx.WriteTitleLine($"State of '{Uid}': {string.Join(", ", states.ToFormatedString())}"); break; } return; }