def __init__(self, name, core_services): self.__name = name self.__core = core_services self._logger = init_module_logger(name) ## Local State Variables: self.__lora_manager = None self._extended_address_setting = None # Settings # # xbee_device_manager: must be set to the name of an XBeeDeviceManager # instance. # extended_address: the extended address of the XBee Sensor device you # would like to monitor. # # Advanced settings: # # None settings_list = [ Setting( name='lora_device_manager', type=str, required=True), Setting( name='extended_address', type=str, required=True), Setting( name='log_level', type=str, required=False, default_value='DEBUG', verify_function=check_debug_level_setting), ] ## Channel Properties Definition: property_list = [ # getable properties ChannelSourceDeviceProperty(name='software_version', type=str, initial=Sample(timestamp=digitime.time(), value=VERSION_NUMBER), perms_mask= DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), # setable properties ChannelSourceDeviceProperty(name='simulate_xbee_frame', type=str, initial=Sample(timestamp=0, value=''), perms_mask= DPROP_PERM_SET, options=DPROP_OPT_AUTOTIMESTAMP, set_cb=self._simulate_xbee_frame_cb), ChannelSourceDeviceProperty(name='command', type=str, initial=Sample(timestamp=0, value=''), perms_mask= DPROP_PERM_SET, options=DPROP_OPT_AUTOTIMESTAMP, set_cb=self._send_command_to_sensor_cb), ] ## Initialize the DeviceBase interface: DeviceBase.__init__(self, self.__name, self.__core, settings_list, property_list)
def __init__(self, name, core_services): ## Initialize and declare class variables self.__name = name self.__core = core_services self.__logger = init_module_logger(name) ## Settings Table Definition: settings_list = [ Setting(name='baudrate', type=int, required=False, default_value=38400, verify_function=lambda x: x > 0), Setting(name='port', type=str, required=False, default_value='11'), Setting(name='mainloop_serial_read_timeout', type=int, required=False, default_value=30), Setting(name='log_level', type=str, required=False, default_value='DEBUG', verify_function=check_debug_level_setting), ] ## Channel Properties Definition: property_list = [ ChannelSourceDeviceProperty(name='software_version', type=str, initial=Sample( timestamp=digitime.time(), value=VERSION_NUMBER), perms_mask=DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), ChannelSourceDeviceProperty(name="LoRaPlugAndSenseFrame", type=str, initial=Sample(timestamp=0, value=''), perms_mask=DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), ] ## Initialize the DeviceBase interface: DeviceBase.__init__(self, self.__name, self.__core, settings_list, property_list) ## Thread initialization: self.__stopevent = threading.Event() threading.Thread.__init__(self, name=name) threading.Thread.setDaemon(self, True)
def __init__(self, name, core_services): self.__name = name self.__core = core_services self.__logger = init_module_logger(name) ## Settings Table Definition: settings_list = [ Setting(name='log_level', type=str, required=False, default_value='DEBUG', verify_function=check_debug_level_setting), ] ## Channel Properties Definition: property_list = [ # gettable properties ChannelSourceDeviceProperty(name="raw_out", type=str, initial=Sample(timestamp=0, value=""), perms_mask=DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), # settable properties ChannelSourceDeviceProperty(name="raw_in", type=str, initial=Sample( timestamp=0, value='__INITIAL_SAMPLE__'), perms_mask=DPROP_PERM_SET, set_cb=self.__prop_set_raw_in), ChannelSourceDeviceProperty(name='software_version', type=str, initial=Sample(timestamp=0, value=_VERSION_NUMBER), perms_mask=DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), ] ## Initialize the DeviceBase interface: DeviceBase.__init__(self, self.__name, self.__core, settings_list, property_list) ## Thread initialization: self.__stopevent = threading.Event() threading.Thread.__init__(self, name=name) threading.Thread.setDaemon(self, True)
def __init__(self, name, core_services): self.__name = name self.__core = core_services self.__logger = init_module_logger(logger_name=name, max_backups=1) ## Settings Table Definition: settings_list = [ Setting(name='update_rate', type=float, required=False, default_value=5.0, verify_function=lambda x: x > 0.0), Setting(name='blinks', type=int, required=False, default_value=20, verify_function=lambda x: (x > 0 and x < 50)), Setting(name='blink_speed', type=float, required=False, default_value=0.25, verify_function=lambda x: (x > 0.0 and x < 5.0)), Setting(name='cli_command', type=str, required=False, default_value=''), Setting(name='command_channel', type=str, required=True), Setting(name='log_level', type=str, required=False, default_value='DEBUG', verify_function=check_debug_level_setting), ] ## Channel Properties Definition: property_list = [] ## Initialize the DeviceBase interface: DeviceBase.__init__(self, self.__name, self.__core, settings_list, property_list) ## Thread initialization: self.__stopevent = threading.Event() threading.Thread.__init__(self, name=name) threading.Thread.setDaemon(self, True)
def __init__(self, name, core_services): ## Initialize and declare class variables self.__name = name self.__core = core_services self.__cm = self.__core.get_service("channel_manager") self.__cp = self.__cm.channel_publisher_get() self.__cdb = self.__cm.channel_database_get() self._ec_key_to_dia_command_channel_name_cache = {} self._logger = init_module_logger(name) self._subscribed_channels = [] self._ec_access_point_pub_key_setting = None self._dia_module_name_to_ec_device_public_key_setting_map = None self._sensor_channel_list_to_subscribe_to_setting = None self._incoming_command_channel_setting = None # semaphores and synchronization variables self._receive_sensor_data_callback_lock = threading.Lock() # will be appended to a DIA module name to get the name of the # channel to be used to send received commands self._sensor_channel_name_where_to_forward_commands = "command" settings_list = [ Setting(name='ec_access_point_pub_key', type=str, required=False), Setting(name='channels', type=list, required=True, default_value=[]), Setting(name='exclude', type=list, required=False, default_value=[]), Setting(name='dia_channel_to_ec_sensor', type=dict, required=False, default_value={}), Setting(name='dia_module_to_ec_pub_key', type=dict, required=False, default_value={}), Setting(name='incoming_command_channel', type=str, required=False, default_value=''), Setting(name='log_level', type=str, required=False, default_value='DEBUG', verify_function=check_debug_level_setting), ] # Channel Properties Definition: property_list = [ # properties ChannelSourceDeviceProperty(name='json_data', type=str, initial=Sample(timestamp=digitime.time(), value=""), perms_mask= DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), ChannelSourceDeviceProperty(name='software_version', type=str, initial=Sample(timestamp=digitime.time(), value=VERSION_NUMBER), perms_mask= DPROP_PERM_GET, options=DPROP_OPT_AUTOTIMESTAMP), ] ## Initialize the DeviceBase interface: DeviceBase.__init__(self, self.__name, self.__core, settings_list, property_list) self.__stopevent = threading.Event() threading.Thread.__init__(self, name=name) threading.Thread.setDaemon(self, True)
def __init__(self, name, core_services): self.__name = name self.__core = core_services self._logger = init_module_logger(name) self._published_ip_address = None # Configuration Settings: settings_list = [ Setting(name="hostname", type=str, required=True), Setting(name="domainname", type=str, required=False, default_value="dtdns.net"), Setting(name="dtdns_server_host", type=str, required=False, default_value="www.dtdns.com"), Setting(name="dtdns_server_port", type=int, required=False, default_value=80), Setting(name="dtdns_password", type=str, required=True), Setting(name="use_proxy", type=bool, required=False, default_value=False), Setting(name="proxy_host", type=str, required=False, default_value="proxy"), Setting(name="proxy_port", type=int, required=False, default_value=8080), Setting(name="address_update_rate", type=int, required=False, default_value=600), Setting(name="check_for_valid_address_rate", type=int, required=False, default_value=30), Setting(name="interface", type=str, required=False, default_value='mobile0'), Setting(name="no_digicli", type=bool, required=False, default_value=False), Setting(name='log_level', type=str, required=False, default_value='DEBUG', verify_function=check_debug_level_setting), ] PresentationBase.__init__(self, name=name, settings_list=settings_list) self.__stopevent = threading.Event() return