public static async Task Main(string[] args) { Logging.Factory.Subscribe((message) => WriteConsole(message)); var port = new SerialPort(SerialPort.GetPortNames().Where(element => element != "COM1").First()); var controller = new ZWaveController(port); try { await controller.Open(); WriteInfo($"Controller Version: {controller.Version}"); WriteInfo($"Controller ChipType: {controller.ChipType}"); WriteInfo($"Controller HomeID: {controller.HomeID:X}"); WriteInfo($"Controller NodeID: {controller.NodeID}"); WriteLine(); } catch (Exception ex) { WriteError(ex); } finally { await controller.Close(); } Console.ReadLine(); }
static async Task Main(string[] args) { Console.WriteLine("Hello World!"); var controller = new ZWaveController("COM5"); controller.Open(); controller.Channel.Log = Console.Out; var setLearnMode = await controller.SetLearnMode(true); var result = await controller.GetNodes(); var wallPlug = new WallPlug(result.Single(a => a.NodeID == 3)); await wallPlug.SwitchOn(); await Task.Delay(500); await wallPlug.SwitchOff(); await Task.Delay(500); await wallPlug.SwitchOn(); Console.ReadLine(); }
static void Main(string[] args) { var portName = System.IO.Ports.SerialPort.GetPortNames().Where(element => element != "COM1").First(); var controller = new ZWaveController(portName); //controller.Channel.Log = Console.Out; controller.Open(); try { Run(controller).Wait(); } catch (AggregateException ex) { foreach (var inner in ex.InnerExceptions) { LogMessage($"{inner}"); } } catch (Exception ex) { LogMessage($"{ex}"); } finally { Console.ReadLine(); controller.Close(); } }
public void Start() { _controller = new ZWaveController(new SerialPort(ZWavePortName)); _controller.ChannelClosed += LogChannelClosed; _controller.Error += LogError; _controller.Open(); }
public async Task SensorAlarm() { // the nodeID of the motion sensor byte motionSensorID = 5; // create the controller var controller = new ZWaveController("COM1"); // open the controller controller.Open(); // get the included nodes var nodes = await controller.GetNodes(); // get the motionSensor var motionSensor = nodes[motionSensorID]; // get the SensorAlarm commandclass var sensorAlarm = motionSensor.GetCommandClass <SensorAlarm>(); // subscribe to alarm event sensorAlarm.Changed += (s, e) => Console.WriteLine("Alarm"); // wait Console.ReadLine(); // close the controller controller.Close(); }
public async Task TurnWallPlugOn() { // the nodeID of the wallplug byte wallPlugNodeID = 3; // create the controller var controller = new ZWaveController("COM1"); // open the controller controller.Open(); // get the included nodes var nodes = await controller.GetNodes(); // get the wallplug var wallPlug = nodes[wallPlugNodeID]; // get the SwitchBinary commandclass var switchBinary = wallPlug.GetCommandClass <SwitchBinary>(); // turn wallplug on await switchBinary.Set(true); // close the controller controller.Close(); }
public void TestMethod1() { var controller = new ZWaveController("COM3"); controller.Open(); var version = controller.GetVersion().Result; controller.Close(); }
/// <summary> /// Invoked when the application is launched normally by the end user. Other entry points /// will be used such as when the application is launched to open a specific file. /// </summary> /// <param name="e">Details about the launch request and process.</param> protected override void OnLaunched(LaunchActivatedEventArgs e) { Task.Run(() => { var controller = new ZWaveController(0x0658, 0x0200); controller.Open(); var version = controller.GetVersion().Result; controller.Close(); }); }
private static ZWaveController CreateController(string portName) { var zwaveController = new ZWaveController(portName); //zwave.Channel.Log = new System.IO.StreamWriter(Console.OpenStandardOutput()); zwaveController.Channel.MaxRetryCount = 1; zwaveController.Channel.ResponseTimeout = TimeSpan.FromSeconds(10); zwaveController.Channel.ReceiveTimeout = TimeSpan.FromSeconds(10); zwaveController.Open(); return(zwaveController); }
static void Main(string[] args) { var portName = System.IO.Ports.SerialPort.GetPortNames().Where(element => element != "COM1").First(); var controller = new ZWaveController(portName); // netsh http add urlacl url=http://+:80/ user=Everyone // http://localhost:80/api/v1.0/controller/nodes/19/basic/get/ var server = new ZWave.Net.ZWaveRestServer(controller); server.Log = Console.Out; //controller.Channel.Log = Console.Out; controller.Open(); server.Open(); try { Run(controller).Wait(); } catch (AggregateException ex) { foreach (var inner in ex.InnerExceptions) { LogMessage($"{inner}"); } } catch (Exception ex) { LogMessage($"{ex}"); } finally { Console.ReadLine(); server.Close(); controller.Close(); } }
static async Task Main(string[] args) { Logging.Factory.Subscribe((message) => { if (message.Level >= LogLevel.Info) { WriteLogRecord(message); } }); var controller = new ZWaveController(UsbStick.AeotecZStick); try { await controller.Open(); await Dump(controller); WriteLine(); foreach (var node in controller.Nodes) { await Dump(node); WriteLine(); } } catch (Exception ex) { WriteError(ex); } finally { Console.ReadLine(); await controller.Close(); } }
static async Task Main(string[] args) { // create the controller var controller = new ZWaveController("COM3"); // open the controller controller.Open(); foreach (var node in await controller.GetNodes()) { Console.WriteLine(node.NodeID); var protocolInfo = await node.GetProtocolInfo(); Console.WriteLine(protocolInfo.BasicType); Console.WriteLine(protocolInfo.GenericType); var cces = await node.GetSupportedCommandClasses(); foreach (var cc in cces) { Console.WriteLine($"{cc.Class} {cc.Version}"); } if (protocolInfo.GenericType == GenericType.Thermostat) { var mode = node.GetCommandClass <ThermostatMode>(); //await mode.Set(ThermostatModeValue.Auto); var modeReport = await mode.Get(); Console.WriteLine($"Thermostat Mode: {modeReport.Mode}"); var fanMode = node.GetCommandClass <ThermostatFanMode>(); var fanModeReport = await fanMode.Get(); Console.WriteLine($"Fan Mode: {fanModeReport.Mode}"); var setpoint = node.GetCommandClass <ThermostatSetpoint>(); //await setpoint.Set(ThermostatSetpointType.Cooling, FloatToCentigrade(85)); var coolingReport = await setpoint.Get(ThermostatSetpointType.Cooling); Console.WriteLine($"Cooling Setpoint: {coolingReport.Value}"); //await setpoint.Set(ThermostatSetpointType.Heating, FloatToCentigrade(65)); var heatingReport = await setpoint.Get(ThermostatSetpointType.Heating); Console.WriteLine($"Heating Setpoint: {heatingReport.Value}"); var battery = node.GetCommandClass <Battery>(); var batteryReport = await battery.Get(); Console.WriteLine($"Battery: {batteryReport.Value}"); var sensor = node.GetCommandClass <SensorMultiLevel>(); var supportedSensorReport = await sensor.GetSupportedSensors(); foreach (var sensorInfo in supportedSensorReport.SupportedSensorTypes) { var value = await sensor.Get(sensorInfo); Console.WriteLine($"{sensorInfo}: {value.Value} {value.Unit}"); } var operatingState = node.GetCommandClass <ThermostatOperatingState>(); var operatingStateReport = await operatingState.Get(); Console.WriteLine($"Operating State: {operatingStateReport.Value}"); var fanState = node.GetCommandClass <ThermostatFanState>(); var fanStateReport = await fanState.Get(); Console.WriteLine($"Fan State: {fanStateReport.Value}"); } if (protocolInfo.GenericType == GenericType.SwitchBinary) { var setpoint = node.GetCommandClass <SwitchBinary>(); //await setpoint.Set(false); var setpointReport = await setpoint.Get(); Console.WriteLine(setpointReport.Value); } Console.WriteLine(); } }
public ZWaveControllerAccessor(ZWaveConfig options) { controller = new ZWaveController(options.ComPort); controller.Open(); }