protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var networks = context.Networks; var streamStore = context.StreamStore; var ip = context.ReadParameter("IP").Value; var appDataRepository = new AppDataRepository(streamStore); var appData = appDataRepository.Load(); if (string.IsNullOrEmpty(ip)) { interpreter.WriteEvent("Searching for Hue bridge..."); ip = FindIp(); interpreter.WriteEvent("Found " + ip); } var networkContext = new HomeAutomationNetworkContext(context.Engine, context.ThreadPool); var network = new Q42HueNetwork(networkContext, ip, appData, () => interpreter.WriteEvent("Press the link button on the Hue bridge.")); networks.Add(network); appDataRepository.Save(appData); interpreter.WriteEvent("Done."); }
protected override void Execute_HomeAutomationNetworkDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var network = context.Network as WeMoNetwork; var ip = context.ReadParameter("IP").Value; network.Connect(ip); }
protected override void Execute_HomeAutomationNetworkDefinition(HomeAutomationCommandContext context) { var network = context.Network as Q42HueNetwork; foreach (var device in network.Devices) { PushName(device as Q42HueDevice); } }
protected override void Execute_HomeAutomationNetworkDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var network = context.Network as OpenZWaveNetwork; interpreter.WriteEvent("Resetting Network " + network); network.Reset(); interpreter.WriteEvent("Done"); }
protected override void Execute_Definition(RoomieCommandContext context) { var homeAutomationContext = new HomeAutomationCommandContext(context); var zWaveNetworks = homeAutomationContext.Networks.OfType<ZWaveNetwork>(); var workQueues = zWaveNetworks.Select(x => x.WorkQueue); foreach (var workQueue in workQueues) { workQueue.ShutDown(); } }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var networks = context.Networks; interpreter.WriteEvent("Searching for Z-Wave network adapater..."); var network = new ZWaveNetwork(new HomeAutomationNetworkContext(context.Engine, context.ThreadPool)); networks.Add(network); interpreter.WriteEvent("Done."); }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var networks = context.Networks; var networkContext = new HomeAutomationNetworkContext(context.Engine, context.ThreadPool); var network = new WeMoNetwork(networkContext); networks.Add(network); interpreter.WriteEvent("Done."); }
protected override void Execute_HomeAutomationNetworkDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var network = context.Network as OpenZWaveNetwork; var returnRoute = context.ReadParameter(ReturnRouteKey).ToBoolean(); interpreter.WriteEvent("Optimizing " + network); network.OptimizePaths(returnRoute); interpreter.WriteEvent("Done"); }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var networks = context.Networks; var address = context.ReadParameter("Address").Value; interpreter.WriteEvent("Searching for PiEngineering devices"); var network = new PiEngineeringNetwork(new HomeAutomationNetworkContext(context.Engine, context.ThreadPool), address); networks.Add(network); interpreter.WriteEvent("Done."); }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var originalXml = context.OriginalCommand; var networks = context.Networks; if (networks.Count == 0) { throw new HomeAutomationException("No home automation networks registered"); } var networkName = context.ReadParameter("Network").Value; Network network; if (networkName == "<default>") { if (networks.Count() == 1) { network = networks.First(); } else { throw new HomeAutomationException("Network must be specified, because there are multiple registered."); } } else if (!networks.Contains(networkName)) { throw new NetworkNotRegisteredException(networkName); } else { network = networks.GetNetwork(networkName); } try { var greaterContext = new HomeAutomationCommandContext(context) { Network = network }; Execute_HomeAutomationNetworkDefinition(greaterContext); } catch (HomeAutomationException e) { throw new HomeAutomationException(e.Message); } }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var originalXml = context.OriginalCommand; var networks = context.Networks; if (networks.Count == 0) { throw new HomeAutomationException("No home automation networks registered"); } var networkName = context.ReadParameter("Network").Value; Network network; if (networkName == "<default>") { if(networks.Count() == 1) { network = networks.First(); } else { throw new HomeAutomationException("Network must be specified, because there are multiple registered."); } } else if (!networks.Contains(networkName)) { throw new NetworkNotRegisteredException(networkName); } else { network = networks.GetNetwork(networkName); } try { var greaterContext = new HomeAutomationCommandContext(context) { Network = network }; Execute_HomeAutomationNetworkDefinition(greaterContext); } catch (HomeAutomationException e) { throw new HomeAutomationException(e.Message); } }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var networks = context.Networks; var port = context.ReadParameter("Port").Value; if (port.StartsWith("COM", StringComparison.InvariantCultureIgnoreCase)) { port = @"\\.\" + port; } interpreter.WriteEvent("Searching for Z-Wave network adapater at " + port + "..."); var network = new OpenZWaveNetwork(new HomeAutomationNetworkContext(context.Engine, context.ThreadPool), port); networks.Add(network); interpreter.WriteEvent("Done."); }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var scope = context.Scope; var networks = context.Networks; var retries = context.ReadParameter(RetriesParameterAttribute.Key).ToInteger(); Device device = null; if (scope.Local.ContainsVariable("Device")) { var allDevices = networks.SelectMany(x => x.Devices); var address = context.ReadParameter("Device").ToVirtualAddress(); device = allDevices.GetDevice(address); } var greaterContext = new HomeAutomationSingleDeviceContext(context) { Device = device }; while (true) { try { Execture_HomeAutomationSingleDeviceDefinition(greaterContext); return; } catch (HomeAutomationException exception) { if (retries == 0) { throw; } interpreter.WriteEvent("retrying: " + exception.Message); if (retries > 0) { retries--; } } } }
protected override void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context) { var interpreter = context.Interpreter; var scope = context.Scope; var networks = context.Networks; var retries = context.ReadParameter(RetriesParameterAttribute.Key).ToInteger(); Device device = null; if (scope.Local.ContainsVariable("Device")) { var allDevices = networks.SelectMany(x => x.Devices); var address = context.ReadParameter("Device").ToVirtualAddress(); device = allDevices.GetDevice(address); } var greaterContext = new HomeAutomationSingleDeviceContext(context) { Device = device }; while (true) { try { Execture_HomeAutomationSingleDeviceDefinition(greaterContext); return; } catch (HomeAutomationException exception) { if (retries == 0) { throw; } interpreter.WriteEvent("retrying: " + exception.Message); if (retries > 0) { retries--; } } } }
protected abstract void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context);
protected override void Execute_Definition(RoomieCommandContext context) { var greaterContext = new HomeAutomationCommandContext(context); Execute_HomeAutomationDefinition(greaterContext); }
protected abstract void Execute_HomeAutomationDefinition(HomeAutomationCommandContext context);
protected override void Execute_Definition(RoomieCommandContext context) { var greaterContext = new HomeAutomationCommandContext(context); Execute_HomeAutomationDefinition(greaterContext); }
protected override void Execute_HomeAutomationNetworkDefinition(HomeAutomationCommandContext context) { var network = context.Network as Q42HueNetwork; network.UpdateList(); }
public HomeAutomationCommandContext(HomeAutomationCommandContext context) : this((RoomieCommandContext) context) { Network = context.Network; }
public HomeAutomationCommandContext(HomeAutomationCommandContext context) : this((RoomieCommandContext)context) { Network = context.Network; }