void insteon_DeviceChanged(object sender, DeviceChangedEventArgs args) { DeviceId id = args.State.Device.Address; DeviceReference reference = new DeviceReference(id.ToString(), PluginName); BasicDevice device = callbacks.Devices.FindDevice(reference); if (device != null) { InsteonDeviceData deviceData = (InsteonDeviceData)device.AutomationData; if (args.State.Device is DimmingLight) { DimmingLight onOffDevice = (DimmingLight)args.State.Device; FroggyPlugin.Devices.PercentLevelDevice basicDevice = (FroggyPlugin.Devices.PercentLevelDevice)callbacks.Devices.FindDevice(reference); // Update the value, this will automatically propogate events everywhere (even back to this plugin). basicDevice.Level = onOffDevice.OnLevel * 100 / 255; } else if (args.State.Device is OnOffDevice) { OnOffDevice onOffDevice = (OnOffDevice)args.State.Device; FroggyPlugin.Devices.OnOffDevice basicDevice = (FroggyPlugin.Devices.OnOffDevice)callbacks.Devices.FindDevice(reference); basicDevice.On = onOffDevice.OnLevel != 0; } } }
void insteon_DeviceAdded(object sender, DeviceAddedEventArgs args) { DeviceId id = args.Device.Address; DeviceReference reference = new DeviceReference(id.ToString(), PluginName); BasicDevice device = callbacks.Devices.FindDevice(reference); if (device != null) { InsteonDeviceData deviceData = (InsteonDeviceData)device.AutomationData; } else { InsteonDeviceData deviceData = new InsteonDeviceData(args.Device.Category, args.Device.Subcategory); if (args.Device is DimmingLight) { DimmingLight dimmer = (DimmingLight)args.Device; FroggyPlugin.Devices.PercentLevelDevice basic = new FroggyPlugin.Devices.PercentLevelDevice(); basic.Address = reference; basic.Name = args.Device.DeviceName; basic.Level = dimmer.OnLevel * 100 / 255; basic.AutomationData = deviceData; callbacks.Devices.AddDevice(basic); } else if (args.Device is OnOffDevice) { OnOffDevice onOffDevice = (OnOffDevice)args.Device; FroggyPlugin.Devices.OnOffDevice basic = new FroggyPlugin.Devices.OnOffDevice(); basic.Address = reference; basic.Name = args.Device.DeviceName; basic.On = onOffDevice.OnLevel != 0; basic.AutomationData = deviceData; callbacks.Devices.AddDevice(basic); } } }
public ActionResult DeleteConfirmed(int id) { DeviceReference deviceReference = db.deviceReference.Find(id); db.deviceReference.Remove(deviceReference); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "DeviceReferenceId,DeviceModel,DeviceBrand,DeviceColor,DeviceCapacity,DeviceBattery,DeviceDescription")] DeviceReference deviceReference) { if (ModelState.IsValid) { db.Entry(deviceReference).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(deviceReference)); }
public ActionResult Create([Bind(Include = "DeviceReferenceId,DeviceModel,DeviceBrand,DeviceColor,DeviceCapacity,DeviceBattery,DeviceDescription")] DeviceReference deviceReference) { if (ModelState.IsValid) { db.deviceReference.Add(deviceReference); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(deviceReference)); }
/// <summary> /// Finds the device info off the insteon thingy in the basic system. /// </summary> /// <param name="id">The device id to lookup</param> /// <returns>The category, or null if none known</returns> public Tuple <byte, byte> GetDeviceCategory(DeviceId id) { DeviceReference reference = new DeviceReference(id.ToString(), PluginName); BasicDevice device = callbacks.Devices.FindDevice(reference); if (device != null) { InsteonDeviceData deviceData = (InsteonDeviceData)device.AutomationData; return(Tuple.Create(deviceData.Category, deviceData.SubCategory)); } return(null); }
/// <summary> /// Finds the device in system. /// </summary> /// <param name="device">The device to find</param> public BasicDevice FindDevice(DeviceReference reference) { IList <BasicDevice> items = db.Query <BasicDevice>(delegate(BasicDevice input) { return(input.Address.Equals(reference)); }); if (items.Count > 0) { return(items.First()); } else { return(null); } }
// GET: DeviceReference/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } DeviceReference deviceReference = db.deviceReference.Find(id); if (deviceReference == null) { return(HttpNotFound()); } return(View(deviceReference)); }