ESPHome pośredni pomiar mocy ACS712, integracja z Powercalc

Podpowiedz proszę jak dodać do powercalca sensor ADC mierzący moc. To zwykły ACS712 na esp32. Do HA dane przekazuję jako waty (W) lub ampery (A) w zależności co wpiszę w esphome. Napięcie mam stałe więc nie potrzebuję go mierzyć i przeliczę sam, tak na prawdę potrzebuję tylko Ah (pomiar baterii).
Jako “Energy from real power sensor” nie widzi, jako Virtual nie umiem skonfigurować.
[edit]
Dobra, mam to.
W prawdzie jako “Energy from real power sensor” nadal nie widzi ale w virtual w “Szablon mocy” wstawiamy sensor ale tylko to co pomiędzy cudzysłowami z tej strony:
https://homeassistant-powercalc.readthedocs.io/en/latest/strategies/fixed.html

Chyba nie rozumiesz co to są te wirtualne sensory, ale możesz dodać tylko jako real power sensor, jeśli nie da się z GUI (może masz go źle zdefiniowanego w ESPHome?) to spróbuj w YAML
https://homeassistant-powercalc.readthedocs.io/en/latest/sensor-types/real-power-sensor.html#yaml

Moc mierzy się w watach, więc twoją encją źródłową ma być encja mocy, o klasie urządzenia power i klasie stanu measurement no i oczywiście z jednostką pomiaru wyrażoną w W (duże W, a nie malutkie w)

Nie mam bladego pojęcia jak przeliczać na amperogodziny, ale powercalc zasadniczo do tego nie służy
(tzn. blade pojęcie mam - wystarczy podzielić energię przez napięcie, ale rozumiem, że to kwestia ładowania akumulatorów, więc napięcie tak naprawdę wcale nie jest stałe)

Edit - być może jednak dałoby się dodać jakimś totalnym obejściem dookoła jako sensor wirtualny, ale naprawdę nie tędy droga - próbujesz wyważać otwarte drzwi - do tego co chcesz uzyskać służy właśnie sensor pochodzący z pomiaru.

Wiem czym jest virtual sensor ale inna opcja nie działa.
To powiedz mi proszę jak skonfigurować sensor ADC aby był widziany jako encja mocy o klasie urządzenia power i klasie stanu measurement?
Wiem, że jednostkę mocy wat zapisujemy dużą literą W.
Podpowiedz jeszcze jak zresetować encję Energy do 0 kWh?
Da się do tego zrobić przycisk? Potrzebuję robić pomiary akumulatorów.

Wrzuć YAMLa z tego projektu. Niezbędną dokumentację podlinkowałem wyżej. W pozostałych kwestiach przeszukaj forum, bo nie używam takich funkcji, ale wiem, że ktoś już napisał gotowce.

Nie mam YAMLa bo robiłem przez GUI, nie wiem gdzie tego szukać. Nie wiem co masz na myśli pisząc o wyważaniu otwartych drzwi skoro inny sposób nie działa. ADC zgłasza sensor jako: state_class: measurement unit_of_measurement: W device_class: voltage
Pewnie tu jest problem. Skonfigurowanie jako sensor wirtualny i podanie do obliczeń wartość z encji ADC załatwia sprawę.
Powiedz tylko jako zrobić przycisk resetujący kWh?

Jak nie masz YAMLa to z czego kompiluesz firmware?

to nie może działać

Jeśli mówisz o ESP to proszę:

  - platform: adc
    name: "Pomiar aku3"
    pin: 33
    id: aku3
    accuracy_decimals: 2
    update_interval: 1s
    unit_of_measurement: "W"
    attenuation: 11dB
    filters:
    - median:
        window_size: 11
        send_every: 7
        send_first_at: 5
    - clamp:
        max_value: 2.567
        ignore_out_of_range: true  
    - calibrate_linear:
          # Measured value of 0 maps to 0A
          - 2.566 -> 0
          - 2.55 -> 0.2
          - 2.52 -> 0.5  
          - 2.478 -> 100
          - 2.375 -> 2
          - 2.275 -> 3
          - 2.169 -> 4
          - 1.962 -> 6.18
          - 1.776 -> 8.05

Powiedz tylko jako zrobić przycisk w HA resetujący kWh w powercalc?

o w mordę, tu jest więcej błędów, mapa kalibracji jest do poprawki, daj mi trochę czasu

dobra YAML to za mało daj schemat, bo tu się chyba coś kupy nie trzyma

Mapa kalibracji wykonana z dokładnym amperomierzem, niestety napięcie pływa, pewnie trzeba by podać stabilniejsze napięcie. Nie jest to urządzenie idealne.

- platform: adc
    name: "Pomiar aku3"
    pin: 33
    id: aku3
    accuracy_decimals: 2
    update_interval: 1s
    unit_of_measurement: "W"
    device_class: "power"
    state_class: "measurement"
    attenuation: 11dB
    filters:
    - median:
        window_size: 11
        send_every: 7
        send_first_at: 5
    - clamp:
        max_value: 2.567
        ignore_out_of_range: true  
    - calibrate_linear:
          # mierzysz prąd czy to kalibracja zawierająca przeliczenie na moc, 
          # jeśli się nic nie zmieniło to lewa kolumna ma być posortowana rosnąco
          # i teraz widać co mi tu nie gra - wartości są totalnie nieliniowe
          - 1.776 -> 8.05
          - 1.962 -> 6.18
          - 2.169 -> 4
          - 2.275 -> 3
          - 2.375 -> 2
          - 2.478 -> 100
          - 2.52 -> 0.5  
          - 2.55 -> 0.2
          - 2.566 -> 0

swoją drogą zupełnie nie ma to sensu - przy malejącym napięciu (czyli prądzie) rośnie moc

a teraz bez mieszania typów integer i float

          - 1.776 -> 8.05
          - 1.962 -> 6.18
          - 2.169 -> 4.0
          - 2.275 -> 3.0
          - 2.375 -> 2.0
          - 2.478 -> 1.0 # czuję w kościach, że tu przecinka=kropki zabrakło
          - 2.52 -> 0.5  
          - 2.55 -> 0.2
          - 2.566 -> 0.0

Mówisz o tym, że napięcie odniesienia Ci pływa, czy o normalnym zjawisku zmiany napięcia na zaciskach akumulatora w zależności od stopnia naładowania?

W teorii powinno być 100mV na A ale tak nie jest. Podłączę jutro lepsze zasilanie. Polutuję na kablach bo do dupontów nie mam zaufania. Nie ma tam błędu, było 1 tylko, wcześniej pododawałem zera żeby zwiększyć szybkość narastania kWh, a przy wklejaniu nie usunąłem w w tej pozycji.
To jest przeliczenie z voltów na ampery, wysyłany jako waty żeby sprawdzić czy to coś da.
Zobaczę to co mi podrzuciłeś jutro. Dzięki za zaangażowanie.

Daj schemat, bo nie rozumiem jak to działa.
Jeśli na boczniku masz rosnące napięcie to rośnie prąd, a ta kalibracja jest “do góry nogami”.
W ogóle to do odcięcia na osobny wątek, bo tu nie pasuje, tylko dodaj schemat. wydzielone, możesz poprawić tytuł w/g uznania

edit
W ogóle przeoczyłem, że chodzi o ACS712
ACS712_datasheet.zip (510,8 KB)
https://www.allegromicro.com/~/media/files/datasheets/acs712-datasheet.ashx
ale schemat i tak nie zaszkodzi.

Bocznik w tym układzie jest izolowany, więc równocześnie tym samym ESP możesz mierzyć napięcie akumulatorów (zamiast zakładać jakąś stałą wartość).

Przy zasilaniu ACS712 z 5V jest ryzyko, że puścisz z dymem ESP (no zależy jak to rozwiązałeś, bo wyjście można podać na dzielnik napięcia i wtedy ryzyka nie ma).

Nieliniowość być może wyszła z faktu, że nie podałeś żadnego obciążenia na wyjście ACS (no i generalnie wejście ADC ESP jest lekko nieliniowe).