@@ -345,10 +345,11 @@ def consumption_power(self) -> FormulaEngine[Power]:
345345    def  soc (self ) ->  MetricAggregator [Sample [Percentage ]]:
346346        """Fetch the normalized average weighted-by-capacity SoC values for the pool. 
347347
348-         The values are normalized to the 0-100% range and clamped if the SoC is out of 
349-         bounds. 
348+         The SoC values are normalized to the 0-100% range and clamped if they are out 
349+         of bounds. Only values from working batteries with operational inverters are 
350+         considered in the calculation. 
350351
351-         Average soc  is calculated with  the formula: 
352+         Average SoC  is calculated using  the formula: 
352353        ``` 
353354        working_batteries: Set[BatteryData] # working batteries from the battery pool 
354355
@@ -364,15 +365,16 @@ def soc(self) -> MetricAggregator[Sample[Percentage]]:
364365        average_soc = used_capacity/total_capacity 
365366        ``` 
366367
367-         `None` values will be sent if there are no components to calculate the metric  
368-         with. 
368+         `None` values will be sent if there are no working batteries with operational  
369+         inverters to calculate the metric  with. 
369370
370371        A receiver from the MetricAggregator can be obtained by calling the 
371372        `new_receiver` method. 
372373
373374        Returns: 
374-             A MetricAggregator that will calculate and stream the aggregate soc of 
375-                 all batteries in the pool. 
375+             A MetricAggregator that will calculate and stream the aggregate SoC of all 
376+                 batteries in the pool, considering only working batteries with 
377+                 operational inverters. 
376378        """ 
377379        method_name  =  SendOnUpdate .name () +  "_"  +  SoCCalculator .name ()
378380
@@ -406,7 +408,10 @@ def temperature(self) -> MetricAggregator[Sample[Temperature]]:
406408
407409    @property  
408410    def  capacity (self ) ->  MetricAggregator [Sample [Energy ]]:
409-         """Get receiver to receive new capacity metrics when they change. 
411+         """Get a receiver to receive new capacity metrics when they change. 
412+ 
413+         The reported capacity values consider only working batteries with operational 
414+         inverters. 
410415
411416        Calculated with the formula: 
412417        ``` 
@@ -417,14 +422,16 @@ def capacity(self) -> MetricAggregator[Sample[Energy]]:
417422        ) 
418423        ``` 
419424
420-         None will be send if there is no component to calculate metrics. 
425+         `None` will be sent if there are no working batteries with operational 
426+         inverters to calculate metrics. 
421427
422428        A receiver from the MetricAggregator can be obtained by calling the 
423429        `new_receiver` method. 
424430
425431        Returns: 
426432            A MetricAggregator that will calculate and stream the capacity of all 
427-                 batteries in the pool. 
433+                 batteries in the pool, considering only working batteries with 
434+                 operational inverters. 
428435        """ 
429436        method_name  =  SendOnUpdate .name () +  "_"  +  CapacityCalculator .name ()
430437
0 commit comments