================================================================================ Cybro Edge Toolkit version history ================================================================================ + - new feature * - change/update ! - bug fix ? - known issue - - deleted feature -------------------------------------------------------------------------------- Starting with v3.0.0, the scgi server relies on a cybro allocation crc instead of a timestamp. Given that the crc is short (16-bit), there is a possibility of collisions when managing a large number of different programs. The probability is 0.1% for 10, 0.3% for 20, 1% for 40 and 8% for 100 different programs.If a collision occurs, both reading and writing may yield unpredictable results. This limitation only applies to the total number of unique programs. The number of controllers running the same program is not affected and remains unlimited. -------------------------------------------------------------------------------- 2025-01-08, Studio6dof/Tonči scgi_server v3.2.6 mqtt_client v1.0.1 data_logger v3.2.3 web_scada v1.2.4 (*) * Web scada, data structure updated in db_initial_data.sql script. -------------------------------------------------------------------------------- 2024-12-19, Studio6dof/Tonči scgi_server v3.2.6 (*) mqtt_client v1.0.1 data_logger v3.2.3 web_scada v1.2.4 (*) ! Minor debug/production difference prevented scgi server from starting. - Scgi server, variable sys.abus_list deleted, content is not relevant any more. * sys.nad_list and sys.push_list now include static, push and autodetect controllers. * Web scada, server status, removed abus_list and data logger (db_initial_data.sql). -------------------------------------------------------------------------------- 2024-12-18, Studio6dof/Tonči scgi_server v3.2.5 (*) mqtt_client v1.0.1 data_logger v3.2.3 web_scada v1.2.3 (*) ! Scgi server used wrong port for push reply. In some cases, that broke communication. ! Webscada timeplot and cumulative graph were not displayed properly. + When terminated, scgi server now returns exit code. Check user manual for details. * User manual, web scada install and dbase migration added. -------------------------------------------------------------------------------- 2024-11-12, Studio6dof/Tonči scgi_server v3.2.4 (*) mqtt_client v1.0.1 data_logger v3.2.3 (*) web_scada v1.2.2 (*) * Controller alias is now supported by both data logger and web scada. * DBase structure changed, NAD column changed from INT11 to VARCHAR(12). * Migration detail are in '/app/web_scada/doc/Solar migrate.txt'. * Requirements, mysqlclient replaced with PyMySQL, which is pure-Python library. -------------------------------------------------------------------------------- 2024-11-08, Studio6dof/Tonči scgi_server v3.2.3 (*) mqtt_client v1.0.1 data_logger v3.2.2 web_scada v1.2.1 ! A leftover debug print in some Python versions triggered an scgi server exception. -------------------------------------------------------------------------------- 2024-10-15, Studio6dof/Tonči scgi_server v3.2.2 (*) mqtt_client v1.0.1 (*) data_logger v3.2.2 (*) web_scada v1.2.1 (*) + SCGI server, option 'only_user_variables', exposes only vars marked as 'user'. + SCGI server, new system variable c20000.sys.variables, list available variables. ! SCGI server, sys.push_list and c20000.sys.alc_file are now correctly formated. * MQTT client, publisher configuration is slightly modified, check manual. + Data logger now on first run automatically creates database tables. ! Web scada, add new page caused exception. * Installation requirements eased, no more dependencies that require compiler. * Python requirements eased, now the whole package works with Python 3.8 to 3.12. ? Don't use alias with data logger and web scada, dbase column is still integer. -------------------------------------------------------------------------------- 2024-08-02, Studio6dof/Tonči scgi_server v3.2.1 mqtt_client v1.0.0 data_logger v3.2.1 (-) web_scada v1.2.0 (+) * Data logger reverted to integer nad in dbase, to be compatible with web scada. ? Because of these changes, data logger currently doesn't support Alias feature. + Web scada updated to python 3.12, django 5.0 and added to the package. * New web scada and data logger from the latest package are now used. + Added SQL scripts for migrating from the old database or creating a new one. + Added a warning dialog that deleting user also deletes all of their pages. - 'Server admin' page deleted, use standard administration tools instead. ? Web scada is not compatible and currently doesn't support Alias feature. * To follow a new django naming convention, solar_cybro.wsgi renamed to wsgi.py. * Media used directly, static files are now collected before serving to Apache. * Updated 'create_reports' and 'send_reports' to use with 'manage.py' as django commands. * Exception handlers now catch only expected exceptions instead of everything. * Incompatible switch/case in templates replaced with Django's standard if-elif. * Fixed URLs in templates to use Django's resolver instead of hardcoded URLs. * Fixed foreign key issues by replacing 0 with None for non-existent elements. * Fixed context processors that were returning incorrect values after the upgrade. * Update: jquery 1.6.4 -> 3.7.1, jquery ui 1.7.2 -> 1.13.3, flot 0.7 -> 4.2.6, highslide 4.1.9 -> 5.0.0. * Cleaned up obsolete and unused parts of the code. -------------------------------------------------------------------------------- 2024-07-14, Damir scgi_server v3.2.1 (*) mqtt_client v1.0.0 data_logger v3.2.0 + Start.py detects whether the server is active or needs to be restarted. * Tag 'scgi_port_status' renamed to 'scgi_status' and a few other changes. * Common functions moved to /lib directory. -------------------------------------------------------------------------------- 2024-06-26, Studio6dof/Tonči scgi_server v3.2.0 mqtt_client v1.0.0 (+) data_logger v3.2.0 (separated from scgi_server) * Renamed from Cybro Web Scada / Cybro Scgi Server to Cybro Edge Toolkit. * The package now contains scgi server, mqtt client and data logger apps. + Client/server connection can now be encrypted for secure use over internet. + Event driven, server can receive cybro socket and forward data to clients. + Each controller can now have an alias, used instead of the default name. + Broadcast address to autodetect controllers is now calculated automatically. + CORS string to allow origin added to HTTP header, to prevent browser error. * The data logger is now independent service, using a shared config.ini file. - The A-bus relay is removed and will be implemented as an independent service. * Python version upgraded from 3.8 to 3.12. --------------------------------------------------------------------------------