Fórum | MyPower.CZ | Obnovitelné zdroje energie - energetická soběstačnost | Poslední návštěva: ned zář 15, 2019 7:06 pm


Vyčítání dat z Victron Phoenix 24V 375VA

Měniče Victron

Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » sob srp 25, 2018 10:40 am

Ahoj, nezkoumal už někdo někdy protokol Victronu, nebo nemá k tomu někdo nějakou dokumentaci?

Hrne to na mě asi v 500ms intervalech tyhle bloky dat.

Kód: Vybrat vše
# od -x /dev/ttyUSB0
0000000 0000 e0e0 0000 00e0 e000 e0e0 0000 00e0
0000020 e000 00e0 0000 0000 e0e0 e000 0000 e000
0000040 0000 0000 e000 00e0 e000 0000 e000 e0e0
0000060 e0e0 00e0 0000 e000 0000 0000 0000 e0e0
0000100 0000 00e0 00e0 e0e0 e0e0 e000 0000 e0e0
0000120 00e0 e000 0000 0000 e0e0 e000 e0e0 0000
0000140 e000 0000 0000 00e0 00e0 0000 e0e0 00e0
0000160 e0e0 00e0 e000 e0e0 00e0 e0e0 0000 00e0
0000200 e0e0 e000 00e0 00e0 e000 e0e0 e000 00e0
0000220 0000 0000 e0e0 0000 00e0 00e0 e0e0 e000
0000240 e0e0 0000 00e0 e000 00e0 e000 e000 e000
0000260 00e0 e0e0 e0e0 00e0 e0e0 e0e0 e0e0 e000
0000300 e0e0 e0e0 00e0 e0e0 e0e0 0000 0000 0000
0000320 0000 00e0 0000 0000 00e0 e0e0 0000 00e0
0000340 00e0 e0e0 e000 e0e0 e0e0 e000 e0e0 e0e0
0000360 00e0 e0e0 e0e0 e0e0 00e0 e000 00e0 e000
0000400 e0e0 e000 00e0 e000 0000 e0e0 e0e0 0000
0000420 0000 e000 e0e0 0000 0000 0000 00e0 e000
0000440 00e0 e000 e000 e000 0000 e0e0 00e0 0000
0000460 e000 00e0 e000 e000 e0e0 e0e0 e000 0000
0000500 e0e0 0000 e0e0 0000 0000 e0e0 0000 00e0
0000520 00e0 00e0 e0e0 e0e0 e000 00e0 e0e0 e0e0
0000540 e0e0 e000 e0e0 e0e0 e0e0 e0e0 00e0 e000


To asi nebude úplně OK komunikace. Že by rychlost portu nebo tak něco?

Zatím moje první pokusy. Cílem je měření malé AC spotřeby, pokud tam data budou (výkon, proud, napětí).
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod gupa » sob srp 25, 2018 11:11 am

https://www.victronenergy.com/live/vedi ... otocol:faq

resp. otevři a dole poslední dva u HEX direct pro phoenix dopiš mail a mělo by něco jako popis protokolu dojít.
https://www.victronenergy.com/support-a ... hitepapers
Stále lepší výběr je špatná jízda, než dobrá chůze.
Uživatelský avatar
gupa
 
Příspěvky: 1679
Registrován: sob pro 29, 2012 10:22 pm

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » sob srp 25, 2018 4:43 pm

óóó, děkuji mnohokráte za nákop. Takže:

Kód: Vybrat vše
# stty -F /dev/ttyUSB0 19200


a jedem.. Kazdych asi 500ms, od "PID" po "Checksum" :

Kód: Vybrat vše
# cat /dev/ttyUSB0

PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   22994
AC_OUT_I   3
V   24049
AR   0
WARN   0
Checksum   �
PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   22997
AC_OUT_I   3
V   24050
AR   0
WARN   0
Checksum   �
PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   22981
AC_OUT_I   3
V   24053
AR   0
WARN   0
Checksum   �
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod xmasin » sob srp 25, 2018 7:04 pm

Řešil jsem stejný problém viz popis tady http://forum.mypower.cz/viewtopic.php?f=4&t=3480&p=61611&hilit=loxone#p61599 a nakonec jsem koupil VenusGX a informace vyčítám přes něj pomocí Modbus TCP. Přišlo mně to jako lepší řešení. Ten Victroní protokol je dost obtížný na implementaci obzvlášť v dotazovacím režimu. Pokud se zařízení periodicky nedostazuje, tak začne posílat informace o stavu každých 500 ms.
xmasin
 
Příspěvky: 1136
Registrován: čtv čer 28, 2012 8:45 pm

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod youda » sob srp 25, 2018 7:13 pm

Ahoj chlapi,

pokud se nepletu, tak Victron Venus existuje i ve verzi pro Raspberry:
https://github.com/victronenergy/venus
https://github.com/victronenergy/venus/wiki

další možnosti a popis několika způsobů komunikace je i zde:
https://www.victronenergy.com/live/open ... l_gx_venus
Youdova ostrovní laboratoř 20kWp: http://youda.mypower.cz
Uživatelský avatar
youda
 
Příspěvky: 2079
Registrován: úte dub 26, 2016 11:12 pm

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » sob srp 25, 2018 8:40 pm

xmasin píše:Ten Victroní protokol je dost obtížný na implementaci obzvlášť v dotazovacím režimu. Pokud se zařízení periodicky nedostazuje, tak začne posílat informace o stavu každých 500 ms.


Asi zkusim tohle:

5s ctu data do souboru a nejlepe jeste k tomu ramdisk, at nedrazdim zbytecne bunky na SD karte RPi
Kód: Vybrat vše
# timeout 5s cat /dev/ttyUSB0 > /tmp/victron.log


soubor:
Kód: Vybrat vše
# cat /tmp/victron.log

PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   23002
AC_OUT_I   3
V   23313
AR   0
WARN   0
Checksum   
... zkraceno ...
PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   23016
AC_OUT_I   3
V   23312
AR   0
WARN   0
Checksum   


Parsnu PHPkem, vytvorim prumer (?) z opakujicich se hodnot V, AC_OUT_I, AC_OUT_V

PS: jak v jinem vlakne experimentuju s LIFE, tos koukam ze dle victronu mam olovo pekne vymlacene po dnesnim zatazenu a vcerejsim prelivani. Bude v noci veselo :)) Zitra zlehka dosviti a v pondeli se to zhluboka nadechne a dosviti to snad uplne doplna :)) Takze budu drsny a necham to klidne i padnout na hubu jak onehda loni v zime :))
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod marsyn » sob srp 25, 2018 10:19 pm

youda píše:pokud se nepletu, tak Victron Venus existuje i ve verzi pro Raspberry:
ano existuje, funguje mi už rok na BMV700, MPPT 100/30, Phoenix 24V/375VA a 2 měsíce Elektroměry Carlo Gavazzi 3F a 1F
marsyn
 
Příspěvky: 18
Registrován: sob črc 21, 2018 1:46 pm

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » ned srp 26, 2018 2:15 am

Hm.. beztak spotrebu mensi nez 23W nezmerim :sm1: V dokumentaci se pise ze AC_OUT_I je v jednotkach 0.1A. 0.1A*230V=23W a pod toto ukazuje hodnota AC_OUT_I rovnou NULU (cislicemi: 0 :)) ). A ja mam ted na AC spotrebu asi mensi nez 23W, jinak nevim, pac AC_OUT_I==0. Monitor fullHD asi 13W, velmi usporny philips, RPi jako desktop ze ktereho ted pisu a na nemz ted vesele ve 3 rano programuji knihovnu pro vycitani dat z victrona z USB, wifi, 2 switche. Zapnu dalsi monitor (ACER), samozrejme AC_OUT_I okamzite vylitne na 2 az 3. Takze proste malou spotrebu na AC neodmerim. No uvidime jak se to bude chovat na grafech.

Pruser je co s tim. 23W x 24H neni zanedbatelnych. Pocitat s minimem? Tedy ze proste zeru 23W trvale? To ale taky nebude davat smysl. Bude to cele pak nepresne. Jakoby treba muzu dojit do stavu kdy spotreba bude vetsi nez vyroba z panelu a jelikoz na chate nemam elektriku jinou nez z ostrovni fve (pokud opomenu elektocentralu), tak by to byl nesmysl. Hmhmhm .. to bude jeste zajimave. :))
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » ned srp 26, 2018 2:48 am

hmhmhm, ono to beztak jak tak sleduju "šumí". I pri malych spotrebach tam obcas behem tech 5s vlitne 1 do tech amper na AC strane. Prumerovanim opakujicich se hodnot vznikne nejake jakoby orientacni "pseudojemnejsi" mereni spotreby (boze co jsem to vymyslel za silene slovni spojeni pro total random mereni niceho z niceho :)) ). Zkouseno ted s uspornou zarovkou (asi 15W) k tomu celemu navic. Nicmene male vykony budou proste problem. Je to prilis hrube :))

Kód: Vybrat vše
    ["AC_OUT_I"]=>
    array(3) {
      ["min"]=>
      int(0)
      ["max"]=>
      int(1)
      ["avg"]=>
      float(0.9)
    }
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » ned srp 26, 2018 2:56 am

Mno .. 4 rano, v 5 budu mit data uz snad i v DB a pak odpadnu *fall* a pak az zas zitra (dneska) .

Kód: Vybrat vše
<?

// lib-hw-victron.php

// -------------------------------------------------------
   function Victron_GetUSBData()
// -------------------------------------------------------
{
$xret=false;
$xOutFile="/tmp/victron.log";
$xVictronDev="/dev/ttyUSB0";
clearstatcache();
if ( (is_file($xOutFile)) and (!unlink($xOutFile)) )
  die("Can not unlink ".$xOutFile);
system("stty -F ".$xVictronDev." 19200");
system("timeout 5s cat /dev/ttyUSB0 > ".$xOutFile);
clearstatcache();
if ( (is_file($xOutFile)) and (is_array($xData=Victron_ParseData(@file_get_contents($xOutFile)))) )
  $xret=$xData;
return $xret;
}

// -------------------------------------------------------
   function Victron_ParseData($xstr)
// -------------------------------------------------------
{
$avgvalues=array("AC_OUT_V","AC_OUT_I","V");
$xret=array();
$xlines=explode("\n",$xstr);
while ($cc=each($xlines))
  if (count($tt=explode("\t",trim($cc["value"])))==2)
    {
    $xkey=$tt[0];
    $xval=$tt[1];
    if (in_array($xkey,$avgvalues))
      $xret[$xkey][]=(int)$xval;   
    else
      $xret[$xkey]=$xval;       
    } 
reset($avgvalues);
while ($cc=each($avgvalues))
  {
  $xk=$cc["value"];
  if ( (isset($xret[$xk])) and (is_array($xv=$xret[$xk])) )
    $xret["_"][$xk]=array(
      "min"=>min($xv),
      "max"=>max($xv),
      "avg"=>array_sum($xv)/count($xv));
  }
return $xret;
}

?>
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » ned srp 26, 2018 6:01 pm

Tak uz mi to beha do DB. Az ted. Odpadl jsem driv :))

Vsechno co je v_* jsou Victroni data. "V" samozrejme jako Victron :)) I stavove data ukladam. Pro zajimavost co to bude delat.

...
Getting Velleman data...
Reading 1.56 kB bytes from USB recorder (/dev/hidraw0).
Getting Arduino data...
Getting Victron data...
Done.
Data:
bat1: 24.425
bat2: 12.968
fv1: 34.387
fv2: 68.513
v_acoutv: 230.016
v_acouti: 0.1
v_bat: 23.9819
v_mode: 2
v_cs: 9
v_ar: 0
v_warn: 0

Stored at 26.8.2018 18:36:14.
Finished :)
(exec time: 13 sec, 328.2511 msec)

Ten rozdil je propastny :lol: ::facepalm:: . Prvni bat1 rika Velleman, druhe v_bat rika Victron. Oba jsou na olovu. Jsem si jisty ze multimetr bude rikat neco taky jineho :D klasika. A ted babo rad, cemu vic verit.

A druha vec, pri pohledu na v_bat mereno Victronem, mi beha hlavou jedina myslenka: olovo pekne v prdeli :lol: No nic, zitra konecne vyjde zas slunko, tak se to dososne :))

Kazdopadne zachvili si u sebe na mereni Napajedla nahodim grafek z Victrona a budu zkoumat jak se to chova vcetne nejakeho srovnani napeti mereneho z velemana a z victrona, treba to da i nejaky smysl :comp:

BTW: na to, ze me napadlo vcera v 10:40 se tady prvne zeptat na komunikaci s victronem a diky vyborne napovede na primou dokumentaci na protokol, bych rekl ze slusny cas implementace victroniho vycitani vsech dat co victron dava od doby, kdy nevim nic, do doby kdy kreslim grafy...

BTW2: na to, ze ten kabel z victrona mam vrazeny v RPi uz nekolik let a nebyl jsem schopen se popidit po dokumentaci, bych rekl, ze bych si nakopal do prdele.

:yes:
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod rottenkiwi » ned srp 26, 2018 6:44 pm

U mňa je rozdiel medzi U-Pb a U-LiFE podľa toho, aký je odber a kde merám.
Keď sa nabíja 200 A prúdom, tak Pb majú 14.2, ale na LiFe
je aj 13.7, a keď ešte z LiFe berie Victron 160 A, tak mi ukazuje cez Mk2-USB cc. 13.3,
proste nemáme supravodivú meď.

Asi je vhodné ciachovaným multimetrom pomerať nejaké body pri roznom
prúde, urobiť si nejaký mat. filter nameraných hodnot, zlé vzhodiť, dobré
usporiadať a vybrať prostredný prvok.

Aj tak si myslím, že či mám 8, 10, 12 či 18 bit ADC, tak šum je rádovo vačší ako rozlíšienie,
hlavne keď sú zapnuté meniče a spínané DC-DC.

Mne podobne trvalo vyčítať dáta z EpSolaru. Nemal som dokumentáciu. Potom, ked
som to náhodou objavil na youtube, už to bola otázka pájkovania a programovania Arduina,
rádovo pol hodina.

Teraz zase nemám 6 pin konektory a RS-485 prevodník, aby som mohol urobiť aj SRNE regle.
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Climate Change
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2784
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » ned srp 26, 2018 8:20 pm

a jedem .. :))

Obrázek

ubat = napeti na bateriich jak to vidi Velleman
vubat = napeti na bateriich jak to vidi Victron
uac = AC napeti, obvykle 230V, zakresleno na levou vertikalni osu deleno deseti. 23 tedy je 230V.
iac = AC proud s hodnotami v radu miliAmperu na vertikalni ose vpravo
pac = spocitany AC vykon pac = iac x uac. Hodnoty jsou na prave ose a odpovida to kdyz si misto napriklad 50m predstavime 50W. Tedy oproti miliamperum je to x 1000.

Na proudu a tudiz i na vykonu jde videt rozsviceni kdejake usporky :) Zajimave, uvidim jak se to bude chovat.

Stavove informace jsou zatim nezakresleny.

::popcorn::
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod kodl69 » ned srp 26, 2018 8:46 pm

Je dobrý nazývat věci pravými jmény: Šum je to, co vzniká přímo v obvodu, bez působení vnějších vlivů, a to bývá obvykle méně než LSB ADC převodníku, jinak by tam ten LSB k ničemu nebyl.
To co ty nazýváš šumem, je rušivé napětí, které lze kompenzovat několika způsoby, obvykle kombinací více možností.
1.) správná volba HW a pečlivý návrh obvodu, tj bez zemních smyček, krátké signálové cesty, stínění, stabilita ref. napětí atd.
2.) dolní propust na vstupu ADC pro měřené DC hodnoty, několik RC článků za sebou udělá kus práce, zajímavá je kombinace několika čas. konstatn za sebou.
3.) digitální filtrování, třeba i v té nejsprostší podobě, první stupeň vyhodí hodnoty, co jsou jistě mimo předpokládaný rozsah, a potom třeba jenom U=(U*3+Unaměř)/4 pokud se použije větší koeficient, tak se hodnota trochu "táhne" ale zase záleží na požadovaném rozlišení a četnosti měření, když mám 3 měření proudu za s, tak pro vyhodnocení SOC není problém ani podstatně "pomalejší" filtr. Stejně jako u měření napětí, kde rušení může způsobit chybné vyhodnocení stavu článku a s tím související poplach, balancování atd... Na 100Ah aku se prakticky nic neděje v řádu sekund, ale všecno "trvá" s výjimkou zkratu jak vnějšího (řeší pojistky), tak vnitřního (řeší hasiči).
ostrov 4600Wp neustále ve stádiu zrodu: 6x noark CHSM6610P250, 6x250Wp z I4wifi, 6xTratek 275Wp, 4x auria 120Wp, midnite classic 150 lite+whizbang jr., 16S a různě P cca 300Ah Winston, Powerjack 8kW (reálně 6kW po úpravě). 48V DC rozvody a spotřebiče.
kodl69
 
Příspěvky: 3847
Registrován: sob črc 19, 2014 7:56 pm

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod rottenkiwi » ned srp 26, 2018 9:11 pm

NO kdesi som videl, že je správne na ATtiny a pravdepodobne aj na Atmelxyz povypínať
všetko, lebo tam je "šum" a ak sa to vypne, tak / rozne oscilátory / to vyčítava presnejšie.

Ďalej je tu elektrostatické rušenie, kde možeme vo veľmi krátkom čase dostať
hodnotu, ktorá tam nepatrí, to sa dá u napatia načítať znova.

Dalej je tu rušenie z meniča, to sa mi prenáša hlavne do merania prúdu.
Neviem či by výmena Amploc-u 100 A za BMV 702 priniesla aj 5-násobné spresnenie
merania prúdu a tým 5x presnejšie meranie SOC.

Mne u 12 V systému pri presnosti 0.1 A robí chybu 1.2 W.
Ale u 48 V systému už potrebujeme presnosť oveľa lepšiu.

Ak však budeme prúdy merať presne, ale nevieme koľko sa z toho stratí v baterkách,
tak sa nám to SOC bude aj tak rozchádzať.

Ak má niekto kombináciu LiFE s úč. 96 % a Pb s úč. 85 %, tak pri určitom pomere
kapacity LiFE/Pb, si neviem predstaviť, ako by som presne počítal SOC.

Potom je tu nelinerita merania a posun offsetu vplyvom zlého kontaktu a/alebo teploty.

No a ešte to každý porovnáva so svojim nekalibrovným multimetrom.

Ono sa to nezdá, ale metrológia a metronómia je veda, nie je také jednoduché
presne merať. To sa ukazuje v eutách, kde niektoré ukazujú 0 km, ale ešte dojdú
aj 20 km, a iné ukazujú 10 km a pár metrov stoja.
Dělej vše, jak nejlépe dovedeš. Ale ne lépe. 4. dohoda.
Si anode Spectrum BMS SEI formation Float Ochrana High SOC deg. MPPT Post Climate Change
Uživatelský avatar
rottenkiwi
 
Příspěvky: 2784
Registrován: pát úno 13, 2015 2:24 pm
Bydliště: SO, SK

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » pon kvě 20, 2019 10:42 am

Tos jeste jeden poznatek k tomuto, treba se to nekomu bude hodit...

Mozna jste si nekdo vsimli na mych grafech v mereni z victrona tech vystrelu dolu, nekdy i brutalne nahoru:

Obrázek

Vite cim to bylo?

:wall: ::facepalm:: *fall*

Znovu se vratme k vystupu co posila victron:

Kód: Vybrat vše
# cat /tmp/victron.log

PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   23002
AC_OUT_I   3
V   23313
AR   0
WARN   0
Checksum   
... zkraceno ...
PID   0xA212
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   23016
AC_OUT_I   3
V   23312
AR   0
WARN   0
Checksum   


Ja to ctu tak, ze nejprve inicializuju seriovou linku (respektive USB zarizeni)

Kód: Vybrat vše
# stty -F /dev/ttyUSB0 19200


Nasledne ctu 5s data

Kód: Vybrat vše
# timeout 5s cat /dev/ttyUSB0 > /tmp/victron.log


Co se zcela pochopitelne stane, kdyz se timeout trefi a utne to nekde v pulce dat?

Vznikne:

Kód: Vybrat vše
...
FW   0100
SER#   HQ16061TZH5
MODE   2
CS   9
AC_OUT_V   23016
AC_OUT_I   3
V   23


Nasledne pri vyklofavani hodnot a jejich prumerovani ziskam u polozky V (napeti na bateriich) hodnotu 23. Pocitam s tim ze victron mi to posila jako 1000nasobky. 23061 je tedy 23.061V.

Posledni hodnota 23 je tedy radove mensi (0.023V) a pokud s ni pocitam v prumeru hodnot napeti na bateriich, ziskanych behem jednoho cteni, tak dostavam ve vysledku vyrazne nizsi prumer nez by byl zadouci.

Takze jednoduche reseni: Jelikoz victron posila radky oddelene \n, tedy ENTER, tedy LINE FEED, tedy 0x0A, neboli ASCII 10, tak proste posledni radek ignoruji, protoze muze byt nekompletni a je vystarano.

Tolik prace a pritom takova blbost ... ::facepalm::

Nicmene ted uz by to melo byt bez vystrelu. Hodnoty napeti vetsi nez 31000 a mensi nez 18000 jsou navic povazovany u napeti za nevalidni, takze ani vystrel nahoru uz by se nemel konat. Totez plati o AC napeti, coz je 100 nasobek, takze 310 - 180 VAC, vse mimo je proste mimo a zahodit.

Obrázek

:))
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am

Re: Vyčítání dat z Victron Phoenix 24V 375VA

Příspěvekod mypower.cz » pon kvě 20, 2019 2:55 pm

Jeste pridavam opravenou verzi PHP knihovny pro vycitani dat z victronu osetrenou prave o ty vystrely dolu i nahoru... :)) necht je k uzitku :))

Kód: Vybrat vše
<?

// lib-hw-victron.php

// -------------------------------------------------------
   function Victron_GetUSBData()
// -------------------------------------------------------
{
$xret=false;
$xOutFile="/tmp/victron.log";
$xVictronDev="/dev/ttyUSB0";
clearstatcache();
if ( (is_file($xOutFile)) and (!unlink($xOutFile)) )
  die("Can not unlink ".$xOutFile);
system("stty -F ".$xVictronDev." 19200");
system("timeout 5s cat /dev/ttyUSB0 > ".$xOutFile);
clearstatcache();
if ( (is_file($xOutFile)) and (is_array($xData=Victron_ParseData(@file_get_contents($xOutFile)))) )
  $xret=$xData;
return $xret;
}

// -------------------------------------------------------
   function Victron_ParseData($xstr)
// -------------------------------------------------------
{
$avgvalues=array("AC_OUT_V","AC_OUT_I","V");
$notnulvalues=array("AC_OUT_V","V");
$xret=array();
$xlines=explode("\n",$xstr);
array_pop($xlines); // last line bug fix :)
while ($cc=each($xlines))
  if (count($tt=explode("\t",trim($cc["value"])))==2)
    {
    $xkey=$tt[0];
    $xval=$tt[1];
    if (in_array($xkey,$avgvalues))
      {
      if (in_array($xkey,$notnulvalues))
        {       
        $xv=(int)$xval;
        if (($xv>18000) and ($xv<31000)) // voltage limit
          $xret[$xkey][]=$xv;   
        }
      else
        $xret[$xkey][]=(int)$xval;   
      }
    else
    if (isset($xret[$xkey]))
      $xret[$xkey]=$xval;       
    } 
reset($avgvalues);
while ($cc=each($avgvalues))
  {
  $xk=$cc["value"];
  if ( (isset($xret[$xk])) and (is_array($xv=$xret[$xk])) )
    $xret["_"][$xk]=array(
      "min"=>min($xv),
      "max"=>max($xv),
      "avg"=>array_sum($xv)/count($xv));
  }
return $xret;
}

?>
Podpořte MyPower.CZ | 2.24kWp FVE | MyPower MicroLog2 | PHP Microlog - logování vaší FVE na MyPower.CZ
BTC support 37uvSpUKTCmcJZD9bs8ZWhdrubxBxRZSuT | LTC support LPYitoWPn3k5PqWBWmuzbcwj344THtZ7q2
Uživatelský avatar
mypower.cz
Site Admin
 
Příspěvky: 3680
Registrován: pát bře 04, 2011 11:36 am


Zpět na Victron

Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků

Reputation System ©'