/// <summary> /// Initializes a new instance of the <see cref="InterfaceSkelton"/> class. /// </summary> public InterfaceSkelton() { // Creating modules would normally be done in either the connect method or within the GetModules() Method // See https://github.com/Bounz/HomeGenie-BE/blob/master/MIG/MIG.Interfaces.HomeAutomation.ZWave/ZWave.cs for an example // The default constuctor can then be removed. this.modules = new List <InterfaceModule>(); // manually add some fake modules var module_1 = new InterfaceModule { Domain = this.GetDomain(), Address = "1", ModuleType = ModuleTypes.Light }; var module_2 = new InterfaceModule { Domain = this.GetDomain(), Address = "2", ModuleType = ModuleTypes.Sensor }; var module_3 = new InterfaceModule { Domain = this.GetDomain(), Address = "3", ModuleType = ModuleTypes.Sensor }; // add them to the modules list this.modules.Add(module_1); this.modules.Add(module_2); this.modules.Add(module_3); }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); if (x10lib != null) { InterfaceModule module = new InterfaceModule(); // CM-15 RF receiver if (this.GetOption("Port").Value.Equals("USB")) { module.Domain = this.GetDomain(); module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); } // Standard X10 modules foreach (var kv in x10lib.Modules) { module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = kv.Value.Code; module.ModuleType = ModuleTypes.Switch; module.Description = "X10 Module"; modules.Add(module); } // CM-15 RF Security modules modules.AddRange(securityModules); } return(modules); }
private void W800Rf32_RfCommandReceived(object sender, RfCommandReceivedEventArgs args) { string address = args.HouseCode.ToString() + args.UnitCode.ToString().Split('_')[1]; if (args.UnitCode == X10UnitCode.Unit_NotSet) { return; } var module = modules.Find(m => m.Address == address); if (module == null) { module = new InterfaceModule(); module.Domain = X10_DOMAIN; module.Address = address; module.Description = "W800RF32 module"; module.ModuleType = ModuleTypes.Switch; module.CustomData = 0.0D; modules.Add(module); OnInterfacePropertyChanged(this.GetDomain(), "1", "W800RF32 Receiver", ModuleEvents.Receiver_Status, "Added module " + address); OnInterfaceModulesChanged(X10_DOMAIN); } switch (args.Command) { case X10RfFunction.On: module.CustomData = 1.0D; break; case X10RfFunction.Off: module.CustomData = 0.0D; break; case X10RfFunction.Bright: double lbri = module.CustomData; lbri += 0.1; if (lbri > 1) { lbri = 1; } module.CustomData = lbri; break; case X10RfFunction.Dim: double ldim = module.CustomData; ldim -= 0.1; if (ldim < 0) { ldim = 0; } module.CustomData = ldim; break; case X10RfFunction.AllLightsOn: break; case X10RfFunction.AllLightsOff: break; } OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleEvents.Status_Level, module.CustomData); }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); if (controller != null) { for (int d = 0; d < controller.Devices.Count; d++) { var node = controller.Devices[d]; if (node.NodeId == 0x01) // zwave controller id { continue; } // // add new module InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = node.NodeId.ToString(); //module.Description = "ZWave Node"; module.ModuleType = ModuleTypes.Generic; if (node.GenericClass != 0x00) { switch (node.GenericClass) { case 0x10: // BINARY SWITCH module.Description = "ZWave Switch"; module.ModuleType = ModuleTypes.Switch; break; case 0x11: // MULTILEVEL SWITCH (DIMMER) module.Description = "ZWave Multilevel Switch"; module.ModuleType = ModuleTypes.Dimmer; break; case 0x08: // THERMOSTAT module.Description = "ZWave Thermostat"; module.ModuleType = ModuleTypes.Thermostat; break; case 0x20: // BINARY SENSOR module.Description = "ZWave Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case 0x21: // MULTI-LEVEL SENSOR module.Description = "ZWave Multilevel Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case 0x31: // METER module.Description = "ZWave Meter"; module.ModuleType = ModuleTypes.Sensor; break; } } modules.Add(module); } } return(modules); }
public List <InterfaceModule> GetModules() { var module = new InterfaceModule(); var modules = new List <InterfaceModule>(); // CM15 / CM19 RF transceiver if (portName == Cm15LibDriverPort || portName == Cm19LibDriverPort) { module.Domain = this.GetDomain(); module.Address = "RF"; if (portName == Cm15LibDriverPort) { module.Description = "CM15 Transceiver"; } else { module.Description = "CM19 Transceiver"; } module.ModuleType = ModuleTypes.Sensor; modules.Add(module); } // Standard X10 modules foreach (var kv in x10Lib.Modules) { module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = kv.Value.Code; module.ModuleType = ModuleTypes.Switch; module.Description = "X10 Module"; modules.Add(module); } // CM15 / CM19 RF Security modules modules.AddRange(securityModules); return(modules); }
public void OnSetOption(Option option) { // parse option if (option.Name == "Port" && option.Value != null) { Disconnect(); portName = this.GetOption("Port").Value.Replace("|", "/"); } else if (option.Name == "HouseCodes" && option.Value != null) { // this option ends up in XTenLib to build the modules list that is used by CM19Lib as well var houseCodes = this.GetOption("HouseCodes"); x10Lib.HouseCode = houseCodes.Value; // this will rebuild XTenLib.Modules list // Build CM19Lib module list to store modules Level value (uses XTenLib.Modules to enumerate standard modules) standardModules.Clear(); foreach (var m in x10Lib.Modules) { var module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = m.Value.Code; module.Description = m.Value.Description; module.ModuleType = ModuleTypes.Switch; module.CustomData = m.Value.Level; standardModules.Add(module); } OnInterfaceModulesChanged(this.GetDomain()); } // re-connect if an interface option is updated if (IsEnabled) { Connect(); } }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); if (x10lib != null) { // CM-15 RF receiver // TODO: this shouldn't be created for CM-11 InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); foreach (var kv in x10lib.Modules) { module = new InterfaceModule(); module.Domain = this.Domain; module.Address = kv.Value.Code; module.ModuleType = ModuleTypes.Generic; module.Description = "X10 Module"; modules.Add(module); } } return(modules); }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); return(modules); }
private void controPoint_OnAddedDevice(UpnpSmartControlPoint sender, UPnPDevice device) { if (String.IsNullOrWhiteSpace(device.StandardDeviceType)) { return; } //foreach (UPnPService s in device.Services) //{ // s.Subscribe(1000, new UPnPService.UPnPEventSubscribeHandler(_subscribe_sink)); //} lock (deviceOperationLock) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = device.UniqueDeviceName; module.Description = device.FriendlyName + " (" + device.ModelName + ")"; if (device.StandardDeviceType == "MediaRenderer") { module.ModuleType = MIG.ModuleTypes.MediaReceiver; } else if (device.StandardDeviceType == "MediaServer") { module.ModuleType = MIG.ModuleTypes.MediaTransmitter; } else if (device.StandardDeviceType == "SwitchPower") { module.ModuleType = MIG.ModuleTypes.Switch; } else if (device.StandardDeviceType == "BinaryLight") { module.ModuleType = MIG.ModuleTypes.Light; } else if (device.StandardDeviceType == "DimmableLight") { module.ModuleType = MIG.ModuleTypes.Dimmer; } else { module.ModuleType = MIG.ModuleTypes.Sensor; } module.CustomData = new DeviceHolder() { Device = device, Initialized = false }; modules.Add(module); // OnInterfacePropertyChanged(this.GetDomain(), "1", "DLNA/UPnP Controller", "Controller.Status", "Added node " + module.Description); } OnInterfaceModulesChanged(this.GetDomain()); }
/// <summary> /// The GetModules /// </summary> /// <returns>The <see cref="List{InterfaceModule}"/></returns> public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); InterfaceModule module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = "AV0"; module.Description = "Video 4 Linux Video Input"; module.ModuleType = MIG.ModuleTypes.Sensor; modules.Add(module); return(modules); }
public W800RF() { w800Rf32 = new RfReceiver(); w800Rf32.RfCommandReceived += W800Rf32_RfCommandReceived; w800Rf32.RfDataReceived += W800Rf32_RfDataReceived; w800Rf32.RfSecurityReceived += W800Rf32_RfSecurityReceived; modules = new List<InterfaceModule>(); // Add RF receiver module InterfaceModule module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); }
/// <summary> /// Gets the Interface Modules /// </summary> /// <returns>List containing the interfaces modules</returns> public List <InterfaceModule> GetModules() { var modules = new List <InterfaceModule>(); // Get Devices from the controller this.devices = this.LoadAllDevices(); foreach (var device in this.devices) { var module = new InterfaceModule { Domain = this.GetDomain(), Address = device.ID.ToString() }; switch (device.ApplicationType) { case DeviceType.Light: Log.Debug($"Adding Module {device.ApplicationType}"); module.Description = "Light"; module.ModuleType = ModuleTypes.Dimmer; break; case DeviceType.Remote: Log.Debug($"Adding Module {device.ApplicationType}"); module.Description = "Binary Switch"; module.ModuleType = ModuleTypes.Switch; break; case DeviceType.Unknown_1: Log.Debug($"Adding Module {device.ApplicationType}"); break; case DeviceType.Unknown_2: Log.Debug($"Adding Module {device.ApplicationType}"); break; default: Log.Debug($"Adding Module {device.ApplicationType}"); module.Description = "Unknown Type"; module.ModuleType = ModuleTypes.Generic; break; } modules.Add(module); } return(modules); }
private int SensorUpdated( string protocol, string model, int id, int dataType, string val, int timestamp, int callbackId, object obj, UnmanagedException ex) { Console.WriteLine("TS: " + protocol + ", " + model + ", " + id + ", " + dataType + ", " + val + ", " + timestamp + ", " + callbackId); var module = interfaceModules.FirstOrDefault(i => i.Address == id.ToString()); if (module == null) { module = new InterfaceModule { Domain = Domain, Address = id.ToString(), Description = model + " - " + protocol, ModuleType = ModuleTypes.Sensor }; interfaceModules.Add(module); InterfaceModulesChangedAction(new InterfaceModulesChangedAction { Domain = Domain }); } var path = ModuleParameters.MODPAR_STATUS_LEVEL; if (dataType == (int)TelldusLib.DataType.TEMPERATURE) { path = ModuleParameters.MODPAR_SENSOR_TEMPERATURE; } else if (dataType == (int)TelldusLib.DataType.HUMIDITY) { path = ModuleParameters.MODPAR_SENSOR_HUMIDITY; } InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = Domain, SourceId = module.Address, SourceType = "Tellstick Sensor", Path = path, Value = val }); //Sensor.Temperature //MODPAR_SENSOR_TEMPERATURE return(1); }
public W800RF() { w800Rf32 = new RfReceiver(); w800Rf32.RfCommandReceived += W800Rf32_RfCommandReceived; w800Rf32.RfDataReceived += W800Rf32_RfDataReceived; w800Rf32.RfSecurityReceived += W800Rf32_RfSecurityReceived; modules = new List <InterfaceModule>(); // Add RF receiver module InterfaceModule module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); }
private InterfaceModule AddSecurityModule(ModuleTypes moduleType, string address) { InterfaceModule module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = address; module.Description = "X10 Security"; module.ModuleType = moduleType; module.CustomData = 0D; securityModules.Add(module); SerializeModules(SecurityModulesDb, securityModules); OnInterfacePropertyChanged(module.Domain, "RF", "X10 RF Receiver", ModuleEvents.Receiver_Status, "Added module " + address + " (" + moduleType + ")"); OnInterfaceModulesChanged(module.Domain); return(module); }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); foreach (var rv in GpioPins) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = rv.Key; module.Description = "Raspberry Pi GPIO"; module.ModuleType = MIG.ModuleTypes.Switch; modules.Add(module); } return(modules); }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); foreach (var rv in RegPins) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.ModuleType = MIG.ModuleTypes.Sensor; module.Address = rv.Key; module.Description = "Weeco-4M Register"; modules.Add(module); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = module.Domain, SourceId = module.Address, SourceType = module.Description, Path = "Status.Level", Value = rv.Value }); } // digital in/out foreach (var rv in GpioPins) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = rv.Key; module.Description = "Weeco-4M GPIO"; module.ModuleType = MIG.ModuleTypes.Switch; modules.Add(module); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = module.Domain, SourceId = module.Address, SourceType = module.Description, Path = "Status.Level", Value = (rv.Value ? "1" : "0") }); } return(modules); }
public InterfaceSkelton() { modules = new List<InterfaceModule>(); // manually add some fake modules var module_1 = new InterfaceModule(); module_1.Domain = this.GetDomain(); module_1.Address = "1"; module_1.ModuleType = ModuleTypes.Light; var module_2 = new InterfaceModule(); module_2.Domain = this.GetDomain(); module_2.Address = "2"; module_2.ModuleType = ModuleTypes.Sensor; var module_3 = new InterfaceModule(); module_3.Domain = this.GetDomain(); module_3.Address = "3"; module_3.ModuleType = ModuleTypes.Sensor; // add them to the modules list modules.Add(module_1); modules.Add(module_2); modules.Add(module_3); }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = "AV0"; module.Description = "Video 4 Linux Video Input"; module.ModuleType = MIG.ModuleTypes.Sensor; InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = module.Address, SourceType = "Camera Input", Path = "Widget.DisplayModule", Value = "homegenie/generic/camerainput" }); modules.Add(module); return(modules); }
private int SensorUpdated( string protocol, string model, int id, int dataType, string val, int timestamp, int callbackId, object obj, UnmanagedException ex) { Console.WriteLine("TS: " + protocol + ", " + model + ", " + id + ", " + dataType + ", " + val + ", " + timestamp + ", " + callbackId); var module = interfaceModules.FirstOrDefault(i => i.Address == id.ToString()); if (module == null) { module = new InterfaceModule { Domain = Domain, Address = id.ToString(), Description = model + " - " + protocol, ModuleType = ModuleTypes.Sensor }; interfaceModules.Add(module); OnInterfaceModulesChanged(this.GetDomain()); } var path = ModuleEvents.Status_Level; if (dataType == (int)TelldusLib.DataType.TEMPERATURE) { path = ModuleEvents.Sensor_Temperature; } else if (dataType == (int)TelldusLib.DataType.HUMIDITY) { path = ModuleEvents.Sensor_Humidity; } OnInterfacePropertyChanged(this.GetDomain(), module.Address, Event_Sensor_Description, path, val); return(1); }
public InterfaceSkelton() { modules = new List <InterfaceModule>(); // manually add some fake modules var module_1 = new InterfaceModule(); module_1.Domain = this.GetDomain(); module_1.Address = "1"; module_1.ModuleType = ModuleTypes.Light; var module_2 = new InterfaceModule(); module_2.Domain = this.GetDomain(); module_2.Address = "2"; module_2.ModuleType = ModuleTypes.Sensor; var module_3 = new InterfaceModule(); module_3.Domain = this.GetDomain(); module_3.Address = "3"; module_3.ModuleType = ModuleTypes.Sensor; // add them to the modules list modules.Add(module_1); modules.Add(module_2); modules.Add(module_3); }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); if (x10lib != null) { InterfaceModule module = new InterfaceModule(); // CM-15 RF receiver if (this.GetOption("Port").Value.Equals("USB")) { module.Domain = this.GetDomain(); module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); } // Standard X10 modules foreach (var kv in x10lib.Modules) { module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = kv.Value.Code; module.ModuleType = ModuleTypes.Switch; module.Description = "X10 Module"; modules.Add(module); } // CM-15 RF Security modules modules.AddRange(securityModules); } return modules; }
private int SensorUpdated( string protocol, string model, int id, int dataType, string val, int timestamp, int callbackId, object obj, UnmanagedException ex) { Console.WriteLine("TS: " + protocol + ", " + model + ", " + id + ", " + dataType + ", " + val + ", " + timestamp + ", " + callbackId); var module = interfaceModules.FirstOrDefault(i => i.Address == id.ToString()); if (module == null) { module = new InterfaceModule { Domain = Domain, Address = id.ToString(), Description = model + " - " + protocol, ModuleType = ModuleTypes.Sensor }; interfaceModules.Add(module); InterfaceModulesChangedAction(new InterfaceModulesChangedAction { Domain = Domain }); } var path = ModuleParameters.MODPAR_STATUS_LEVEL; if(dataType == (int)TelldusLib.DataType.TEMPERATURE) path = ModuleParameters.MODPAR_SENSOR_TEMPERATURE; else if(dataType == (int)TelldusLib.DataType.HUMIDITY) path = ModuleParameters.MODPAR_SENSOR_HUMIDITY; InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = Domain, SourceId = module.Address, SourceType = "Tellstick Sensor", Path = path, Value = val }); //Sensor.Temperature //MODPAR_SENSOR_TEMPERATURE return 1; }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); foreach (var rv in GpioPins) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = rv.Key; module.Description = "Raspberry Pi GPIO"; module.ModuleType = MIG.ModuleTypes.Switch; modules.Add(module); } return modules; }
private void controPoint_OnAddedDevice(UpnpSmartControlPoint sender, UPnPDevice device) { if (String.IsNullOrWhiteSpace(device.StandardDeviceType)) return; //foreach (UPnPService s in device.Services) //{ // s.Subscribe(1000, new UPnPService.UPnPEventSubscribeHandler(_subscribe_sink)); //} lock (deviceOperationLock) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = device.UniqueDeviceName; module.Description = device.FriendlyName + " (" + device.ModelName + ")"; if (device.StandardDeviceType == "MediaRenderer") { module.ModuleType = MIG.ModuleTypes.MediaReceiver; } else if (device.StandardDeviceType == "MediaServer") { module.ModuleType = MIG.ModuleTypes.MediaTransmitter; } else if (device.StandardDeviceType == "SwitchPower") { module.ModuleType = MIG.ModuleTypes.Switch; } else if (device.StandardDeviceType == "BinaryLight") { module.ModuleType = MIG.ModuleTypes.Light; } else if (device.StandardDeviceType == "DimmableLight") { module.ModuleType = MIG.ModuleTypes.Dimmer; } else { module.ModuleType = MIG.ModuleTypes.Sensor; } module.CustomData = new DeviceHolder() { Device = device, Initialized = false }; modules.Add(module); // if (InterfacePropertyChangedAction != null) InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = "1", SourceType = "DLNA/UPnP Controller", Path = "Controller.Status", Value = "Added node " + module.Description }); } if (InterfaceModulesChangedAction != null) InterfaceModulesChangedAction(new InterfaceModulesChangedAction() { Domain = this.Domain }); }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); InterfaceModule module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = "AV0"; module.Description = "Video 4 Linux Video Input"; module.ModuleType = MIG.ModuleTypes.Sensor; modules.Add(module); return modules; }
private void UpdateModuleLevel(InterfaceModule module) { OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleEvents.Status_Level, module.CustomData.ToString(CultureInfo.InvariantCulture)); }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); foreach (var rv in RegPins) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.ModuleType = MIG.ModuleTypes.Sensor; module.Address = rv.Key; module.Description = "Weeco-4M Register"; modules.Add(module); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = module.Domain, SourceId = module.Address, SourceType = module.Description, Path = "Status.Level", Value = rv.Value }); } // digital in/out foreach (var rv in GpioPins) { InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = rv.Key; module.Description = "Weeco-4M GPIO"; module.ModuleType = MIG.ModuleTypes.Switch; modules.Add(module); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = module.Domain, SourceId = module.Address, SourceType = module.Description, Path = "Status.Level", Value = (rv.Value ? "1" : "0") }); } return modules; }
private void W800Rf32_RfSecurityReceived(object sender, RfSecurityReceivedEventArgs args) { //args.Event == X10RfSecurityEvent. string address = "S-" + args.Address.ToString("X2"); var moduleType = ModuleTypes.Generic; if (args.Event.ToString().StartsWith("DoorSensor1_")) { address += "01"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("DoorSensor2_")) { address += "02"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("Motion_")) { moduleType = ModuleTypes.Sensor; } else if (args.Event.ToString().StartsWith("Remote_")) { address = "S-REMOTE"; moduleType = ModuleTypes.Sensor; } var module = modules.Find(m => m.Address == address); if (module == null) { module = new InterfaceModule(); module.Domain = X10_DOMAIN; module.Address = address; module.Description = "W800RF32 security module"; module.ModuleType = moduleType; module.CustomData = 0.0D; modules.Add(module); RaisePropertyChanged(this.Domain, "1", "W800RF32 Receiver", "Receiver.Status", "Added security module " + address); if (InterfaceModulesChangedAction != null) { InterfaceModulesChangedAction(new InterfaceModulesChangedAction() { Domain = this.Domain }); } } switch (args.Event) { case X10RfSecurityEvent.DoorSensor1_Alert: case X10RfSecurityEvent.DoorSensor2_Alert: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Status.Level", 1); break; case X10RfSecurityEvent.DoorSensor1_Normal: case X10RfSecurityEvent.DoorSensor2_Normal: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Status.Level", 0); break; case X10RfSecurityEvent.DoorSensor1_BatteryLow: case X10RfSecurityEvent.DoorSensor2_BatteryLow: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Status.Battery", 10); break; case X10RfSecurityEvent.DoorSensor1_BatteryOk: case X10RfSecurityEvent.DoorSensor2_BatteryOk: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Status.Battery", 100); break; case X10RfSecurityEvent.Motion_Alert: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Status.Level", 1); break; case X10RfSecurityEvent.Motion_Normal: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Status.Level", 0); break; case X10RfSecurityEvent.Remote_Arm: case X10RfSecurityEvent.Remote_Disarm: case X10RfSecurityEvent.Remote_Panic: case X10RfSecurityEvent.Remote_LightOn: case X10RfSecurityEvent.Remote_LightOff: var evt = args.Event.ToString(); evt = evt.Substring(evt.IndexOf('_') + 1); RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Sensor.Key", evt); break; } }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); if (x10lib != null) { // CM-15 RF receiver // TODO: this shouldn't be created for CM-11 InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = "RF"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); foreach (var kv in x10lib.ModulesStatus) { module = new InterfaceModule(); module.Domain = this.Domain; module.Address = kv.Value.Code; module.ModuleType = ModuleTypes.Generic; module.Description = "X10 Module"; modules.Add(module); } } return modules; }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); for (int d = 0; d < this.UpnpControlPoint.DeviceTable.Count; d++) { var device = (UPnPDevice)(this.UpnpControlPoint.DeviceTable[d]); InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = device.UniqueDeviceName; module.Description = device.FriendlyName + " (" + device.ModelName + ")"; module.ModuleType = MIG.ModuleTypes.Sensor; if (device.StandardDeviceType == "MediaRenderer") { InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.DeviceType", Value = device.StandardDeviceType }); module.ModuleType = MIG.ModuleTypes.MediaReceiver; InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "Widget.DisplayModule", Value = "homegenie/generic/mediareceiver" }); } else if (device.StandardDeviceType == "MediaServer") { InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "Widget.DisplayModule", Value = "homegenie/generic/mediaserver" }); } else if (device.StandardDeviceType == "SwitchPower") { module.ModuleType = MIG.ModuleTypes.Switch; } else if (device.StandardDeviceType == "BinaryLight") { module.ModuleType = MIG.ModuleTypes.Light; } else if (device.StandardDeviceType == "DimmableLight") { module.ModuleType = MIG.ModuleTypes.Dimmer; } else if (device.HasPresentation) { InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "Widget.DisplayModule", Value = "homegenie/generic/link" }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "FavouritesLink.Url", Value = device.PresentationURL }); } InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.DeviceURN", Value = device.DeviceURN }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.DeviceURN_Prefix", Value = device.DeviceURN_Prefix }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.FriendlyName", Value = device.FriendlyName }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.LocationURL", Value = device.LocationURL }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.Version", Value = device.Major + "." + device.Minor }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.ModelName", Value = device.ModelName }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.ModelNumber", Value = device.ModelNumber }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.ModelDescription", Value = device.ModelDescription }); if (device.ModelURL != null) { InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.ModelURL", Value = device.ModelURL.ToString() }); } InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.Manufacturer", Value = device.Manufacturer }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.ManufacturerURL", Value = device.ManufacturerURL }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.PresentationURL", Value = device.PresentationURL }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.UniqueDeviceName", Value = device.UniqueDeviceName }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.SerialNumber", Value = device.SerialNumber }); InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = device.UniqueDeviceName, SourceType = "UPnP " + device.FriendlyName, Path = "UPnP.StandardDeviceType", Value = device.StandardDeviceType }); modules.Add(module); } return modules; }
private void W800Rf32_RfSecurityReceived(object sender, RfSecurityReceivedEventArgs args) { string address = "S-" + args.Address.ToString("X6"); var moduleType = ModuleTypes.Sensor; if (args.Event.ToString().StartsWith("DoorSensor1_")) { address += "01"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("DoorSensor2_")) { address += "02"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("Motion_")) { moduleType = ModuleTypes.Sensor; } else if (args.Event.ToString().StartsWith("Remote_")) { address = "S-REMOTE"; moduleType = ModuleTypes.Sensor; } var module = modules.Find(m => m.Address == address); if (module == null) { module = new InterfaceModule(); module.Domain = X10_DOMAIN; module.Address = address; module.Description = "W800RF32 security module"; module.ModuleType = moduleType; module.CustomData = 0.0D; modules.Add(module); RaisePropertyChanged(this.Domain, "1", "W800RF32 Receiver", "Receiver.Status", "Added security module " + address); if (InterfaceModulesChangedAction != null) InterfaceModulesChangedAction(new InterfaceModulesChangedAction(){ Domain = this.Domain }); } switch (args.Event) { case X10RfSecurityEvent.DoorSensor1_Alert: case X10RfSecurityEvent.DoorSensor2_Alert: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleParameters.MODPAR_STATUS_LEVEL, 1); break; case X10RfSecurityEvent.DoorSensor1_Normal: case X10RfSecurityEvent.DoorSensor2_Normal: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleParameters.MODPAR_STATUS_LEVEL, 0); break; case X10RfSecurityEvent.DoorSensor1_BatteryLow: case X10RfSecurityEvent.DoorSensor2_BatteryLow: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleParameters.MODPAR_STATUS_BATTERY, 10); break; case X10RfSecurityEvent.DoorSensor1_BatteryOk: case X10RfSecurityEvent.DoorSensor2_BatteryOk: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleParameters.MODPAR_STATUS_BATTERY, 100); break; case X10RfSecurityEvent.Motion_Alert: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleParameters.MODPAR_STATUS_LEVEL, 1); break; case X10RfSecurityEvent.Motion_Normal: RaisePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleParameters.MODPAR_STATUS_LEVEL, 0); break; case X10RfSecurityEvent.Remote_Arm: case X10RfSecurityEvent.Remote_Disarm: case X10RfSecurityEvent.Remote_Panic: case X10RfSecurityEvent.Remote_LightOn: case X10RfSecurityEvent.Remote_LightOff: var evt = args.Event.ToString(); evt = evt.Substring(evt.IndexOf('_') + 1); RaisePropertyChanged(module.Domain, module.Address, "X10 Module", "Sensor.Key", evt); break; } }
private void W800Rf32_RfSecurityReceived(object sender, RfSecurityReceivedEventArgs args) { string address = "S-" + args.Address.ToString("X6"); var moduleType = ModuleTypes.Sensor; if (args.Event.ToString().StartsWith("DoorSensor1_")) { address += "01"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("DoorSensor2_")) { address += "02"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("Motion_")) { moduleType = ModuleTypes.Sensor; } else if (args.Event.ToString().StartsWith("Remote_")) { address = "S-REMOTE"; moduleType = ModuleTypes.Sensor; } var module = modules.Find(m => m.Address == address); if (module == null) { module = new InterfaceModule(); module.Domain = X10_DOMAIN; module.Address = address; module.Description = "W800RF32 security module"; module.ModuleType = moduleType; module.CustomData = 0.0D; modules.Add(module); OnInterfacePropertyChanged(this.GetDomain(), "1", "W800RF32 Receiver", ModuleEvents.Receiver_Status, "Added security module " + address); OnInterfaceModulesChanged(X10_DOMAIN); } switch (args.Event) { case X10RfSecurityEvent.DoorSensor1_Alert: case X10RfSecurityEvent.DoorSensor2_Alert: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 1); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 0); break; case X10RfSecurityEvent.DoorSensor1_Alert_Tarmper: case X10RfSecurityEvent.DoorSensor2_Alert_Tamper: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 1); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 1); break; case X10RfSecurityEvent.DoorSensor1_Normal: case X10RfSecurityEvent.DoorSensor2_Normal: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 0); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 0); break; case X10RfSecurityEvent.DoorSensor1_Normal_Tamper: case X10RfSecurityEvent.DoorSensor2_Normal_Tamper: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 0); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 1); break; case X10RfSecurityEvent.DoorSensor1_BatteryLow: case X10RfSecurityEvent.DoorSensor2_BatteryLow: case X10RfSecurityEvent.Motion_BatteryLow: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Battery, 10); break; case X10RfSecurityEvent.DoorSensor1_BatteryOk: case X10RfSecurityEvent.DoorSensor2_BatteryOk: case X10RfSecurityEvent.Motion_BatteryOk: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Battery, 100); break; case X10RfSecurityEvent.Motion_Alert: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 1); break; case X10RfSecurityEvent.Motion_Normal: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 0); break; case X10RfSecurityEvent.Remote_Arm: case X10RfSecurityEvent.Remote_Disarm: case X10RfSecurityEvent.Remote_Panic: case X10RfSecurityEvent.Remote_Panic_15: case X10RfSecurityEvent.Remote_LightOn: case X10RfSecurityEvent.Remote_LightOff: var evt = args.Event.ToString(); evt = evt.Substring(evt.IndexOf('_') + 1); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Remote", ModuleEvents.Sensor_Key, evt); break; } }
private void W800Rf32_RfCommandReceived(object sender, RfCommandReceivedEventArgs args) { string address = args.HouseCode.ToString() + args.UnitCode.ToString().Split('_')[1]; if (args.UnitCode == X10UnitCode.Unit_NotSet) return; var module = modules.Find(m => m.Address == address); if (module == null) { module = new InterfaceModule(); module.Domain = X10_DOMAIN; module.Address = address; module.Description = "W800RF32 module"; module.ModuleType = ModuleTypes.Switch; module.CustomData = 0.0D; modules.Add(module); OnInterfacePropertyChanged(this.GetDomain(), "1", "W800RF32 Receiver", ModuleEvents.Receiver_Status, "Added module " + address); OnInterfaceModulesChanged(X10_DOMAIN); } switch (args.Command) { case X10RfFunction.On: module.CustomData = 1.0D; break; case X10RfFunction.Off: module.CustomData = 0.0D; break; case X10RfFunction.Bright: double lbri = module.CustomData; lbri += 0.1; if (lbri > 1) lbri = 1; module.CustomData = lbri; break; case X10RfFunction.Dim: double ldim = module.CustomData; ldim -= 0.1; if (ldim < 0) ldim = 0; module.CustomData = ldim; break; case X10RfFunction.AllLightsOn: break; case X10RfFunction.AllLightsOff: break; } OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Module", ModuleEvents.Status_Level, module.CustomData); }
private void X10lib_RfSecurityReceived(object sender, RfSecurityReceivedEventArgs args) { string address = "S-" + args.Address.ToString("X6"); var moduleType = ModuleTypes.Sensor; if (args.Event.ToString().StartsWith("DoorSensor1_")) { address += "01"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("DoorSensor2_")) { address += "02"; moduleType = ModuleTypes.DoorWindow; } else if (args.Event.ToString().StartsWith("Motion_")) { moduleType = ModuleTypes.Sensor; } else if (args.Event.ToString().StartsWith("Remote_")) { address = "S-REMOTE"; moduleType = ModuleTypes.Sensor; } var module = securityModules.Find(m => m.Address == address); if (module == null) { module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = address; module.Description = "X10 Security"; module.ModuleType = moduleType; module.CustomData = 0.0D; securityModules.Add(module); OnInterfacePropertyChanged(this.GetDomain(), "RF", "X10 RF Receiver", ModuleEvents.Receiver_Status, "Added security module " + address); OnInterfaceModulesChanged(this.GetDomain()); } switch (args.Event) { case X10RfSecurityEvent.DoorSensor1_Alert: case X10RfSecurityEvent.DoorSensor2_Alert: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 1); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 0); break; case X10RfSecurityEvent.DoorSensor1_Alert_Tarmper: case X10RfSecurityEvent.DoorSensor2_Alert_Tamper: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 1); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 1); break; case X10RfSecurityEvent.DoorSensor1_Normal: case X10RfSecurityEvent.DoorSensor2_Normal: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 0); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 0); break; case X10RfSecurityEvent.DoorSensor1_Normal_Tamper: case X10RfSecurityEvent.DoorSensor2_Normal_Tamper: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 0); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Sensor_Tamper, 1); break; case X10RfSecurityEvent.DoorSensor1_BatteryLow: case X10RfSecurityEvent.DoorSensor2_BatteryLow: case X10RfSecurityEvent.Motion_BatteryLow: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Battery, 10); break; case X10RfSecurityEvent.DoorSensor1_BatteryOk: case X10RfSecurityEvent.DoorSensor2_BatteryOk: case X10RfSecurityEvent.Motion_BatteryOk: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Battery, 100); break; case X10RfSecurityEvent.Motion_Alert: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 1); break; case X10RfSecurityEvent.Motion_Normal: OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Sensor", ModuleEvents.Status_Level, 0); break; case X10RfSecurityEvent.Remote_Arm: case X10RfSecurityEvent.Remote_Disarm: case X10RfSecurityEvent.Remote_Panic: case X10RfSecurityEvent.Remote_Panic_15: case X10RfSecurityEvent.Remote_LightOn: case X10RfSecurityEvent.Remote_LightOff: var evt = args.Event.ToString(); evt = evt.Substring(evt.IndexOf('_') + 1); OnInterfacePropertyChanged(module.Domain, module.Address, "X10 Security Remote", ModuleEvents.Sensor_Key, evt); break; } }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = "AV0"; module.Description = "Video 4 Linux Video Input"; module.ModuleType = MIG.ModuleTypes.Sensor; InterfacePropertyChangedAction(new InterfacePropertyChangedAction() { Domain = this.Domain, SourceId = module.Address, SourceType = "Camera Input", Path = "Widget.DisplayModule", Value = "homegenie/generic/camerainput" }); modules.Add(module); return modules; }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); if (IsConnected) { foreach (var sensor in _gateway.GetSensors()) { if (sensor.NodeId == 0) // My Sensors Gateway { continue; } // // add new module InterfaceModule module = new InterfaceModule { Domain = this.Domain, Address = string.Format("{0}.{1}", sensor.NodeId, sensor.Id) }; //module.Description = "ZWave Node"; switch (sensor.SensorType) { case SensorPresentationType.S_DOOR: { module.Description = "MySensors Door/Window Sensor"; module.ModuleType = ModuleTypes.DoorWindow; } break; case SensorPresentationType.S_MOTION: { module.Description = "MySensors Motion Sensor"; module.ModuleType = ModuleTypes.Motion; } break; case SensorPresentationType.S_SMOKE: break; case SensorPresentationType.S_LIGHT: { module.Description = "MySensors Light Switch"; module.ModuleType = ModuleTypes.Light; } break; case SensorPresentationType.S_DIMMER: break; case SensorPresentationType.S_COVER: break; case SensorPresentationType.S_TEMP: break; case SensorPresentationType.S_HUM: break; case SensorPresentationType.S_BARO: break; case SensorPresentationType.S_WIND: break; case SensorPresentationType.S_RAIN: break; case SensorPresentationType.S_UV: break; case SensorPresentationType.S_WEIGHT: break; case SensorPresentationType.S_POWER: break; case SensorPresentationType.S_HEATER: break; case SensorPresentationType.S_DISTANCE: break; case SensorPresentationType.S_LIGHT_LEVEL: break; case SensorPresentationType.S_ARDUINO_NODE: break; case SensorPresentationType.S_ARDUINO_REPEATER_NODE: break; case SensorPresentationType.S_LOCK: break; case SensorPresentationType.S_IR: break; case SensorPresentationType.S_WATER: break; case SensorPresentationType.S_AIR_QUALITY: break; case SensorPresentationType.S_CUSTOM: break; case SensorPresentationType.S_DUST: break; case SensorPresentationType.S_SCENE_CONTROLLER: break; default: module.ModuleType = ModuleTypes.Generic; break; } modules.Add(module); } } return(modules); }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); if (controller != null) { for(int d = 0; d < controller.Devices.Count; d++) { var node = controller.Devices[d]; if (node.Id == 0x01) // main zwave controller continue; // // add new module InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = node.Id.ToString(); //module.Description = "ZWave Node"; module.ModuleType = ModuleTypes.Generic; if (node.GenericClass != (byte)GenericType.None) { switch (node.GenericClass) { case (byte)GenericType.StaticController: module.Description = "Static Controller"; module.ModuleType = ModuleTypes.Generic; break; case (byte)GenericType.SwitchBinary: module.Description = "Binary Switch"; module.ModuleType = ModuleTypes.Switch; break; case (byte)GenericType.SwitchMultilevel: module.Description = "Multilevel Switch"; module.ModuleType = ModuleTypes.Dimmer; break; case (byte)GenericType.Thermostat: module.Description = "Thermostat"; module.ModuleType = ModuleTypes.Thermostat; break; case (byte)GenericType.SensorAlarm: module.Description = "Alarm Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.SensorBinary: module.Description = "Binary Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.SensorMultilevel: module.Description = "Multilevel Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.Meter: module.Description = "ZWave Meter"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.EntryControl: module.Description = "ZWave Door Lock"; module.ModuleType = ModuleTypes.DoorLock; break; } } modules.Add(module); } } return modules; }
public List <InterfaceModule> GetModules() { List <InterfaceModule> modules = new List <InterfaceModule>(); if (controller != null) { for (int d = 0; d < controller.Nodes.Count; d++) { var node = controller.Nodes[d]; // add new module InterfaceModule module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = node.Id.ToString(); //module.Description = "ZWave Node"; module.ModuleType = ModuleTypes.Generic; if (node.ProtocolInfo.GenericType != (byte)GenericType.None) { switch (node.ProtocolInfo.GenericType) { case (byte)GenericType.StaticController: module.Description = "Static Controller"; module.ModuleType = ModuleTypes.Generic; break; case (byte)GenericType.SwitchBinary: module.Description = "Binary Switch"; module.ModuleType = ModuleTypes.Switch; break; case (byte)GenericType.SwitchMultilevel: module.Description = "Multilevel Switch"; module.ModuleType = ModuleTypes.Dimmer; break; case (byte)GenericType.Thermostat: module.Description = "Thermostat"; module.ModuleType = ModuleTypes.Thermostat; break; case (byte)GenericType.SensorAlarm: module.Description = "Alarm Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.SensorBinary: module.Description = "Binary Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.SensorMultilevel: module.Description = "Multilevel Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.Meter: module.Description = "ZWave Meter"; module.ModuleType = ModuleTypes.Sensor; break; case (byte)GenericType.EntryControl: module.Description = "ZWave Door Lock"; module.ModuleType = ModuleTypes.DoorLock; break; } } modules.Add(module); } } return(modules); }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = "IR"; module.ModuleType = ModuleTypes.Sensor; modules.Add(module); return modules; }
public KnxInterface() { _modules = new List <InterfaceModule>(); XmlDocument doc = new XmlDocument(); doc.Load("groupaddresses.xml"); var addresses = doc.GetElementsByTagName("GroupAddress"); foreach (XmlNode item in addresses) { var attributes = item.Attributes; var address = attributes["Address"].Value.ToString(); var name = attributes["Name"].Value.ToString(); if (attributes["DPTs"] == null) { continue; } var dpt = attributes["DPTs"].Value.ToString().Split('-'); var maintype = int.Parse(dpt[1]); var subtype = int.Parse(dpt[2]); var module = new InterfaceModule(); module.Domain = this.GetDomain(); module.Address = address.ToString().Replace("/", "."); module.Description = name; switch (maintype) { case 1: switch (subtype) { case 1: case 2: case 3: module.ModuleType = ModuleTypes.Switch; break; } break; case 2: module.ModuleType = ModuleTypes.Generic; break; case 3: module.ModuleType = ModuleTypes.Dimmer; break; case 4: module.ModuleType = ModuleTypes.Generic; break; case 5: case 6: case 7: case 8: module.ModuleType = ModuleTypes.Sensor; break; case 9: switch (subtype) { case 1: case 2: case 3: module.ModuleType = ModuleTypes.Temperature; break; default: module.ModuleType = ModuleTypes.Sensor; break; } break; default: module.ModuleType = ModuleTypes.Generic; break; } _modules.Add(module); } }
public List<InterfaceModule> GetModules() { List<InterfaceModule> modules = new List<InterfaceModule>(); if (controller != null) { for(int d = 0; d < controller.Devices.Count; d++) { var node = controller.Devices[d]; if (node.NodeId == 0x01) // zwave controller id continue; // // add new module InterfaceModule module = new InterfaceModule(); module.Domain = this.Domain; module.Address = node.NodeId.ToString(); //module.Description = "ZWave Node"; module.ModuleType = ModuleTypes.Generic; if (node.GenericClass != 0x00) { switch (node.GenericClass) { case 0x10: // BINARY SWITCH module.Description = "ZWave Switch"; module.ModuleType = ModuleTypes.Switch; break; case 0x11: // MULTILEVEL SWITCH (DIMMER) module.Description = "ZWave Multilevel Switch"; module.ModuleType = ModuleTypes.Dimmer; break; case 0x08: // THERMOSTAT module.Description = "ZWave Thermostat"; module.ModuleType = ModuleTypes.Thermostat; break; case 0x20: // BINARY SENSOR module.Description = "ZWave Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case 0x21: // MULTI-LEVEL SENSOR module.Description = "ZWave Multilevel Sensor"; module.ModuleType = ModuleTypes.Sensor; break; case 0x31: // METER module.Description = "ZWave Meter"; module.ModuleType = ModuleTypes.Sensor; break; } } modules.Add(module); } } return modules; }
private int SensorUpdated( string protocol, string model, int id, int dataType, string val, int timestamp, int callbackId, object obj, UnmanagedException ex) { Console.WriteLine("TS: " + protocol + ", " + model + ", " + id + ", " + dataType + ", " + val + ", " + timestamp + ", " + callbackId); var module = interfaceModules.FirstOrDefault(i => i.Address == id.ToString()); if (module == null) { module = new InterfaceModule { Domain = Domain, Address = id.ToString(), Description = model + " - " + protocol, ModuleType = ModuleTypes.Sensor }; interfaceModules.Add(module); OnInterfaceModulesChanged(this.GetDomain()); } var path = ModuleEvents.Status_Level; if (dataType == (int)TelldusLib.DataType.TEMPERATURE) path = ModuleEvents.Sensor_Temperature; else if (dataType == (int)TelldusLib.DataType.HUMIDITY) path = ModuleEvents.Sensor_Humidity; OnInterfacePropertyChanged(this.GetDomain(), module.Address, Event_Sensor_Description, path, val); return 1; }