Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: [UCR] Device functions #1288

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

dmocek
Copy link

@dmocek dmocek commented Nov 7, 2023

Add Device Functions UCR.

@jpwhitemn
Copy link
Member

@dmocek - you are getting a DCO failure because your commits don't have a flag to certificate of origin. See https://wiki.edgexfoundry.org/display/FA/Contributor%27s+Guide#Contributor'sGuide-SubmissionDCO

You just need to add a "-s" flag to your commit requests (ex: git commit -s -m "feat:my commit message").

It is also failing on Semantic PR labeling. In your commit message, you need to specify that this is new feature, bug fix, etc. In this case, it would be a feature (feat). So use "feat" in your commit message as I did in my example above. See https://github.com/edgexfoundry/edgex-docs/blob/main/.github/semantic.yml for the allowed options.

@lenny-goodell lenny-goodell changed the title Device functions feat: [UCR] Device functions Nov 29, 2023
@lenny-goodell
Copy link
Member

@dmocek . you also need to add this UCR to the UCR TOC here: https://docs.edgexfoundry.org/3.1/design/TOC/
See this PR as example: #938

@dmocek
Copy link
Author

dmocek commented Dec 6, 2023

Added to TOC.

Signed-off-by: Darryl Mocek <[email protected]>
@dmocek
Copy link
Author

dmocek commented Dec 8, 2023

All issues have been fixed.

Copy link
Member

@lenny-goodell lenny-goodell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit more tweaking of the requirements.

EdgeX supports setting attributes on a device. The workaround for calling device functions currently in EdgeX is to configure a device to call a function when setting at attribute, which isn't always feasible. For example, to call a 'reboot' device function on a device, a 'reboot' attribute would have to be created and it would have to be set to a value to invoke the reboot function on the device.

## Requirements
Each Device should have a function resource and its parameters defined to support calling the device function with appropriate parameters.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Each Device should have a function resource and its parameters defined to support calling the device function with appropriate parameters.
- Device Profiles shall have function resources which includes parameters defined to support calling the device function(s) with appropriate parameters.
- A new `Call` Command type shall be created to support calling the new function resources.

Copy link
Member

@cloudxxx8 cloudxxx8 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The use case looks good to me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants