Stránka 17 z 18
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: ned říj 29, 2023 1:02 pm
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
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte lis 07, 2023 11:54 am
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?
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: sob pro 02, 2023 10:41 am
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ů.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: sob pro 02, 2023 11:07 am
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: sob pro 02, 2023 9:49 pm
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte pro 05, 2023 12:03 am
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: čtv pro 07, 2023 4:29 pm
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
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 08, 2023 6:31 am
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?
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: ned pro 10, 2023 5:25 pm
od redcrown
Velice se to liší, ale cca. 2-12hodin. Víc jak 12 hodin to nikdy neběželo.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte pro 12, 2023 4:08 pm
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()
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pon pro 18, 2023 7:00 pm
od mobilik
No ako si dopadol s testom JeffersM1?
Nepadá to, ide to stabilne tá komunikácia zo Studerom?
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte pro 19, 2023 6:32 am
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 22, 2023 12:19 pm
od mobilik
Tak držím palce.

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 29, 2023 5:06 pm
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 29, 2023 5:24 pm
od mobilik
VO worde ulož súbor ako PDF a potom sa to dá nazdielat v pohode aj tu. Gratulujem k výkonu.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 29, 2023 6:06 pm
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
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 29, 2023 6:47 pm
od mobilik
Paráda, dakujeme.

Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 29, 2023 7:30 pm
od brumlaj
Moc díky JeffersM1, snad (mi) to k něčemu bude.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pát pro 29, 2023 9:41 pm
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: pon led 01, 2024 10:02 pm
od brumlaj
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte led 02, 2024 1:33 am
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte led 02, 2024 5:15 pm
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: úte led 02, 2024 8:33 pm
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: stř led 03, 2024 12:02 am
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
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.
Re: Home Assistant monitoring FVE a domácnosti, návod pre úplných začiatočníkov
Napsal: stř led 03, 2024 10:10 am
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