Example #1
0
        public XMLRPCHomegearConnectionService(
            Homegear homegear,
            RPCController rpcController,
            ILightSwitchesPersistenceService lightSwitchesPersistence,
            IDoorWindowSensorPersistenceService doorWindowSensorActivityPersistence,
            IExternalWallSocketsPersistenceService externalWallSocketPersistenceService,
            ILogger <XMLRPCHomegearConnectionService> logger,
            IDevicesService <LightSwitchModel> lightSwitchesService)
        {
            _homegearController = rpcController;
            _homegear           = homegear;
            _logger             = logger;

            _homegearController.ServerConnected += rpc_serverConnected;

            //this.homegear.Reloaded += homegear_OnReloaded;
            //this.homegear.ConnectError += homegear_OnConnectError;
            _homegear.ReloadRequired        += homegear_OnReloadRequired;
            _homegear.DeviceReloadRequired  += homegear_OnDeviceReloadRequired;
            _homegear.DeviceVariableUpdated += homegear_OnDeviceVariableUpdated;

            _eventLoggerFactory = new EventHandlerFactory();

            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.LightSwitch, LightSwitchVariables.STATE, new LightSwitchEventHandler(lightSwitchesPersistence));
            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.DoorWindowMagneticSensor, DoorWindowSensorVariables.STATE, new DoorWindowSensorStateEventHandler(doorWindowSensorActivityPersistence, lightSwitchesService));
            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.DoorWindowMagneticSensor, DoorWindowSensorVariables.LOWBAT, new DoorWindowSensorLowBatteryEventHandler(doorWindowSensorActivityPersistence));
            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.ExternalWallSocket, ExternalWallSocketVariables.CURRENT, new ExternalWallSocketHandler(externalWallSocketPersistenceService));
            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.ExternalWallSocket, ExternalWallSocketVariables.VOLTAGE, new ExternalWallSocketHandler(externalWallSocketPersistenceService));
            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.ExternalWallSocket, ExternalWallSocketVariables.FREQUENCY, new ExternalWallSocketHandler(externalWallSocketPersistenceService));
            _eventLoggerFactory.RegisterEventLogger(HomegearDeviceTypes.ExternalWallSocket, ExternalWallSocketVariables.ENERGY_COUNTER, new ExternalWallSocketHandler(externalWallSocketPersistenceService));
        }
Example #2
0
 public ExternalWallSocketHandler(IExternalWallSocketsPersistenceService wallSocketsDBService)
 {
     _wallSocketsDBService = wallSocketsDBService;
 }