Ostatnio było to trochę zmieniane.
https://github.com/SUPLA/supla-core/com ... ac865322eb
Obecnie działa to w następujący sposób.
Załóżmy że
F1 == 50kwh
F2 == 100kwh
F3 == 81kwh
Sumarycznie 230Kwh
Jeśli wartość dodaną ustawimy na 230kWh to 231 dzielone jest przez ilość dostępnych faz ze stanem licznika > 0, w tym przypadku 3 czyli 3x 77kWh
Od F1 odejmujemy 77. Stan licznika nie może być mniejszy od zera więc stan == 0 i reszta tj. 27
Od F2 odejmujemy 77. Stan licznika będzie równy 23
Od F3 odejmujemy 77. Stan licznika będzie równy 4
Pozostało nam 27kWh z pierwszej fazy więc jest to dzielone przez ilość faz ze stanem > 0.
27/2 = 13,5
F2-13,5=9,5
F3-13,5 = 0, reszta 9,5
Na tym etapie F1 == 0, F2 == 0, F3 ==9,5 i mamy 9,5 reszty co odejmujemy od F3 co daje 0.
https://github.com/SUPLA/supla-core/blo ... g.cpp#L275
SUPLA.... Nareszcie w domu.