|
@@ -10,7 +10,6 @@ import calendar
|
|
import datetime
|
|
import datetime
|
|
import logging
|
|
import logging
|
|
import time
|
|
import time
|
|
-from decimal import Decimal
|
|
|
|
|
|
|
|
from dateutil.parser import parse
|
|
from dateutil.parser import parse
|
|
from django.db import transaction
|
|
from django.db import transaction
|
|
@@ -150,20 +149,16 @@ class SmartSocketView(View):
|
|
data['serial_number'] = serial_number
|
|
data['serial_number'] = serial_number
|
|
data['electricity'] = cls.calculated_power(watt, accumulated_time)
|
|
data['electricity'] = cls.calculated_power(watt, accumulated_time)
|
|
data['accumulated_time'] = accumulated_time
|
|
data['accumulated_time'] = accumulated_time
|
|
- data['load_time'] = accumulated_time if watt > 0.1 else 0
|
|
|
|
SocketPowerStatistics.objects.create(**data)
|
|
SocketPowerStatistics.objects.create(**data)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
power_vo = power_qs.first()
|
|
power_vo = power_qs.first()
|
|
# 累加在线时间目前是以分钟为单位
|
|
# 累加在线时间目前是以分钟为单位
|
|
data['accumulated_time'] = power_vo.accumulated_time + accumulated_time
|
|
data['accumulated_time'] = power_vo.accumulated_time + accumulated_time
|
|
- load_time = power_vo.load_time
|
|
|
|
- if watt > 0.1:
|
|
|
|
- load_time = power_vo.load_time + accumulated_time
|
|
|
|
# kwh 千瓦时
|
|
# kwh 千瓦时
|
|
- data['electricity'] = cls.calculated_power((float(power_vo.watt) + watt), load_time)
|
|
|
|
- # 当前时段统计的w值
|
|
|
|
|
|
+ kilowatt_hour = cls.calculated_power(watt, accumulated_time)
|
|
|
|
+ data['electricity'] = kilowatt_hour + float(power_vo.electricity)
|
|
|
|
+ # 所消耗累计功率
|
|
data['watt'] = float(power_vo.watt) + watt
|
|
data['watt'] = float(power_vo.watt) + watt
|
|
- data['load_time'] = load_time
|
|
|
|
# 更新当天电量统计
|
|
# 更新当天电量统计
|
|
power_qs.update(**data)
|
|
power_qs.update(**data)
|
|
return response.json(0)
|
|
return response.json(0)
|
|
@@ -174,13 +169,13 @@ class SmartSocketView(View):
|
|
@staticmethod
|
|
@staticmethod
|
|
def calculated_power(watt, minute):
|
|
def calculated_power(watt, minute):
|
|
"""
|
|
"""
|
|
- 计算电功率
|
|
|
|
|
|
+ 通过每分钟所消耗的功率(瓦)得到千瓦时kwh
|
|
"""
|
|
"""
|
|
if watt == 0 or watt < 0.1 or minute == 0:
|
|
if watt == 0 or watt < 0.1 or minute == 0:
|
|
return 0.00
|
|
return 0.00
|
|
hours = minute / 60
|
|
hours = minute / 60
|
|
kilowatt_hour = watt * hours / 1000
|
|
kilowatt_hour = watt * hours / 1000
|
|
- LOGGER.info('计算结果{}'.format(kilowatt_hour))
|
|
|
|
|
|
+ LOGGER.info('瓦计算得到千瓦时结果{}'.format(kilowatt_hour))
|
|
return kilowatt_hour
|
|
return kilowatt_hour
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|