Exemple #1
0
    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__))
Exemple #2
0
 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)
Exemple #3
0
    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()