Ejemplo n.º 1
0
        private async Task <string> SendCommandLocal(IRCommands irCommand)
        {
            var command = $"irsend SEND_ONCE philips {irCommand}";
            var result  = BashHelper.ExecBashCommand(command);

            return(await Task.FromResult <string>(result.Message));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Dependency: https://github.com/filipkristo/LastfmWSClient.git
        /// </summary>
        /// <param name="song"></param>
        /// <returns></returns>
        public string StartScrobbleBash(SongDetails song)
        {
            const string script = "./scrobble";

            var result = BashHelper.ExecBashScript(script, song.Artist, song.Song, song.Album, Environment.NewLine);

            return(string.IsNullOrWhiteSpace(result.Error) ? $"StartScrobbleBash - OK: {result.Message}" : $"StartScrobbleBash - FAIL: {result.Error}");
        }
Ejemplo n.º 3
0
        public override Result ChangeStation(string stationId)
        {
            BashHelper.ExecBashCommand($"echo 's{stationId}' >> /home/pi/.config/pianobar/ctl");

            return(new Result()
            {
                ErrorCode = 0,
                Message = $"Changed station {stationId}",
                Ok = true
            });
        }
Ejemplo n.º 4
0
        public Result PlayAlarm()
        {
            BashHelper.PlayAudio("redalert.wav");

            return(new Result()
            {
                ErrorCode = 0,
                Message = "Ok",
                Ok = true
            });
        }
Ejemplo n.º 5
0
        public async Task <Result> RestartOpenVPNService()
        {
            BashHelper.ExecBashCommand("sudo service openvpn stop USVPN");
            await Task.Delay(500);

            BashHelper.ExecBashCommand("sudo service openvpn start USVPN");

            return(new Result()
            {
                ErrorCode = 0,
                Message = "OpenVPN service has been restarted",
                Ok = true
            });
        }
Ejemplo n.º 6
0
        public async Task <Result> Start()
        {
            var result = CommandExecuter(PlayerCommandEnum.Start);
            await Task.Delay(TimeSpan.FromSeconds(6));

            var info     = GetCurrentSongInfo();
            var stations = await GetStationList().ConfigureAwait(false);

            var station = stations.FirstOrDefault(x => x.Value.Contains(info.Radio));
            var key     = station?.Key ?? "1";

            BashHelper.ExecBashCommandNoWait($"echo '{key}' >> /home/pi/.config/pianobar/ctl");

            return(result);
        }
Ejemplo n.º 7
0
        public Task Start()
        {
            return(Task.Run(() =>
            {
                while (true)
                {
                    var command = $"cat {pipeFile}";

                    var result = BashHelper.ExecBashCommand(command);

                    if (string.IsNullOrWhiteSpace(result.Error))
                    {
                        var tvService = new TVService();
                        var tvCommand = (NPCommands.Commands)Enum.Parse(typeof(NPCommands.Commands), result.Message);

                        switch (tvCommand)
                        {
                        case NPCommands.Commands.VolumeUp:
                            break;

                        case NPCommands.Commands.VolumeDown:
                            break;

                        case NPCommands.Commands.Forward:
                            break;

                        case NPCommands.Commands.Rewind:
                            break;

                        case NPCommands.Commands.Power:
                            break;

                        case NPCommands.Commands.Play:
                            break;

                        case NPCommands.Commands.Pause:
                            break;

                        case NPCommands.Commands.Stop:
                            break;

                        case NPCommands.Commands.Up:
                            break;

                        case NPCommands.Commands.Down:
                            break;

                        case NPCommands.Commands.Left:
                            break;

                        case NPCommands.Commands.Right:
                            break;

                        case NPCommands.Commands.Ok:
                            break;

                        case NPCommands.Commands.Love:
                            break;

                        case NPCommands.Commands.Ban:
                            break;

                        case NPCommands.Commands.Pandora:
                            break;

                        case NPCommands.Commands.Music:
                            break;

                        case NPCommands.Commands.XBox:
                            break;

                        case NPCommands.Commands.TV:
                            break;

                        default:
                            break;
                        }
                    }
                }
            }));
        }
Ejemplo n.º 8
0
        private Result CommandExecuter(PlayerCommandEnum command)
        {
            var message = string.Empty;

            switch (command)
            {
            case PlayerCommandEnum.Play:
                BashHelper.ExecBashCommand("echo 'p' >> /home/pi/.config/pianobar/ctl");

                message = "Play/Pause";
                break;

            case PlayerCommandEnum.Pause:
                BashHelper.ExecBashCommand("echo 'p' >> /home/pi/.config/pianobar/ctl");
                message = "Play/Pause";
                break;

            case PlayerCommandEnum.Start:
                BashHelper.ExecBashScriptNoWait("./pandora.sh start");
                message = "Start";
                break;

            case PlayerCommandEnum.Stop:
                BashHelper.ExecBashScriptNoWait("./pandora.sh stop");
                message = "Stop";
                break;

            case PlayerCommandEnum.Next:
                BashHelper.ExecBashCommand("echo 'n' >> /home/pi/.config/pianobar/ctl");
                message = "Next";
                break;

            case PlayerCommandEnum.ThumbUp:
                BashHelper.ExecBashCommand("echo '+' >> /home/pi/.config/pianobar/ctl");
                message = "Thumb Up";
                break;

            case PlayerCommandEnum.ThumbDown:
                BashHelper.ExecBashCommand("echo '-' >> /home/pi/.config/pianobar/ctl");
                message = "Thumb Down";
                break;

            case PlayerCommandEnum.VolumeUp:
                BashHelper.ExecBashCommand("echo '))' >> /home/pi/.config/pianobar/ctl");
                message = "Volume Up";
                break;

            case PlayerCommandEnum.VolumeDown:
                BashHelper.ExecBashCommand("echo '((' >> /home/pi/.config/pianobar/ctl");
                message = "Volume down";
                break;

            case PlayerCommandEnum.Tired:
                BashHelper.ExecBashCommand("echo 't' >> /home/pi/.config/pianobar/ctl");
                message = "Tired of this song";
                break;

            case PlayerCommandEnum.ChangeStation:
            default:
                throw new Exception($"Command {command} is not defined");
            }

            return(new Result()
            {
                ErrorCode = 0,
                Message = message,
                Ok = true
            });
        }