статус с резервуара теперь берется из бд сайта
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from django.db import models
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
# select UNIX_TIMESTAMP(datetime), level_percentage, radar_low_reg, status_reg from tcs
|
||||
|
||||
|
||||
@@ -12,6 +12,26 @@ class MbTankRecord(models.Model):
|
||||
def __str__(self):
|
||||
return f"({self.id}) {self.dt}: radar={self.radar_raw}, level={self.level}"
|
||||
|
||||
@staticmethod
|
||||
def load_stats():
|
||||
result = {
|
||||
'last_update': None, # последнее обновление, unix time
|
||||
'level': None, # текущее показание, пересчитанное в %
|
||||
'radar': None, # текущее показание с радара
|
||||
'status': None, # статусный регистр
|
||||
'last_radar_values': [] # последние показания за 15 минут
|
||||
}
|
||||
|
||||
last_save = MbTankRecord.objects.order_by('-dt').first()
|
||||
if last_save is not None:
|
||||
result['last_update'] = last_save.dt.timestamp()
|
||||
result['level'] = last_save.level
|
||||
result['radar'] = last_save.radar_raw
|
||||
result['status'] = last_save.status
|
||||
query = MbTankRecord.objects.filter(dt__gt=(datetime.now() - timedelta(minutes=15))).order_by('dt')
|
||||
result['last_radar_values'] = [(int(item.dt.timestamp()), item.radar_raw) for item in query]
|
||||
return result
|
||||
|
||||
|
||||
class MbPumpRecord(models.Model):
|
||||
dt = models.DateTimeField(verbose_name="Время записи", default=datetime.now)
|
||||
|
||||
Reference in New Issue
Block a user