You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
According to Sparkplug specification (2.2 and 3.0, but 3.0 is much clearer and more explicit) an edge node must support Node Control/Rebirth.
After receiving the command it should:
stop sending any updates (NDATA, DBIRTH, DDATA...)
send NBIRTH which is consistent with its original NBIRTH for the connection (the same bdSeq, the same metrics definitions) but with up-to-date values
send DBIRTH for every active device which are consistent with each device's latest DBIRTH messages (the same metrics definitions) but with up-to-date values
it should not disconnect (at least not because of Node Control/Rebirth)
it must not send NDEATH (an edge node must disconnect after NDEATH which must be the last message in a session)
it must not update bdSeq (which should be only updated when making new edge node connection)
Generally it might be acceptable to end a session, disconnect, and connect again starting a new session. This would probably do the job of Rebirth for the requesting application. But it seems somewhat heavyweight. And it would trigger reset of the node and all devices info in all interested aplications.
This is not possible with the library at the moment.
It is not possible to publish NBIRTH by hand.
The Rebirth method available currently does not help:
it sends NDEATH without disconnecting. Accorting to spec there must be no activity in the session after NDEATH.
it wipes out KnownMetrics for the node
after NDEATH it sends NBIRTH reusing the same bdSeq but after NDEATH new bdSeq must be used. (It is also why after NDEATH the edge node must disconnect and connect again: to set up LWM with new bdSeq.)
It also seems that PublishNodeAndDeviceBirthsInternal, currently private, would do the job. But I have not got to testing this yet.
Using version: 1.3.10.0
The text was updated successfully, but these errors were encountered:
Hi,
According to Sparkplug specification (2.2 and 3.0, but 3.0 is much clearer and more explicit) an edge node must support
Node Control/Rebirth
.After receiving the command it should:
bdSeq
, the same metrics definitions) but with up-to-date valuesNode Control/Rebirth
)bdSeq
(which should be only updated when making new edge node connection)Generally it might be acceptable to end a session, disconnect, and connect again starting a new session. This would probably do the job of Rebirth for the requesting application. But it seems somewhat heavyweight. And it would trigger reset of the node and all devices info in all interested aplications.
This is not possible with the library at the moment.
Rebirth
method available currently does not help:KnownMetrics
for the nodeIt also seems that
PublishNodeAndDeviceBirthsInternal
, currently private, would do the job. But I have not got to testing this yet.Using version: 1.3.10.0
The text was updated successfully, but these errors were encountered: