DWIS.RigOS.Common.Worker
1.0.7
dotnet add package DWIS.RigOS.Common.Worker --version 1.0.7
NuGet\Install-Package DWIS.RigOS.Common.Worker -Version 1.0.7
<PackageReference Include="DWIS.RigOS.Common.Worker" Version="1.0.7" />
<PackageVersion Include="DWIS.RigOS.Common.Worker" Version="1.0.7" />
<PackageReference Include="DWIS.RigOS.Common.Worker" />
paket add DWIS.RigOS.Common.Worker --version 1.0.7
#r "nuget: DWIS.RigOS.Common.Worker, 1.0.7"
#:package DWIS.RigOS.Common.Worker@1.0.7
#addin nuget:?package=DWIS.RigOS.Common.Worker&version=1.0.7
#tool nuget:?package=DWIS.RigOS.Common.Worker&version=1.0.7
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.
Package release
This package shares version 1.0.6 from the repository's Directory.Build.props. Internal dependencies use project references and resolve to the same release version when packed. See the root README for build, testing and Trusted Publishing instructions.
| 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. |
-
net8.0
- DWIS.Client.ReferenceImplementation.OPCFoundation (>= 2.2.53)
- DWIS.RigOS.Common.Model (>= 1.0.7)
- Microsoft.Extensions.Hosting (>= 9.0.0)
- 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.7 | 66 | 10/22/2026 |
| 1.0.6 | 76 | 10/20/2026 |
| 1.0.5-build.498 | 97 | 5/25/2026 |
| 1.0.5-build.496 | 80 | 5/25/2026 |
| 1.0.5-build.491 | 81 | 5/21/2026 |
| 1.0.5-build.490 | 77 | 5/21/2026 |
| 1.0.5-build.484 | 83 | 5/21/2026 |
| 1.0.5-build.483 | 76 | 5/21/2026 |
| 1.0.5-build.481 | 72 | 5/21/2026 |
| 1.0.5-build.478 | 77 | 5/21/2026 |
| 1.0.5-build.471 | 85 | 5/19/2026 |
| 1.0.5-build.470 | 87 | 5/19/2026 |
| 1.0.5-build.464 | 132 | 3/1/2026 |
| 1.0.5-build.463 | 121 | 2/28/2026 |
| 1.0.5-build.462 | 93 | 2/28/2026 |
| 1.0.5-build.461 | 88 | 2/28/2026 |
| 1.0.5-build.442 | 157 | 2/14/2026 |
| 1.0.5-build.441 | 94 | 2/14/2026 |
| 1.0.5-build.440 | 91 | 2/14/2026 |
| 1.0.5-build.434 | 98 | 2/14/2026 |