Learn about our RFC process, Open RFC meetings & more.Join in the discussion! »

node-red-contrib-belimo-cloud-connector

0.0.5 • Public • Published

node-red-contrib-belimo-cloud-connector

NODE-RED Belimo-Cloud Library by MST Systemtechnik AG.

Overview

This node allows Node-RED developers to quickly build a connection to the Belimo-Cloud for accessing data with the cloud-api. The data can then be displayed in a dashboard, or can be distributed to other systems.

Installation and Usage

npm i node-red-contrib-belimo-cloud-connector

  1. You can look for "node-red-contrib-belimo-cloud-connector" in "manage palette", or go to your Node-RED users directory and run the npm install-command above
  2. Start Node-RED
  3. Drag-in a belimo-connector and create a oauth configuration
  4. Enter a valid username and password for the belimo-cloud
  5. Deploy and check the status
  6. When the connection is established, then it's ready to use like in point 7.
  7. Connect a Device-Node with a Datapoint-Node, set the oauth-instance and deploy it. Select a device and a datapoint to get the values from the cloud.

Debug

To set the debug-mode, use following commands.

Linux
DEBUG=belimo-cloud:* node-red

PowerShell
$env:DEBUG = "belimo-cloud:*"

CMD
set DEBUG=belimo-cloud:*

Nodes

  • Belimo-Connector
  • Belimo-Device
  • Belimo-Datapoint
  • Belimo-Historical
  • Belimo-FindDevice

The output of the nodes ar labeled with a msg.topic property. Check the Node-Information in the Node-Red-Editor.

Belimo-Connector

Uses oauth for the authentification. Theses parameters should be requested from Belimo.

  • Client-ID
  • Client-Secret
  • Username
  • Password

To use the connector, create a oauth-instance in the NODE-RED Editor. Each instance uses the given user-credentials. When multiple Belimo-Connectors uses the same oauth-instance, the last given user-credentials or events will be set for all others. For managing multiple users, create multiple oauth-instances. When the login-parameters should be inserted on the frontend, connect the form-inputs to the connector with the topics username and password. To send a login or logout event, emit a message with the topics login or logout.

Belimo-Device

Reads all devices and write them to the output. Connect a ui-dropdown to display the devices in the frontend. To send a device to the output, select one in the dropdown, or emit a message with the topic deviceId.

Belimo-Datapoint

Reads the dataprofile from the device and write them to the output. Connect a ui-dropdown to display the datapoints in the frontend. When no device is present, just type in the reference like /energyvalve3/1.2 for your specific device and select the datapoint in the dropdown. It will start a subscription, when a datapoint is selected or when one is found by a emitted message with the topic datapointId.

To write the selected datapoint, simple connect a ui-input, set the topic to write and enter the values in the frontend. Please check if the datapoint is writable. It's possible to write multiple values. Please check the Node-Information for the object-structure.

Belimo-Historical

Reads the historical data from the connected datapoint. It has following parameters: resolution, from and to. To display live-data, just clear the from and to parameters. Please check the Node-Information for the object-structure of the from and to parameters.

Belimo-FindDevice

Use this node for searching a device by serial-number.

Example flow

Below is an example flow that shows how to use the library. The Belimo-Connector handles the connection to the cloud. This connection will be used in any other node. To read a datapoints simple insert a Device-Node, connect it to a Datapoint-Node and deploy it. After that, it's possible to select a device in the Device-Node and a Datapoint in the Datapoint-Node. It has more examples in the ./examples folder.

Example Dependenices

  • dynamic_frontend.json - npm i node-red-dashboard

Simple Example

Example flow img

[{"id":"ba23a94e.07c808","type":"tab","label":"Belimo Simple Example","disabled":false,"info":"Getting started\n\n1. Open the `Belimo-Connector` and create a `oauth` configuration\n2. In the `Belimo-Connector` enter a valid username and password\n3. Select the oauth configuration in each belimo-node\n4. Deploy it\n5. Select a device in the `Belimo-Devices`\n6. Select a datapoint in the `Belimo-Datapoint`\n7. Check the `Debugg Messages`\n"},{"id":"896275e.2d91f88","type":"comment","z":"ba23a94e.07c808","name":"Device and Datapoints","info":"","x":120,"y":220,"wires":[]},{"id":"8032a065.8ebbb","type":"switch","z":"ba23a94e.07c808","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"data","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":750,"y":320,"wires":[["94ccb09f.ff903"]]},{"id":"fc6f26e9.9b5c18","type":"comment","z":"ba23a94e.07c808","name":"Use a switch to filter only data by topic","info":"","x":830,"y":220,"wires":[]},{"id":"b0c56999.80dc98","type":"comment","z":"ba23a94e.07c808","name":"Enter a valid user","info":"","x":110,"y":60,"wires":[]},{"id":"3648f2f6.8eeefe","type":"debug","z":"ba23a94e.07c808","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":120,"wires":[]},{"id":"37474564.5df33a","type":"debug","z":"ba23a94e.07c808","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":380,"wires":[]},{"id":"e6d1e1f.b6e4e2","type":"debug","z":"ba23a94e.07c808","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1130,"y":320,"wires":[]},{"id":"73696a95.12f184","type":"belimo-connector","z":"ba23a94e.07c808","name":"","oauth":"","x":130,"y":120,"wires":[["3648f2f6.8eeefe"]]},{"id":"7761e615.53f618","type":"belimo-devices","z":"ba23a94e.07c808","name":"","oauth":"","device_id":"","x":140,"y":320,"wires":[["ac671551.32d078"]]},{"id":"ac671551.32d078","type":"belimo-datapoint","z":"ba23a94e.07c808","name":"","oauth":"","reference":"","dataprofile_value":"","x":400,"y":320,"wires":[["8032a065.8ebbb","37474564.5df33a"]]},{"id":"94ccb09f.ff903","type":"belimo-historical","z":"ba23a94e.07c808","oauth":"","resolution":"15m","from_date":"","from_time":"","to_date":"","to_time":"","x":920,"y":320,"wires":[["e6d1e1f.b6e4e2"]]},{"id":"afb71c01.c147d","type":"comment","z":"ba23a94e.07c808","name":"When errors while removing the flow, check 'Configuration Nodes'  in the config-window on the right side and remove unused nodes","info":"","x":450,"y":500,"wires":[]}]

Authors

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Install

npm i node-red-contrib-belimo-cloud-connector

DownloadsWeekly Downloads

8

Version

0.0.5

License

MIT

Unpacked Size

425 kB

Total Files

22

Last publish

Collaborators

  • avatar