class derivedKPI(object): """ Class to implement derived KPIs calculation""" def __init__(self): """ Initialize frequently used parameters""" file_name = os.path.basename(__file__).split('.')[0] self.logger = log_function(file_name) self.config_obj = Config() user_authentication = self.config_obj.user_authentication() gateway = self.config_obj.gateway() derived_KPI = self.config_obj.derived_KPI() self.auth_URL = user_authentication['Auth_URL'] self.derivedKPI_url = derived_KPI['DerivedKPI_url'] self.derivedKPI_fetch_interval = derived_KPI['DerivedKPI_fetch_interval'] self.access_key = user_authentication['access_key'] self.user_key = user_authentication['user_key'] self.user_id = user_authentication['user_id'] self.token = user_authentication['token'] self.application_id = user_authentication['application_id'] self.auth_password = user_authentication['password'] self.gateway_id = gateway['gateway_id'] self.redis_obj_perf_data = redis_conn(db_name = 'REDIS_PERF_DATA') redis_obj_derived_kpi_data = redis_conn(db_name ='REDIS_DERIVED_KPI') try : self.api_response = eval(redis_obj_derived_kpi_data.get("Derived_KPI")) except Exception,error : self.api_response = None self.redis_obj_derived_kpi_data = redis_conn(db_name ='REDIS_DERIVED_KPI')
def __init__(self): """ From config file, get and initialization all variables. """ file_name = os.path.basename(__file__).split('.')[0] self.logger = log_function(file_name) self.redis_obj_register = redis_conn(db_name='REDIS_REGISTER') self.config_obj = Config()
def __init__(self): file_name = os.path.basename(__file__).split('.')[0] #self.logger = log_function(file_name) self.config_obj = Config() iothub = self.config_obj.iothub() self.IoTHub_IP = iothub['IP'] self.IoTHub_port = iothub['Port'] self.publisher = False self.derivedKPI_obj = derivedKPI() self.redis_obj_perf_data = redis_conn('REDIS_PERF_DATA') connection_lost = self.config_obj.wait_for_connection() self.DataSource = connection_lost['data_source'] self.ServiceName = connection_lost['service_name']
''' Created on 20-Dec-2016 @author: TERAMATRIX/siddhika.nag Script to format data as recognized by xFusion Platform and store in in-memory DB for further computation ''' from logger import log_function from datetime import datetime import os from IotGateway.connection import redis_conn from IotGateway.config import Config file_name = (os.path.basename(__file__)).split('.')[0] redis_obj_perf_data = redis_conn('REDIS_PERF_DATA') logger = log_function(file_name) #Python class to format data class Formatter(): def __init__(self): self.config_obj = Config() self.restrict_data = self.config_obj.gateway()['restrict_data'] def format_data(self,formatted_data,device_id = None,service_name = None, data_source = None,\ current_value = None,check_timestamp= None,sys_timestamp = None,\ is_lat = False, is_long = False,is_host_state = False,\ on_state_value = None, off_state_value = None): """ Format data in list of JSON format including keys for
from dateutil.parser import parse file_name = os.path.basename(__file__).split('.')[0] from logger import log_function logger = log_function(file_name) #haversine used for calculate distance between two lat_lng from haversine import haversine # SDK Imports from IotGateway.publishData.publisher import PublisherIOTHub from IotGateway.registerDevice import registration from IotGateway.protocol.data_formatter import Formatter from IotGateway.connection import redis_conn redis_obj_perf_data_register = redis_conn(db_name='REDIS_REGISTER') redis_obj_perf_data = redis_conn('REDIS_PERF_DATA') registrationObj = registration.registration() formatter_obj = Formatter() pub_obj = PublisherIOTHub() host = '192.168.1.38' port = 9000 threadcounter = 0 count = 0 class service(SocketServer.BaseRequestHandler): def __init__(self, request, client_address, server): SocketServer.BaseRequestHandler.__init__(self, request, client_address, server)