-
Notifications
You must be signed in to change notification settings - Fork 51
Open
Description
On startup, Primary application correctly publishes it's state to 'spBv1.0/STATE/SparkplugNet'.
However, Node only subscribes to 'STATE/SparkplugNet', missing the SparkplugNamespace:
/// <summary>
/// Gets state subscription topic.
/// </summary>
/// <param name="scadaHostIdentifier">The SCADA host identifier.</param>
/// <returns>The state subscription topic <see cref="string"/>.</returns>
internal static string GetStateSubscribeTopic(string scadaHostIdentifier)
{
return $"{SparkplugMessageType.StateMessage.GetDescription()}/{scadaHostIdentifier}";
}
This means that Nodes never receive STATE messages from the Primary application.
As an example, command subscription correctly prepends the namespace:
/// <summary>
/// Gets the node command subscription topic.
/// </summary>
/// <param name="nameSpace">The namespace.</param>
/// <param name="groupIdentifier">The group identifier.</param>
/// <param name="edgeNodeIdentifier">The edge node identifier.</param>
/// <returns>The node command subscription topic <see cref="string"/>.</returns>
internal static string GetNodeCommandSubscribeTopic(SparkplugNamespace nameSpace, string groupIdentifier, string edgeNodeIdentifier)
{
return $"{nameSpace.GetDescription()}/{groupIdentifier}/{SparkplugMessageType.NodeCommand.GetDescription()}/{edgeNodeIdentifier}";
}
Metadata
Metadata
Assignees
Labels
No labels