Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The service should implement the functionality described in the Device Services Requirements document.
  • The service should target either the current or development versions of EdgeX.
  • The service should not rely on new or variant APIs.
  • The service's name should should follow the usual form, ie edgex-{device-class}-{language} and not conflict with any other adopted service.
  • Values must not be hardcoded where they might reasonably be configurable.
  • A top-level README should be present and contain information on
    • The types of device supported
    • Host device requirements, especially if advanced features or operating modes are needed.
    • Run-time dependencies
    • Protocol feature support and roadmap
    • Known limitations
    • Information on asynchronous readings, if these are generated
    • Whether dynamic discovery is supported, and if so what limitations or special requirements apply
    • Build instructions, including build-time dependencies
    • Usage information (command-line options)
  • The following items must also be documented:
    • Supported configuration options (including whether or not the service must be restarted for changes to take effect)
    • Supported ProtocolProperties schemes.
    • Supported Device Attributes.
  • As part of the above, example Device Profiles and illustrative TOML for Device provisioning should be included.
  • It must be possible to run the device service against simulated hardware. Documentation illustrating how to do so is also required. The review group should attempt to replicate the scenario described.
  • Container packaging must use full confinement (i.e. no use of docker --privileged or snap --devmode). Where access to hardware is required, care must be taken to make exceptions for the specific required hardware and/or system resources, and the means to allow these exceptions should be documented.
  • A default listening port will be assigned to the new service. Sample configurations supplied with the service should specify this port.
  • The service should comply with the general EdgeX requirements as given in the Contributor's Guide.

...