******************************************************************************** VERSION INFO: ******************************************************************************** 25.10.2024 release SM3 3.0.12 Build 32 RC9 MOD: Driver Solax - pridan Baudrate 19200 MOD/FIX: SM3 - ruzne male fixy, redukce warningu, fixy potencialnich buffer pretoku v printf, doplneny chybejici inicializatory v definicich structur atp. 24.10.2024 release SM3 3.0.12 Build 32 RC8 MOD: Lua - pri ukladani scriptu se pro vetsi spolehlivost pouzije docasny soubor ADD: Portal - pridan Upload/Download lua scriptu skrze portal MOD/FIX: bfstream - (http chunked stream) pri fflush na uz prazdny stream se inherentne posilala ukoncovaci sekvence 0\r\n\r\n, nyni fflush odesle chunk pouze pokud jsou nejaka data v internim bufferu, 0\r\n\r\n se odesle automaticky pri zavreni streamu. 21.10.2024 release SM3 3.0.12 Build 32 RC7 MOD: Driver GoodweModbus - U stridace MT povoleno nastaveni CosPhi mimo ramec dokumentace (z +-0.9-1 na +-0.5-1) 16.10.2024 release SM3 3.0.12 Build 32 RC6 FIX: Driver Kehua EMS - Cteni INPUT_REGISTER(4) namisto HOLDING_REGISTER(3) pri detekci 14.10.2024 release SM3 3.0.12 Build 32 RC5 FIX: ModbusSlave - porovnani id v prichozi zprave s poctem zaregistrovanych zarizeni, kdy pocet registrovanych zarizeni nemusi odpovidat poctu zarizeni v tabulce zarizeni Dochazelo pak k chybnemu vyhodnoceni zda je zarizeni s pozadovanym id skutecne registrovane(validni zaznam v tabulce) ci nikoliv. ADD/MOD: Driver Kehua EMS - Pridano rizeni vykonu dle specifikace vyrobce 08.10.2024 release SM3 3.0.12 Build 32 RC4 ADD: Lua - pridana funkce sm_GetBatteryPlan na ziskani Spotovych cen ADD: Portal - pridano API "GetBatteryPlan" pro ziskavani planu baterie z portalu 07.10.2024 release SM3 3.0.12 Build 32 RC3 FIX: Eeprom - "fixed" bug zpusoben opravou na korektni velikost tabulky(eeprom upgrade issue), EE_VAR_NUM_COMMON zmenen zpet na 60, chyba se projevila primarne restartem jednotky pri pokusu o nacteni web stranky portal.xsl (nejaky pretok pameti nekde) 30.09.2024 release SM3 3.0.12 Build 32 RC2 MOD/ADD: Driver NOVAR - pridana moznost detekce na rozhrani TCP1 a TCP2 (Modbus RTU) 26.09.2024 release SM3 3.0.12 Build 32 RC1 FIX: Counter - SDSetTotal - byl ignorovan flag lua_enabled MOD: sd_inverter - promenna pro citac je nyni primarne "Total" a pokud se nenajde v zarizeni tak se pouzije Eac_Load_O MOD: Driver kehua_ems - doplneno nasobeni promennych (dle jednotek v aktualni dokumentaci) 23.09.2024 release SM3 3.0.12 Build 32 RC0 MOD: Driver Huawei - commdelay zmensen z 500ms na 100ms MOD: Counters - odstranen typ LuaEnergy/LuaVolume a misto toho pridan pro kazdy counter prepinac na povoleni zapisu z luascriptu MOD: input.xsl - zmeny v navaznosti na MOD: Counters MOD: smtp: pridan cas k error msg 18.09.2024 release SM3 3.0.12 Build 31 RC21 MOD: Driver Huawei - pridan baudrate 115200 16.09.2024 release SM3 3.0.12 Build 31 RC20 ADD: Driver KehuaEMS - Podpora zarizeni Kehua EMS (otestovano na simulaci, pouze cteni dat, kvuli nedostatecne dokumentaci nejiste jednotky promennych a bez rizeni vykonu) 12.09.2024 release SM3 3.0.12 Build 31 RC19 MOD: Driver NOVAR - Otestovani driveru na zarizeni NOVAR 1114, uprava chovani manualniho rizeni v zavislosti na testech ADD: Driver Kehua - Rozpracovani driveru pro zarizeni Kehua PV Inverter/Battery 22.08.2024 release SM3 3.0.12 Build 31 RC18 MOD/ADD: MU SystemDevice - Blok 64500 implementace promennych CustVar0-4(uzivatelske promenne na obousmerny prenos uint16 hodnot skrze Modbus) MOD/ADD: Driver SunSpecUni - Blok 64500 implementace promennych CustVar0-4 MOD/ADD: Driver Qerp - comm delay zvetsen na 200 ms(qerp pri 100 ms obcas nestihal zvlaste pri cteni z ROM), pridani promennych RPac Sup, Pac Sup, RPAc Reg, vycteni nazvu a SN z ROM 21.08.2024 release SM3 3.0.12 Build 31 RC17 MOD/ADD: Driver SunSpecUni - Pridano cteni/zapis promenne VAR Lim 20.08.2024 release SM3 3.0.12 Build 31 RC16 ADD: Driver Novar - pridana podpora zarizeni NOVAR kompenzacnich modulu (neotestovano na realnem hw) FIX: Driver Modbus Slave - Spatny vypocet koncove adresy vystupniho bufferu pri cteni z modbus adresy nezacinajici na pocatecni adrese promenne (napr. cteni od prostred nejakeho stringu kdy dochazelo k nakopirovani plne delky stringu a tim i k "prepisu" nasledujicich promennych hodnotou stringu) MOD: Driver Qerp - posunuti RAM adres o 0x200 dolu = 0x500 -> 0x300, (cteni Pac, Rpac, CosPhi nefungovalo, chybna dokumentace protokolu QERP 408/416) FIX: Driver Huawei - Inverter,Smartlogger - CosPhi multiplikator zvetsen ze 100 na 1000 9.08.2024 release SM3 3.0.12 Build 31 RC15 ADD: Driver Qerp - pridana podpora zarizeni qerp kompenzacnich modulu (neotestovano na realnem hw) MOD/ADD: Driver Modbus Slave - Pridana podpora cteni "Options" z Bloku1 (hack pro identifikaci jednotky SM(posila se string "SMUnit")) MOD/ADD: Driver SunSpecUni - Pridano dynamicke nastaveni hodnot timeout + communication delay podle vyrobce zarizeni(SolarMonitor, Fronius, SolarEdge) - SunSpec Blok 1 - pridano cteni "Options" pro identifikaci jednotky SM a prislusne nastaveni individualnich hodnot timeout a communication delay 29.07.2024 release SM3 3.0.12 Build 31 RC14 FIX: Driver Sungrow - opraveno chybné generování id u TCP FIX: Driver SungrowRTU - opraveno chybné generování id u TCP 26.07.2024 release SM3 3.0.12 Build 31 RC13 ADD: Driver Modbus Slave - Pridana podpora funkcniho kodu 6(Write Single Register) FIX/MOD: Driver GoodweModbus - DT/MT - Fix: SunSpec Blok 113 - chybny nazev promenne pro Pac + pridana promenna pro Ppv Mod: rozdeleno cteni DT/MT - pro MT vlastni rozsah registru podle oficialni dokumentace 23.07.2024 release SM3 3.0.12 Build 31 RC12 FIX: Driver Goodwe - detekce GW60K-MT (i kdyz neodpovida specifikaci komunikace). 10.07.2024 release SM3 3.0.12 Build 31 RC11 FIX: lua - Rotace spotovych cen probihala o hodinu pozdeji tj. v 1:00 namisto 00:00. MOD/FIX: Driver Refusol - Plim hodnota do stridacu posilana v 0.1% (puvodne 1.0%) + implementovana funkce pro povoleni rizeni CosPhi (neotestovano). FIX: Driver SMA - hodnota pro vypocet id puvodne brana z sn (posledni byte) -> dochazelo ke kolizim, nyni je z detect_addr + Inverter_offset 27.06.2024 release SM3 3.0.12 Build 31 RC10 MOD: Alarms - posilani konce alarmu na portal(puvodne se posilal pouze zacatek). ADD: Driver Growatt - implementace stridacu TLX/TLXH (jine adresy modbus). MOD: mudevice.c - pocitani vykonu z energie citacu -> filtr prirustku zmenen z 0.25 na 0.05 MOD: Driver SunSpecUni - zapis erroru do promenne Status_P v hex formatu, u SolarEdge vypnuty rampy v Adv.PowerControl zapisem -1.0 do prislusnych registru MOD: sd_values - vypocet prumeru - inicializace accumulatoru poslednim prumerem namisto aktualni hodnoty 21.06.2024 release SM3 3.0.12 Build 31 RC9 ADD: Driver Solis - Podpora stridacu Solis (Ongrid-1P/3P3/3P4). FIX/MOD: Driver SunSpecUni - blok 103,113 - doplnen chybejici ntohl na promenne EvtVnd2 a EvtVnd3 + presunuti promenne Status na zacatek seznamu promennych (lepe citelne serazeni v emailech) FIX: Driver Growatt - chybna struktura eeprom pro zarizeni "inverter" FIX/MOD: SMTP - smtp.c - opravena chyba v generovani casu do headeru (nezohlednen letni/zimni cas), odebran nevyuzity const string msg_ID_P, TCP MSS zmenen na 1460 (puvodne 528) MOD: SMTP - smtp_user.c - sprintf nahrazeno za snprintf, odstraneny duplicitni(shadow) deklarace string bufferu 31.05.2024 Branch Merge SM3 3.0.12 Build 31 RC8 ADD: MbedTLS - Zakladni implementace MbedTLS + port pro HW podporou AES a SHA256. ADD: filesys - pridan virtualni filestream pro sifrovani jineho streamu (AES256 CBC + base64 encoding) MOD: Soap - wsdl_file.c - pridano sifrovani vnitrniho xml (AES256 CBC + base64 encoding) 29.05.2024 release SM3 3.0.11 Build 31 RC8 ADD: Driver Growatt - podpora Hybrid stridacu Growatt (neotestovano) ADD: Driver GoodweSmartMeter - podpora zarizeni Goodwe SmartMeter BM3000 MOD/ADD: Driver Eastron - Pridana podpora pro typ SDM630MCT-V2 + podpora elektromeru dcm230(neotestovano) FIX: Driver BMR - doplnena chybejici kontrola na skip ip akci pri detekci. FIX: Driver Solax - ip ntohl. MOD: Driver ModbusSlave - pokud bylo zarizeni offline plnily se hodnotou NaN vsechny bloky, nyni blok 1 vynechan aby se dalo nacist info o zarizeni ikdyz je offline. MOD/FIX: Driver Refusol - Refactor refusol_inverter.c - opraveny chyby v logice + optimalizace vypoctu uhlu CosPhi + implementace aktualniho api SD_PowerControlProc pro rizeni vykonu, zbytek vicemene syntaxe(implicitni casty, potencialni pretoky bufferu atp.) MOD: Lua - Defaultni Power Control Mode po startu zmenen z GLOBAL na OFF (uzivatel musi v luascriptu zavolat SetPCMode s hodnotou parametru pro PCModeGlobal(1) nebo PCModeSelective(2)) FIX: xmlparsproc.c - UpdateModbusS() - Pri zakazani Modbus Slave zustaval zdroj rizeni nastaven konfiguraci z UI, tj. pokud Modbus Slave mel povoleno rizeni vykonu, tak pokud v UI zustalo rizeni vykonu povoleno a Modbus Slave se zakazal zdrojem rizeni byl nadale stale Modbus Slave MOD/ADD: StaticWeb - PowerCtrl - pridano zobrazeni aktualniho stavu vstupu PC Modulu 24.04.2024 release SM3 3.0.11 Build 31 RC7 MOD/FIX: lua.c - Lua_SaveScriptFile - prepsan mechanismus ukladani souboru (dochazelo k chybam pri ukladani, chybejici casti souboru atp.) FIX: StaticWeb - luascript - pri warningu se tez zakazoval Stop Button ikdyz lua script bezel MOD: Driver SunSpecUni - Pridano rizeni VAR (% Pnom) skrze EnhancedPowerControl (povolitelny skrze promennou "EnhPC Ena", preference CosPhi/Q se prepina automaticky pri zmene(zapisu) hodnoty Q nebo CosPhi ADD: Lua - pridana funkce sm_GetSpotPrice na ziskani Spotovych cen ADD: Portal - pridano API "GetPrices" pro ziskavani spotovych cen z portalu 27.03.2024 release SM3 3.0.11 Build 31 RC6 FIX: solar devices - ve strukture SSD_Device_Alarm opraven typ promenne id z u16 na u32 MOD: soap/wsdl_file.c - PrintSoapLine_DevId string format id z %u na %lu v navaznosti na FIX struktury SSD_Device_Alarm MOD: lua.c - PID - Nastaveni Integratoru na plny rozsah (puvodne integrace do max PIDOutputMax/Min * 0.5) FIX: Driver Victron - vebus zarizeni - opraven chybny typ promenne IBat (uint16_t na int16_t) MOD: Driver - Sunways(Modbus) - Zmena promenne 'Total' z registru 11020 na registr 41112 MOD: Driver Huawei - odstranena kontrola NaN hodnoty panelu (totiz je to int16 a proud(vykon) na panelech stridac posila i zaporny(backfeed)) 12.03.2024 release SM3 3.0.11 Build 31 RC5 MOD/FIX: dev/ds2482.c - Osetreni potencialne nekonecne while smycky ve funkci OwBusy, (pravdepodobne zpusobovalo vypadky senzoru) + OW_TIMEOUT zvetsen zpet na 50ms MOD: NutOs linker script - sekce .vtables a .bss presunuty do LOWER_RAM (64kb) ktera se nevyuzivala -> Narust heapu o cca 50kb MOD: Driver Huawei - osetreny NaN hodnoty ze stridace (muze vzniknout pri nepripojenych panelech, stridac posila 0xFFFF) MOD: Driver SunSpecUni - pridana podminka pro SolarEdge stridac ktery posila acc32 NaN jako 0xFFFFFFFF (dle SunSpec specifikace ma byt acc32 NaN 0) FIX: Driver WattRouter - pridan chybejici htonl na ip adresu MOD: filesys - pridany explicitni casty a missing inicializatory (compliance and reduced warnings) FIX: dev_init.c - zvysen stack threadu "ipconf" (pretoky pri logovani alarmu (pouziva se filesys)) MOD: powercontrol - zvysen stack threadu "PwrCtrl" o 212B (1836 -> 2048) zbyvajici stack byl 120B 04.03.2024 release SM3 3.0.11 Build 31 RC4 ADD: Driver intilion - Podpora zarizeni INTILION-scaleblok FIX: StaticWeb - doplnen chybejici znak 0xE901 ve font_sm.wo MOD: dev_init.c - Refactor konfigurace IP, Konfigurace staticke IP presunuta do threadu spolecne s DHCP protoze pokud nebyl link, tak se cekalo 30 vterin ve funkci NutNetIfConfig2, pak se z funkce vratilo a start pokracoval. pokud pak link nabehl/pripojil se kabel tak uz se ip nenakonfiguraovala - nyni se ceka/hlida link ve vlastnim threadu(nebrzdi start jednotky) a pri vypadku/navazani linku se behem 5s dela automaticky rekonfigurace ip/dhcp MOD: main.c - inicializace Ethernetu a Alarmu presunuta vyse hned za watchdog 12.02.2024 release SM3 3.0.11 Build 31 RC3 MOD: sd_power.c - refactor - nefungovalo spravne rizeni modbusem (scalefactory promennych predavaly hodnoty mimo interni rozsahy u plim (0,100) a CosPhi (-100,100) tak to nikdy neproslo dal)) + nasledne upravy v driverech vyuzivajicich sd_power(aurora, delta, diehl, goodwe, huawei, invt, siemens, sma, sma_dm, solax, sungrowRTU, sunSpecUni, viessmann) MOD/FIX: Driver Goodwe - refactor sekce inverter, inverter dt/mt Powercontrol -> write_single_register na write_multiple_registers (write_single_register neni podporovan) MOD: Driver SunSpecUni - zmenen timeout pro RS485 na 2000ms + prodleva mezi packety (RS485 a TCP) zvetsena na 500ms(resi problemy se stridaci SolarEdge) MOD: sd_tcp_low.c - TCP_Low_Command() - comm delay se aplikuje pri kazdem pruchodu (puvodne jen pri jine ip nebo portu) MOD: sd_comm_log - upraven format casu v logu - nyni takto [unix timestamp v 24h fmt][s.ms (celkovy cas operace(TX, RX), MAX 1000.999)]:... 07.02.2024 release SM3 3.0.11 Build 31 RC2 FIX/MOD: Driver SungrowRTU - nova mapa registru stridace podle posledni dokumentace (doplneny Apac Rpac CosPhi) a definice sunspec bloku MOD: Driver BMR - PLA33 pouze absolutni hodnota Total+,Total- (Total- byl - coz nefungovalo s portalem a citaci) 16.01.2024 release SM3 3.0.11 Build 31 RC1 ADD/MOD: Driver Solax - Refactor + pridana podpora stridacu rady MicG2/ProG2 a X3MegaG2/X3Forth MOD: Driver SunSpecUni - zvetsen timeout pro RS485 1000ms -> 1100ms ADD/MOD: Driver Inepro - pridana podpora sbernice TCP FIX: Driver SungrowRTU - na TCP chybela kontrola na flag DETECT_SKIP_IP (neslo preskakovat ip adresy pri detekci) MOD: Driver CommLog - Logovani vsech RX dat na sbernici(puvodne se logovaly jen validni odpovedi(Modbus exception byl vyhodnocen jako timeout)) MOD/FIX: male opravy/upravy (missing case handles in switches, syntactic warnings atd.) 05.01.2024 release SM3 3.0.11 Build 31 RC0 MOD/ADD: Driver SungrowRTU - pridano rizeni vykonu FIX: Driver Goodwe - goodwe_mb_inverter.c->Set_Reactive_Power() fix always false if (pwr_value(uint16_t) < 0) 20.12.2023 release SM3 3.0.11 Build 30 ADD: Driver Eaton - podpora meridla Eaton EMC3P-D2C1 MOD/ADD: Driver IPLOG - pridana promenna WChaMax pro nastaveni max vykonu FIX: Driver Goodwe - fix Total ntohl u stridacu DT/MT 15.12.2023 release SM3 3.0.11 Build 30 RC12 MOD/FIX: sd_rs485.c - BusReset pri startu detekce ADD: sd_comm_log - Volitelne logovani komunikace sbernic RS485AB, RS485YZ, RS232, TCP1, TCP2. ADD: Web - /sdcommlog.htm - konfigurace logovani sbernic 04.12.2023 release SM3 3.0.11 Build 30 RC11 FIX: sunSpecSlave_user.c - pridana chybejici "," v definici p_SunSpecManufacturers (nenacitalo jmeno remote SM unit) 01.12.2023 release SM3 3.0.11 Build 30 RC10 FIX: Driver GoodweModbus17 - ntohs v inverter DT/MT 24.11.2023 release SM3 3.0.11 Build 30 RC9 MOD: StaticWeb luaedit.xsl - pridano cislovani radku MOD: lua.c - zvetsen stack lua threadu, yastaveni scriptu pred updatem souboru se scriptem ADD: Driver SunwaysMB - Podpora stridacu Sunways s Modbus protokolem MOD: Driver IPLOG - Upraveno řízení výkonu baterie (jine registry a proces rizeni) MOD/ADD: Driver Sungrow - Pridan TCP interface MOD/ADD: Driver SungrowRTU - Pridan TCP interface 14.11.2023 release SM3 3.0.11 Build 30 RC8 MOD/ADD: lua.c - smLuaApi pridana funkce sm_GetDeviceState (na zjisteni zda je zarizeni online, uninitialized, offline(comm timeout)) MOD: sunSpecSlave_user.c - pokud zarizeni neni online tak se vsechny promenne posilaji jako NaN MOD/FIX: Driver Aurora - PLim plneno lokalne kvuli nejasnostem s vyctenymi hodnotami ze stridace (registr PLim neposila procenta ale neodpovidajici vykon ve wattech) MOD/FIX: Driver Eastron - Upravena detekce (model parsing), mapa modbus registrů, parita na Even(default podle dokumanteca) MOD/ADD: Driver IPLOG - Přidáno řízení výkonu baterie FIX: Driver Solax - inverter error parsing MOD: I2C0 - SCL snizeno na 100kHz (pri 400kHz (413kHz realne) pravdepodobne dochazelo k problemum s DS2482) //ve fazi dlouhodobeho testovani MOD: ow.c - reset DS2482 pred kazdym cyklem vycitani 1W senzoru 27.10.2023 release SM3 3.0.11 Build 30 RC7 ADD: Driver IPLOG - podpora zarizeni IPLOG MOD/FIX: Driver Aurora - mensi refactor (prevazne int promenne na float) + predelani rizeni vykonu na novy mechanismus 13.10.2023 release SM3 3.0.11 Build 30 RC6 ADD: Driver Eastron - podpora elektromeru Eastron SMD630MCT ADD: Hbus - Pridana podpora modulu SM3-DI a SM3-PC FIX: sm3_4adio.c - pointer error (defaultni config), nenulovany flag pri zmene konfigurace(posilala se porad dokola) 26.09.2023 release SM3 3.0.11 Build 30 RC5 MOD: Driver SMA - pri pozadavku PLim 0 se nyni posila i Stop command jinak stridace stale davaji rezidualni vykon napr 2kW. MOD: Driver Goodwe - Cteni hodnot meridla z jinych adres. 20.09.2023 release SM3 3.0.11 Build 30 RC4 ADD/MOD: analog_input.c - MU Analog Input, podpora HWRevC podle MAC(jiny opamp na vstupu ADC) MOD: Driver KMB SMC144 - RS485 parita zmenena z EVEN na NONE (s povolenou paritou na meridlech nefungovala komunikace ani modbus pollem, chyba vyrobce?) 31.08.2023 release SM3 3.0.11 Build 30 RC3 MOD/ADD: Driver BMR-PLA33 - pridano cteni binarnich vstupu FIX/ADD: Driver KMB SMC144 - opraveny multiplikatory, pridany fazove promenne Pac, Apac, Rpac, CosPhi 23.08.2023 release SM3 3.0.11 Build 30 RC2 ADD/MOD: Driver SMA DataManager - rizeni cinneho a jaloveho vykonu 21.08.2023 release SM3 3.0.11 Build 30 RC1 ADD: Driver SMA DataManager - Podpora zarizeni SMA DataManager ADD/MOD: Driver KMB SMC - Podpora SMC 133 MOD: SD Devices - predelan vypocet ID zarizeni(vsechny drivery) !!!!! 07.08.2023 release SM3 3.0.11 Build 30 RC0 ADD: LuaScript - Pridani Alarmu pro lua skript ADD: StaticWeb - sensors.xsl - Konfigurace LuaScript Alarmu MOD: StaticWeb - inverter.xsl(index.css) - upraveno zobrazeni interfacu pri detekci(pro ruzne velikosti monitoru) FIX: Driver - SunSpecUni.c - offset id pro ruzna zarizeni 26.07.2023 release SM3 3.0.11 Build 29 ADD/MOD: SD TCP Driver - Pridani druheho rozhrani pro TCP Driver 18.07.2023 release SM3 3.0.11 Build 28 RC23 ADD: Driver - StoraXe - podpora zařízení StoraXe (Baterie) FIX: Driver - INVT - chybny typ ve strukture vyctenych dat MOD: Soap.c - mensi refactor funkce SendSoap (ted to funguje i s plnou optimalizaci "Os") ADD/MOD: StaticWeb - soap_hi.xml, update.js - Pridano spravne parsovani pro kod 500 (Internal Server Error) MOD: EtherNut - ThreadInfo - uint32 na uint64 pro pocitani doby behu threadu a vypocet procent CPU (ted uz to nepretece nikdy) 10.07.2023 release SM3 3.0.11 Build 28 RC22 FIX: Driver - Huawei - modbus funkce WriteSingleRegister chybny prepocet delky odpovedi 27.06.2023 release SM3 3.0.11 Build 28 RC21 ADD: Driver - Solax - podpora zařízení Solax ADD: Driver - INVT - podpora zařízení INVT-XG MOD: Driver - Goodwe - pridano rizeni vykonu stridacu BT MOD: Driver - Smart1 - pridana promenna PReqCmd pro rizeni nabijeni/vybijeni LuaScriptem 13.06.2023 release SM3 3.0.11 Build 28 RC20 ADD: LuaScript - math library support 09.06.2023 release SM3 3.0.11 Build 28 RC19 ADD: Driver - Huawei - Přidáno řízení výkonu MOD: Driver - StuderInnotec - pri inicializaci se neposila Errors trap na SNMP ADD: SNMP - Implementovan IO Mib (Vstupy, Vystupy, Sensory, Countery) FIX: Analog input - opravena chyba v ukladani konfigurace vstupu FIX: MU SystemDevice - SunsSpecBlok 64723 -> opravena chyba pri zpracovani promenne PFSet (cteni zaporne hodnoty -> 0) 24.05.2023 release SM3 3.0.11 Build 28 RC18 ADD: Driver - Huawei - podpora zařízení Huawei (SmartLogger, Inverter, Meter) FIX: Lua - typo v SetPCReactive Warning msg ...SetPCActive... - > ...SetPCReactive... 17.05.2023 release SM3 3.0.11 Build 28 RC17 ADD: MU SystemDevice - Blok 64790 - pridana promenna PInst (instalovany vykon z nastaveni jednotky) MOD: Driver - BMR - Nazvy mezifazovych promennych zmeneny z Lx-Lx na xx (Uac L1-L2 -> Uac 12) MOD: SD - sd_meter_resources.h - Nazvy mezifazovych promennych Uac zmeneny z Uac Lx-Lx na Uac xx 15.05.2023 release SM3 3.0.11 Build 28 RC16 MOD: Web - hbus.xsl - SM3-4ADIO - povolení modu (0-10V I, 0-10V O, 0-20mA I) MOD: Driver - SunSpecSlave - cekani na registraci vsech zarizeni pred zahajenim jakekoliv komunikace (max 60s). FIX: Driver - SunSpecSlave - prace s pozitivnimi scalefactory MOD: Driver - Smart1 - Scalefactor pro vykon 0 -> 1 (jednotky 1W -> 10W) MOD/ADD: MU SystemDevice - Zmena rozlozeni a definic SunSpec bloku (64500, 64503(pridan),64723, 64700, 64701). Blok 64500 - pridany promenne CPU, Events Status, Country presunuty do bloku 64503. Events: //bit nastaven trvale na 1 pri vzniku popsanych udalosti (vynulovani se provede zapisem 1 na urceny bit v promenne LuaScriptem/Modbusem) b0:eSysEvtb_Boot //Nahozen po startu b1:eSysEvtb_SetupChange //jakákoliv změna konfigurace b2:eSysEvtb_DeviceDetection //spuštěna detekce zařízení(RS485, RS232, TCP) b3:eSysEvtb_ModbusCommWDT //MB WDT b4:eSysEvtb_LuaErrorWarning //Chyba v LuaScriptu Status: //bit nastaven na 1 v dobe trvani popsanych udalosti b2:eSysStatusb_DeviceDetection //Nahozen společně s eSysEvtb_DeviceDetection dokud se detekce zařízení nedokončí/nezruší b3:eSysStatusb_ModbusCommWDT //Nahozen společně eSysEvtb_ModbusCommWDT dokud se neobnoví komunikace MOD/ADD: Driver SunSpecUni - podle novych bloku systemoveho zarizeni pridan blok 64503 a zmenen blok 64500 (promenne CPU, Events, Status) blok 802(baterie) - scalefactor pro vykon 0 -> 1 (jednotky 1W -> 10W) 27.04.2023 release SM3 3.0.11 Build 28 RC15 FIX: hbus/analog_digital - chybel htons na AO a DO MOD: Power Control - Mensi refactor, vylepsen mechanismus predavani PC dat mezi jednotkami (PCMody - Local/Remote, + LuaScript) Místní Modul = Klasické řízení PCModulem Vzdálený = Řízení tím co je aktuálně nastaveno na vzdálené jednotce Místní Modul + LuaScript = Řídí LuaScript + funkce smGetPCModuleActive/Reactive vrací údaje z Lokálního PCModulu Vzdálený + LuaScript = Řídí LuaScript + funkce smGetPCModuleActive/Reactive vrací údaje co jsou aktuálně nastaveny na vzdálené jednotce MOD: Web - pwr_hi.xsl - separatni kombo pro PCMode - Automatic/LuaSkript 25.04.2023 release SM3 3.0.11 Build 28 RC14 ADD: Driver SunSpecUni - blok 64502 -> cteni/zapis vystupu na vzdalene SM jednotce blok 124 -> WChaGra, WDisChaGra (ovladani nabijeni/vybijeni baterie) blok 802 -> Idc, Pdc baterie 18.04.2023 release SM3 3.0.11 Build 28 RC13 FIX: AnalogInput - výpočet koncove analogové hodnoty ADD: Driver SunSpecUni - cteni bloku 203 -> pridany promenne APac, RPac, CosPhi 17.04.2023 release SM3 3.0.11 Build 28 RC12 MOD: PowerControl - podpora pro remote power control skrze lua script MOD: Driver SunSpecUni - podpora pro vice zarizeni na 1 modbus adrese (vice id 1 common bloku) FIX: Driver SMA - doplneny multiplikatory SUNS_CAST_MULTIPLIER_1 v definici sunspec bloku 113 (default 0 -> nasobeni hodnoty nulou v sunspec slave driveru -> chybne nulove hodnoty 13.04.2023 release SM3 3.0.11 Build 28 RC11 ADD: MU SystemDevice - pridan binarni výstup + pridan SunSpecBlok 64502 (Digital Output) + ovladani bin vystupu skrze modbus ADD: Web - output.xsl - pridan option pro ovladani vystupu Modbusem (blok 64502 v systemovem zarizeni) ADD: binary - binary_out.c - ovladani Modbusem 12.04.2023 release SM3 3.0.11 Build 28 RC10 ADD: HBUS - pridana podpora externiho modulu SM3-4ADIO FIX: Driver BMR - opraveny pretoky stacku pri parsovani energii z meridla (hodne ntohll, custom jmena promennych(stringy na stacku atd.)) 23.03.2023 release SM3 3.0.11 Build 28 RC9 FIX: Driver Qeed -> doplneno chybejici ntohs v ConfigProcess 21.03.2023 release SM3 3.0.11 Build 28 RC8 FIX: MU SystemDevice -> SunSpec blok 64501 - nepredavala se hodnota vstupu ADD: Driver Inepro - Do SunSpec bloku 213 pridany promenne APac, APac 1,2,3, RPac,RPac 1,2,3, CosPhi(PF), CosPhi(PF) 1,2,3 ADD: Driver SunSpecUni - Do bloku 213 pridany promenne APac, APac 1,2,3, RPac,RPac 1,2,3, CosPhi(PF), CosPhi(PF) 1,2,3 20.03.2023 release SM3 3.0.11 Build 28 RC7 FIX: Web -> inverter.xsl - fixed typo portServTCP -> protServTCP FIX: Lua -> sm_GetDeviceValue - konverze z SDVInteger na lua number -> temp promenne nahrazeny za float (dochazelo k zaokrouhlovani na cela cisla) ADD: Driver Inepro - pridana promenna tariff ADD: SunSpecSlave - Pridany bloky 64723, 64700, 64701, 64790 (RTU - CEZ/EGD) ADD: MU SystemDevice - Pridany bloky 64723, 64700, 64701, 64790 (RTU - CEZ/EGD) -> cteni/zapis skrze lua script po jejich pridani (sm_AddDeviceValue) do systemoveho zarizeni. 10.03.2023 release SM3 3.0.11 Build 28 RC6 FIX: Driver StuderInnotec - Opraveny definice multiplikatoru v SunSpecBlock definicich, opraveny chybne kontroly na float NaN (val != 0x7FC00000) -> (val == val), v ReadMessages opravena potencialne nekonecna for smycka (val = 10; (u_long)val >= 0: val--) FIX: Web -> detail.xsl - select=(translate(@n,...) pridany tokeny pro diakritiku (neukazovaly se spravne promenne s diakritikou) 09.03.2023 release SM3 3.0.11 Build 28 RC5 FIX: Driver Goodwe - Opraven vypocet id pri registraci zarizeni na tcp interfacu 08.03.2023 release SM3 3.0.11 Build 28 RC4 FIX: Driver SunSpecUni -> sunSpecUni_123.c - Set_Active_Power, Set_Reactive_Power - pro Fronius pridan opetovny zapis 1 do registru PLim/PFSet Ena (jinak se nastaveni Plim/PFSet neaplikuje) 08.03.2023 release SM3 3.0.11 Build 28 RC3 ADD: Driver Viessmann - podpora pro zarizeni Viessmann VITOBLOC 200 (MB TCP GateWay) FIX: modbus -> modbus_user.c -> Modbus_WriteFileRecord - zruseno ntohs(uint16) pri plneni vystupniho bufferu daty (swapuje uz aplikace nahore tak jak potrebuje) FIX: hbus.c, hbus/device/analog_digital.c,digital_input.c,power_control.c modbus_user.c - v navaznosti na Modbus htons FIXy zruseno swapovani uint16_t MOD: pc.c - PwrCtrl_FileInit - pregenerovani pc.xml pri kazdem startu zarizeni FIX: Driver SunSpecUni -> sunSpecUni.c - korektni/explicitni typy SUNS_NOT_IMPLEMENTED definu ADD: Driver SunSpecUni -> sunSpecUni.c - StoreEnum16/32 Value ADD: SDValues - DV_Store_NaN - pridan store NaN Enum + do SDV_Enum pridana promenna flags 02.03.2023 release SM3 3.0.11 Build 28 RC2 FIX: modbus -> modbus_user.c -> Modbus_WriteSingleCoil- zruseno ntohs(uint16) pri plneni vystupniho bufferu daty (swapuje uz aplikace nahore tak jak potrebuje) FIX: Driver Inepro - "cos?" -> dvUnit_CosPhi_P ("cosφ") MOD/ADD: Driver Goodwe - Mensi refactor + pridano rozhrani TCP + pridana podpora zarizeni typu HT s rizenim vykonu MOD: Lua - do api funkce sm_GetDeviceValue pridana kontrola na NaN flag (pokud je tak funkce vrati Nil) 22.02.2023 release SM3 3.0.11 Build 28 RC1 ADD: Driver Smart1 - podpora Smart1 zarizeni(Baterie - CLUSTER) + rizeni nabijeni/vybijeni (SunSBlock 124 -> Reg: WChaGra, WDisChaGra) FIX: Driver SunSpecSlave - Opravena chybna implementace bitmasek MB_DVL_IN,OUT,POW,DEF,PAR... (1,2,3,4,5... nahrazeno za korektni 0x1,0x2,0x4,0x8,0x10...) FIX: Driver SunSpecSlave -> sunSpecSlave_user.c -> SunSpec_PutData - pokud promenna existovala ale nemela masku MB_PRP_WRITE, Masteru se namisto IllegalFunctionException poslalo normalni ACK tj. k zapisu nedoslo ale Master o tom nevedel ADD: Driver SunSpecSlave -> sunSpecSlave_user.c -> SunSpec_PutData - pridana podpora pro p_action callback pro zapis ADD: Driver SunSpecUni -> sunSpecUni_124.c pridana promenna Udc MOD: Driver SunSpecUni -> sunSpecUni_64500.c,sunSpecUni_64501.c - optimalizace kodu + implementovano prime predavani promennych(nazvy citacu vstupu) pro dynamicky reinit promennych na vzdalenem masteru MOD: solar_devices -> sd_mudevice.c - optimalizace kodu FIX: counter.c -> Counter_SetToday - pokud byl typ pulsni citac tak se today neukladal do fram MOD: http_pages.c - float format na 3 des. mista (%f -> %.3f) FIX: http_pages.c -> SendPowerControl - chybny escape %, fprintf("...\%...") nahrazeno za fprintf("...%%...") FIX: modbus -> modbus_user.c -> Modbus_WriteMultipleRegisters - zruseno ntohs(uint16) pri plneni vystupniho bufferu daty (swapuje uz aplikace nahore tak jak potrebuje) 14.02.2023 release SM3 3.0.11 Build 28 RC0 MOD: SDHC Driver - zakazan CD (stejne se karta za behu neda vyndat/zandat (CD se k nicemu nepouziva) + nemusi se tak resit HW Revize kvuli drzaku sd karty tj. jednotny FW pro RevA i RevB) ADD/FIX: xmlwrite.c -> xmlWriteSetup() - pridan export nastaveni ModbusS FIX: sd_inverter.c -> Inverter_Process() - v sekci scitani totalu ze zarizeni se DeviceValue pretypovala na SDV_Float* bez ohledu na to jestli to skutecne byl SDV_Float nebo SDV_Integer pokud DeviceValue pro total byl SDV_Integer vedlo to k ukladani chybnych totalu do citacu. FIX: sd_battery.c -> Battery_Process() - totozne jako FIX: sd_inverter.c -> Inverter_Process() FIX: sd_tracker.c -> Tracker_Process() - totozne jako FIX: sd_inverter.c -> Inverter_Process() FIX: sd_meter.c -> SD_Meter_Process() - totozne jako FIX: sd_inverter.c -> Inverter_Process() MOD: counter.c -> Counter_SDGetTotal() - v navaznosti na vyse uvedene FIX: *_Process() zmenen parameter z SDV_Float na SDeviceValue a rozreseni zda je to SDV_Float nebo SDV_Integer uvnitr funkce MOD/ADD: solar_devices/sd_*_resources.h - kontrola nazvu promennych + pridany definice stringu pro nazvy promennych ADD: solar_devices/sd_resources.h - pridany definice jednotek pro promenne (A, V, W, Hz, kWh, ...) MOD/FIX: Driver sunSpecUni -> sunSpecBlock_Defs.c - BlocksunspecUni_113_Offsets, sunspecUni_124_Offsets, sunspecuni_123_Offsets, sunspecUni_213_Offsets - zkontrolovano/opraveno - offsety, multiplikatory, scalefactory promennych + inline stringy nazvu promennych nahrazeny za definice z sd_*_resources.h -> sunSpecUni_103.c, sunSpecUni_113.c, sunSpecUni_123.c, sunSpecUni_124.c, sunSpecUni_160.c, sunSpecUni_203.c, sunSpecUni_213.c sunSpecUni_401_403.c, sunSpecUni_402_404.c - zkontrolovano/opraveno nazvy/typy/jednotky/multiplikatory promennych - ntohs, ntohl (korektni zpetne pretypovani na int16_t, uint16_t) -> sunSpecUni_Inverter.c -> GetInverterDefaultEvent() - doplnen chybejici "Under Temperature" string index FIX: Driver SunSpecSlave -> sunSpecSlave_api.c - pridana kontrola na NaN hodnoty, opraven chybny prepocet pri konverzi z DVT_Integer na SST_FLOAT32 -> sunSpecSlave_user.c - doplnen chybejici ntohs/ntohl/ntohll, kontrola na NaN hodnoty FIX: power_control -> pc.c - copy paste error (nezapsalo se info do souboru pc.xml na sd) + filepath error do FileSys_Length se nadavala cela cesta k souboru -> navratova hodnota -1 ktera se neresila 01.02.2023 release SM3 3.0.11 Build 27 ADD: web -> global - shortcuts pro snadny pristup na systemove informace Ctrl + Alt + ` + s -> /service.htm Ctrl + Alt + ` + t -> /thread Ctrl + Alt + ` + n -> /socket (network info) Ctrl + Alt + ` + f -> /filesys Ctrl + Alt + ` + r -> /rootfs.sm3 Ctrl + Alt + ` + p -> /portalfs.sm3 Ctrl + Alt + ` + b -> /backupfs.sm3 ADD: web -> luascript editor - shortcut pro SaveAndRun Ctrl + s (kdyz je focus na okne editoru jinak defaultni akce prohlizece) + drag and drop (pri pretazeni souboru na okno editoru se jeho obsah nahradi obsahem souboru) FIX: NutOS -> opraven MemLeak v NutTimerCreate MOD: NutOS -> zakazan so_select(tim se vyresily veskere problemy s tcp/ethernetem) MOD: NutOS -> eth_mcux.c -> zrusen pollovany RX rezim a znovu naimplementovan RX interrupt skrze PostEvent(nechodilo zrejme kvuli so_select viz. MOD o radek vyse) + drobne upravy/optimalizace kodu v RXFrameProcess a EthMcuxOutput MOD: ds2482.h -> OW_Busy -> OW_TIMEOUT zvetsen z 10 na 50 CRUDE FIX: soap.c -> SendSoap - selektivni optimalizace teto funkce na -O0 s jakoukoliv vyssi optimalizaci se funkce "rozbije" a prime posilani na portal nefunguje a zpusobi No Data Receive, TCP Error, Cannot Open TCP Stream error nebo rovnou deadlock -> FIXME: prepsat funkci? 20.01.2023 release SM3 3.0.11 Build 27 RC0 MOD: bfstream.c - pridan zpet NutThreadYield() po zapisu na socket MOD: soap.c -> SendSoap -> ssmDirectStreamPortal - mensi reorder kodu pri finalnim fflush na socket FIX: Driver -> Modbus -> sunSpecSlave_user.c -> SunSpec_GetData - pridano htons/htonl/htonll FIX: Driver -> Modbus -> makefile - odstranen -mfloat-abi=softfp protoze snim to padalo FIX: dev_init.c -> AddOfficeGatewayRoute - chybel htonl na ip a masce MOD: dev_init.c -> AddOfficeGatewayRoute - ip zmenena na 85.132.128.45 MOD: http_pages.c -> SendService - ve forku (u_char)p_info->ee_data[j] produkoval warning: iteration 35 invokes undefined behavior zmeneno na ((uint8_t*)p_info->ee_data)[j] -> nyní bez warningu MOD: eeparams.c -> set_default_value - zruseny defaultni maily FIX: http_pages.c -> ShowSocket - IP Table (ip addr gw) 18.01.2023 release SM3 3.0.11 Build 26 FIX: binary.c -> volani Portal_Add() - bez ohledu na nastaveni SOAP Enable/Disable. Osetreno podminkou (soap_dest[sdtSOAP_REPORT].enabled == 1)?Portal_Add() FIX: pc.c -> volani Portal_Add() - bez ohledu na nastaveni SOAP Enable/Disable. Osetreno podminkou (soap_dest[sdtSOAP_REPORT].enabled == 1)?Portal_Add() MOD: soap.c -> SEND_FILE_BUF 256 -> 512 FIX: portal.c -> Portal_Add - kdyz se posilalo skrz ssmDirectStreamPortal tak i pri uspechu funkce vracela -1(error) (opraveno ikdyz se to pak nikde nekontroluje) + pridan mutex lock-unlock na fileQ (Portal_Add a nasledne volana funkce Soap_GenFile nejsou reentrantni) MOD: portal.c -> ServePortalQueue - kdyz byla slozka portal na SD prazdna(nenasel se zadny soubor) tak se kazdych 60 pruchodu (cca 10 min.) funkci slozka portal mazala a vytvarela znovu jelikoz se soubory na sd pouzivaji jen pri chybe odesilani skrze ssmDirectStreamPortal tak predelano aby se kontrola provadela jen pri chybe vytvoreni/cteni/mazani souboru nebo jednou za 24h. -> zmeneno na volani FileSys_CheckDrive a puvodni mazani + obnova slozky a pri pripadne chybe zaloguje error a udela reboot ADD: Web -> Historie Alarmu -> podpora zobrazeni PortalFS erroru MOD: bfstream.c -> buffer 1024->2048 + zrusen NutThreadYield() po zapisu na socket MOD: httpd.c -> RunUpload - zmena priority threadu na 40 pri nahravani fw + zvetsen rx buffer 512 -> 4096 FIX: hstream.c -> NutHStreamRead + NutHStreamOpen - nesmyslne volani printf nahrazeno za DBG macro (navic to delalo bordel u vsech modulu co stdout pouzivaji (momentalne jen konzole v lua scriptu) tj. vse co se cetlo skrze HStream slo i na stdout!!!) CRUDE FIX: NutOS -> eth_mcux.c -> zakazan RX interrupt -> prechod na pollovany RX rezim (ethernet celkove tak funguje nesrovnatelne lepe) TODO: prosetrit a vyresit proc to s interruptem zlobi -> vyrazne zrychleni odezvy, i po startu 10.01.2023 release SM3 3.0.11 Build 25 FIX: Soap - Hardfault kvuli zamene *fp za fd 06.01.2023 release SM3 3.0.11 Build 24 FIX: LAN interface - nebylo povoleno autonego na ethernetu (projevovalo se pomalym zobrazovanim webu) ADD: Driver SunSpecUni -> Inverter[103, 113] -> Pridany promenne APac, RPac, PF (viditelne pokud nejsou NaN) 23.12.2022 release SM3 3.0.11 Build 23 ADD: Driver BMR PLA33 ADD: Driver Victron 18.10.2022 release SM3 3.0.11 Build 22