Zakładka Energia w HA i brakujące pomiary jak je uwidocznić

To jest teoretycznie niewspierana opcja, ponieważ plik customize.yaml nie podlega kontroli składni przez zabezpieczenie przeciw uwaleniu HA (więc musisz to robić przytomnie) - generalnie Integracja powinna dostarczać prawidłowo zdefiniowane encje (więc to temat na issue w tej Integracji z której masz tę encję)
customize

składnia

jakas.encja:
  device_class: energy

ale… zaraz zaraz Ty chyba masz encję z innej encji

jakkolwiek muszą być spełnione 3 warunki

  • state class
  • device class
  • pasująca jednostka miary do device class

Jak encja jest wygenerowana przez urządzenie nie da jej się edytować, można jedynie zmienić niektóre parametry w Narzędzia Developerskie - > Stany

chodzi mi o to żeby ten pomiar dodać do zakładki energia tylko że w zakładce energia mi się burzy prawdopodobnie dlatego że brak wpisu device_class: energy dlatego dopytuję
image

@szopen tak to jest encja zrobiona/przystosowana do zakładki energia żeby była w niej widoczna na liście tej zakładki z innej encji, bo wcześniej tego pomiaru nie było na liście Energia do wyboru

no i właśnie tam próbowałem, da się dopisac ale nie da sie zapisać

no chyba że ten brakujący parametr musze dopisać w pliku configuration.yaml na etapie tworzenia tego pomiaru ?

Oczywiście w configuration.yaml jeśli encję tworzysz w trybie YAML
(bądź w zawieranym pliku jeśli jest to zawarte w czymś co wrzucasz przez include i jest w innym pliku wirtualnie włączonym wewnątrz configuration.yaml)

a w customize.yaml tylko na beznadziejne przypadki - jeśli encja jest z integracji w którą nie możesz ingerować.

czyli muszę jakby stworzyć lub edytować ten pomiar od nowa z brakującym wpisem w configuration. yaml ?

Pokaż jak masz zdefiniowaną encję w YAMLu.
Czy może ona pochodzi z jakieś Integracji konfigurowanej w GUI?

To jest ważne skąd wyczesałeś tę encję…

no więc tak po kolei:

  1. utworzyłem encję dla zakładki Energia w pomocniku tworząc pomocnika i wybierając encję z listy już istniejących, oczywiście zanaczając tam sumę Reimana i takie tam i powstała nowa encja w pomocniku
  2. ta encja wtedy dopiero pojawia sie na liście encji zakładki Energia możliwych do podstawienia, jednak o ile encje z tasmoty są ok to przy encjach utworzonych z pomocnika jest taki komunikat “Następujące encje nie mają oczekiwanej klasy urządzenia”
    więc porównując encje z tasmoty z tymi z pomocnika widzę że brak wpisu device_class: energia
    i dlatego zacząłem dociekać, ale czym się bardziej zagłębiam to dochodzę do tego że ten brakujący wpis trzeba dopisać w konfiguration.yaml tam gdzie jest skonfigurowany ten pomiar pierwotnie.
    czy mam rację ?

w configuration. yaml man to tak:

 - name: DOM 16 pomiar W TOTAL
        unit_of_measurement: W
        slave: 131
        address: 16
        input_type: input
        data_type: float32
        precision: 2

i to z tego pomiaru zrobiłem kolejną encję poprzez pomocnika dla zakładki Energia

wklej trochę więcej - z jakiej integracji to pochodzi, bo źródłowa encja też musi być prawidłowo zdefioniowana

jeśli z palca definiujesz encje sensorów MQTT to w ich definicji też dodaj co potrzeba

sensory MQTT wykrywane przez autodiscovery powinny same się zdefiniować poprawnie (jeśli tak nie jest to zaktualizuj im firmware)

nie bardzo kumam o co Ci chodzi ?

o to chodzi ? :

automation: !include automations.yaml
script: !include scripts.yaml
mqtt: !include mqtt_include.yaml
scene: !include scenes.yaml

Chodzi o to

jakaśintegracjajaniewiemjaka:
#...
  sensors:  # tak sobie zgadłem, że to też ominąłeś
#...
    - name: DOM 16 pomiar W TOTAL
        unit_of_measurement: W
        slave: 131
        address: 16
        input_type: input
        data_type: float32
        device_class: power # te opcje musi dopuszczać integracja źródłowa
        state_class: measurement

a w tym co pokazałeś post wyżej załączasz jakieś pliki (ich zawartość zostaje wstawiona do wirtualnego odpowiednika configuration.yaml podczas jego interpretacji)

takie coś ?

to jest w configuration.yaml

# konfiguracja MODBUS
modbus:
  - name: licznik SINOTIMER
    type: serial
    port: /dev/ttyUSB0
    baudrate: 9600
    bytesize: 8
    method: rtu
    parity: E
    stopbits: 1
    sensors:
- name: SINOTIMER 16 W TOTAL
        unit_of_measurement: W
        slave: 25
        address: 16
        input_type: input
        data_type: float32
        precision: 2

po tym lecą już kolejne konfiguracje pomiarów takie same jak ten jeden

Szkoda, że dopiero teraz informujesz, że chodzilo m.in. o licznik energii a w liczniku energii na 99% masz możliwość odczyty pobranej energii w kWh i tak odczytana encja po prostej konfiguracji w HA (bezpośrednio w integracji Modbus) od razu będzie widoczna w panelu Energia - tak samo mam u siebie. Cały Twój problem mógłby zostać rozwiązany w 5 postach :grin:.

no oczywiście że chodziło o licznik energii bo niby jaki inny bym chciał podstawić pod zakładkę Energia ?
tyle tylko że z tego licznika się burzy o :
Następujące encje nie mają oczekiwanej klasy urządzenia:

  • sensor.pv_5
  • sensor.pv_4
  • sensor.dom

czyli wszystkie chodzące po Modbasie,
pomiary podkładane z Tasmoty wstawiają sie bez problemu

Nie chcę dalej Ci udawadniać, że nigdzie wcześniej nie użyłeś slowa “licznik” a do panelu Energia można dodać dowolną encję, z której wynika pomiar kilo Watogodzin.
Bez szczegółów jak np. model licznika, rejestry Modbus tego licznika itd. możemy sie tak “przepychać” niepotrzebnie przez kolejnych kilka postów i nic to nie wniesie do pomocy Tobie.

oczywiście, to wiem i dlatego encję trzeba przerobić przez pomocnika żeby pojawiło się KWh dopiero wtedy jest w zakładce Energia widziana, natomiast ta encja nie spełnia wymagań bo prawdopodobnie jej brakuje wpisu device_class: energia, i cała sprawa jest o to gdzie to można dopisać

Dla licznika energii niczego takiego nie trzeba robić. Mój przykład: to co jest na wyświetlaczu licznika energii podane w kWh odczytuję przez Modbus:

modbus:
  - name: sdmf1_modbus_hub1
    type: serial
    port: /dev/ttyUSB0
#   SDM_L1_IMPORT_ACTIVE_ENERGY:
      - name: sdmf1_l1_import_active_energy
        unique_id: sdmf1_l1_import_active_energy
        state_class: total_increasing
        unit_of_measurement: kWh
        device_class: energy
        slave: 1
        address: 0x015A
        input_type: input
        data_type: float32
        precision: 2

Powstałą encję sdmf1_l1_import_active_energy mogę dodać do panelu Energia:

a jednak, zanim wpadłem na to że trzeba przerobić przez pomocnika to w zakładce Energii na liście nie było widoczne, więc jak nie trzeba było przerabiać ?

no chyba trzeba odróżnić moc od energii, może wtedy będzie prościej

https://www.home-assistant.io/integrations/modbus#example-sensor-full-configuration

# konfiguracja MODBUS
modbus:
  - name: licznik SINOTIMER
    type: serial
    port: /dev/ttyUSB0
    baudrate: 9600
    bytesize: 8
    method: rtu
    parity: E
    stopbits: 1
    sensors:
- name: SINOTIMER 16 W TOTAL #tu jest coś zwalone z wcięciami
        unit_of_measurement: W
        slave: 25
        address: 16
        input_type: input
        data_type: float32
        precision: # tu raczej nie powinno być pusto
# ....

jakiś inny sensor gdzie masz zdefiniowany rejestr energii
     - name: SINOTIMER  xx kWh TOTAL # moim zdaniem wcięcie powinno być co najmniej tak głębokie
        unit_of_measurement: kWh
        slave: xx
        address: xx
        input_type: input
        data_type: float32
        device_class: energy # te opcje musi dopuszczać integracja źródłowa, być może można to obecnie ominąć byleby jednostka była jednostką energii, a nie mocy
        state_class: total #albo total_increasing

jest i taki pomiar

- name: SINOTIMER 256
        unit_of_measurement: Wh
        slave: 25
        address: 256
        input_type: input
        data_type: float32
        precision: 2

tyle tylko że to jest suma tego co zliczył licznik całościowo a nie zużycie w danym momencie (chwilowe)
bo tu mi się coś zaczyna kłócić, zakładka Energia nie pokazuje prawdy czyli zużycia czy produkcji energii w danym momencie tylko bazuje własnie na zużyciu całościowym