eclipse-sparkplug / sparkplug

Sparkplug
Eclipse Public License 2.0
109 stars 39 forks source link

Question: Using the TCK with an sparkplug enabled device #517

Open omarhogni opened 5 months ago

omarhogni commented 5 months ago

What do you want to know?

It seems that a device id is required for some of the tests to run properly. Is there something I am missing and this functionality already exists?

replacing the device id with a space character enables some of the tests to be run but not all of them.

Is this related to a Sparkplug Listing request? If so, link the issue from https://github.com/eclipse-sparkplug/sparkplug.listings here.

No response

Version

3.0.0 (Default)

Accept EFTL Terms

bryce-nakatani commented 5 months ago

Hello and thanks for your inquiry.

If you are using the TCK to validate a Sparkplug Edge Node, the device ID is required. The device should have a field that defines the device ID. It's possible the value is a constant but it should be advertised.

On Tue, Mar 12, 2024 at 4:22 AM Ómar Högni Guðmarsson < @.***> wrote:

What do you want to know?

It seems that a device id is required for some of the tests to run properly. Is there something I am missing and this functionality already exists?

replacing the device id with a space character enables some of the tests to be run but not all of them. Is this related to a Sparkplug Listing request? If so, link the issue from https://github.com/eclipse-sparkplug/sparkplug.listings here.

No response Version

3.0.0 (Default) Accept EFTL Terms

  • I agree to the terms of EFTL

— Reply to this email directly, view it on GitHub https://github.com/eclipse-sparkplug/sparkplug/issues/517, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEF6AZTA5XADYMNTTNRNP23YX3QPNAVCNFSM6AAAAABESA7LNSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGE4DCMZXGEZTMNY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

magni-mar commented 5 months ago

I believe he is asking weather the TCK will support Sparkplug Enabled device

image

as opposed to Edge Node

image

since Sparkplug Enabled device doesn't require device ID

bryce-nakatani commented 5 months ago

Sorry. I misspoke. Your device may not represent a device, just node level tags. I'll see if the TCK developer has any ideas.

On Tue, Mar 12, 2024 at 8:44 AM magni-mar @.***> wrote:

I believe he is asking weather the TCK will support Sparkplug Enabled device

image.png (view on web) https://github.com/eclipse-sparkplug/sparkplug/assets/135731785/8242f4b6-6bb7-44aa-a146-50f6523314f4

as opposed to Edge Node

image.png (view on web) https://github.com/eclipse-sparkplug/sparkplug/assets/135731785/acf20d22-06cd-42c5-8f8f-37b1d3c812bc

since Sparkplug Enabled device doesn't require device ID

— Reply to this email directly, view it on GitHub https://github.com/eclipse-sparkplug/sparkplug/issues/517#issuecomment-1991966861, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEF6AZTNMNWAVSZNH2NCF33YX4PENAVCNFSM6AAAAABESA7LNSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOJRHE3DMOBWGE . You are receiving this because you commented.Message ID: @.***>

icraggs-sparkplug commented 5 months ago

I hadn't considered this variant when writing the TCK - no-one pointed it out to me either.

Does this mean that in this situation, a Sparkplug Node carries out all the operations that would otherwise be implemented by a Device?

So NDATA instead of DDATA, NCMD instead of NDATA?

That will need some TCK updates which I'll have to think about and get back to you.

@bryce-nakatani I assume we can't have a Device without a Node as well?

bryce-nakatani commented 5 months ago

Devices are optional to a node implementation.

I sculpted my implementation so that multiple devices could exist under the node. Thus all my implementations contain devices (even if there is only a single device possible). Tahu's Compatible Edge Node implementation also contains a device.

I have been overbiased with a node/device implementation.

I can see an implementation when a single device could be absorbed as just a node.

In the node-only case, the node publishes NDATA (similar to DDATA) and receives writes and other commands on NCMD (similar to DCMD).

@icraggs-sparkplug You're correct, devices cannot exist without a node.