DWIS.RigOS.Common.Worker 1.0.5-build.462

This is a prerelease version of DWIS.RigOS.Common.Worker.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package DWIS.RigOS.Common.Worker --version 1.0.5-build.462
                    
NuGet\Install-Package DWIS.RigOS.Common.Worker -Version 1.0.5-build.462
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DWIS.RigOS.Common.Worker" Version="1.0.5-build.462" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="DWIS.RigOS.Common.Worker" Version="1.0.5-build.462" />
                    
Directory.Packages.props
<PackageReference Include="DWIS.RigOS.Common.Worker" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add DWIS.RigOS.Common.Worker --version 1.0.5-build.462
                    
#r "nuget: DWIS.RigOS.Common.Worker, 1.0.5-build.462"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package DWIS.RigOS.Common.Worker@1.0.5-build.462
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=DWIS.RigOS.Common.Worker&version=1.0.5-build.462&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=DWIS.RigOS.Common.Worker&version=1.0.5-build.462&prerelease
                    
Install as a Cake Tool

DWIS.RigOS.Common.Worker provides the base types used to build DWIS background workers that exchange data with the DWIS Blackboard (OPC-UA) and MQTT brokers. It targets .NET 8 and is packaged with its README and license.

Overview

  • DWISWorker is an abstract BackgroundService that owns the DWIS client, MQTT client, query registration, and value publishing/reading loops.
  • DWISData is an abstract data container that exposes topic mappings, SPARQL queries, and manifests, plus helper logic for MQTT and Blackboard serialization.
  • Property helper types (ScalarProperty, GaussianProperty, GaussianValuesProperty, HistogramProperty, HistogramsProperty) model common value shapes and carry DWIS semantic metadata via SemanticInfo.

Key concepts

  • MQTT mapping: DWISData builds a topic-to-property map from attributes named MQTTTopicAttribute or MQTTTopic. It can subscribe to all topics, apply incoming payloads to properties, and serialize current values for publishing.
  • Blackboard integration: DWISWorker registers SPARQL queries, injects manifests when needed, subscribes to live OPC-UA values, and updates data properties with live updates.
  • Value serialization: Scalars are sent as doubles; Gaussian and histogram values are serialized to JSON for MQTT and OPC-UA updates.

Primary types

  • DWISWorker: base class that manages configuration, OPC-UA connection, query registration, MQTT subscription, and value exchange. It provides overridable methods for the main loop, MQTT callback, and publish/read behaviors.
  • DWISData: base class for defining the data model and its mappings. Derived classes should define TopicPropertyMap, SparQLQueries, and Manifests via the provided builders.
  • Configuration / ConfigurationUpdater: reads and writes a local ../home/config.json with defaults for loop duration, OPC-UA URL, and MQTT settings.
  • Entry / LiveValue: internal tracking structures for registered queries and live values.

Typical flow

  1. Create a DWISData-derived type with public properties decorated with MQTTTopic attributes and accompanied by DWIS manifest/query metadata (via DWIS.RigOS.Common.Model).
  2. Create a DWISWorker-derived type that owns a DWISData instance and calls the provided registration and publish/read helpers.
  3. On startup, ConfigurationUpdater loads ../home/config.json (or creates it) and DWISWorker connects to the OPC-UA Blackboard and MQTT broker.
  4. DWISWorker registers SPARQL queries and subscribes to live OPC-UA values, then reads and publishes values to MQTT and the Blackboard as needed.

Notes

  • Query registration tracks query diffs and live values so that updates arrive via OPC-UA subscriptions.
  • Manifest injection occurs if no query results exist, allowing the worker to create the required Blackboard nodes before publishing values.
Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DWIS.RigOS.Common.Worker:

Package Downloads
DWIS.ExplainabilityDisplay.Model

Shared model types for the DWIS Explainability Display applications.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.5-build.498 48 5/25/2026
1.0.5-build.496 49 5/25/2026
1.0.5-build.491 50 5/21/2026
1.0.5-build.490 44 5/21/2026
1.0.5-build.484 53 5/21/2026
1.0.5-build.483 47 5/21/2026
1.0.5-build.481 42 5/21/2026
1.0.5-build.478 46 5/21/2026
1.0.5-build.471 59 5/19/2026
1.0.5-build.470 57 5/19/2026
1.0.5-build.464 108 3/1/2026
1.0.5-build.463 72 2/28/2026
1.0.5-build.462 66 2/28/2026
1.0.5-build.461 63 2/28/2026
1.0.5-build.442 104 2/14/2026
1.0.5-build.441 67 2/14/2026
1.0.5-build.440 64 2/14/2026
1.0.5-build.434 72 2/14/2026
1.0.5-build.430 83 2/6/2026
1.0.0 113 1/24/2026
Loading failed