Вам нужно читать значение из регистра как знаковое.
То есть имеющее как отрицательные значения так и положительные.
Осторожно предположу что в нотации HA это int32 - рекомендую уточнить в его документации, так как не являюсь специалистом в этом ПО.
ну так я же написал что попробовал и ничего не изменилось
по документации
int32 это 32 bit signed integer (2 registers holds 1 value).
исходя из документации может нужно установить swap ?
swap list (Optional, default: none)
Swap the order of bytes/words byte
Swap bytes AB → BA. word
Swap word ABCD → CDAB, word_byte
Swap word ABCD → DCBA,
так я просто ошибся у меня еще есть показатели тока в которых я как раз и поставил int32, сделал тоже самое для мощности и наконец увидел заветный 0, вопрос закрыт!