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.
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" />
<PackageReference Include="DWIS.RigOS.Common.Worker" />
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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#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
#tool nuget:?package=DWIS.RigOS.Common.Worker&version=1.0.5-build.462&prerelease
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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.jsonwith defaults for loop duration, OPC-UA URL, and MQTT settings. - Entry / LiveValue: internal tracking structures for registered queries and live values.
Typical flow
- Create a DWISData-derived type with public properties decorated with MQTTTopic attributes and accompanied by DWIS manifest/query metadata (via DWIS.RigOS.Common.Model).
- Create a DWISWorker-derived type that owns a DWISData instance and calls the provided registration and publish/read helpers.
- On startup, ConfigurationUpdater loads
../home/config.json(or creates it) and DWISWorker connects to the OPC-UA Blackboard and MQTT broker. - 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 | Versions 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.
-
net8.0
- DWIS.Client.ReferenceImplementation.OPCFoundation (>= 2.2.44)
- DWIS.RigOS.Common.Model (>= 1.0.5-build.431)
- Microsoft.Extensions.Hosting (>= 10.0.2)
- Microsoft.Extensions.Logging (>= 10.0.2)
- MQTTnet (>= 5.0.1.1416)
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