Epever -> modbus -> esp32
Souhrn tématu
Uživatel popisuje své zkušenosti s propojením solárních regulátorů Epever přes Modbus s mikrokontrolérem ESP32. Po několika pokusech a úpravách YAML konfigurace se mu podařilo spolehlivě číst data z více regulátorů současně a přenášet je do Node-RED přes MQTT. Díky tomu může sledovat výkon, napětí a proud solárních panelů v reálném čase a vytvářet přehledné grafy, což usnadňuje správu a automatizaci systému.
- TomHC
- Příspěvky: 3931
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:882
- 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
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
Buď sem daj väčší snippet kódu, alebo celý yaml hoci na https://pastebin.com
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 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 , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- Migel
- Příspěvky: 1839
- Registrován: ned zář 25, 2022 10:47 am
- Reputace:327
- Lokalita: Pod Karpatmi
Re: Epever -> modbus -> esp32
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.Migel píše: čtv kvě 08, 2025 12:01 amNevedel som kde mam toto vlakno dat, kam to zaradit, tak ak by cipis vedel kde by sa hodilo tak kludne to presun..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)
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
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 nahodoulebo 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
A teda nejake ukazky s dashboardu pre jednotlive regulatory.Zajtra uz tam budu aj grafy
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
JZ-2s5p 3,8kWp >> Epever 8415 AN
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
(rozširovania)
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
- Forrest
- Příspěvky: 215
- Registrován: pát zář 09, 2022 1:42 pm
- Reputace:6
- Lokalita: Ústeckoorlicko
- Systémové napětí: 48V
- Výkon panelů [Wp]: 2900
- Kapacita baterie [kWh]: 6,4
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Č.T. Lhotka
Re: Epever -> modbus -> esp32
Funkčně to mám takto:
konfigurák modbus 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..
konfigurák
Kód: Vybrat vše
# modbus pro EPEVER (měnič a regulátory)
modbus: !include modbus.yamlKó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á switchesKó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: 215
- Registrován: pát zář 09, 2022 1:42 pm
- Reputace:6
- Lokalita: Ústeckoorlicko
- Systémové napětí: 48V
- Výkon panelů [Wp]: 2900
- Kapacita baterie [kWh]: 6,4
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Č.T. Lhotka
Re: Epever -> modbus -> esp32
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:
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"
- TomHC
- Příspěvky: 3931
- Registrován: pát lis 11, 2022 8:14 am
- Reputace:882
- 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
Aj tak sa dá, keď niečo nejde a dá sa to nejako obísť, prečo nie... 
Hlavný spotrebič: VW ID.4 | 2x MUST PH1800 5.5kW + GWL-SUN2000, 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 , BMS UART-TS485 adaptér
Nejaké moje projekty: MUST-ESPhome, ELTEK Flatpack2 ESPhome, ESP32-EMON, PZEM-017@WiFi, diyBMS-CurrentShunt-ESPhome , BMS UART-TS485 adaptér
- Migel
- Příspěvky: 1839
- Registrován: ned zář 25, 2022 10:47 am
- Reputace:327
- Lokalita: Pod Karpatmi
Re: Epever -> modbus -> esp32
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
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
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.
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.
Nasiel som to na nejakom fore a zapisal som si to takto, ale neulozil stranku
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
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.
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
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
(rozširovania)
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
- Forrest
- Příspěvky: 215
- Registrován: pát zář 09, 2022 1:42 pm
- Reputace:6
- Lokalita: Ústeckoorlicko
- Systémové napětí: 48V
- Výkon panelů [Wp]: 2900
- Kapacita baterie [kWh]: 6,4
- Chci prodávat energii: NE
- Chci/Mám dotaci: NE
- Bydliště: Č.T. Lhotka
Re: Epever -> modbus -> esp32
Hele, k něčemu to určitě bude. Jsem zjistil, že mi to stejně nejde a že se statusy nemění, takže to budu muset ještě překopat...
Měnič China SAmoDoMo 1,5 kW a již 900Wp na rotátoru jménem "slunečnice"
- Migel
- Příspěvky: 1839
- Registrován: ned zář 25, 2022 10:47 am
- Reputace:327
- Lokalita: Pod Karpatmi
Re: Epever -> modbus -> esp32
Kedze som pridal treti epever do systemu, tak som ho musel dopisat aj do yamlu do esp32.Ten yaml, co som sem dal nebol uplne dokonaly, nakolko v nom bolo tretina registrov ktore boli zbytocne pre udaje z regulatorov a zbytocne zahlcovali modbus a tym padom chod a stabilitu komunikacie a odosielania dat do nodered, ktore boli nepravidelne (ale chodilo toMigel píše: čtv kvě 08, 2025 6:40 pmTakze, regulatory su spojene medzi sebou normalnym utp alebo ftp kablom bez ukoncovacich odporov (funguje to bez problemov) a z prveho regulatora som pouzil pin4 ,pin6 na konektore rj45 a zapojil do max485 na svorky A a B. Druha strana prevodnika piny Tx, Rx, Gnd a Vcc som napojil do esp a Vcc som napojil na 3,3V tiez z esp. Espcko je napajane 5V. Do esp som nahral tento subor epever.2.zip cez esphome.
Pre tych ako som jasom dal do toho suboru aj popis ako si co upravit popripade doplnit, podotykam ze mozno odstranit tie casti ktore nechcete nacitavat a mozete potom odstranit aj popis.Ja to vycitavam cez mqtt a ide to do cerba na ktorom je nodered.
uz som aj ja nad tym uvazoval ako do vrm dostat hodnoty s inych aplikaci respektive nahradit/oklamat vrm tym ze mu poviem ze to su udaje z victron regulatora a podobne..budem to skusat v nodered ale teda je to nadlhsie...
ako som uz vyssie spomenul nefunguje ovladanie load rele z nodered, teda cez mqtt.Funguje iba z weboveho rozhrania toho esp, treba asi dopisat do toho yaml ine prikazy na zopnutie.Ja to rele chcem vyuzivat na spinanie ventilatorov pre kazdy epever zvlast na zaklade jeho vnutornej teploty (ktora sa da tiez takto vycitat).
pre mna je to uz takto super ze konecne mozem tie regle takto medzi sebou odlisit a teda ked pribudnu dalsie tak len jednoducho sa do suboru dopise id dalsieho regulatora a samozrejme aj registre a je to.
ak by niekomu nestacilo co je v ttom mojom yaml tak kliknite na toto a su tam vsetky registre https://devices.esphome.io/devices/epev ... _tracer_an alebo aj odtialto som cerpal https://github.com/martgras/esphome/blo ... n-one.yaml
a teda nejaka ukazka z dashboardu pocas dnesneho prveho dna
Takze som upravil par veci a pridal pre niektore senzory skip_updates aby sa necitali tak casto a tym padom odlahcili requesty.
takisto som pridal aj update_imterval aby sa senzory ktore sa maju aktualizovat a posielat pravidelne posielali co v najkratsom case a boli aktualnejsie, napriklad vykon, napetie a prud z panelov teraz chodia pravidelne a predvidatelne kazde 2sekundy
Kód: Vybrat vše
modbus:
send_wait_time: 180ms #<<<<<<<<<upraveny wait time na 180ms
id: mod_bus_epever
modbus_controller:
- id: epever # epever 8415AN
address: 0x1
modbus_id: mod_bus_epever
command_throttle: 200ms
setup_priority: -10
update_interval: 2s #<<<<<<<<<<<pridany_update interval ale iba sem ku kazdemu regulatoru
- id: epever2 # epever 6415AN
address: 0x2
modbus_id: mod_bus_epever
command_throttle: 200ms
setup_priority: -10
update_interval: 2s
- id: epever3 # epever 10020AN
address: 0x3
modbus_id: mod_bus_epever
command_throttle: 200ms
setup_priority: -10
update_interval: 2sKód: Vybrat vše
- platform: modbus_controller
modbus_controller_id: epever2
id: charging_mode_regulator2
name: "Charging Mode Regulator 2"
address: 0x3008
unit_of_measurement: ""
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30 #<<<<<<<<<<<tento skip_updates pribudol iba pri registroch ktore netreba citat kazde dve sekundy, ale bude sa citat kazdu minutu a pri ostatnych mozete dat aj iny cas citania napriklad pri aktualizaci casu mozete dat 2 minutryTunak je teraz aktualizovany cely yaml pre tri regulatory ktore pouzivam:
Kód: Vybrat vše
esphome:
name: epever
esp32:
board: esp32dev
time:
- platform: sntp
id: sntp_time
servers: "pool.ntp.org"
wifi:
ssid: "nazov_tvojej_siete"
password: "heslo_siete"
mqtt:
broker: "IP_adresa_brokera"
topic_prefix: epever
on_message:
- topic: epever/regulator1/manual_control_load/set
then:
- if:
condition:
lambda: 'return x == "ON";'
then:
- switch.turn_on: manual_control_load_regulator1
else:
- switch.turn_off: manual_control_load_regulator1
- topic: epever/regulator2/manual_control_load/set
then:
- if:
condition:
lambda: 'return x == "ON";'
then:
- switch.turn_on: manual_control_load_regulator2
else:
- switch.turn_off: manual_control_load_regulator2
- topic: epever/regulator3/manual_control_load/set
then:
- if:
condition:
lambda: 'return x == "ON";'
then:
- switch.turn_on: manual_control_load_regulator3
else:
- switch.turn_off: manual_control_load_regulator3
logger:
ota:
platform: esphome
uart:
id: mod_bus
tx_pin: GPIO26
rx_pin: GPIO27
baud_rate: 115200
stop_bits: 1
modbus:
send_wait_time: 180ms
id: mod_bus_epever
modbus_controller:
- id: epever # epever 8415AN
address: 0x1
modbus_id: mod_bus_epever
command_throttle: 200ms
setup_priority: -10
update_interval: 2s
- id: epever2 # epever 6415AN
address: 0x2
modbus_id: mod_bus_epever
command_throttle: 200ms
setup_priority: -10
update_interval: 2s
- id: epever3 # epever 10020AN
address: 0x3
modbus_id: mod_bus_epever
command_throttle: 200ms
setup_priority: -10
update_interval: 2s
sensor:
- platform: template
accuracy_decimals: 0
name: "Generated Charge today Regulator 1"
id: generated_charge_today_regulator1
unit_of_measurement: "Ah"
- platform: template
accuracy_decimals: 0
name: "Generated Charge today Regulator 2"
id: generated_charge_today_regulator2
unit_of_measurement: "Ah"
- platform: template
accuracy_decimals: 0
name: "Generated Charge today Regulator 3"
id: generated_charge_today_regulator3
unit_of_measurement: "Ah"
- platform: modbus_controller
modbus_controller_id: epever
id: charging_mode_regulator1
name: "Charging Mode Regulator 1"
address: 0x3008
unit_of_measurement: ""
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever2
id: charging_mode_regulator2
name: "Charging Mode Regulator 2"
address: 0x3008
unit_of_measurement: ""
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever3
id: charging_mode_regulator3
name: "Charging Mode Regulator 3"
address: 0x3008
unit_of_measurement: ""
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever
id: pv_input_voltage_regulator1
name: "PV array input voltage Regulator 1"
address: 0x3100
unit_of_measurement: "V"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever2
id: pv_input_voltage_regulator2
name: "PV array input voltage Regulator 2"
address: 0x3100
unit_of_measurement: "V"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever3
id: pv_input_voltage_regulator3
name: "PV array input voltage Regulator 3"
address: 0x3100
unit_of_measurement: "V"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever
id: pv_input_current_regulator1
name: "PV array input current Regulator 1"
address: 0x3101
unit_of_measurement: "A"
register_type: read
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever2
id: pv_input_current_regulator2
name: "PV array input current Regulator 2"
address: 0x3101
unit_of_measurement: "A"
register_type: read
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01 #<<<<<<<<<<napriklad tento senzor sa cita kazde dve sekundy a nema ten skip_updates
- platform: modbus_controller
modbus_controller_id: epever3
id: pv_input_current_regulator3
name: "PV array input current Regulator 3"
address: 0x3101
unit_of_measurement: "A"
register_type: read
value_type: U_WORD
accuracy_decimals: 2
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever
id: pv_input_power_regulator1
name: "PV array input power Regulator 1"
address: 0x3102
unit_of_measurement: "W"
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
device_class: "power"
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever2
id: pv_input_power_regulator2
name: "PV array input power Regulator 2"
address: 0x3102
unit_of_measurement: "W"
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
device_class: "power"
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever3
id: pv_input_power_regulator3
name: "PV array input power Regulator 3"
address: 0x3102
unit_of_measurement: "W"
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
device_class: "power"
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever
id: charging_voltage_regulator1
name: "Charging voltage Regulator 1"
address: 0x3104
unit_of_measurement: "V"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever2
id: charging_voltage_regulator2
name: "Charging voltage Regulator 2"
address: 0x3104
unit_of_measurement: "V"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever3
id: charging_voltage_regulator3
name: "Charging voltage Regulator 3"
address: 0x3104
unit_of_measurement: "V"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever
id: charging_current_regulator1
name: "Charging current Regulator 1"
address: 0x3105
unit_of_measurement: "A"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever2
id: charging_current_regulator2
name: "Charging current Regulator 2"
address: 0x3105
unit_of_measurement: "A"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever3
id: charging_current_regulator3
name: "Charging current Regulator 3"
address: 0x3105
unit_of_measurement: "A"
register_type: read
value_type: U_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever
id: charging_power_regulator1
name: "Charging power Regulator 1"
address: 0x3106
unit_of_measurement: "W"
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
device_class: "power"
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever2
id: charging_power_regulator2
name: "Charging power Regulator 2"
address: 0x3106
unit_of_measurement: "W"
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
device_class: "power"
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever3
id: charging_power_regulator3
name: "Charging power Regulator 3"
address: 0x3106
unit_of_measurement: "W"
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
device_class: "power"
filters:
- multiply: 0.01
- platform: modbus_controller
modbus_controller_id: epever
id: device_temperature_regulator1
name: "Device temperature Regulator 1"
address: 0x3111
unit_of_measurement: °C
register_type: read
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever2
id: device_temperature_regulator2
name: "Device temperature Regulator 2"
address: 0x3111
unit_of_measurement: °C
register_type: read
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever3
id: device_temperature_regulator3
name: "Device temperature Regulator 3"
address: 0x3111
unit_of_measurement: °C
register_type: read
value_type: S_WORD
accuracy_decimals: 1
filters:
- multiply: 0.01
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever
id: battery_soc_regulator1
name: "Battery SOC Regulator 1"
address: 0x311A
unit_of_measurement: "%"
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever2
id: battery_soc_regulator2
name: "Battery SOC Regulator 2"
address: 0x311A
unit_of_measurement: "%"
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever3
id: battery_soc_regulator3
name: "Battery SOC Regulator 3"
address: 0x311A
unit_of_measurement: "%"
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever
id: charger_status_regulator1
name: "Charger status Regulator 1"
address: 0x3201
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever2
id: charger_status_regulator2
name: "Charger status Regulator 2"
address: 0x3201
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever3
id: charger_status_regulator3
name: "Charger status Regulator 3"
address: 0x3201
register_type: read
value_type: U_WORD
accuracy_decimals: 0
skip_updates: 30
- platform: modbus_controller
modbus_controller_id: epever
id: max_pv_voltage_today_regulator1
name: "Maximum PV voltage today Regulator 1"
address: 0x3300
register_type: read
value_type: U_WORD
accuracy_decimals: 1
unit_of_measurement: "V"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever2
id: max_pv_voltage_today_regulator2
name: "Maximum PV voltage today Regulator 2"
address: 0x3300
register_type: read
value_type: U_WORD
accuracy_decimals: 1
unit_of_measurement: "V"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever3
id: max_pv_voltage_today_regulator3
name: "Maximum PV voltage today Regulator 3"
address: 0x3300
register_type: read
value_type: U_WORD
accuracy_decimals: 1
unit_of_measurement: "V"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever
id: generated_energy_today_regulator1
name: "Generated energy today Regulator 1"
address: 0x330C
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 0
unit_of_measurement: "Wh"
on_value:
then:
- sensor.template.publish:
id: generated_charge_today_regulator1
state: !lambda "return x/12.0;"
device_class: "energy"
filters:
- multiply: 10.0
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever2
id: generated_energy_today_regulator2
name: "Generated energy today Regulator 2"
address: 0x330C
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 0
unit_of_measurement: "Wh"
on_value:
then:
- sensor.template.publish:
id: generated_charge_today_regulator2
state: !lambda "return x/12.0;"
device_class: "energy"
filters:
- multiply: 10.0
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever3
id: generated_energy_today_regulator3
name: "Generated energy today Regulator 3"
address: 0x330C
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 0
unit_of_measurement: "Wh"
on_value:
then:
- sensor.template.publish:
id: generated_charge_today_regulator3
state: !lambda "return x/12.0;"
device_class: "energy"
filters:
- multiply: 10.0
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever
id: generated_energy_month_regulator1
name: "Generated energy month Regulator 1"
address: 0x330E
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 0
unit_of_measurement: "Wh"
device_class: "energy"
filters:
- multiply: 10.0
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever2
id: generated_energy_month_regulator2
name: "Generated energy month Regulator 2"
address: 0x330E
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 0
unit_of_measurement: "Wh"
device_class: "energy"
filters:
- multiply: 10.0
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever3
id: generated_energy_month_regulator3
name: "Generated energy month Regulator 3"
address: 0x330E
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 0
unit_of_measurement: "Wh"
device_class: "energy"
filters:
- multiply: 10.0
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever
id: generated_energy_year_regulator1
name: "Generated energy year Regulator 1"
address: 0x3310
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
unit_of_measurement: "kWh"
device_class: "energy"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever2
id: generated_energy_year_regulator2
name: "Generated energy year Regulator 2"
address: 0x3310
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
unit_of_measurement: "kWh"
device_class: "energy"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever3
id: generated_energy_year_regulator3
name: "Generated energy year Regulator 3"
address: 0x3310
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
unit_of_measurement: "kWh"
device_class: "energy"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever
id: generated_energy_total_regulator1
name: "Generated energy total Regulator 1"
address: 0x3312
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
unit_of_measurement: "kWh"
device_class: "energy"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever2
id: generated_energy_total_regulator2
name: "Generated energy total Regulator 2"
address: 0x3312
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
unit_of_measurement: "kWh"
device_class: "energy"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever3
id: generated_energy_total_regulator3
name: "Generated energy total Regulator 3"
address: 0x3312
register_type: read
value_type: U_DWORD_R
accuracy_decimals: 1
unit_of_measurement: "kWh"
device_class: "energy"
filters:
- multiply: 0.01
skip_updates: 40
- platform: modbus_controller
modbus_controller_id: epever
id: load_controlling_modes_regulator1
name: "Load controlling modes Regulator 1"
address: 0x903D
register_type: holding
accuracy_decimals: 0
value_type: U_WORD
skip_updates: 50
- platform: modbus_controller
modbus_controller_id: epever2
id: load_controlling_modes_regulator2
name: "Load controlling modes Regulator 2"
address: 0x903D
register_type: holding
accuracy_decimals: 0
value_type: U_WORD
skip_updates: 50
- platform: modbus_controller
modbus_controller_id: epever3
id: load_controlling_modes_regulator3
name: "Load controlling modes Regulator 3"
address: 0x903D
register_type: holding
accuracy_decimals: 0
value_type: U_WORD
skip_updates: 50
binary_sensor:
- platform: modbus_controller
modbus_controller_id: epever
id: charging_input_volt_failure_regulator1
name: "Charging Input Volt Failure Regulator 1"
register_type: read
address: 0x3201
bitmask: 0xC000
skip_updates: 20
- platform: modbus_controller
modbus_controller_id: epever2
id: charging_input_volt_failure_regulator2
name: "Charging Input Volt Failure Regulator 2"
register_type: read
address: 0x3201
bitmask: 0xC000
skip_updates: 20
- platform: modbus_controller
modbus_controller_id: epever3
id: charging_input_volt_failure_regulator3
name: "Charging Input Volt Failure Regulator 3"
register_type: read
address: 0x3201
bitmask: 0xC000
skip_updates: 20
switch:
- platform: modbus_controller
modbus_controller_id: epever
id: manual_control_load_regulator1
register_type: coil
address: 2
name: "manual control the load Regulator 1"
bitmask: 1
on_turn_on:
- mqtt.publish:
topic: "epever/regulator1/manual_control_load"
payload: "ON"
on_turn_off:
- mqtt.publish:
topic: "epever/regulator1/manual_control_load"
payload: "OFF"
- platform: modbus_controller
modbus_controller_id: epever2
id: manual_control_load_regulator2
register_type: coil
address: 2
name: "manual control the load Regulator 2"
bitmask: 1
on_turn_on:
- mqtt.publish:
topic: "epever/regulator2/manual_control_load"
payload: "ON"
on_turn_off:
- mqtt.publish:
topic: "epever/regulator2/manual_control_load"
payload: "OFF"
- platform: modbus_controller
modbus_controller_id: epever3
id: manual_control_load_regulator3
register_type: coil
address: 2
name: "manual control the load Regulator 3"
bitmask: 1
on_turn_on:
- mqtt.publish:
topic: "epever/regulator3/manual_control_load"
payload: "ON"
on_turn_off:
- mqtt.publish:
topic: "epever/regulator3/manual_control_load"
payload: "OFF"
text_sensor:
- platform: modbus_controller
modbus_controller_id: epever
name: "rtc_clock_regulator1"
id: rtc_clock_regulator1
internal: true
register_type: holding
address: 0x9013
register_count: 3
skip_updates: 60
raw_encode: HEXBYTES
response_size: 6
on_value:
then:
- lambda: |-
ESP_LOGV("main", "decoding rtc hex encoded raw data (Regulator 1): %s", x.c_str());
uint8_t h=0,m=0,s=0,d=0,month_=0,y = 0 ;
m = esphome::modbus_controller::byte_from_hex_str(x,0);
s = esphome::modbus_controller::byte_from_hex_str(x,1);
d = esphome::modbus_controller::byte_from_hex_str(x,2);
h = esphome::modbus_controller::byte_from_hex_str(x,3);
y = esphome::modbus_controller::byte_from_hex_str(x,4);
month_ = esphome::modbus_controller::byte_from_hex_str(x,5);
// Now check if the rtc time of the controller is ok and correct it
time_t now = ::time(nullptr);
struct tm *time_info = ::localtime(&now);
int seconds = time_info->tm_sec;
int minutes = time_info->tm_min;
int hour = time_info->tm_hour;
int day = time_info->tm_mday;
int month = time_info->tm_mon + 1;
int year = time_info->tm_year % 100;
// correct time if needed (ignore seconds)
if (d != day || month_ != month || y != year || h != hour || m != minutes) {
// create the payload
std::vector<uint16_t> rtc_data = {uint16_t((minutes << 8) | seconds), uint16_t((day << 8) | hour),
uint16_t((year << 8) | month)};
// Create a modbus command item with the time information as the payload
esphome::modbus_controller::ModbusCommandItem set_rtc_command = esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(epever, 0x9013, 3, rtc_data);
// Submit the command to the send queue
epever->queue_command(set_rtc_command);
ESP_LOGI("ModbusLambda", "EPSOLAR RTC Regulator 1 set to %02d:%02d:%02d %02d.%02d.%04d", hour, minutes, seconds, day, month, year + 2000);
}
char buffer[20];
// format time as YYYY-mm-dd hh:mm:ss
sprintf(buffer,"%04d-%02d-%02d %02d:%02d:%02d",y+2000,month_,d,h,m,s);
id(template_rtc_regulator1).publish_state(buffer);
- platform: template
name: "RTC Time Sensor Regulator 1"
id: template_rtc_regulator1
- platform: modbus_controller
modbus_controller_id: epever2
name: "rtc_clock_regulator2"
id: rtc_clock_regulator2
internal: true
register_type: holding
address: 0x9013
register_count: 3
raw_encode: HEXBYTES
response_size: 6
skip_updates: 60
on_value:
then:
- lambda: |-
ESP_LOGV("main", "decoding rtc hex encoded raw data (Regulator 2): %s", x.c_str());
uint8_t h=0,m=0,s=0,d=0,month_=0,y = 0 ;
m = esphome::modbus_controller::byte_from_hex_str(x,0);
s = esphome::modbus_controller::byte_from_hex_str(x,1);
d = esphome::modbus_controller::byte_from_hex_str(x,2);
h = esphome::modbus_controller::byte_from_hex_str(x,3);
y = esphome::modbus_controller::byte_from_hex_str(x,4);
month_ = esphome::modbus_controller::byte_from_hex_str(x,5);
// Now check if the rtc time of the controller is ok and correct it
time_t now = ::time(nullptr);
struct tm *time_info = ::localtime(&now);
int seconds = time_info->tm_sec;
int minutes = time_info->tm_min;
int hour = time_info->tm_hour;
int day = time_info->tm_mday;
int month = time_info->tm_mon + 1;
int year = time_info->tm_year % 100;
// correct time if needed (ignore seconds)
if (d != day || month_ != month || y != year || h != hour || m != minutes) {
// create the payload
std::vector<uint16_t> rtc_data = {uint16_t((minutes << 8) | seconds), uint16_t((day << 8) | hour),
uint16_t((year << 8) | month)};
// Create a modbus command item with the time information as the payload
esphome::modbus_controller::ModbusCommandItem set_rtc_command = esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(epever2, 0x9013, 3, rtc_data);
// Submit the command to the send queue
epever2->queue_command(set_rtc_command);
ESP_LOGI("ModbusLambda", "EPSOLAR RTC Regulator 2 set to %02d:%02d:%02d %02d.%02d.%04d", hour, minutes, seconds, day, month, year + 2000);
}
char buffer[20];
// format time as YYYY-mm-dd hh:mm:ss
sprintf(buffer,"%04d-%02d-%02d %02d:%02d:%02d",y+2000,month_,d,h,m,s);
id(template_rtc_regulator2).publish_state(buffer);
- platform: template
name: "RTC Time Sensor Regulator 2"
id: template_rtc_regulator2
- platform: modbus_controller
modbus_controller_id: epever3
name: "rtc_clock_regulator3"
id: rtc_clock_regulator3
internal: true
register_type: holding
address: 0x9013
register_count: 3
raw_encode: HEXBYTES
response_size: 6
skip_updates: 60
on_value:
then:
- lambda: |-
ESP_LOGV("main", "decoding rtc hex encoded raw data (Regulator 3): %s", x.c_str());
uint8_t h=0,m=0,s=0,d=0,month_=0,y = 0 ;
m = esphome::modbus_controller::byte_from_hex_str(x,0);
s = esphome::modbus_controller::byte_from_hex_str(x,1);
d = esphome::modbus_controller::byte_from_hex_str(x,2);
h = esphome::modbus_controller::byte_from_hex_str(x,3);
y = esphome::modbus_controller::byte_from_hex_str(x,4);
month_ = esphome::modbus_controller::byte_from_hex_str(x,5);
// Now check if the rtc time of the controller is ok and correct it
time_t now = ::time(nullptr);
struct tm *time_info = ::localtime(&now);
int seconds = time_info->tm_sec;
int minutes = time_info->tm_min;
int hour = time_info->tm_hour;
int day = time_info->tm_mday;
int month = time_info->tm_mon + 1;
int year = time_info->tm_year % 100;
// correct time if needed (ignore seconds)
if (d != day || month_ != month || y != year || h != hour || m != minutes) {
// create the payload
std::vector<uint16_t> rtc_data = {uint16_t((minutes << 8) | seconds), uint16_t((day << 8) | hour),
uint16_t((year << 8) | month)};
// Create a modbus command item with the time information as the payload
esphome::modbus_controller::ModbusCommandItem set_rtc_command = esphome::modbus_controller::ModbusCommandItem::create_write_multiple_command(epever3, 0x9013, 3, rtc_data);
// Submit the command to the send queue
epever3->queue_command(set_rtc_command);
ESP_LOGI("ModbusLambda", "EPSOLAR RTC Regulator 2 set to %02d:%02d:%02d %02d.%02d.%04d", hour, minutes, seconds, day, month, year + 2000);
}
char buffer[20];
// format time as YYYY-mm-dd hh:mm:ss
sprintf(buffer,"%04d-%02d-%02d %02d:%02d:%02d",y+2000,month_,d,h,m,s);
id(template_rtc_regulator3).publish_state(buffer);
- platform: template
name: "RTC Time Sensor Regulator 3"
id: template_rtc_regulator3
web_server:
port: 80Teraz sa udaje posielaju okamzite a hlavne pravidelne a v logoch su uz neni ziadne upozornenia a komunikacia sa nezasekava.
Povodny yaml mal 934 riadkov kodu pre dva regulatory a po tychto upravach ma pre tri regulatory 946 riadkov
Mozem povedat ze je to riadny rozdiel v stabilite a vycitavani.Dokonca aj web esp sa nacit ihned.Ale tak ten je tam len pre pripadne ladenie inak je vypnuty.
Toto by som chcel urobit a uz dlho o tom hovorim ale mal som najskor tento problem, ze to udaje posielalo do nodered nepravidelne a cerbo potrebuje niekolko udajov naraz a pravidelne aby to zobralo ako victron regulator.No treba do cerba najskor cez SSH nahrat ten subor co si daval odkaz na github (myslim ze to bolo od Manuela) a az potom v nodered prekonvertovat prijate spravy z mqtt na dbus a posielat to cerbu akoby to bol pripojeny victron regulator.Takto by to malo ist spravit.Ale teda, uz az cez zimucipis
Todle by mělo být mqtt - regulátor:
https://github.com/mr-manuel/venus-os_d ... ar-charger
Tak kdyby se to nakombinovalo?
Dříve jsem našel řadu projektů, které ty epevery (buď pouze jeden nebo možná u některého projektu více) dostaly do mqtt. Akorát to prostě narvaly v kdo ví čem, jen ne v tom formátu, co Victron předpokládá pro regulátor, tj. tady to od toho manuela to nevzalo.
Na Victron fóru, tom starém, bylo také něco, více méně stejný princip. Nějaké udělátko vyčetlo Epever a poslalo na mqtt server. Řešení v jednom kroku kdosi zkoušel, pro jeden regulátor, a nebylo to spolehlivé atd.
Tedy asi cesta zkonvertovat epevery přes "krabičku" a až pak řešit na cílovém VRM, bude ta správná.
A nakolko mam origo cerbo, tak sa mi do toho moc nechce keby sa nieco
Moje pokusy su nevyspytatelne
JZ-2s5p 3,8kWp >> Epever 8415 AN
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
(rozširovania)
JV-2s3p 2,7kWp >> Epever 6415 AN
2x Victron MP2 5000V/A paralelne
3x GWL SUN-2000G paralelne
48V 760Ah/35kWh Li-ion
a stále v štádiu budovania
Kdo je online
Uživatelé procházející toto fórum: Claudebot [Bot]
