Пример #1
0
 public void ProcessDoubleClick()
 {
     if (_row == null)
     {
         return;
     }
     _bridge.ActivateScene(((DataRowView)_row).Row.ItemArray[0].ToString());
 }
Пример #2
0
        public static void ExecuteCommand(string[] args)
        {
            if (!args.Contains("-help"))
            {
                try
                {
                    List <string> extra = mainOpts.Parse(args);

                    if (!string.IsNullOrEmpty(WinHueSettings.settings.DefaultBridge) && !string.IsNullOrWhiteSpace(WinHueSettings.settings.DefaultBridge))
                    {
                        if (WinHueSettings.settings.BridgeInfo.ContainsKey(WinHueSettings.settings.DefaultBridge))
                        {
                            string ip = WinHueSettings.settings.BridgeInfo[WinHueSettings.settings.DefaultBridge].ip;
                            bridge = new Bridge(IPAddress.Parse(ip), WinHueSettings.settings.DefaultBridge, WinHueSettings.settings.BridgeInfo[WinHueSettings.settings.DefaultBridge].apiversion, WinHueSettings.settings.BridgeInfo[WinHueSettings.settings.DefaultBridge].apikey, WinHueSettings.settings.BridgeInfo[WinHueSettings.settings.DefaultBridge].swversion, WinHueSettings.settings.BridgeInfo[WinHueSettings.settings.DefaultBridge].apikey);
                            if (bridge != null && error == false)
                            {
                                extra = objOpts.Parse(extra);
                                switch (cmd)
                                {
                                case Command.LIGHT:
                                    extra = lightOpts.Parse(extra);
                                    if (!error)
                                    {
                                        SetLightState();
                                    }
                                    break;

                                case Command.GROUP:
                                    extra = groupOpts.Parse(extra);
                                    if (!error)
                                    {
                                        SetGroupAction();
                                    }
                                    break;

                                case Command.SCENE:
                                    if (!error)
                                    {
                                        bridge.ActivateScene(id);
                                        WriteMessageToConsole($"Setting scene {id}...");
                                    }
                                    break;

                                case Command.SENSOR:
                                    extra = sensorOpts.Parse(extra);
                                    if (!error)
                                    {
                                        SetSensorState();
                                    }
                                    break;

                                case Command.CREATEGROUP:
                                    extra = createGrOpts.Parse(extra);
                                    if (!error)
                                    {
                                        CreateGroup();
                                    }
                                    break;

                                default:
                                    break;
                                }

                                if (extra.Count != 0)
                                {
                                    WriteMessageToConsole($"The following commands were ignored : {string.Join(",", extra)}");
                                }
                            }
                            else
                            {
                                ShowHelp();
                            }
                        }
                        else
                        {
                            WriteMessageToConsole("The default bridge has not been found. Please make sure the bridge is powered on and connected to the network.");
                        }
                    }
                    else
                    {
                        WriteMessageToConsole("Please pair at least one bridge with WinHue in order to use whc.");
                    }
                }
                catch (OptionException ex)
                {
                    Console.WriteLine($"Error : option {ex.OptionName} value missing or invalid. Please specify the value of this option or refer to the help by using -help .");
                }
                catch (ArgumentNullException)
                {
                    WriteMessageToConsole("The defaut bridge ip address is invalid.");
                }
                catch (FormatException)
                {
                    WriteMessageToConsole("The defaut bridge ip address is invalid.");
                }
            }
            else
            {
                ShowHelp();
            }
        }