Executive Summary

WITS-IoT is a new protocol from the WITS PSA (Protocol Standards Association). WITS-IoT is aimed at lower power, less expensive devices and provides an application layer veneer on standard IoT technology. Although the application level functions provided by the protocol stem from its inception in the UK Water industry, it is broadly applicable to general telemetry within the entire Industrial Internet of Things (IIoT). So, for example, the protocol functions include reading values, controlling points, alarming, logging, application control and device configuration all backed by a single security model; all of these things have application in all industry sectors.

WITS-IoT is based on MQTT utilising TLS for security. A series of JSON encoded messages are defined on top of this to provide the application layer and WITS like functions. Using the flexibility afforded by MQTT in how it can be deployed, it is expected that WITS-IoT will support more scenarios for using the protocol and connecting to users systems.

WITS-DNP3 is the main protocol released by the WITS PSA. With more than 10 years of use behind the protocol it continues to grow in number of deployed devices both in the UK and abroad and within and outside the Water industry. WITS-IoT is a complementary protocol to WITS-DNP3, it uses the same underlying terminology and ideas as WITS-DNP3, but with a different protocol binding which we hope will open up a much more IoT focused set of developments. For current WITS-DNP3 users it protects the investment in staff training and processes related to WITS, whilst providing a common and defined protocol allowing them to engage in a controlled manner with a wider community of devices and solutions from the IoT arena. IoT companies wondering what flavour of protocol to use in their IoT solutions need look no further than WITS-IoT.

The WITS-IoT protocol is now released at Version 1.0. Please read this post then follow the instructions to access the detailed protocol documentation.


You can read more about WITS-IoT on the WITS-IoT Blog, or watch the video above on how WITS-IoT is complementary to WITS-DNP3.

Release

The WITS-IoT protocol has been under consideration and then development for some time. At the WITS Plugfest on Tuesday 9th October 2018 the WITS-PSA announced the release of Version 1.0 of the WITS-IoT protocol. To access version 1 of the protocol you will need to follow the steps below:

  1. Ensure you are a member of the WITS-PSA. See the website, here, for more details. At the time of this article, membership is £500 per annum for an organisation and there is no joining fee.
  2. Ensure you have read, signed and returned the “WITS-Protocol Technical Documentation Pack Application”. This form includes a Disclaimer and Licence section which you will be asked to agree to on the application form. The document name for the form is currently “APPLICATION FORM, DISCLAIMER & LICENCE Rev2.0.docx”. Earlier versions are not acceptable as they only deal with WITS-DNP3. This form is available by emailing the WITS-PSA secretary at enquiries@witsprotocol.org and must be returned to that same email address.
  3. Document pack is delivered. The secretary will email you the document packs.

You will receive two document packs. One is for WITS-DNP3 the other for WITS-IoT. The reason you are sent both, is that some background information from the WITS-DNP3 Application Notes will be required to understand the WITS-IoT protocol specification, for instance the description of how analogue limits work which is included in Section 2.1.1.7 of AN2005-006 in the WITS-DNP3 Application Notes. The document pack for WITS-IoT includes the following elements:

  • An introduction document
  • The detailed protocol document
  • A presentation about WITS-IoT
  • Various JSON documents which are used in support of the protocol.

Status of the release

Although this release is Version 1 of the WITS-IoT Protocol, we do not expect it to remain unchanged. Instead we expect that vendors of Master Stations and Field Devices will start implementing beta versions of the protocol on their systems/products with a view to testing them out at the next WITS Plugfest which will be at United Utilities in late spring or early summer 2019. We are expecting there to be at least three beta versions of Master Stations there (one from each of Schneider Electric, Servelec and Technolog), to allow testing of the protocol at a detailed level.

The changes to version 1.0 are likely to fall into the following categories:

  • As this is version 1.0 there will most certainly be clarifications and improvements to the documentation which we can and will have to make. We would encourage anyone working with the specification to feed comments back to us for inclusion in future versions.
  • The security information will be further updated. At the moment efforts are underway to specify a threat model with users that will be used to review the proposed security approach and check it is appropriate. Changes will also be made to include more detail on certain security areas.
  • During the development of systems using the protocol documents there will inevitably be problems and issues that may require the documents to be corrected, changed or added to. We expect these problems to be raised and resolved by active developers, with the resolution making its way into the document as necessary.

We are still determining the best way of keeping an up to date document available during development. Eventually, after one or more plugfests, we would expect the protocol to settle to a solid working version. At this point, we would expect to release another version which would become the first working and deployed version of the protocol. This would be similar to the experiences of WITS-DNP3 where we worked on V1.0 for some time, but the first real deployed version of WITS-DNP3 was V1.1.

Accessing other development resources

The original development team for WITS-IoT were formed of:

  • Steve Beadle, Schneider Electric
  • Stuart Combellack, Technolog
  • Mark Davison, Terzo Digital
  • Gavin Rawson, Servelec Technologies

During the development a number of different techniques to allow us to work together were tried, but in the end, we settled on Slack for communication and GitLab for source control of the JSON. We also used these tools for development of the WITS-IoT demos, on which you can read more below! We wish to continue to use these tools as we further develop the standard and to that end developers are invited to join Slack and get access to GitHub. Note that because of the nature of discussions in Slack, we would recommend that the staff put forward to access these are the actual development staff. These do not have to be the same people who applied for the standards documentation but must at least be, additional members of the WITS-PSA. Essentially there will be one member of your staff who is the corporate member of WITS-PSA and has to sort out paying the bills, all other members are additional members and do not have to pay anything, you can read more here.

As WITS-PSA members whose organisations have signed the disclaimer and licence agreement you can join us on Slack and get access to GitLab, you can either contact Steve Beadle directly or through the secretary at enquiries@witsprotocol.org, requesting that you be given access.

The plugfest demonstrations

At the WITS-DNP3 plugfest hosted by Thames Water on Tuesday 9th October 2018, we demonstrated some of the capabilities of WITS-IoT using a series of simple devices and servers which have grown out of the development work performed by the core team. The figure below shows the arrangement we used.

WITS-IoT Demo System

An overview of the WITS-IoT demo presented at the WITS-DNP3 Plugfest


A number of the demonstration pieces of equipment were built using a Maduino module, this supported GPS and GPRS, allowing position information to be obtained and remote communications with the MQTT Broker. A set of common demonstration code was developed and managed on GitLab. Although this code is for demonstration only, is never intended for a real device and carries absolutely no warranty from the WITS-PSA it is available to those developers joining Slack if they are interested. It is also likely that some of the server structure will remain in place for some time to help all developers with simple remote testing in the early phases.

Testing WITS-IoT

One difficulty we experienced with WITS-DNP3 was ensuring that the testing performed on Master Stations and Field Devices was of a sufficiently high quality to ensure issue free interoperability. This problem extended into the regime for ensuring device compatibility which uses Self Certification and/or Verification. It also manifested itself in updated software for WITS-DNP3 products. When we were drafting the WITS-IoT protocol specification we were also setting out ideas on how we could address these issues and improve the quality of products released against WITS-IoT.

Our main focus is on producing a full test harness appropriate to Master Station and Field Device which is made available to all WITS-PSA Members, allowing users to independently test and check a product if they choose to and also allowing vendors to check their products using a test harness and tests which are consistent with every other vendors’ checks.

Generation of such a test harness would be a major task and beyond the voluntary effort of a single organisation. We therefore envisaged a project in which a core testing environment was created and a few simple tests added. This would then be shared with the developer and user community with the hope that those players would separately develop and contribute more tests, constantly improving the test harness.

The exact details of how this would work are still under discussion, but as they are settled and become available they will be released. Suffice to say if you are keen to get involved in that effort we would love to hear from you. Contact any of the core team (listed above) direct or send a message to us through the secretary at enquiries@witsprotocol.org.

Next Steps

Now that we have released Version 1.0 of the WITS-IoT Protocol, we see the next steps as follows:

  • Continue with the security analysis and improvement.
  • Publicise this article widely and create interest in the protocol.
  • Commence design and development of the test environment.
  • Encourage vendors to start implementing the protocol in their products ready for testing at next years plugfest at United Utilities.

We would encourage you to get involved and start your journey with WITS-IoT.

Mark Davison, Terzo Digital, October 2018