Fix power utilization calculation for three-phase feeds

This commit is contained in:
Jeremy Stretch 2019-06-17 15:16:52 -04:00
parent d529ebc172
commit c9afe96324

View File

@ -1964,7 +1964,7 @@ class PowerPort(CableTermination, ComponentModel):
def get_power_stats(self): def get_power_stats(self):
""" """
Return power utilization statistics Return utilization statistics for this PowerPort.
""" """
feed = self._connected_powerfeed feed = self._connected_powerfeed
if not feed or not self.poweroutlets.count(): if not feed or not self.poweroutlets.count():
@ -2963,14 +2963,15 @@ class PowerFeed(ChangeLoggedModel, CableTermination, CustomFieldModel):
validators=[MinValueValidator(1)], validators=[MinValueValidator(1)],
default=20 default=20
) )
available_power = models.PositiveSmallIntegerField(
default=0
)
max_utilization = models.PositiveSmallIntegerField( max_utilization = models.PositiveSmallIntegerField(
validators=[MinValueValidator(1), MaxValueValidator(100)], validators=[MinValueValidator(1), MaxValueValidator(100)],
default=80, default=80,
help_text="Maximum permissible draw (percentage)" help_text="Maximum permissible draw (percentage)"
) )
available_power = models.PositiveSmallIntegerField(
default=0,
editable=False
)
comments = models.TextField( comments = models.TextField(
blank=True blank=True
) )
@ -3026,7 +3027,8 @@ class PowerFeed(ChangeLoggedModel, CableTermination, CustomFieldModel):
kva = self.voltage * self.amperage * (self.max_utilization / 100) kva = self.voltage * self.amperage * (self.max_utilization / 100)
if self.phase == POWERFEED_PHASE_3PHASE: if self.phase == POWERFEED_PHASE_3PHASE:
self.available_power = round(kva * 1.732) self.available_power = round(kva * 1.732)
self.available_power = round(kva) else:
self.available_power = round(kva)
super().save(*args, **kwargs) super().save(*args, **kwargs)