Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Odpovědět
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

redcrown píše: sob říj 28, 2023 8:28 pm Byl by někdo znalý pythonu ochotný mě napsat skriptík, který by můj python kód spustil a když dojde k té chybě mutex, tak aby se skript zastavil, počkal chvilku a zase se spustil? Hodně by mě to pomohlo. Předem díky.
Možná by autor tohoto kódu mohl doporučit, jak to udělat, nebo doporučit alternativu: https://github.com/zocker-160/xcom-protocol
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Je tento komunikační kód Xcomu zveřejněn na Githubu nebo někde jinde, kde bych si ho mohl stáhnout?
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

@mobilik @redcrown Mám několik otázek ohledně vašeho projektu:

Máte přehled změn, které jste provedli v implementaci XcomLAN Mustafa-Abu-Ghazy: https://github.com/Mustafa-Abu-Ghazy/XcomLAN ?
Podporovala jeho implementace nativně komunikaci s provozním režimem Xcom-LAN nastaveným na TCP klient, aby mohla být zachována komunikace s portálem Studer?
Plánujete podat pull request na repozitář Mustafy-Abu-Ghazyho, aby byly změny snadno dostupné všem?
V dokumentaci repozitáře Mustafa-Abu-Ghazyho jsem neviděl nic o možnosti omezit zápisy do paměti Studer RAM, aby nedošlo k opotřebení paměti flash. Má jeho kód tuto funkci? Studer mi říká, že jejich flash paměť je dimenzována pouze na 1000 zápisů.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
mobilik
Příspěvky: 920
Registrován: stř bře 31, 2021 7:50 am
Bydliště: Neďaleko Košíc - SK
Výkon panelů v FVE [Wp]: 9600
Kapacita baterie [kWh]: 12
Kontaktovat uživatele:

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od mobilik »

Ja to nemám ešte stále spravené. Čakám na programátora už 4 mesiace kým si nájde čas.
Ak by bol niekto iný ochotný, budem rád a samozrejme nie zadarmo. Vďaka.
Najprv sa učíme chodiť a hovoriť, neskôr sa učíme sedieť a držať hubu... :stupidme:
Hybridná FVE dom: 6,3kWp, Studer, 12kWh Pylontech + GB-Aku
On-Grid FVE dom: 3,3kWp, ZCS Azzurro + Solic200 + VB
OFF-Grid FVE chata: 1,5kWp, Axpert, PCM, 200Ah/24V 18650
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Domluvil jsem se s majitelem úložiště https://github.com/zocker-160/xcom-protocol a ten provedl aktualizaci svého kódu, aby přidal podporu pro komunikaci s Moxou, když je v režimu klienta TCP. Provedl jsem několik testů čtení a zatím se zdá, že to funguje dobře. Zadal jsem mu seznam 15 parametrů ke čtení a zvládl to dobře. Budu muset sestavit skript, abych otestoval, jak si poradí s opakovaným čtením. Také budu chtít provést testování zápisu parametrů do paměti RAM. Nakonec ho budu muset nastavit s brokerem a klientem MQTT. Pokud by si to někdo chtěl vyzkoušet na vlastní kůži, neváhejte.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
Uživatelský avatar
redcrown
Příspěvky: 868
Registrován: čtv dub 08, 2021 6:07 pm
Bydliště: Jizerky
Výkon panelů v FVE [Wp]: 19550
Kapacita baterie [kWh]: 36

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od redcrown »

JeffersM1 píše: sob pro 02, 2023 10:41 am @mobilik @redcrown Mám několik otázek ohledně vašeho projektu:

Máte přehled změn, které jste provedli v implementaci XcomLAN Mustafa-Abu-Ghazy: https://github.com/Mustafa-Abu-Ghazy/XcomLAN ?
Podporovala jeho implementace nativně komunikaci s provozním režimem Xcom-LAN nastaveným na TCP klient, aby mohla být zachována komunikace s portálem Studer?
Plánujete podat pull request na repozitář Mustafy-Abu-Ghazyho, aby byly změny snadno dostupné všem?
V dokumentaci repozitáře Mustafa-Abu-Ghazyho jsem neviděl nic o možnosti omezit zápisy do paměti Studer RAM, aby nedošlo k opotřebení paměti flash. Má jeho kód tuto funkci? Studer mi říká, že jejich flash paměť je dimenzována pouze na 1000 zápisů.
já jsem se daleko nedostal. Nainstaloval jsem na Rpi3 skript podle Mrazika a vedle Xcom-LAN pro portál jsem spustil Xcom-LAN pro HA. Vždy po několika málo hodinách jsem skončil s chybou "Error - could not lock mutex!".
Vzdal jsem to. Tvůj odkaz nemůžu zkusit, protože nejsem zdatný programátor. Až bude někde ležet použitelný skript včetně alespoň rozumného postupu instalace, můžu to zkusit.
Ostrov s nabíjením z DS, 19,5kWp, 4x XTM4000-48, VT40-80, 30kWh LFP 14P16S + 36kWh Winston 230Ah 3P16S Batrium
2x Skútr E-Max120L
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Testoval jsem Zocker-160 Xcom-LAN a zjistil jsem, že jsem schopen číst a zapisovat podle očekávání, s výjimkou hodnot Xcom-CAN (řada 6000). Nejsem tedy schopen zapisovat aktualizace do 6062 SOC pro úroveň Backup. Myslel jsem, že by to mohl být problém s oprávněními, ale nemohu číst ani žádné hodnoty řady 6000, které má můj Xcom-LAN. Hodnoty řady 7000 mohu číst bez problémů. Vypadá to na nějaký problém společnosti Studer, takže jsem jim napsal dotaz, proč k tomu dochází a zda je rozdíl mezi přístupem k hodnotám Xcom-LAN prostřednictvím SCOM a hodnotami Xtenderu.

Testuji spuštění Xcom-LAN na svém notebooku tak, že jej volám prostřednictvím smyčky, která zapisuje výstup do souboru csv, který importuji do Calcu. Zdá se, že mohu úspěšně provádět čtení skupiny 14 hodnot každých 1,2 sekundy, ale při této rychlosti se připojení portálu zahltí a přestane přijímat hodnoty, pravděpodobně kvůli kolizím požadavků. Mám dojem, že těch 1,2 sekundy příliš nezávisí na tom, kolik hodnot požaduji přečíst zpět, protože se nezdá, že by byl velký rozdíl mezi čtením 1 nebo 14 hodnot. Určuje Studer, že seznam požadovaných hodnot skončil, spíše podle time outu, než že by hledal konec sekvence požadavků? Pokud do smyčky přidám 5sekundové zpoždění, zdá se, že připojení Studeru je stabilní. V testu, který probíhal něco přes 5 hodin a čítal 3000 sad, byla doba mezi čteními obvykle asi 6,2 sekundy, občas se zvýšila na 8,3 sekundy a jednou až na 23 sekund. Je to rychlejší než integrace RESTful, kterou jsem používal, a zdá se být mnohem spolehlivější. Kolísání může být způsobeno kolizí se čtením portálu Studer.
measurements.png
measurements.png (165.79 KiB) Zobrazeno 6496 x
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

redcrown píše: úte pro 05, 2023 12:03 am
já jsem se daleko nedostal. Nainstaloval jsem na Rpi3 skript podle Mrazika a vedle Xcom-LAN pro portál jsem spustil Xcom-LAN pro HA. Vždy po několika málo hodinách jsem skončil s chybou "Error - could not lock mutex!".
Jak často dochází k chybě mutexu?
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
Uživatelský avatar
redcrown
Příspěvky: 868
Registrován: čtv dub 08, 2021 6:07 pm
Bydliště: Jizerky
Výkon panelů v FVE [Wp]: 19550
Kapacita baterie [kWh]: 36

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od redcrown »

Velice se to liší, ale cca. 2-12hodin. Víc jak 12 hodin to nikdy neběželo.
Ostrov s nabíjením z DS, 19,5kWp, 4x XTM4000-48, VT40-80, 30kWh LFP 14P16S + 36kWh Winston 230Ah 3P16S Batrium
2x Skútr E-Max120L
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Nyní jsem schopen číst a zapisovat hodnoty do Xcom-CAN (řada 6000). Majitel úložiště mě upozornil, že musím do příkazu pro čtení uvést adresu zařízení (601) namísto výchozí adresy. Nyní jsem schopen nastavit 6062 SOC pro hodnotu Backup Level v paměti RAM. Chtěl jsem se vyhnout zápisu do paměti flash, protože Studer tvrdí, že je dobrá jen pro asi 1000 cyklů zápisu. V současné době používám program na svém PC a měním hodnoty v příkazovém řádku a také provádím testy čtení hodnot. Zatím jsem spustil pouze test čtení po dobu asi 5 hodin, zkusím delší dobu. Dalším krokem bude nastavení MQTT brokeru na mém PC a klientů na PC i HA, aby HA mohl přistupovat k datům protokolu Xcom.

Pokud si chcete vyzkoušet pythonovský program Xcom-protocol, můžete si jej nainstalovat podle pokynů na stránce github: https://github.com/zocker-160/xcom-protocol/tree/master Níže je uveden pythonovský skript, který jsem používal ke čtení dat ze Studeru. Skript obsahuje téměř vše, co obsahuje synoptická stránka portálu. Skript se spouští z příkazového řádku a přijímá dva argumenty, zapisuje časové razítko a seznam hodnot do souboru csv pro import do tabulkového procesoru. Prvním argumentem je počet, kolikrát se má seznam dat přečíst, a druhým argumentem je, jak dlouho se má čekat v sekundách, než se začne další čtení. Doporučuji nastavit prodlevu na 5 nebo vyšší, pokud je váš systém připojen k portálu Studer, aby nedocházelo k příliš mnoha kolizím.

Příklad použití skriptu: python3 measurements10.py 10 5
# smyčka načte 10 hodnot se zpožděním 5 sekund po každém načtení.

Kód: Vybrat vše

import sys
import datetime
import uuid
import time

# Your XcomLANTCP and other imports go here
from xcom_proto import XcomP as param
from xcom_proto import XcomC
from xcom_proto import XcomLANTCP


def main():
# Get the number of measurements and delay from command line arguments
    num_measurements = int(sys.argv[1]) if len(sys.argv) > 1 else 1
    delay = float(sys.argv[2]) if len(sys.argv) > 2 else 1

    # Generate a unique identifier for file name
    unique_id = str(uuid.uuid4())

    with open(f'measurement_results_{unique_id}.csv', 'w') as file:
        file.write(f'Time Stamp, ')
 # ENERGY					
        file.write(f'#Has Solar (true/false), ')                   # 1 place holder
        file.write(f'VS-1 PV Solar Energy (kWh), ')                # 2A
        file.write(f'VS-2 PV Solar Energy (kWh), ')                # 2B
        file.write(f'VS-1 Yesterday Solar Energy (kWh), ')	   # 3A
        file.write(f'VS-2 Yesterday Solar Energy (kWh), ')	   # 3B
        file.write(f'#Has Inverter (true/false), ') 	           # 4 place holder
        file.write(f'AC Energy in Current Day (kWh), ')	           # 5	
        file.write(f'AC Energy in Previous Day (kWh), ')           # 6	
        file.write(f'AC_Energy Out Currrent Day (kWh), ')          # 7	
        file.write(f'AC Energy out Previous Day (kWh), ')          # 8	
        file.write(f'#Has Battery Status Processor (true/false), ') # 9 place holder
        file.write(f'Battery Charge (Ah), ')	                   # 10	
        file.write(f'Yesterday Battery Charge (Ah), ')	           # 11	
        file.write(f'Battery Discharge (Ah), ')                    # 12	
        file.write(f'Yesterday Battery Discharge (Ah), ')          # 13	
        file.write(f'#Has AC Coupling (true/false), ')             # 14	place holder
        file.write(f'#AC Coupling (kWh), ')                        # 15	place holder
        file.write(f'#Yesterday AC Coupling (kWh), ')              # 16	place holder					
 # BATTERY					
        file.write(f'Battery Voltage (V), ')                       # 17	
        file.write(f'Battery Current (A), ')                       # 18
        file.write(f'Battery SOC (%), ')                           # 19
        file.write(f'Battery Temperature (°C), ')                  # 20
        file.write(f'Battery Cycle Phase, ')                       # 21			
 # POWER	
        file.write(f'VS-1 PV Solar Power (kW), ')                  # 22A 
        file.write(f'VS-2 PV Solar Power (kW), ')                  # 22B 
        file.write(f'AC Power In (kW), ')                          # 23
        file.write(f'AC Power Out (kW), ')                         # 24
        file.write(f'Battery Power (W), ')                         # 25
        file.write(f'#Has AC Coupling (true/false), ')             # 26 place holder
        file.write(f'#AC Coupling (kW), ')	                   # 27 place holder  
        file.write(f'AC Current In (A), ')                         # 28
        file.write(f'AC Current Out (A), ')                        # 29
        file.write(f'AC Voltage In (V), ')                         # 30
        file.write(f'AC Voltage Out (V), ')                        # 31
        file.write(f'AC Frequncy In (Hz), ')                       # 32
        file.write(f'AC Frequncy Out (Hz)\n')                    # 33 line feed at end
 
        with XcomLANTCP(port=4001) as xcom:
            measurements = 0
            while measurements < num_measurements:
                has_solar = 'NaN'                                                   # 1 place holder
                solar_prod_vs1 = xcom.getValueByID(15017, XcomC.TYPE_FLOAT, dstAddr=701) # 2A
                solar_prod_vs2 = xcom.getValueByID(15017, XcomC.TYPE_FLOAT, dstAddr=702) # 2B
                yesterday_solar_energy_vs1 = xcom.getValueByID(15026, XcomC.TYPE_FLOAT, dstAddr=701) # 3A
                yesterday_solar_energy_vs2 = xcom.getValueByID(15026, XcomC.TYPE_FLOAT, dstAddr=702) # 3B
                hasInverter = 'NaN'                                                 # 4 place holder               
                grid_prod = xcom.getValue(param.AC_ENERGY_IN_CURR_DAY)              # 5
                ac_energy_in_prev_day = xcom.getValue(param.AC_ENERGY_IN_PREV_DAY)  # 6
                ac_energy_out_curr_day = xcom.getValue(param.AC_ENERGY_OUT_CURR_DAY) # 7
                ac_energy_out_prev_day = xcom.getValue(param.AC_ENERGY_OUT_PREV_DAY) # 8
                has_battery_status_processor = 'NaN'                                # 9 place holder 
                battery_charge = xcom.getValueByID(7007, XcomC.TYPE_FLOAT)          # 10
                yesterday_battery_charge = xcom.getValueByID(7009, XcomC.TYPE_FLOAT) # 11
                battery_discharge = xcom.getValueByID(7008, XcomC.TYPE_FLOAT)       # 12
                yesterday_battery_discharge = xcom.getValueByID(7010, XcomC.TYPE_FLOAT)	# 13	
                has_ac_coupling = 'NaN'                                             # 14 place holder
                ac_coupling = 'NaN' 	                                            # 15 place holder
                yesterday_ac_coupling = 'NaN' 			                    # 16 place holder
                battery_voltage = xcom.getValue(param.BATT_VOLTAGE)                 # 17
                battery_current = xcom.getValue(param.BATT_CURRENT)                 # 18
                soc = xcom.getValue(param.BATT_SOC)                                 # 19
                battery_temp = xcom.getValue(param.BATT_TEMP)                       # 20                
                batt_cycle_phase = xcom.getValueByID(3010, XcomC.TYPE_SHORT_ENUM)   # 21 parameter.py is for Vario Track instead of Xtender
                solar_power_vs1 = xcom.getValueByID(15010, XcomC.TYPE_FLOAT, dstAddr=701) # 22A
                solar_power_vs2 = xcom.getValueByID(15010, XcomC.TYPE_FLOAT, dstAddr=702) # 22B
                gridpower = xcom.getValue(param.AC_POWER_IN)                        # 23
                houseload = xcom.getValue(param.AC_POWER_OUT)                       # 24
                battpower = xcom.getValueByID(7003, XcomC.TYPE_FLOAT)               # 25
                has_ac_coupling = 'NaN'		                                    # 26 place holder
                ac_coupling = 'NaN'			                            # 27 place holder
                ac_in_current = xcom.getValueByID(3012, XcomC.TYPE_FLOAT)           # 28	
                ac_out_current = xcom.getValueByID(3022, XcomC.TYPE_FLOAT)	    # 29	
                ac_voltage_in = xcom.getValue(param.AC_VOLTAGE_IN)	            # 30	
                ac_voltage_out = xcom.getValue(param.AC_VOLTAGE_OUT)                # 31	
                ac_freq_in = xcom.getValue(param.AC_FREQ_IN)	                    # 32	
                ac_freq_out = xcom.getValue(param.AC_FREQ_OUT)	                    # 33	

                file.write(f'{datetime.datetime.now()}, ')
                file.write(f'{has_solar}, ')                                        # 1 place holder
                file.write(f'{solar_prod_vs1}, ')                                   # 2A
                file.write(f'{solar_prod_vs2}, ')                                   # 2B 
                file.write(f'{yesterday_solar_energy_vs1}, ')                       # 3A
                file.write(f'{yesterday_solar_energy_vs2}, ')                       # 3B
                file.write(f'{hasInverter}, ')                                      # 4 place holder 
                file.write(f'{grid_prod}, ')                                        # 5 
                file.write(f'{ac_energy_in_prev_day}, ')                            # 6
                file.write(f'{ac_energy_out_curr_day}, ')                           # 7
                file.write(f'{ac_energy_out_prev_day}, ')                           # 8
                file.write(f'{has_battery_status_processor}, ')                     # 9 place holder   
                file.write(f'{battery_charge}, ')                                   # 10
                file.write(f'{yesterday_battery_charge}, ')                         # 11
                file.write(f'{battery_discharge}, ')                                # 12
                file.write(f'{yesterday_battery_discharge}, ')	                    # 13	
                file.write(f'{has_ac_coupling}, ')                                  # 14 place holder
                file.write(f'{ac_coupling}, ')                                      # 15 place holder
                file.write(f'{yesterday_ac_coupling}, ')	                    # 16 place holder
                file.write(f'{battery_voltage}, ')                                  # 17
                file.write(f'{battery_current}, ')                                  # 18
                file.write(f'{soc}, ')                                              # 19
                file.write(f'{battery_temp}, ')                                     # 20
                file.write(f'{batt_cycle_phase}, ')                                 # 21
                file.write(f'{solar_power_vs1}, ')                                  # 22A
                file.write(f'{solar_power_vs2}, ')                                  # 22B
                file.write(f'{gridpower}, ')                                        # 23
                file.write(f'{houseload}, ')                                        # 24
                file.write(f'{battpower/1000}, ')                                   # 25
                file.write(f'{has_ac_coupling}, ')			            # 26 place holder
                file.write(f'{ac_coupling}, ')			                    # 27 place holder
                file.write(f'{ac_in_current}, ')                                    # 28	
                file.write(f'{ac_out_current}, ')	                            # 29	
                file.write(f'{ac_voltage_in}, ')	                            # 30	
                file.write(f'{ac_voltage_out}, ')                                   # 31	
                file.write(f'{ac_freq_in}, ')	                                    # 32	
                file.write(f'{ac_freq_out}\n')	                                    # 33 line feed at end
                time.sleep(delay)
                measurements += 1 
                

if __name__ == "__main__":
    main()

PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
mobilik
Příspěvky: 920
Registrován: stř bře 31, 2021 7:50 am
Bydliště: Neďaleko Košíc - SK
Výkon panelů v FVE [Wp]: 9600
Kapacita baterie [kWh]: 12
Kontaktovat uživatele:

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od mobilik »

No ako si dopadol s testom JeffersM1?
Nepadá to, ide to stabilne tá komunikácia zo Studerom?
Najprv sa učíme chodiť a hovoriť, neskôr sa učíme sedieť a držať hubu... :stupidme:
Hybridná FVE dom: 6,3kWp, Studer, 12kWh Pylontech + GB-Aku
On-Grid FVE dom: 3,3kWp, ZCS Azzurro + Solic200 + VB
OFF-Grid FVE chata: 1,5kWp, Axpert, PCM, 200Ah/24V 18650
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

mobilik píše: pon pro 18, 2023 7:00 pm No ako si dopadol s testom JeffersM1? Nepadá to, ide to stabilne tá komunikácia zo Studerom?
V testu by se po nějakých cca hodinách objevila chyba, která by způsobila přerušení pythonní smyčky. Potřebuji přidat rutinu pro ošetření chyb, která by chybu zachytila a pokračovala ve smyčce. K tomu se pravděpodobně dostanu během několika týdnů. Chodím na online kurz pythonu a ošetřování chyb je o jedenáct lekcí napřed oproti tomu, kde jsem teď.

Majitel úložiště mi poslal pythonovskou funkci, která vytváří senzory v HA, takže až mi bude dobře fungovat obsluha chyb, použiji tuto funkci k odesílání hodnot Studer do HA. Vypadá to, že by se dala upravit i pro čtení hodnot z HA, ale to budu muset ještě prozkoumat, abych zjistil, jak to funguje.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
mobilik
Příspěvky: 920
Registrován: stř bře 31, 2021 7:50 am
Bydliště: Neďaleko Košíc - SK
Výkon panelů v FVE [Wp]: 9600
Kapacita baterie [kWh]: 12
Kontaktovat uživatele:

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od mobilik »

Tak držím palce. :wink:
Najprv sa učíme chodiť a hovoriť, neskôr sa učíme sedieť a držať hubu... :stupidme:
Hybridná FVE dom: 6,3kWp, Studer, 12kWh Pylontech + GB-Aku
On-Grid FVE dom: 3,3kWp, ZCS Azzurro + Solic200 + VB
OFF-Grid FVE chata: 1,5kWp, Axpert, PCM, 200Ah/24V 18650
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Nyní konečně funguje. Čte a zapisuje do Studeru a čte a zapisuje HA. Podařilo se mi přidat obsluhu chyb, která opravila hlavní chybu, na kterou narážel, i když dnes, když jsem Moxu restartoval, abych vyčistil seznam ip, se mu to nelíbilo. Budu muset přidat řádek obsluhy chyb pro tuto konkrétní chybu. Návod na nastavení jsem udělal do souboru ve Wordu, ale nejsem si úplně jistý, jak ho sem dát, nebo jestli ho budu muset dát jinam.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
mobilik
Příspěvky: 920
Registrován: stř bře 31, 2021 7:50 am
Bydliště: Neďaleko Košíc - SK
Výkon panelů v FVE [Wp]: 9600
Kapacita baterie [kWh]: 12
Kontaktovat uživatele:

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od mobilik »

VO worde ulož súbor ako PDF a potom sa to dá nazdielat v pohode aj tu. Gratulujem k výkonu.
Najprv sa učíme chodiť a hovoriť, neskôr sa učíme sedieť a držať hubu... :stupidme:
Hybridná FVE dom: 6,3kWp, Studer, 12kWh Pylontech + GB-Aku
On-Grid FVE dom: 3,3kWp, ZCS Azzurro + Solic200 + VB
OFF-Grid FVE chata: 1,5kWp, Axpert, PCM, 200Ah/24V 18650
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Podařilo se mi zveřejnit obsah wordovského souboru a skripty na stránce HA Community zde.: https://community.home-assistant.io/t/a ... s/663055/8
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
mobilik
Příspěvky: 920
Registrován: stř bře 31, 2021 7:50 am
Bydliště: Neďaleko Košíc - SK
Výkon panelů v FVE [Wp]: 9600
Kapacita baterie [kWh]: 12
Kontaktovat uživatele:

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od mobilik »

Paráda, dakujeme. :wink:
Najprv sa učíme chodiť a hovoriť, neskôr sa učíme sedieť a držať hubu... :stupidme:
Hybridná FVE dom: 6,3kWp, Studer, 12kWh Pylontech + GB-Aku
On-Grid FVE dom: 3,3kWp, ZCS Azzurro + Solic200 + VB
OFF-Grid FVE chata: 1,5kWp, Axpert, PCM, 200Ah/24V 18650
brumlaj
Příspěvky: 1510
Registrován: stř dub 21, 2021 5:01 am

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od brumlaj »

Moc díky JeffersM1, snad (mi) to k něčemu bude.
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Dejte mi vědět, pokud provedete nějaké vylepšení, zejména pokud jde o zpracování výjimek, protože v současné době kontroluji pouze AssertionError.

Nevíte také, kdy portál Studer nahrává soubory s denní historií a jak dlouho to trvá? Měl jsem být vložit 20 sekund zpoždění ve smyčce skriptu mezi hodinami 2300 a 0100 UTC, ale zdá se, že soubory se nenahrávají. Možná musím přidat větší zpoždění a/nebo zvětšit okno, kdy se zpoždění zvětší. Vidím, že měřič kWh se nastavuje každou noc ve 2300 UTC.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
drcvach
Příspěvky: 37
Registrován: pon dub 12, 2021 10:41 pm

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od drcvach »

JeffersM1 píše: pát pro 29, 2023 9:41 pm Dejte mi vědět, pokud provedete nějaké vylepšení, zejména pokud jde o zpracování výjimek, protože v současné době kontroluji pouze AssertionError.

Nevíte také, kdy portál Studer nahrává soubory s denní historií a jak dlouho to trvá? Měl jsem být vložit 20 sekund zpoždění ve smyčce skriptu mezi hodinami 2300 a 0100 UTC, ale zdá se, že soubory se nenahrávají. Možná musím přidat větší zpoždění a/nebo zvětšit okno, kdy se zpoždění zvětší. Vidím, že měřič kWh se nastavuje každou noc ve 2300 UTC.
Ahoj,
zkusil jsem nainstalovat a spustit. Teoreticky je komunikace funkční (podařilo se mi stáhnout ze Studerů SoC baterie), ale prakticky je to u mne nepoužitelné, neboť 19 z 20 pokusů o stažení dat končí chybou:

python3 /home/drcvach/xcom-protocol2csv.py
Traceback (most recent call last):
File "/home/drcvach/xcom-protocol2csv.py", line 55, in <module> main()
File "/home/drcvach/xcom-protocol2csv.py", line 26, in main
soc = xcom.getValue(param.BATT_SOC)
File "/home/drcvach/.local/lib/python3.10/site-packages/xcom_proto/XcomAbs.py", line 43, in getValue
response: Package = self.sendPackage(request)
File "/home/drcvach/.local/lib/python3.10/site-packages/xcom_proto/XcomLAN.py", line 62, in sendPackage
retPackage = Package.parseBytes(response)
File "/home/drcvach/.local/lib/python3.10/site-packages/xcom_proto/protocol.py", line 167, in parseBytes
return Package.parse(BytesIO(buf))
File "/home/drcvach/.local/lib/python3.10/site-packages/xcom_proto/protocol.py", line 156, in parse
assert checksum(h_raw) == f.read(2)
AssertionError

je to něco co eviduješ i ty?
P.
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Dostáváte chybu AssertionError se skriptem, který jsem zveřejnil na stránce Community Home Assistant? Tam jsem do skriptů přidal ošetření chyby AssertionError. Ten ve vlákně na této stránce je předtím, než jsem ošetření chyb přidal.

Toto je odkaz na novější skripty. https://community.home-assistant.io/t/a ... ons/663055.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Vlastně teď, když se na to znovu podívám, jsem nezahrnoval zpracování chyb v pythonovském skriptu, který zapisuje do souboru csv. Až v pozdějším skriptu, který zapisuje do HA, jsem přidal ošetření chyb. Můžete uvést, jak jste Moxu nakonfigurovali? Musel jste přidat ip adresu počítače, na kterém je skript spuštěn, spolu s portem 4001. Můžete také uvést, co zadáváte do příkazového řádku pro spuštění skriptu? První argument je, kolikrát se má smyčka spustit, a druhý je, kolik sekund se má čekat před opětovným spuštěním smyčky. Pro začátek zkuste nastavit první argument na 10 a druhý na 5: aby se smyčka spustila 10krát a po každém spuštění se zpožděním 5 sekund.

Jaké máte také vybavení? Já mám skript nastavený pro 1 střídač Xtender a 2 regulátory nabíjení Vario String.
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
drcvach
Příspěvky: 37
Registrován: pon dub 12, 2021 10:41 pm

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od drcvach »

Ahoj,
můj problém nepramení z ošetřování výjimek, do skriptu (zatím jsem zkoušel jen načtení a zápis do csv) jsem si je doplnil.
U mne je velkým problémem chybovost xcom.getValue()
Zkusil jsem pár parametrů, kde největší úspěch jsem slavil s "xcom.getValue(param.BATT_SOC)", který se mi občas (zhruba tak 1x z 20 pokusů) podaří načíst. Tj. cesta propustná je, ale nepoužitelná. Čím více parametrů se pokusím vyčíst, tím větší pravděpodobnost že některý spadne.
Zkusil jsem z MOXA odstranit Studer portál a nechál jen lokální stroj ze kterého data vyčítám, ale nepozoruji žádné zlepšení.
Moxa konfiguraci mám tuto:
2024-01-02_23h47_29.png
2024-01-02_23h47_29.png (30.31 KiB) Zobrazeno 5205 x
V systému mám aktuálně 5x XTM, 5x VarioTrek, 1x Batrium BMS
Subjektivně se mi zdá, že po rozšíření XTM ze tří na pět došlo ke zhoršení stability vyčítání parametrů.
Doposud používám XCOMLAN knihovnu zprovozněnou @mrazik někde na 15té stránce tohoto vlákna. Tam je má úspěšnost poměrně velká (vyčítání po 30s) ale stejně po jednom dni některá zařízení přestanou odpovídat.

Každopádně díky moc za snahu :-)
P.
JeffersM1
Příspěvky: 42
Registrován: sob led 21, 2023 12:30 am
Bydliště: Alcobaça Portugal
Výkon panelů v FVE [Wp]: 8200
Kapacita baterie [kWh]: 14

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov

Příspěvek od JeffersM1 »

Páni, 5 měničů, to je hodně. Možná je to ten problém.

Ve svém scénáři jsem uvažoval pouze o 1 měniči, takže mám:
soc = xcom.getValue(param.BATT_SOC)

Jedná se o vícesměrové čtení, které používá výchozí vícesměrové čtení informací BSP. Všechny měniče mohou odpovídat najednou. Datový bod je 7032, ale myslím, že informace jsou čteny z měniče.

Vzhledem k tomu, že máte více měničů, budete je pravděpodobně muset přečíst jeden po druhém. Pro první měnič by tedy příkaz pro čtení měl znít:
soc1 = xcom.getValue(param.BATT_SOC, dstAddr=101) # Pokud informace pochází z 1. měniče
NEBO
soc 1= xcom.getValue(param.BATT_SOC, dstAddr=601) # Pokud informace pochází z 1. BPS

Pokud jeden z nich funguje, můžete zkusit přidat další:
soc2 = xcom.getValue(param.BATT_SOC, dstAddr=102) # Pokud informace pochází z 2. měniče
NEBO
soc 2= xcom.getValue(param.BATT_SOC, dstAddr=602) # Pokud informace pochází z 2.

Zvýšením adresy o 1 pro každou jednotku byste měli být schopni je přečíst jednu po druhé. Já to dělám pro své dva řetězce Vario.

Viz tabulka 3.5 v příručce Studer.: "Technical_specification_-_Xtender_serial_protocol"
Screenshot from 2024-01-03 08-52-04.png
Screenshot from 2024-01-03 08-52-04.png (73.45 KiB) Zobrazeno 4938 x
Přílohy
Technical_specification_-_Xtender_serial_protocol_-_V1.6.32.pdf
(771.16 KiB) Staženo 154 x
PV Panels: 18 Recom 460W Shingled Puma monocrystalline
Inverter: 1 Studer XTH 8000-48
Communications: 1 Xcom-LAN (Moxa NPort 5110A & Xcom232), 1 Xcom-CAN, RCC-03
Charge controller: 2 Studer VS-70
Battery: 4 Pylontech US 3000B 3.5KW
Odpovědět

Zpět na „Home Assistant“