Git Product home page Git Product logo

node-red-contrib-wled-notification's Introduction

node-red-contrib-wled-notification

A Node-RED node for visual notification effects with WLED lights. It is inspired by notification effects of smart bulbs (e.g., Tradfri, Hue) and can be used for home automation or any other use case where visual notification signals are desired.

Watch the demo video to see an example use case with Home Assistant in action.

This node uses WLED's UDP Realtime protocol to display notification effects. Whatever WLED currently displays is temporarily replaced by the notification effect and continued afterward. This protocol does not change any WLED settings and therefore does not introduce edge cases in state handling (WLED settings can be safely changed during a notification effect).

Installation

To install this node, follow the instructions in the Node-RED documentation (use the Manage palette feature or run npm install node-red-contrib-wled-notification in your Node-RED user directory).

Getting Started

Add the WLED Notification node from the network category to your flow and configure the WLED host. All other settings have reasonable defaults. See examples for inspiration.

Effects

The node currently comes with a single customizable effect Blink which starts with black, then smoothly fades to a configured effectColor, then smoothly fades out again. The speed/duration can be controlled by effectFrequency (1 Hz means that the fade-in-out sequence takes one second), and the number of fade sequences can be controlled by effectCycles (3 means that the fade-in-out is repeated three times, amounting to 3 seconds duration at 1 Hz of the full effect).

Effects can be displayed on subsections of LED strips by setting ledStart and ledCount accordingly. This even allows to display multiple effect configurations in parallel on the same strip.

Advanced Use

  • All settings can be overridden by the input message, see the documentation within the Node-RED UI for details.
  • The node outputs the received message that triggered the notification effect after the effect has finished.
  • Subsequent messages received during an ongoing notification effect are discarded to avoid overlapping effects. From a user perspective, if two notifications happen within a very short time, it is sufficient to display a single visual notification to the user. This approach fails with different effects that carry different meanings, and it is yet to be determined whether queueing the effects makes sense.
  • It does not override other realtime effects that use the same protocol (e.g., Hyperion, Prismatik ambilight). Multiple active realtime effects interfere with each other and should best be avoided.

Contributing

This project welcomes pull requests. To contribute, please fork this repository, make your changes, and submit a pull request. Please ensure that your PR adheres to the project's standards.

  • Write PR title in Conventional Commit format.
  • Add a concise PR description.
  • Add tests that cover 100% of the changed/added code.
    • Exceptions are allowed. Use skip comments to exclude code from coverage.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for more details.

node-red-contrib-wled-notification's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.