Release Notes

Introduction

Latest release notes of the SiteController

On this page:

SiteController version 2.1.0 - Minor Release

Important notes:

  • On-device retainment of data is now causing a larger system load, this may push some SC over the limit if they are already loaded. On-device retainment is enabled by default, but it can be switched off when needed.
  • Official mosquitto version from major Linux distribution repositories currently has a major bug that causes SiteController to drop data, due to the fact that mosquitto don't send retained messages in all circumstances. This happens in brokers running on Ubuntu 16.04 and 18.04 LTS; this happens more often in large sensor configurations, alongside manifests.
    • For this reason we require the official mosquitto edition to be changed for the Eclipse Edge edition, more specifically v2.0.10 for Ubuntu 16.04 and 2.0.12 for Ubuntu 18.04 and Debian 10.
    • We also recommend to use apt-mark hold on the mosquitto package once it's installed, as the Eclipse developers could introduce breaking changes at any given moment.


  • Unfortunately we haven't managed to finish the implementation of an automated install along with mosquitto directly from that eclipse repo for the Neuron OS open source distribution. Please manually install and use raspi-config to increase the partition size, install evok according to the evok readme and install either curl or wget before starting setup.sh from the SiteController installer package!
  • There is a known issue regarding PLC setup and using the PLC setup wizard on the cloud: the current implementation of the PLC Engine MQTT support is causing the AzetiInterface module to frequently issue MQTT last will messages to the SiteController which is then believing the module is not ready to proceed. This however causes the cloud to not proceed in the setup procedures in the PLC setup wizard in ACP and MaUI frontends. You may need to retry a few times until it finally finishes. Since this is a bug in a 3rd party component that we don't have access to its source code, we have to rely on the manufacturer of that module to fix the issue.
  • PLCEngine 2.x is not yet supported.

What's new

  • Data retention feature

Bug fixes

  • Big sensor configurations cause the default mosquitto in Ubuntu 16.04 and 18.04 to silently drop messages
  • Entry on logs show - "don't know this tob type"
  • Wrong launcher path in sitecontroller-mosquitto docker image entrypoint
  • Database is archived when data retention recovery scripts takes too long
  • data_store may delete unsent retained results during startup
  • raw_results_demux hangs after receiving a config update
  • data_store does not save the severity of an event in the data_store.db
  • After each SiteController restart ancient results are published to the cloud again, and again, …
  • "ValueError: unmatched '{' in format" in automation_controller
  • TypeError: unbound method from_json() must be called with calibrated_result instance as first argument
  • Upload strategy "on_change" does not filter all same values
  • UnicodeDecodeError: 'ascii' codec can't decode byte 0xb4 in position 65: ordinal not in range(128) in data_store.log
  • AttributeError: 'module' object has no attribute '_strptime' in external_checker.log
  • GPS: UnicodeDecodeError: 'ascii' codec can't decode byte 0x83 in position 0: ordinal not in range(128) -- Logged from file nmea_decoder.py, line 74
  • Watchdog does not revive the process after a crashed data_store
  • Docker image entrypoint is pointing to old path
  • Ensure external_checker handle properly unicode exceptions
  • TypeError: decoding Unicode is not supported in CalibResultsEvaluator
  • During startup the Watchdog logs a lot of messages with warning state about modules that are "not expected" and "not running"
  • Workaround to have interval-based upload
  • Fixes to Dockerfile
  • Refactor Docker setup

SiteController version 2.0.0 - Major Release

What's new

  • Include the latest version of Tani PLC Engine to SC 2.0 Major Release
  • SC repo restructure: migration script to convert old SiteController.cfg config files to new one
  • SC repo restructure: gps_tcp_device needs to be updated
  • SC repo restructure: update_src job -- Remove component
  • SC repo restructure: setup must inspect sensor_config.xml for compatibility before update
  • Send running sensor_config.xml to a topic in the cloud via additional script and by data_store

Bug fixes

  • Last will then hanging data_store after active monitoring timeout
  • Setup fails with: "ImportError: No module named pyxb"
  • Workaround: Updating SC to version 1.9.5 breaks upload to cloud
  • Regresssion: Enable SiteController setup to run completely parametrized via command line
  • Regression: data_store sometimes does not send the disconnected event to external broker if it is shut down
  • AttributeError: 'checker_sensor_gateway' object has no attribute '_job' in external_checker.log
  • SiteController does not start automatically after a reboot of a UniPi or debian system
  • AttributeError: 'NoneType' object has no attribute 'recv' in Modbus with IoT-Kit config
  • TypeError: to_json() takes exactly 1 argument (2 given) in data_store when live monitoring turns off
  • Symlink run_SiteController.py is not properly created after an upgrade
  • SC stops sending same values after some time for upload strategy as interval
  • Test of core.test_jobs_module_command.TestCreateExternalConnection shows exception and passes
  • Traceback when trying to run PLC checks
  • Watchdog still hangs if SC is supplied with a specific sensor_config.xml in some cases
  • AttributeError: 'RawResultsDeMux' object has no attribute '_processResult'
  • modbus: AttributeError: 'module' object has no attribute 'mqtt_handler'
  • HistoryAnalyser.py seems not to be renamed correctly somewhere
  • REST client crashes on start and print traceback on console
  • Bug when trying to update the SiteController
  • Investigate: data_store: RLock is locked by <super: <class 'RLockLogger'>, <RLockLogger object>>
  • Traceback to console in the Watchdog
  • PLC Setup fails on Rockwell CPU scan
  • No sensor config update immediatly after a tsap/cpu scan
  • Some files in the installer are world writable, especially in v.2.0 all scripts files are
  • Traceback when trying to install Fixed version SC 2.0.0
  • Introduction of keywords "-MAJOR", "-MINOR" and "-PATCH" in version names screws up the whole version numbering
  • Already transferred hd data (last field = 3) may get stuck in the L2 persistent database
  • SC repo restructure: Don't process invalid sensor_config.xml
  • SC repo restructure: Fix issues found in tests of SiteController after SC restructure
  • Watchdog sometimes hangs and the launcher is unable to detect it is still in the process list so it does not even try to kill it

SiteController version 1.8 - Minor Release

What's new

  • Extended logging mechanism for PLC modules
  • Prodos polling and logfile enhancement
  • Trigger action with the da_rest_client module
  • SiteController configuration management from the cloud
  • Rockwell SPS implementation
  • RAMDisk Feature

Bug Fixes

  • Topic reported are now working according to the Watchdog
  • Traceback when publishing certain configuration combinations
  • Configuration update from cloud
  • Mismatch of topics
  • Deadlock of Modbus
  • PLC symbol scan too big for Ramdisk
  • Rev-info with wrong information
  • Sysid tool missing in installer
  • TrapDaemon - Unicode issue
  • Memory leak in AzetiInterface
  • Backward compatibility with systemid generator
  • Logging level set to info by default
  • Jobprocessor Traceback when executing a command
  • Smaller Unittest fixes


SiteController version 1.6 - Codename Aspirator

What's new

  • New job to handle requests for module/<module>/command
  • The build scripts now integrate PlcEngine and the Azeti Interface software on the SC installer
  • Refactor of the icmp
  • The Azeti interface is now in compliance with the cloud configuration
  • Automation Script that installs the OS + Azeti engine + Azeti config tool + Azeti driver + SiteController Aspirator on a Nexcom NIFE103
  • Complely integrated our structure to the new Aspirator changes
  • We now have performance metrics for the Azei driver module
  • Smoke tests are now defined
  • The System is now able to work with proxy authentication
  • Integration tests where vastly aplyed in the major supported plc plataforms
  • We created a configuration to visualize the usb data export using the one LED of the NIFE103
  • We now support the state representation "calibrated result" and "configuration dump"
  • We put in place remote scripts for common maintenance tasks (Reboot, Starting Services)
  • Smoke tests for the Aspirator release
  • All the main PLC and OPC-UA features were tested
  • There are no more sys_id in internal mqtt topics
  • Demux now accept partial/incomplete raw_results
  • We now support UTF-8 characters for Aspirator and all Azeti related modules (config_provider)
  • The now are able to handle large files
  • The default TLS version is now v1.2
  • Paho-mqtt version is now 1.4.0

Bug Fixes

  • Date and time are now following ISO8601 format
  • All the modules now have UTF-8 support
  • Fixed recurring misconfiguration sys messages
  • Lost connection to external broker is now fixed
  • AzetiInterface crashes has been fixed
  • Error on big datapoints has been fixed
  • No more error messages during plcengine installation
  • No more data_store crashes when selecting a different time zone than UTC
  • No more hanging state thread on data_store
  • PlcEngine interface software is not publishing raw_results with "garbage" after the json message anymore
  • OPC-UA scan for symbols is now working
  • IDs of the MQTT topics are now encoded before using them in topic names
  • Now all the datapoints on a Symbol file are imported
  • Found the source of the the message "error: bad char in struct format"
  • Fix the problem that made the data_store stop communicating with the external broker
  • %value% is now translated to the state
  • ICMP module is now not generating tracebacks on screen anymore
  • Fix the problem that amde the data_store stop publishing to the cloud
  • AzetiInterface now publishes debug messages even if compiled in non-debug mode
  • Fixed the data flow from the Prodos web server to the Sitecontroller offline storage