public LifxGateway(IMessageQueue messageQueue, IDeviceConfigurationBackupService deviceConfigurationBackupService) : base("Lifx")
        {
            _messageQueue = messageQueue;
            _deviceConfigurationBackupService = deviceConfigurationBackupService;
            _canCreateDevices = false;
            _token            = ConfigurationManager.AppSettings["lifx.token"];

            _localClient.DeviceDiscovered += (s, e) =>
            {
                AddLifxDevice(e.Id, () => new LifxDevice(e));
            };

            _localClient.VariableChanged += (s, e) =>
            {
                var device = _devices.ToArray().Cast <LifxDevice>().SingleOrDefault(d => d.Id.Equals(e.Item1.Id));

                if (device != null)
                {
                    device.Name = e.Item1.Name;
                }

                var variable = $"{Name}.{e.Item1.Id}.{e.Item2}";
                _messageQueue.Publish(new UpdateVariableMessage(variable, e.Item3));
            };
        }
Beispiel #2
0
 public MyStromGateway(
     IMessageQueue messageQueue,
     IMyStromDeviceNameService myStromDeviceNameService,
     IDeviceConfigurationBackupService deviceConfigurationBackupService) : base("myStrom")
 {
     _messageQueue                     = messageQueue;
     _myStromDeviceNameService         = myStromDeviceNameService;
     _deviceConfigurationBackupService = deviceConfigurationBackupService;
     _canCreateDevices                 = false;
 }
 public PhilipsHueBridgeDiscoveringService(
     IMessageQueue messageQueue,
     IVariableRepository variableRepository,
     IDeviceConfigurationBackupService deviceConfigurationBackupService)
 {
     _lock               = new object();
     _bridges            = new Dictionary <string, PhilipsHueBridge>(StringComparer.OrdinalIgnoreCase);
     _messageQueue       = messageQueue;
     _variableRepository = variableRepository;
     _deviceConfigurationBackupService = deviceConfigurationBackupService;
 }