Browse Source

优化低功耗电量上报

zhangdongming 4 months ago
parent
commit
ec4dc97688
2 changed files with 6 additions and 1 deletions
  1. 4 1
      Controller/DeviceReportController.py
  2. 2 0
      Model/models.py

+ 4 - 1
Controller/DeviceReportController.py

@@ -43,9 +43,12 @@ class DeviceReportView(View):
                 raise ValidationError('Invalid device UID format')
                 raise ValidationError('Invalid device UID format')
 
 
             # 参数提取和类型转换
             # 参数提取和类型转换
+            wake_sleep = self.parse_int_param(data, 'pirWakeupCount') + self.parse_int_param(data, 'mqttWakeupCount')
             report_params = {
             report_params = {
                 'human_detection': self.parse_int_param(data, 'humanDetection'),
                 'human_detection': self.parse_int_param(data, 'humanDetection'),
-                'wake_sleep': self.parse_int_param(data, 'wakeSleep'),
+                'pir_wakeup_count': self.parse_int_param(data, 'pirWakeupCount'),
+                'mqtt_wakeup_count': self.parse_int_param(data, 'mqttWakeupCount'),
+                'wake_sleep': wake_sleep,
                 'working_hours': self.parse_int_param(data, 'workingHours'),
                 'working_hours': self.parse_int_param(data, 'workingHours'),
                 'battery_level': self.parse_int_param(data, 'batteryLevel'),
                 'battery_level': self.parse_int_param(data, 'batteryLevel'),
                 'report_time': self.parse_int_param(data, 'reportTime'),
                 'report_time': self.parse_int_param(data, 'reportTime'),

+ 2 - 0
Model/models.py

@@ -3527,6 +3527,8 @@ class DeviceDailyReport(models.Model):
     human_detection = models.IntegerField(default=0, verbose_name='人形检测次数')
     human_detection = models.IntegerField(default=0, verbose_name='人形检测次数')
     working_hours = models.IntegerField(default=0, verbose_name='工作时长/秒')
     working_hours = models.IntegerField(default=0, verbose_name='工作时长/秒')
     wake_sleep = models.IntegerField(default=0, verbose_name='唤醒休眠次数')
     wake_sleep = models.IntegerField(default=0, verbose_name='唤醒休眠次数')
+    pir_wakeup_count = models.IntegerField(default=0, verbose_name='PIR唤醒次数')
+    mqtt_wakeup_count = models.IntegerField(default=0, verbose_name='mqtt唤醒次数')
     channel = models.IntegerField(default=1, blank=True, verbose_name=u'设备通道')
     channel = models.IntegerField(default=1, blank=True, verbose_name=u'设备通道')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')
     created_time = models.IntegerField(default=0, verbose_name='创建时间')
     updated_time = models.IntegerField(default=0, verbose_name='更新时间')
     updated_time = models.IntegerField(default=0, verbose_name='更新时间')