def load_sensors(self): self.logg.log("load sensors") try: self.db = Database.instance() sensors = self.db.get_sensors() self.logg.log(sensors) t_create = time.time() if sensors is not None: for s in sensors: s1: Sensor = Sensor() s1.id = s["sensor_id"] s1.log_rate = s["log_rate"] s1.topic_name = s["topic_name"] s1.topic_code = s["topic_code"] s1.type = s["sensor_type_code"] s1.ts = t_create s1.log_ts = t_create # self.logg.log(json.dumps(s1.__dict__)) self.sensors.append(s1) topics = self.db.get_topics() if topics is not None: for t in topics: t1: MQTTTopic = MQTTTopic(t) self.topics.append(t1) self.logg.log(self.topics) self.logg.log(self.sensors) except: self.logg.log(Utils.format_exception(self.__class__.__name__))
def connect(self): self.ext_apis = Constants.conf["ENV"]["EXT_API"] self.logstart = Constants.conf["ENV"]["EXT_API_LOG_INIT"] print(self.ext_apis) self.db = Database.instance() sensors: List[Sensor] = self.db.get_sensors() print(sensors) if sensors is not None: self.check_create_sensors(sensors)
def create_message_model(self, data): msg = MQTTMessage() msg.data = data msg.ts = datetime.now() return msg def run(self): t0 = time.time() while True: time.sleep(Constants.LOOP_DELAY) t1 = time.time() try: if (t1 - t0) >= self.default_log_rate or self.logstart: self.logstart = False t0 = t1 self.logg.log("Requesting ext api") self.request_data() # self.log_sensor_data() except: Utils.print_exception(self.__class__.__name__) if __name__ == '__main__': Constants.load() Utils.log("config loaded") db = Database.instance() test = ExtApi.instance() print("requesting data") test.connect() test.request_data()