Source code for apps.core.models.sensor

from enum import Enum
from django.db import models
from .physical_unit import PhysicalUnit
from django_enum_choices.fields import EnumChoiceField
from django_enum_choices.choice_builders import attribute_value
from .abstract_models import AbstractTimeStampModel
from .device import Device

[docs]class SensorEnum(Enum): # TODO: add more enums later AIR = "air" TEMP = "temperature" HUM = "humidity" PPL_COUNTER = "occupancy"
[docs]class Sensor(AbstractTimeStampModel): physical_unit = models.ForeignKey(PhysicalUnit, on_delete=models.CASCADE) sensor_type = EnumChoiceField(SensorEnum, choice_builder=attribute_value)# device = models.ForeignKey(Device, on_delete=models.CASCADE, null=True)
# we don't assume any configuration for now # configuration = models.CharField(max_length=50) # def __str__(self): # return f"{self.sensor_type}"