예제 #1
0
        public MQTTAlarmZoneMgr(ServiceMQTT serviceMQTT)
        {
            //serviceManager = mgr;
            ServiceMQTT = serviceMQTT;

            //TODO:: Add to configurtaion
            BaseTopic = "test/";


            Initialize();
        }
예제 #2
0
        protected override void onInitialize()
        {
            ConfigSensor cfg = getConfig <ConfigSensor>();

            topicState = cfg.getParameterValue(ConfigCore.PARAMETER_TOPIC_STATE);
            sensorType = cfg.getParameterValue(ConfigCore.PARAMETER_TYPE);
            ServiceMQTT serviceMQTT = (ServiceMQTT)getManager().getServiceByName(CoreDaemonService.SERVICE_ID_MQTT);

            if (serviceMQTT != null)
            {
                serviceMQTT.Subscribe(topicState, this.onMqttMessage);
            }
        }
예제 #3
0
        protected void OnSetupAlarmManager()
        {
            ServiceMQTT mqtt_service = (ServiceMQTT)getServiceByName(CoreDaemonService.SERVICE_ID_MQTT);

            if (mqtt_service != null)
            {
                alarmManager = new MQTTAlarmZoneMgr((ServiceMQTT)getServiceByName(CoreDaemonService.SERVICE_ID_MQTT));
            }
            else
            {
                alarmManager = null;
            }
        }
예제 #4
0
        private async Task _InitializeServices()
        {
            ZoneGuardConfigContextFactory factory = new ZoneGuardConfigContextFactory();

            using (ZoneGuardConfigContext context = factory.CreateDbContext())
            {
                /***************************************************************
                *
                *  Load Services
                *
                ***************************************************************/
                List <ThingDAL> services = await context.Thing
                                           .Where <ThingDAL>(t => t.ThingType == ThingType.Service)
                                           .Include(p => p.Parameters)
                                           .ToListAsync <ThingDAL>();

                foreach (ThingDAL serviceDAL in services)
                {
                    Console.WriteLine(serviceDAL.Name);
                    ConfigService configService = ZoneGuardConfigContextFactory.CreateThingFromDAL <ConfigService>(serviceDAL);

                    Console.WriteLine(configService.toJSON());

#if warning
#endif
                    //TODO:: MUST
                    //TODOO:: MIGRATE                    addSensor(new SensorProxy(configSensor, this), false);
                    ServiceCore service = null;
                    String      s       = configService.ConfigClass;
                    if (configService.ConfigClass == "ConfigServiceMQTT")
                    {
                        service = new ServiceMQTT((ConfigServiceMQTT)configService, this);
                    }
                    else if (configService.ConfigClass == "ConfigServiceMQ")
                    {
                        service = new ServiceMQ((ConfigServiceMQ)configService, this);
                    }
                    if (service != null)
                    {
                        addService(service);
                    }
                    else
                    {
                        Logger.LogWarning("Service '{0}' not created.", configService.Id);
                    }
                }
            }
        }
예제 #5
0
        protected override void onDestroy()
        {
            ServiceMQTT serviceMQTT = (ServiceMQTT)getManager().getServiceByName(CoreDaemonService.SERVICE_ID_MQTT);

            serviceMQTT.Unsubscribe(topicState);
        }