Epever -> modbus -> esp32

Home Assistant, Arduino, SDS, Raspberry, Linux, vzdálený dohled, automatizace, měření, opensource, closedsource, hotová řešení, DIY, stavebnice, komponenty, software, postupy, návody, schémata, rady, zkušenosti ...
Uživatelský avatar
TomHC
Příspěvky: 2672
Registrován: pát lis 11, 2022 8:14 am
Reputace: 452
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 8820
Kapacita baterie [kWh]: 30
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: Epever -> modbus -> esp32

Nový příspěvek od TomHC »

bitmask je podporovaný spôsob --> https://esphome.io/components/modbus_co ... r#bitmasks

Buď sem daj väčší snippet kódu, alebo celý yaml hoci na https://pastebin.com
2x MUST PH1800 5.5kW, 9kWp V+J+Z, 600 Ah LiFePO4 s BMS JBD 200A, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome 01/2023 -> 06/2025 = 12 MWh AC
Migel
Příspěvky: 1484
Registrován: ned zář 25, 2022 10:47 am
Reputace: 181
Lokalita: Pod Karpatmi

Re: Epever -> modbus -> esp32

Nový příspěvek od Migel »

Migel píše: čtv kvě 08, 2025 12:01 am
Nevedel som kde mam toto vlakno dat, kam to zaradit, tak ak by cipis vedel kde by sa hodilo tak kludne to presun :comp: ..Mozno niekomu ulahcim cestu kto hlada alebo chce nieco podobne...
A teda k veci..Po niekolkych pokusoch a omyloch a skoro dva mesiace hladania, nahravania (Tomasovi dakujem za nasmerovanie v esphome) sa mi podarilo rozchodit vycitavanie dat z obidvoch mojich epeverov cez modbus do esp32 a nasledne cez mqtt do nodered.
Nie som v tomto programovani moc dobry ale pomaly sa ucim a teda je to celkom chytlave ked sa vam nieco podari ozivit tak ma clovek z toho neskutocnu radost a pokracuje viac a viac..(no lenze casu je teraz menej a menej :lol: )
Takze som najskor hladal vsetko o epeveroch a esp cez modbus a nieco nasiel ale nic co by sa mi hodilo.Lebo vsetko co som nasiel, respektive vacsina ludi ma, tak bolo do HA :wall:
No a kedze sa s HA este nekamaratim, tak to chcelo trochu uprav..nasiel som cely protokol plus nejake konkretne priklady a dal z tych viacerych variant do kopy funkcny yaml subor.Najskor pre jeden a potom som tam doplnil druhy regl. A ked sa to rozbehlo tak som vybral z toho yaml sekcie, ktore chcem vycitavat.
Oba regulatory 8415AN a 6415AN mam prepojene s ftp kablom a kazdy ma svoje ID.
Z hlavneho regulatora ide z rj45 do prevodnika MAX485 a odtial do esp32.(zajtra sem prihodim aj schemu zapojenia a obsadenie/prepojenie pinov, to len pre niekoho ako ja keby nahodou :lol: lebo notbuk mam uz vypnuty)
Konecne vidim oba regulatory naraz bez toho aby som sa nejako musel medzi nimi prepinat napriklad cez bluetoot alebo podobne, a hlavne to uz mam pekne v nodered kde mozem citam uz vyroby a robit si grafy a nieco to pomoze aj automatizacii.Jedine co mi zatial nejde je to ze nedokazem ovladat z nodered Load rele na regulatoroch. Idu spinat zatial iba z weboveho rozhrania esp.Bude to chciet upravit asi ten yaml subor asi...
Zajtra to sem hodim mozno niekto poradi alebo poradim niekomu ja :P
A teda nejake ukazky s dashboardu pre jednotlive regulatory.Zajtra uz tam budu aj grafy ;)
Prvy obrazok z tohoto prispevku je foto z webu esp32 a tam je vidiet polozka "charger status regulator" a "charging mode regulator" no a zobrazuju sa tam cisla.
Tie cisla co znamenaju sem mozem dat ked pridem z roboty (mam to v pc) a teda nemam ich pomenovane v samotnom yaml ale az v nodered.Ale napriklad v charger status regulator cislo 9 znamena rezim BOOST, cislo 5 je FLOAT (to len co si pametam😀).
A to ako je to zapisane v yaml je tiez v tomto vlakne
Přílohy
IMG_8523.jpeg
IMG_8511.jpeg
JZ-2s5p 3,8kWp >> Epever 8415 AN
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania :repair: (rozširovania)
Forrest
Příspěvky: 161
Registrován: pát zář 09, 2022 1:42 pm
Reputace: 5
Lokalita: Ústeckoorlicko
Systémové napětí: 24V
Výkon panelů [Wp]: 900
Kapacita baterie [kWh]: 2,4
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Č.T. Lhotka

Re: Epever -> modbus -> esp32

Nový příspěvek od Forrest »

Funkčně to mám takto:
konfigurák

Kód: Vybrat vše

# modbus pro EPEVER (měnič a regulátory)
modbus: !include modbus.yaml
modbus

Kód: Vybrat vše

#modbus EPEVER

  - name: epever_modbus 1 #pro EPEVERy FVE
    type: rtuovertcp
    host: 192.168.10.34
    port: 503
    delay: 5
    timeout: 10
    binary_sensors: !include epever_binary_sensors.yaml #sem napsat všechno co má binary_sensors
    sensors: !include epever_sensors.yaml #sem napsat všechno co má sensors
    switches: !include epever_switches.yaml #sem napsat všechno co má switches

  - name: epever_modbus 2 #pro EPEVER MĚNIČE
    type: rtuovertcp
    host: 192.168.10.34
    port: 502
    delay: 5
    timeout: 10
    binary_sensors: !include inverter_binary_sensors.yaml #sem napsat všechno co má binary_sensors
    sensors: !include inverter_sensors.yaml #sem napsat všechno co má sensors
    switches: !include inverter_switches.yaml #sem napsat všechno co má switches
a pak tedy směrovat do binary_senzors..ale v něm jak dám "bitmask" tak to řve - ten poslední yaml je fakt pracovní, takže v něm může být bordel..

Kód: Vybrat vše

#EPEVER switches - nastavení binárních senzorů EPEVER iPower5000
#EPEVER Inverter (iPower5000) na slave 1

      - name: "Inverter ON/OFF iPower5000"
        slave: 1
        address: 0x000F
        input_type: coil

      - name: "Local/Remote Control iPower5000"
        slave: 1
        address: 0x0011
        input_type: coil

      - name: "Clear Faults iPower5000"
        slave: 1
        address: 0x0013
        input_type: coil

      - name: "Over Temperature iPower5000"
        slave: 1
        address: 0x2000
        input_type: discrete_input

      - name: "Inverter Running iPower5000"
        slave: 1
        address: 0x3202
        register_type: holding
        value_type: U_WORD
        #bitmask: 0x0001 # D0

      - name: "Inverter Fault iPower5000"
        slave: 1
        address: 0x3202
        input_type: input
        #bitmask: 0x0002

      - name: "Output Fail iPower5000"
        slave: 1
        address: 0x3202
        input_type: input
        #bitmask: 0x0020

      - name: "Short Circuit iPower5000"
        slave: 1
        address: 0x3202
        input_type: input
        #bitmask: 0x0800
Měnič China SAmoDoMo 1,5 kW a již 900Wp na rotátoru jménem "slunečnice"
Forrest
Příspěvky: 161
Registrován: pát zář 09, 2022 1:42 pm
Reputace: 5
Lokalita: Ústeckoorlicko
Systémové napětí: 24V
Výkon panelů [Wp]: 900
Kapacita baterie [kWh]: 2,4
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Č.T. Lhotka

Re: Epever -> modbus -> esp32

Nový příspěvek od Forrest »

No možná je to rovnák na vohejbák, ale do hlavního konfiguráku jsem přidal template: !include inverter_templates.yaml
pak vytvořil inverter_templates.yaml a do něj toto:

Kód: Vybrat vše

# STATUSY PRO MĚNIČ IPOWER5000

- binary_sensor:
  - name: "Run Status iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0001)) > 0 }}"
  - name: "Fault Status iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0002)) > 0 }}"
  - name: "Output Fail iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0020)) > 0 }}"
  - name: "High Voltage Side Short-Circuit iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0040)) > 0 }}"
  - name: "Input Overcurrent iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0080)) > 0 }}"
  - name: "Abnormal Output Voltage iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0100)) > 0 }}"
  - name: "Cannot Stop Discharging iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0200)) > 0 }}"
  - name: "Cannot Discharge iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0400)) > 0 }}"
  - name: "Short Circuit iPower5000"
    state: "{{ (states('sensor.load_status_raw') | int(0) | bitwise_and(0x0800)) > 0 }}"

- sensor:
  - name: "Output Power Level iPower5000"
    state: >
        {% set shifted_val = states('sensor.load_status_raw') | int(0) // 4096 %}
        {% set val = shifted_val | bitwise_and(0x03) %}
        {% if val == 0 %}Light load
        {% elif val == 1 %}Medium load
        {% elif val == 2 %}Nominal load
        {% elif val == 3 %}Overload
        {% else %}Unknown{% endif %}

  - name: "Input Voltage Status iPower5000"
    state: >
        {% set shifted_val = states('sensor.load_status_raw') | int(0) // 16384 %}
        {% set val = shifted_val | bitwise_and(0x03) %}
        {% if val == 0 %}Normal input voltage
        {% elif val == 1 %}Low input voltage
        {% elif val == 2 %}High input voltage
        {% elif val == 3 %}No input power
        {% else %}Unknown{% endif %}
Měnič China SAmoDoMo 1,5 kW a již 900Wp na rotátoru jménem "slunečnice"
Uživatelský avatar
TomHC
Příspěvky: 2672
Registrován: pát lis 11, 2022 8:14 am
Reputace: 452
Lokalita: Hlohovec, SR
Systémové napětí: 48V
Výkon panelů [Wp]: 8820
Kapacita baterie [kWh]: 30
Chci prodávat energii: NE
Chci/Mám dotaci: NE
Bydliště: Hlohovec, SR

Re: Epever -> modbus -> esp32

Nový příspěvek od TomHC »

Aj tak sa dá, keď niečo nejde a dá sa to nejako obísť, prečo nie... 😎
2x MUST PH1800 5.5kW, 9kWp V+J+Z, 600 Ah LiFePO4 s BMS JBD 200A, SW: Home Assistant na Synology DS923+ ku tomu ESPHome, Tasmota, MariaDB, InfluxDB, Telegraf, Grafana, Zigbee2MQTT..., HW: ESPlan (ESP32 + LAN 8720 + RS485). Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome 01/2023 -> 06/2025 = 12 MWh AC
Migel
Příspěvky: 1484
Registrován: ned zář 25, 2022 10:47 am
Reputace: 181
Lokalita: Pod Karpatmi

Re: Epever -> modbus -> esp32

Nový příspěvek od Migel »

Ak sa ti to podarilo vyriesit, tak fajn. ale slubil som ze to sem dam...
Nasiel som to na nejakom fore a zapisal som si to takto, ale neulozil stranku :wall: no ale po skusani tie stavy sedia:

Vyznam pre modbus adresu 3201 - charger status regulator:
"0" - NORMAL
"1" - NOT CHARGE
"5" - FLOAT
"9" - BOOST
"35" - OVER VOLTAGE

Vyznam pre modbus adresa 3008 - charging mode regulator:
"0" - NORMAL
"1" - NOT CHARGING
"2" - UNDER VOLTAGE
"4" - FAULT
tak snad to bude niekomu na nieco :cheers:
S tym mojim yaml suborom to takto cita.Ano dalo by sa to dopisat tie stavy do toho yaml ale teda ja to konvertujem uz v nodered kde mi nacita cez mqtt to konkretne cislo a priradi mi k nemu stav.Lebo nemam HA ale iba nodered dashboard.
toto je kusok zo screenshotu webu esp32 kde je vidiet stavy v tych cislach..
toto je kusok zo screenshotu webu esp32 kde je vidiet stavy v tych cislach..
a toto uz je vidiet tu konverziu toho stavu v nodered (teraz aktualne :-)  )
a toto uz je vidiet tu konverziu toho stavu v nodered (teraz aktualne :-) )

este mensi EDIT.
podotknem ze tieto stavy suhlasia len pri regulatoroch typu AN-serie nakolko dostupny modbus protokol pre epevery je pre typy LS-B serie.
JZ-2s5p 3,8kWp >> Epever 8415 AN
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania :repair: (rozširovania)

Kdo je online

Uživatelé prohlížející si toto fórum: Claudebot [Bot], fofo44 a 0 hostů