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}"