@lahoco/node-red-contrib-lahoco-extras

1.0.1 • Public • Published

Lahoco Extras - Extras nodes for Node-RED

Lahoco Extras is a collection of nodes proposed by Lahoco. These nodes have been created by the Lahoco team but are not directly related to the Lahoco solution.

These nodes allow you to manage :

  • helios-easycontrols ventilation in modbus

Nodes

1 Helios-EasyControls

1.1 Settings

To use the node, you need to edit some settings :

  • Name (change the node name)
  • IP address (ip address of your Helios-EasyControls ventilation)
  • Port (port for Modbus communication | Default : 502)
  • Timeout (timeout in milliseconds before declaring the request expired)
  • Keep-alive (modbus usage idle time in milliseconds before disconnecting)
  • Polling (polling activating allows different variables to be polled)
  • Interval (polling refresh time in milliseconds)
  • Variables (variables to poll)

1.2 Usage

1.2.1 Generality

This Helios-EasyControls node have :

  • 1 Entry
  • 2 Outputs

With the entry you can give some instruction that will allow you to changes the values of those variables. Here are the 2 variables that you can modify :

  • Operating mode
  • Fan stage

1.2.2 Variables nomenclature

The name of the variables are always like in the Helios Documentation (link below) but :

  • Always lowercase
  • Space replaced by underscores

1.2.3 Input / Modification

To modify those 2 values you need to send a JSON Object in the entry of the node. Here is the syntax :

{
  "operating_mode": "automatic"
}

Operating mode values : automatic | manual

{
  "fan_stage": 4
}

Fan stage values : 0 | 1 | 2 | 3 | 4

When you set a value, the node will automatically change the "operating_mode" in "manual" before setting the " fan_stage" at your value.

1.2.4 Output / Responses

In the Helios-EasyControls Node, there is 2 outputs :

  1. Query response (response of the input commands)
  2. Polling response

1.2.5 Polling variables

In the polling section, you can choose all the variables that you want to poll. Here are all those variables with the response nomenclature :

Variable Return value Type
operating_mode "automatic" or "manual" string
fan_stage between 0 and 4 int
temperature_outside_air between -27 and 9999 float (.1f.)
temperature_supply_air between -27 and 9999 float (.1f.)
temperature_outgoing_air between -27 and 9999 float (.1f.)
temperature_extract_air between -27 and 9999 float (.1f.)
percentage_fan_stage between 0 and 100 int
supply_air_rpm 0-9999 min^-1 int
extract_air_rpm 0-9999 min^-1 int
fan_stage_4_extract_air between 1.6 and 10.0 float (.1f.)
fan_stage_4_supply_air between 1.6 and 10.0 float (.1f.)

1.2.6 Queue

To be sure that the commands are not ignored by another or that have some problems between the modification and polling, a queue recover all the operation and process them one after the other starting with the oldest. Te queue have a limit of 20 operations. When it's full, the node send an error and ignores the new operations as long as it's full.

1.2.7 Errors

When the node encounter a problem an error is thrown. The error is thrown in the outputs as a JSON object with always a "error" key. Here is an example :

{
  "error": "E02 - The connection failed. The connection information are certainly incorrect or a device is already connected."
}

This is the list of all the errors that can be thrown :

Error
E01 - The given config information are incorrect.
E02 - The connection failed. The connection information are certainly incorrect or a device is already connected.
E03 - The given instruction is not in conformity
E04 - The given value is not in conformity
E05 - The response from the read have a problem
E06 - There is a problem with the edit of the instruction or maybe connection
E07 - There is a problem with retrieving the information from the instruction or maybe connection
E08 - The given values are not in conformity
E09 - A problem occurred during polling. Maybe try increasing the polling refresh rate.
E10 - The Modbus queue is full. The actual operation is ignored. Please wait before or increase the refresh time or decrease the number of variables to poll

1.3 Warnings

Pay attention to the POLLING INTERVAL !

A read instruction (a read instruction is making for every variable in the polling) is made of :

  • Writing query (writing the code of instruction before reading Example : v00101)
  • Reading query (read the code with the value)

This is how Helios works (This is very bad but there is no alternatives)

Most of the time, a read instruction (write and read) takes up to 1000 ms. So don't forget to quickly calculate the minimum polling interval time in correspondence with the amount of variables.

I recommend calculating like that to have the minimum polling interval time:

1200 ms multiply by amount_of_variables

1.4 Examples

You can try the test flow : Lahoco HELIOS.json by importing it in your Node-Red.

1.5 Documentation

Helios-EasyControls Documentation

Package Sidebar

Install

npm i @lahoco/node-red-contrib-lahoco-extras

Weekly Downloads

3

Version

1.0.1

License

GNU GPLv3

Unpacked Size

74.9 kB

Total Files

24

Last publish

Collaborators

  • lahocosa