private static void Provider_ServiceJoined(DeviceProviders.IProvider sender, DeviceProviders.ServiceJoinedEventArgs args) { var device = args.Service; if (device.ImplementsInterface("org.allseen.LSF.LampState")) { device.JoinSession(); var light = new LightingDevice(device); light.Initialize(); lock (lockLights) _Lights.Add(light.DeviceId, light); System.Diagnostics.Debug.WriteLine($"Light found: {light.DeviceId} {light.DeviceName}"); LampFound?.Invoke(null, light); light.LampStateChanged += Light_LampStateChanged; } }
Stream(ArrayList data, MEPModel mepModel) { data.Add(new Snoop.Data.ClassSeparator(typeof(MEPModel))); data.Add(new Snoop.Data.Object("Connector manager", mepModel.ConnectorManager)); data.Add(new Snoop.Data.Enumerable("Electrical systems", mepModel.ElectricalSystems)); ElectricalEquipment elecEquip = mepModel as ElectricalEquipment; if (elecEquip != null) { Stream(data, elecEquip); return; } LightingDevice lightDevice = mepModel as LightingDevice; if (lightDevice != null) { Stream(data, lightDevice); return; } LightingFixture lightFixture = mepModel as LightingFixture; if (lightFixture != null) { Stream(data, lightFixture); return; } MechanicalEquipment mechEquip = mepModel as MechanicalEquipment; if (mechEquip != null) { Stream(data, mechEquip); return; } MechanicalFitting mechFitting = mepModel as MechanicalFitting; if (mechFitting != null) { Stream(data, mechFitting); return; } }
private void LightingClientService_LightFound(object sender, LightingDevice e) { LampProducer.Signals.LampsFound(new List<string>() { e.DeviceId }.AsReadOnly()); }
Stream(ArrayList data, LightingDevice lightDevice) { data.Add(new Snoop.Data.ClassSeparator(typeof(LightingDevice))); // no data at this level }
Stream(ArrayList data, LightingDevice lightDevice) { data.Add(new Snoop.Data.ClassSeparator(typeof(LightingDevice))); // no data at this level }
/// <summary> /// Drase /// </summary> void SetUpButtonActions() { if (DeviceType == eLightsDeviceType.Scenes) { uint joinOffset = ComputeJoinOffset(); // Clear preceding buttons for (uint i = 1; i < joinOffset; i++) { TriList.SetString(StringJoinBase + i, ""); TriList.SetSigFalseAction(ButtonPressJoinBase + i, () => { }); TriList.SetBool(ButtonVisibleJoinBase + i, false); } foreach (var scene in LightingDevice.LightingScenes) { TriList.SetString(StringJoinBase + joinOffset, scene.Name); var tempScene = scene; TriList.SetSigFalseAction(ButtonPressJoinBase + joinOffset, () => LightingDevice.SelectScene(tempScene)); scene.IsActiveFeedback.LinkInputSig(TriList.BooleanInput[ButtonPressJoinBase + joinOffset]); TriList.SetBool(ButtonVisibleJoinBase + joinOffset, true); joinOffset++; } // Clear following buttons for (uint i = joinOffset; i <= 6; i++) { TriList.SetString(StringJoinBase + i, ""); TriList.SetSigFalseAction(ButtonPressJoinBase + i, () => { }); TriList.SetBool(ButtonVisibleJoinBase + i, false); } } }