# node-red-contrib-scenes

> Module that provides scenes for Node RED

Latest version **0.2.2** (published 2017-07-30) · MIT license · 0 weekly downloads

## Install

```sh
npm install node-red-contrib-scenes
pnpm add node-red-contrib-scenes
yarn add node-red-contrib-scenes
bun add node-red-contrib-scenes
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.2.2 |
| Published | 2017-07-30 |
| First published | 2016-05-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 2 |
| Author | Den Williams |
| Maintainers | denwilliams, homenet |
| Keywords | node-red, scene |

## Links

- npm: https://www.npmjs.com/package/node-red-contrib-scenes
- Repository: https://github.com/denwilliams/node-red-contrib-scenes
- Homepage: https://github.com/denwilliams/node-red-contrib-scenes#readme
- Issues: https://github.com/denwilliams/node-red-contrib-scenes/issues
- npm.io page: https://npm.io/package/node-red-contrib-scenes

## Dependencies (2)

- [when](https://npm.io/package/when.md) ^3.7.7
- [express](https://npm.io/package/express.md) ^4.13.4

## Recent versions

- 0.2.2 (latest) — 2017-07-30
- 0.2.1 — 2017-07-17
- 0.2.0 — 2017-07-17
- 0.1.8 — 2016-05-23
- 0.1.7 — 2016-05-22
- 0.1.6 — 2016-05-22
- 0.1.5 — 2016-05-21
- 0.1.4 — 2016-05-19
- 0.1.2 — 2016-05-19
- 0.1.1 — 2016-05-17

## README

# node-red-contrib-scenes

Scenes for Node RED.

[![Build Status](https://travis-ci.org/denwilliams/node-red-contrib-scenes.svg?branch=master)](https://travis-ci.org/denwilliams/node-red-contrib-scenes)

## What Is This?

A modification for Node RED that adds "scene" support.

A "scene" is a typical set of Node RED tabs, each with their own set of flows.
Changing scenes essentially allows you to stop a set of rules (flows) and replace
them with another "scene" set.

I originally wrote (hacked) this a couple of years ago when Node RED was quite
new for [homenet](https://github.com/denwilliams/homenet-core). It actually turned
out to be the most valuable part of homenet so it made sense to separate it out
into its own component. The Node RED internals aren't the easiest to reverse engineer
and pretty scarce on comments, though there website actually has a few docs on
interfaces now. Re-implementing using Typescript makes it easy to check the custom
implementations match the documented interfaces.

## How Does It All Work?

The modification adds 4 new node types:

The `current-scene` node simply indicates if the scene that is loaded in the web
UI is the same scene. When the scene changes it is not possible to refresh the UI
automatically. This node indicates when it has changed.

When the scene is the same as the loaded scene the status indicator is blue:

![active scene](scene-day-active.png)

When the scene is different than the loaded scene the status indicator is red and indicates the actual scene.
When this happens you need to refresh the browser:

![inactive scene](scene-day-inactive.png)

The `scene` node changes the scene to something different.

The `scene-start` node is triggered after the scene has been loaded and started.

The `scene-stop` node is triggered before the scene is stopped in preparation for loading the next scene.

## Common (Shared) Tabs

The provided scene manager and storage have a concept of shared or "common" tabs.
These tabs will be available on *every* scene.

To create a shared tab, when you create a new tab prefix it with `common`. By default
when a new scene is created there is always a shared tab called `Common` and a
new tab named the same as the scene. Any tab that is *not* prefixed with `common`
will not be shared.

## Use

```js
var RED = require('node-red');
var nrScenes = require('node-red-contrib-scenes');
nrScenes.start(RED, {port:1880});
```

To run from the command line use https://github.com/denwilliams/node-red-contrib-scenes-exec

## [Documentation](http://www.denwilliams.net/node-red-contrib-scenes/0.1.8/)

---
_Source: https://npm.io/package/node-red-contrib-scenes · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
