def reciveDateTime(self): Date = "" Time = "" date = self.calendarWidget.selectedDate() Date += date.toString("yyyy MM dd") time = self.timeEdit.time() Time += time.toString("HH mm") self.year = Date[:4] self.month = Date[5:7] self.day = Date[8:10] self.hour = Time[:2] self.minute = Time[3:6] self.result += self.day + "." + self.month + "." + self.year + " в " + self.hour + ":" + self.minute
def get_hum(self): global mqtt_client global aws_count, humidity, hum_avg try: time = QTime.currentTime() self.today = datetime.now().strftime("%H:%M:%S %Y-%m-%d") humidity, temp = sensor.read(sensor.DHT22, 4) if temp is None or humidity is None: self.hum_value.setText('ERROR') connection_flag = 1 print("***********Connection removed**************") else: connection_flag = 0 self.hum_count = self.hum_count + 1 if self.hum_button == 1: self.hum_value.setText('{} %'.format(round(humidity, 4))) self.hum_time.setText( time.toString(Qt.DefaultLocaleLongDate)) self.hum_button = 0 hstr = self.hum_threshold.text() if not hstr: h = 50 else: h = int(hstr) if humidity > h: self.alarm_hum.setText('ALERT HIGH HUM') else: self.alarm_hum.setText('') hum_avg = 0 hum_list_count = 0 hum_list.append(round(humidity, 4)) ws_count = aws_count + 1 for i in hum_list: hum_avg = i + hum_avg hum_list_count = hum_list_count + 1 hum_avg = hum_avg / hum_list_count #send data to aws cloud #hum_message = "Hum;"+str(round(humidity,2))+";"+str(round(max(hum_list),2))+";"+str(round(min(hum_list),2))+";"+str(round(hum_avg,2))+";"+self.today+";" #print("{}".format(hum_message)) #mqtt_client.publish("RpiPolicy", hum_message, 0) if (self.hum_count % 8 == 0): self.last_hum_label.setText('Last value: {} %'.format( round(humidity, 2))) self.avg_hum_label.setText('Average: {} %'.format( round(hum_avg, 2))) self.high_hum_label.setText('Highest: {} %'.format( round(max(hum_list), 2))) self.low_hum_label.setText('Lowest: {} %'.format( round(min(hum_list), 2))) self.last_hum_time.setText('Time: {}'.format(self.today)) self.avg_hum_time.setText('Time: {}'.format(self.today)) self.high_hum_time.setText('Time: {}'.format(self.today)) self.low_hum_time.setText('Time: {}'.format(self.today)) global cur lock.acquire() #insert values in data base insert_statement = "INSERT INTO humidityDB (humidity, highest, lowest, average, last, timestamp) VALUES (%s, %s, %s, %s, %s, %s)" val = (humidity, max(hum_list), min(hum_list), hum_avg, humidity, self.today) cur.execute(insert_statement, val) db.commit() lock.release() # cur.execute("SELECT * FROM humdidityDB") finally: self.hum_button = 0 QTimer.singleShot(5000, self.get_hum)
def showTime(self): pass time = QDateTime.currentDateTime() timeDisplay = time.toString("yyyy-MM-dd hh:mm:ss dddd") self.label.setText(timeDisplay) self.pushButton.click()