Licznik energii-modbus-esphome-dziwne wiele miejsc po przecinku

Jakiś miesiąc temu po kolejnej aktualizacji (nie pamiętam czego) zaobserwowałem dziwne wartości (wiele miejsc po przecinku0 liczone przez utility_meter, sensory w .yaml zdefiniowane są np.:

  y_energia_oddana_godzinowa:
    source: sensor.energia_czynna_oddana
    name: Energia oddana przez godzinę
    cycle: hourly

Ten sam sensor jak wyklikam w GUI jest ładny- 2 miejsca po “,”.
Źródło jest z licznika przez esphome zdefiniowane tak:

  - platform: modbus_controller
    id: energia_czynna_oddana
    name: "Energia czynna oddana"
    register_type: read
    icon: mdi:circle-slice-3
    device_class: energy
    state_class: total_increasing
    address: 0x036
    unit_of_measurement: "kWh"
    value_type: FP32
    accuracy_decimals: 1

Na dashboardzie wyświeyla się ładnie:
image

ale w narzędziach deweloperskich już cuda:


Czy ktoś ma pomysł czym to może być spowodowane bo źle wygląda ?

To skutki uboczne przechowywania liczb zmiennoprzecinkowych w postaci binarnej.

tu masz dokumentację dla opcji accuracy_decimals swoją drogą widzę, że masz dobrze, więc to czas na issue

ja mam tez dobrze skonfigurowane, a wyświetla jak u kolegi :smiley: wydarzyło się to po aktualizacji HA do 2025.7

1 polubienie

Niestety jest już kilka issue z tym związanych. Generalnie jak poczytałem stało się wraz z esphome 2025.6.3. Nie jest to wina esphome, że funkcja opisana w dokumentacji nie działa, winne jest HA Core. W ogóle to tak ma być , użytkownicy się czepiają i robią z “g…a widły”.
Wniosek: zbliża się koniec HA, co miesiąc jakieś przełomowe zmiany nie do naprawy i tłumaczenie, że teraz to działa prawidłowo.

edit: encje skonfigurowane w .yaml muszą mieć “unique_id:” wtedy na dashbordzie można ustawić precyzję wyśietlania.

1 polubienie

co znaczy że muszą być uniqe id?

sensor:
  - name: "Temperature"
    unique_id: 2dfb8359-0b94-48cd-9909-422ce8418fe0
    state_topic: "tmp/feeds/temperature"
    suggested_display_precision: 1

Możesz sobie wygenerować lub wpisać własny ID

Chodzi o wpis w konfiguracji:

  • w yaml od esphome dodaję np. “id: energia_czynna_pobrana”
  • jeśli sensor jest skonfigurowany w yamlu np. utility_meter to dodaję jak Artur napisał.
    Wtedy mam “precyzja”: