Skip to content

README Node.js datalayer.provider.alldata

This Node.js sample provides all types of data to the ctrlX Data Layer tree.


The sample creates and registers all nodes individually, which is recommended for small to medium sized set of nodes to handle. If you're dealing with a large set of nodes (big data provider) or any dynamic node hierarchy, we recommend to use a virtual provider approach, listening just to any wildcarded address ( e.g. myRoot/**) and using self-managed virtual nodes, just returned in OnBrowse() method, which is more efficient.

Please read the Best Practise section in common Node.js documentation for more details and recommended samples.


The sample demonstrates how to provide all available data types to ctrlX Data Layer tree. The demo creates a 'static' and a 'dynamic' folder under the root node 'samples'. The 'static' folder provides nodes with constant values. In the 'dynamic' folder the same nodes are provided as in 'static' folder but with changing value every second.


The sample demonstrates

  • How to provide nodes with different data types to ctrlX Data Layer

  • How to create and provide meta data to nodes

  • How to provide nodes with read-only or read-write support

  • How to change node values dynamically

  • How to register a user defined flatbuffers type

  • How to read and write user defined flatbuffers nodes


Please read the common Node.js docs here, first.

Debug and Run

  1. Run 'npm install' in the terminal.
  2. Launch the app with the debugger attached by pressing F5.

Build and Install

  1. Launch Visual Studio Code
  2. Click on the Remote Explorer from the menu.
  3. Choose Open Folder.
  4. Open the directory datalayer.provider.alldata.
  5. Build and install snap as described here.
  6. Checkout ctrlX Data Layer web frontend (Settings | Data Layer)
  7. Check the output using Diagnostics:

  8. Login into your ctrlX

  9. Navigate to Diagnostics -> Logbook
  10. Click Settings on the right top corner
  11. Enable Show system messages
  12. Navigate to Filter -> Units and check your
  13. Now you should the see the app output diagnostics.
  14. Press Refresh to update.

  15. If you have root permissions, you can also watch the output on any ssh console with the command:

sudo snap logs -f | more


crtrX ctrlX Data Layer tree

Install the App

Login into ctrlX and install the App (Apps).

Gratulations - We're finished - Let's start coding


Developer Community

Please join the Developer Community

SDK Forum

Please visit the SDK Forum


If you've found an error in these sample, please file an issue


SPDX-FileCopyrightText: Bosch Rexroth AG SPDX-License-Identifier: MIT