npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

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

v1.0.1

Published

Node-RED extra Lahoco nodes bundle

Downloads

10

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 :

  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