Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

1.0.1 - 2026-02-19

Changed

  • WOM-1104: Updated all dependencies and constrained pymodbus version to >=3.12,<4.0.

Fixed

  • WOM-1103: Updated aiohttp version to “>=3.13.3”

1.0.0 - 2025-07-17

Added

  • WOM-702: Added ADC counts and mA current to sample data published to consumers.

  • WOM-703: Added sensor input status to sample data and improved modbus error publishing.

    • Public API addition: Typed dicts DatapointDict and ErrorDict for publishing data and error information.

    • Public API addition: Enumerated types: InputSignalStatusEnum and ModbusExceptionType which are used in the published data and error dicts.

Changed

  • WOM-702:

    • Improved sample poll rate regularity.

    • Improved poll loop reactiveness to stop event.

    • Stamp all sensor samples with the same time-stamp from the poll.

    • Updated YAML configuration with the latest sensor scales from the SKA WMS design doc rev. B.

  • WOM-564: Updated documentation with UML, example config location, 961EN-4006 address ranges.

  • WOM-584: Refactored the WMS poll code to read all input registers in one call and drop the unneeded values.

  • WOM-753: Made config_file parameter of WeatherStation optional and added a default config that is used when a file is not provided.

  • WOM-837: Made config_path parameter of WMSSimulatorServer optional and added a default config that is used when a file is not provided.

  • WOM-820: Updated all dependencies and moved pytest-asyncio from main to dev group. Also updated pyproject.toml for Poetry 2.

  • WOM-819: Improved thread synchronisation.

  • WOM-818: Simplified simulator to match addresses 1-15.

  • WOM-752: Updated rainfall sensor config to be absolute mm of rain and simulator to behave like a tipping bucket rain gauge.

  • WOM-841: A WeatherStation is instantiated without any modbus communication required. The check of the ADC input range settings was moved to the connect() method. This means connect() must be explicitly called in order to receive any data.

Fixed

  • WOM-834: Updated simulator sensor data generation to prevent overlap.

0.2.0

Added

  • WOM-563: Added Dockerfile and updated repo to build simulator image.

0.1.1

Fixed

  • WOM-622: Removed python upper limit and limited pymodbus version to >=3.7.0,<3.8.0.

0.1.0

Added

  • WOM-440: Implemented simulation.

  • WOM-449: Implemented pymodbus interface.

  • WOM-504: Added error callbacks.

  • WOM-594: Added Modbus client lock.

Changed

  • WOM-454: Changes needed to integrate weather station data into DiSQ.

  • WOM-532: Fixed Modbus slave ID and clarified in documentation.

  • WOM-579: Connect method raises ConnectionError on failed connection attempt.

  • WOM-608: Renamed package to ska-mid-wms-interface.