|
Hello World from Python 3!
SiteController is now running under Python 3.8+, with some compatibility still in place for Python 2.7
Tani PlcEngine upgraded to 2.4.6, this brings a lot of new features, bug-fixes and licensing options
Now we provide an official SiteController docker image based on Ubuntu 20 for x86_64 architecture
Several libraries were upgraded
SiteController's watchdog now can kill and restart processes that were detected to be hanging after a configurable amount of time
When upgrading, the SiteController installer now creates a backup of PlcEngine settings, too
automation_controller now can set a severity to a generated event
automation_controller now supports skipping rules with uninitialized states
We streamlined several modules, removing unused or outdated ones
Several parts of the SiteController and 3rd party libraries were upgraded, the following list contains an overview of the breaking changes. Please consult the /wiki/spaces/SIT/pages/3051225116 or contact azeti's Consulting team for more details.
external_checker module is now running on Python 3, this means all the external scripts running as a python module need to be migrated to Python 3 as well
Due to the upgrade of PlcEngine from version 1.x to 2.x, a license reactivation will be required, so should you have PLCs or OPC UA devices in your configurations, please contact azeti Consulting on how to do that.
Due to the double Python environment, the virtual environment’s directory of the SiteController changed from /opt/azeti/SiteController/lib/ to /opt/azeti/SiteController/lib/python2/ and /opt/azeti/SiteController/lib/python3/
Python 3.8 or higher is now mandatory, this means it is required that the gateway machine is running Ubuntu 20+ or Debian 11, or may need to have Python 3.8+ installed manually
The following modules were removed, contact the azeti Consulting team if you need a replacement:
core
usb_exporter (used to export the local database to USB pen drive upon sticking it into the port and a check for a password stored on the media is valid)
VirtualSensor
access_control (used to conveniently implement a physical access control – opening doors via pinpad or keycard reader, supporting alert conditions and dead man button scenarios)
tank_simulator (used for demonstration and internal self monitoring purposes mainly)
fill_quantity (convenient volume calculation routines for tanks in different shapes and configurations)
flow_rate (convenient calculations for change in volume of a tank with theft detection)
Data Acquisition
camera image acquisition support
GPS TCP/Serial support
BLE scanner support
SimonsVoss SmartIntego support
Fixed specific case leading to an unhandled exception in automation_controller
Added error handling for some edge cases where PlcEngine interface is not properly initialized
Fixed a condition leading the SiteController launcher to get stuck
Fixed error of a base class leading to an AttributeError: 'Client' object has no attribute 'connack_string' during an unclean MQTT disconnection
Added proper handling of a missing hd entry in calibrated_results being processed by history_analyzer
Fixed RuntimeError: dictionary changed size during iteration exception sometimes occurring in raw_results_demux
Implemented handling for unknown boolean values in SiteController.cfg
When executing scripts as modules, external_checker now calls the method run() once instead of twice per iteration only
Improved error handling on data_store, previously causing problems when the SSL encryption was enabled
Fixed OSError: [Errno 99] Cannot assign requested address in launcher, when restarting a module in a dockerized mosquitto setup
Fixed some cases where watchdog was unable to restart data_store
|