Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including node-red-contrib-hapcan with all npm packages installed. Try it out:

var nodeRedContribHapcan = require("node-red-contrib-hapcan")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

node-red-contrib-hapcan v2.2.0

Set of nodes for HAPCAN (home automation project based on CAN bus).

node-red-contrib-hapcan

Description

The node.js package that brings HAPCAN Home Automation Project support in node-red.

Nodes are using the Hapcan ethernet module to communicate between Hapcan bus and node-red.

Hardware requirements

  • Hapcan based infrastructure
  • Hapcan ethernet module

New in version 2.1

Node-red 1.x.x support, includes new output nodes input event registration - which allows to using new Complete Node-red node. There are also some visual issues fixes for custom-input and custom-output nodes for Node-red 1.x.x.

Added new button output node, that controls 14 buttons LEDs.

This version require Node-red version 1.x.x and later and will not work on older versions.

Instalation

Using NODE-RED installer

Just open Manage palette from node-red dashboard menu, switch to Install tab and search for hapcan word. Only stable releases.

Using npm

Only stable releases

npm install node-red-contrib-hapcan

Using github

Latest available version - working in most cases.

git clone https://github.com/Onixarts/node-red-contrib-hapcan

What You get in the package?

Package contains multiple input and output nodes for different Hapcan modules. You don't need to know any Hapcan's messages to make it work. Each node uses special (hidden) gateway node to communicate with Hapcan system. UNIV3 and UNIV1 modules support included.

Currently available nodes:

Usage

Simply drag any Hapcan node and double click to open edit mode. First, You need to configure gateway. You need to do it only once. Any other node will use this gateway.

Configuration

Each node has help provided, so You can read about parameters and its possibilities.

You can configure each input node to receive data from selected node, but You can also filter the messages if this node has many inputs (for example 14 buttons module).

Input nodes produces json object payload that contains simply to understand Hapcan message values that You can use in Your flow. There are also userField value available, so it is possible to output custom defined value on each input state.

Output nodes delivers default action, that You can choose for the selected Hapcan module (for example toggle action in relay output), so any payload received by this node will trigger the default action. You can also control Hapcan module by passing more detailed payload with topic set to control value. Details are available in the help panel for each node.

You can control the nodes by payload in many ways. For example, let's consider relay output. You can pass string value with "ON", "Off", "Toggle" text (case insensitive) to switch channel selected in node configuration. You can also pass number 0,1,2 (Hapcan module compatible values). You can also pass bool value of true or false, to enable or disable relay - in this case the possible actions are limited to ON and OFF. Finally, you can pass object (JSON) where You have full control over node - You can override default settings in configuration then.

Example of RGB output node configuration - it contains each control frame fields for simple use.

RGB output node

Thera are also Custom input and output nodes which allows You to send and receive any messages to and from the bus. You can name each data byte as You want. It also has a preset menu, with common Hapcan's messages frames, ready to be used.

Custom nodes

Discover devices function allows You to search the Hapcan bus for devices present, and then select them easily in any node configuration instead remember necessity for node and group number for each device.

Discover devices

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free