FluxFlow.Components.Mqtt.MqttNet
1.0.0
See the version list below for details.
dotnet add package FluxFlow.Components.Mqtt.MqttNet --version 1.0.0
NuGet\Install-Package FluxFlow.Components.Mqtt.MqttNet -Version 1.0.0
<PackageReference Include="FluxFlow.Components.Mqtt.MqttNet" Version="1.0.0" />
<PackageVersion Include="FluxFlow.Components.Mqtt.MqttNet" Version="1.0.0" />
<PackageReference Include="FluxFlow.Components.Mqtt.MqttNet" />
paket add FluxFlow.Components.Mqtt.MqttNet --version 1.0.0
#r "nuget: FluxFlow.Components.Mqtt.MqttNet, 1.0.0"
#:package FluxFlow.Components.Mqtt.MqttNet@1.0.0
#addin nuget:?package=FluxFlow.Components.Mqtt.MqttNet&version=1.0.0
#tool nuget:?package=FluxFlow.Components.Mqtt.MqttNet&version=1.0.0
FluxFlow.Components.Mqtt.MqttNet
MQTTnet-backed adapter for FluxFlow.Components.Mqtt.
The core MQTT package stays client-library-neutral: MqttPublishNode needs only
IMqttPublisher, and MqttTriggerNode needs only IMqttTriggerSource. This
package supplies one concrete session object, MqttNetClient, that implements:
IMqttPublisherIMqttTriggerSourceIMqttClientHealthSource
MqttNetClient owns MQTT client creation, broker connection, Last Will
configuration, reconnect, publish mapping, subscription streams, manual
acknowledgement, and health events.
Usage
var mqtt = new MqttNetClient(new MqttNetClientOptions
{
Host = "localhost",
Port = 1883,
ClientId = "fluxflow-worker",
LastWill = new MqttNetLastWillOptions
{
Topic = "workers/fluxflow/status",
Payload = "offline"u8.ToArray(),
Retain = true,
QualityOfService = MqttQualityOfService.AtLeastOnce,
ContentType = "text/plain"
}
});
await mqtt.ConnectAsync();
var publish = new MqttPublishNode(mqtt);
var trigger = new MqttTriggerNode(mqtt, new MqttTriggerOptions
{
TopicFilter = "commands/+",
Mode = MqttTriggerMode.RequestReply,
Acknowledgement = MqttTriggerAcknowledgement.OnSuccessfulResponse
});
Call ConnectAsync before using the object as a publisher or trigger source.
When the MQTT client is disconnected, publish and subscribe throw
MqttClientUnavailableException, which the core nodes translate into their
not-connected diagnostics.
Last Will
Last Will is adapter-owned because it is registered during MQTT CONNECT. It is
configured through MqttNetClientOptions.LastWill, not through publish or trigger
node options. Use a normal MqttPublishRequest for graceful online/offline status
messages.
Acknowledgement
For trigger subscriptions with Acknowledgement.None, MQTTnet auto-acknowledges
received messages. For OnEmit and OnSuccessfulResponse, the adapter disables
auto acknowledgement and exposes AckAsync/NackAsync on each received context.
NackAsync maps to MQTTnet processing failure metadata and then completes the
MQTT acknowledgement path; MQTT broker retry behavior depends on broker and
protocol support.
| 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 is compatible. 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. |
-
net10.0
- FluxFlow.Components.Mqtt (>= 4.0.0)
- MQTTnet (>= 5.1.0.1559)
-
net8.0
- FluxFlow.Components.Mqtt (>= 4.0.0)
- MQTTnet (>= 5.1.0.1559)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial MQTTnet adapter package for FluxFlow MQTT components. Adds an explicit client-session object that implements IMqttPublisher, IMqttTriggerSource, and IMqttClientHealthSource, including broker connection options, Last Will configuration, publish mapping, subscription streams, manual acknowledgement hooks, and connection health events.