node-red-contrib-nhc2-adv-lights 1.1.0

Niko Home Control 2, Advanced light translators for Tuya and Home Assistant (mode-aware, brightness carry-over)

npm install node-red-contrib-nhc2-adv-lights

NHC2 Advanced Light Control Nodes for Node-RED

This repository provides two custom Node-RED nodes that extend Niko Home Control 2 (NHC2) integration by building advanced payloads for Home Assistant and Tuya smart lights.

These nodes are designed to be used together with node-red-contrib-nhc2.
Input signals should always come from NHC2 nodes with property set to "All".


Nodes

1. ha-adv

Builds Home Assistant light.turn_on payloads with mode awareness and brightness carry-over.

  • Understands inputs from NHC2 (property: All):

    • Status / switch
    • Brightness / brightness
    • Color (hsv() / rgb())
    • TunableWhite (cwww(kelvin,percent))
    • temperature (0–100% or Kelvin)
    • ColorMode / mode
  • Features:

    • Handles white vs colour modes with brightness preservation
    • Supports both Kelvin and Mireds for CT
    • Quiet status option for reduced debug noise

2. tuya-adv

Converts NHC2 signals into either a friendly payload or Tuya-native commands.

  • Understands inputs from NHC2 (property: All):

    • Status / switch
    • Brightness / brightness (0–100 or 0–1000)
    • Color (hsv() / rgb())
    • TunableWhite (cwww(kelvin,percent))
    • ColorMode / mode
  • Features:

    • Converts to Tuya commands array when msg.format="commands"
    • Default: produces a friendly payload (msg.payload)
    • Supports scaling (pct 0–100 or tuya 0–1000)
    • Brightness carry-over between colour/white modes
    • Optionally strip brightness from colour payloads

Installation

Make sure you have Node-RED and node-red-contrib-nhc2 installed:

cd ~/.node-red
npm install node-red-contrib-nhc2@^1.18.0

Copy the following files into your Node-RED ~/.node-red/nodes/ directory:

  • ha-adv.html
  • ha-adv.js
  • tuya-adv.html
  • tuya-adv.js

Restart Node-RED. The new nodes will appear under the function category.


Example Usage

Home Assistant (ha-adv)

{
  "payload": {
    "Status": "On",
    "Brightness": 75,
    "Color": "hsv(200,100,100)",
    "ColorMode": "Color"
  }
}

➡ Builds a Home Assistant light.turn_on payload.

ha-adv outputs

  • Output 1 (ON): msg.payload → pass directly into Home Assistant light.turn_on.
  • Output 2 (OFF): emits only when OFF is requested; msg.payload is {} → pass to light.turn_off.

Tuya (tuya-adv) with msg.format="commands"

{
  "payload": {
    "Status": "On",
    "TunableWhite": "cwww(3000,80)",
    "mode": "white"
  },
  "format": "commands"
}

➡ Produces Tuya-native commands such as switch_led, bright_value_v2, temp_value_v2.


Tuya (tuya-adv) default output (no format given)

If msg.format is not provided, the node outputs a friendly payload in msg.payload:

Example: White mode

{
  "payload": {
    "switch": true,
    "mode": "white",
    "brightness": 80,
    "temperature": 30
  }
}

Example: Colour mode

{
  "payload": {
    "switch": true,
    "mode": "colour",
    "colour_data_v2": "{"h":180,"s":1000,"v":800}"
  }
}

Dependencies

package.json snippet:

"dependencies": {
  "node-red-contrib-nhc2": "^1.18.0"
}

These nodes require outputs from NHC2 nodes with property: All to function correctly.


License

MIT License

Node Info

Version: 1.1.0
Updated 4 days ago
License: MIT
Rating: not yet rated

Categories

Actions

Rate:

Downloads

0 in the last week

Nodes

  • tuya-adv
  • ha-adv

Keywords

  • node-red
  • tuya
  • home-assistant
  • light
  • colour
  • tunable-white
  • Niko Home Control 2
  • NHC2
  • NHC
  • DALI-Converter
  • DALI
  • LEDVANCE

Maintainers