@lahoco/node-red-contrib-lahoco-extras
v1.0.1
Published
Node-RED extra Lahoco nodes bundle
Downloads
10
Maintainers
Readme
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 :
- Query response (response of the input commands)
- 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.