Class MqttDeviceBuilderExtensions

Namespace
ProtoTest.Devices.Mqtt
Assembly
ProtoTest.Devices.Mqtt.dll

Registers an MQTT device client with AddDevices.

public static class MqttDeviceBuilderExtensions
Inheritance
MqttDeviceBuilderExtensions
Inherited Members

Methods

AddMqttClient(ProtoDeviceBuilder, string, string, string, string?, Func<ProtoExecutionContext, string, string>?, Action<MqttDeviceOptions>?)

Declares a named device client over MQTT. The topic templates address one device each - {deviceId} is filled from the id passed to For<TDevice>("id") - so the device publishes to publishTopic and receives what subscribeTopic matches (its wildcards included). The registration carries both as endpoint settings; a client registered directly with AddClient may instead name publishTopic/subscribeTopic in the address query, and a setting wins over the address parameter. The broker address resolves through the devices precedence: a setting a started piece published (a broker container) wins over configuration (ProtoTest:Devices:Mqtt:Broker), which wins over address; resolveAddress replaces that rule for a suite that resolves the broker itself.

public static ProtoDeviceClientBuilder AddMqttClient(this ProtoDeviceBuilder devices, string name, string publishTopic, string subscribeTopic, string? address = null, Func<ProtoExecutionContext, string, string>? resolveAddress = null, Action<MqttDeviceOptions>? configure = null)

Parameters

devices ProtoDeviceBuilder
name string
publishTopic string
subscribeTopic string
address string
resolveAddress Func<ProtoExecutionContext, string, string>
configure Action<MqttDeviceOptions>

Returns

ProtoDeviceClientBuilder