Monitoring farmy solarnej SofarSolar

Proszę gotowa ściąga :slight_smile: Skoro @RobinI30 harował to ja chociaż encje zrobiłem :slight_smile:

####################################################################################################
##     SofarSolar lokalnie                                                                        ##
##     NodeRed dane pobierane z falownika  10.0.0.250  port 8899                                  ##
##                                                                                                ##
####################################################################################################

# 1
- platform: mqtt
  name: "KTL8-8 napięcie string 1"
  state_topic: "Sofar/V1"
  device_class: voltage
  unit_of_measurement: "V"

- platform: mqtt
  name: "KTL8-8 napięcie string 2"
  state_topic: "Sofar/V2"
  device_class: voltage
  unit_of_measurement: "V"

- platform: mqtt
  name: "KTL8-8 prąd string 1"
  state_topic: "Sofar/A1"
  device_class: current
  unit_of_measurement: "A"

- platform: mqtt
  name: "KTL8-8 prąd string 2"
  state_topic: "Sofar/A2"
  device_class: current
  unit_of_measurement: "A"

- platform: mqtt
  name: "KTL8-8 moc string 1"
  state_topic: "Sofar/P1"
  device_class: power
  unit_of_measurement: "W"

- platform: mqtt
  name: "KTL8-8 moc string 2"
  state_topic: "Sofar/P2"
  device_class: power
  unit_of_measurement: "W"

- platform: mqtt
  name: "KTL8-8 Aktualna moc"
  state_topic: "Sofar/Power_P"
  device_class: power
  unit_of_measurement: "W"

- platform: mqtt
  name: "KTL8-8 Energia dzisiaj"
  state_topic: "Sofar/DayEnergy"
  device_class: energy
  unit_of_measurement: "kWh"

- platform: mqtt
  name: "KTL8-8 Energia narastająco"
  state_topic: "Sofar/TotalEnergy"
  device_class: energy
  unit_of_measurement: "kWh"

- platform: mqtt
  name: "KTL8-8 Temperatura falownika"
  state_topic: "Sofar/TempInner"
  device_class: temperature
  unit_of_measurement: "°C"

- platform: mqtt
  name: "KTL8-8 napięcie L1"
  state_topic: "Sofar/V_L1"
  device_class: voltage
  unit_of_measurement: "V"
- platform: mqtt
  name: "KTL8-8 napięcie L2"
  state_topic: "Sofar/V_L2"
  device_class: voltage
  unit_of_measurement: "V"
- platform: mqtt
  name: "KTL8-8 napięcie L3"
  state_topic: "Sofar/V_L3"
  device_class: voltage
  unit_of_measurement: "V"
# sensory trójfazowe prąd i napięcie
- platform: mqtt
  name: "KTL8-8 prąd L1"
  state_topic: "Sofar/A_L1"
  device_class: current
  unit_of_measurement: "A"
- platform: mqtt
  name: "KTL8-8 prąd L2"
  state_topic: "Sofar/A_L2"
  device_class: current
  unit_of_measurement: "A"
- platform: mqtt
  name: "KTL8-8 prąd L3"
  state_topic: "Sofar/A_L3"
  device_class: current
  unit_of_measurement: "A"
2 polubienia

Generalnie integracja działa fajnie jak na tą chwilę, ale jednego zonka już widzę.
Otóż w panelu Energia z samego rana pojawiła mi się ujemna produkcja :frowning:

Której encji używasz w energii, total czy dayli?
Pokaż wykres dla TotalEnergy.

Używam do tego dayli bo chyba tak musi być. Poniżej dwa wykresy dla dwóch encji
dayli i total


Tak nie może być, zmień na total…

2 polubienia

Dzięki w sumie nie pomyślałem, że i tak to jest przeliczane. Teraz jest ok.

Mam tak samo.
Total niestety zaokrągla do całości a ja potrzebuje do 1setnej po przecinku jak w dziennej.
Testowo ustawiłem aby wyzerowało o północy i zobaczymy co się stanie.

To samo co poprzednio - tylko o północy pokaże ujemną produkcję.

To jak zrobić aby produkcja była dokładniejsza.
Mam instalację 1kWp. czyli w pochmurny dzień pokaże 0kWh gdzie rzeczywistości będzie 850Wh

Trzeba zrobić własny licznik energii np. na podstawie mocy z falownika.
Być może jest jakaś gotowa integracja w HA co to potrafi zrobi?
Jutro się pobawię to może coś sklecę w NR.

utility_meter:

Wykorzystywałem kiedyś, ale ze względu na dziury lub nie regularnych danych, wartości końcowe się rozjeżdżają z total.

… której integracji?

Używasz v1.2?

Pokaż jeszcze wykres dayli

Używam od Dariusz_BarczyńskiDariusz
post 96

Ale profilaktycznie wszystko usunąłem i wprowadziłem to co teraz wysłałeś.


Koło 9 testowo wyzerowałem.

Czyli to samo tylko inaczej nazwane, niepotrzebnie - bałagan się robi.
Czyli chciałbyś mieć licznik po dziennej produkcji w Watach?
Potwierdź, żebym niepotrzebnie nie robił.

Potrzebuje do encji energia.
Jak się domyślam potrzeby jest Total, sofar dostarcza dane ale całości np 2kWh
A potrzebuje po przecinku np 2.45kWh
Tak podaje dzienne od sofara tylko na początku wstawia wartości ujemne.

Przydało by się coś co sumuje dzienne wartości do Total-dzienny

Ok… rozumiem. Napisze coś, potestujesz, poprawimy…
Ciekawy temat, więc czegoś nowego się nauczę.

edit… coś przeoczyłem!!
Dlaczego nie użyjesz w utility_meter encji energy_total_solar, już masz to zrobione i pięknie policzone na podstawie mocy. Nic mądrzejszego w NR nie wymyślę.

utility_meter:
    pv_yearly_energy:
        name: Produkcja Rok
        source: sensor.energy_total_solar
        cycle: yearly

i tego licznika użyć w panelu energia.

1 polubienie

Bo to jest instalacja Off-Grid liczona na esp-home.

W aplikacji solarman znalazłem opcje co ładnie teraz pokazuje Daily
IMG_20220301_080238
IMG_20220301_080309

Można użyć odczytu dziennej produkcji, ja tak robię i działa.
Ważne jest aby sensor miał atrybut state_class: total_increasing

tak wygląda definicja sensora w MQTT:

{
  "avty": {
    "topic": "Sofar/Logger/1718230944/state/connected",
    "payload_available": "true",
    "payload_not_available": "false"
  },
  "~": "Sofar/Logger/1718230944/",
  "device": {
    "ids": "1718230944",
    "mf": "Sofar",
    "name": "WLS-3",
    "sw": "x.x.x"
  },
  "name": "Dzienna produkcja [Wh]",
  "uniq_id": "1718230944_23",
  "qos": 0,
  "unit_of_meas": "Wh",
  "stat_t": "~state/SolarProduction_watts_totalToday",
  "val_tpl": "{{ value | round(5) }}",
  "dev_cla": "energy",
  "state_class": "total_increasing"
}