All Projects → ioBroker → ioBroker.scenes

ioBroker / ioBroker.scenes

Licence: MIT license
Group states to scenes and control them.

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects
CSS
56736 projects

Projects that are alternatives of or similar to ioBroker.scenes

Iobroker.javascript
Script engine for JavaScript and Blockly
Stars: ✭ 244 (+838.46%)
Mutual labels:  smarthome, iobroker
ioBroker.zwave2
Z-Wave for ioBroker. Better. Faster. Stronger.
Stars: ✭ 22 (-15.38%)
Mutual labels:  smarthome, iobroker
ioBroker.heatingcontrol
heating control incl. simple actor handling
Stars: ✭ 43 (+65.38%)
Mutual labels:  smarthome, iobroker
ioBroker.openhab
Connect ioBroker with openHAB
Stars: ✭ 13 (-50%)
Mutual labels:  smarthome, iobroker
ioBroker.lametric
Send notifications and other important information to your LaMetric time
Stars: ✭ 15 (-42.31%)
Mutual labels:  smarthome, iobroker
Iobroker.js Controller
ioBroker controller
Stars: ✭ 238 (+815.38%)
Mutual labels:  smarthome, iobroker
ioBroker.telegram
Use Telegram service to communicate with ioBroker
Stars: ✭ 51 (+96.15%)
Mutual labels:  smarthome, iobroker
Iobroker.ical
Allows read information from google calender and from iCal into ioBroker.
Stars: ✭ 28 (+7.69%)
Mutual labels:  smarthome, iobroker
ioBroker.node-red
Instantiate the server with node-red
Stars: ✭ 50 (+92.31%)
Mutual labels:  smarthome, iobroker
ioBroker.shelly
Shelly ioBroker Adapter
Stars: ✭ 108 (+315.38%)
Mutual labels:  smarthome, iobroker
Iobroker.zigbee
Zigbee communcation with Hue, Xiaomi, Lighttify... via TI CC253x USB stick
Stars: ✭ 208 (+700%)
Mutual labels:  smarthome, iobroker
ioBroker.hm-rpc
Connects HomeMatic Interface-Processes to ioBroker
Stars: ✭ 55 (+111.54%)
Mutual labels:  smarthome, iobroker
Iobroker.admin
user interface for configuration and administration
Stars: ✭ 207 (+696.15%)
Mutual labels:  smarthome, iobroker
Iobroker.vis
Visualisation for ioBroker platform.
Stars: ✭ 242 (+830.77%)
Mutual labels:  smarthome, iobroker
Iobroker.docker
Official Docker Image for ioBroker
Stars: ✭ 133 (+411.54%)
Mutual labels:  smarthome, iobroker
ioBroker.sonos
Control and monitor SONOS player from ioBroker
Stars: ✭ 33 (+26.92%)
Mutual labels:  smarthome, iobroker
Iobroker
Automate your life!
Stars: ✭ 826 (+3076.92%)
Mutual labels:  smarthome, iobroker
Iobroker.discovery
This adapter tries to discover all known devices
Stars: ✭ 20 (-23.08%)
Mutual labels:  smarthome, iobroker
ioBroker.daswetter
weather forecast data from DasWetter.com
Stars: ✭ 16 (-38.46%)
Mutual labels:  smarthome, iobroker
ioBroker.denon
Denon AVR adapter for ioBroker
Stars: ✭ 15 (-42.31%)
Mutual labels:  smarthome, iobroker

Logo

ioBroker scenes adapter

Number of Installations Number of Installations NPM version

Test and Release Translation status Downloads

scenes Adapter can create scenes and execute them in ioBroker environment.

This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.

This adapter can create three types of scenes:

  • scenes
  • groups
  • virtual groups

Scenes

Scenes will be created if setting "set on false" are not used. Every scene can be configured individually, so you can have scenes and groups in one instance of adapter. The scene is just list of states id and values, that these states must have by activation of the scene. E.g. we have created on the scene "scene.allLightInBath":

  scene.allLightInBath
  |- hm-rpc.0.BOTTOM_LIGHT.STATE  - true
  +- hm-rpc.0.TOP_LIGHT.STATE     - true

To activate the scene we must set "scene.allLightInBath" to true (e.g. over script or vis). Then both states will be set to desired values, to true. The value of scene.allLightInBath will be true too. If we manually switch of the top light the value of the scene.allLightInBath will go to false. And again to true if we will switch manually the light on.

Let's add to the scene the fan:

  scene.allLightInBath
  |- hm-rpc.0.BOTTOM_LIGHT.STATE  - true
  |- hm-rpc.0.TOP_LIGHT.STATE     - true
  |- hm-rpc.0.FAN.STATE          - true
  |- hm-rpc.0.FAN.STATE          - false (delay 60000ms)

In this case the fan will be switched on ba activation of the scene and will be switched off in one minute. After the fan will be switched off the value of scene.allLightInBath will go to false, because not all states are equal to desired values. States with delay are not participate in calculations.

You can test the scene with a "play" button. Additionally, you can link this scene direct with other scene ID. E.g. if you have a sensor on the door you can select it as a trigger:

  trigger
    id:        hm-rpc.0.DOOR_SENSOR.STATE
    condition: ==
    value:     true

And every time you will open the door in the bath all lights with fan will be switched on.

Groups

Groups are like virtual channels. You can create with the help of groups virtual device from several actuators and control them together, like one device. Let's modify our sample with the bath's lights.

  scene.allLightInBath             "set on true"    "set on false" 
  |- hm-rpc.0.BOTTOM_LIGHT.STATE  - true             false
  +- hm-rpc.0.TOP_LIGHT.STATE     - true             false

If you link this group with the door sensor like:

  trigger on true
    id:        hm-rpc.0.DOOR_SENSOR.STATE
    condition: ==
    value:     true

  trigger on false
    id:        hm-rpc.0.DOOR_SENSOR.STATE
    condition: ==
    value:     false

Every time you will open the door all lights in a bath will be switched on. The value of the scene.allLightInBath will go to true. If you close the door the lights will be switched off, and the value of scene.allLightInBath will go to false.

It is useless, but it is good as an example.

If you will manually switch on one light, the value of the scene.allLightInBath will go to uncertain.

Delays can be used in the group too, but the states with delay are not participate in calculations of the current value of group.

Virtual groups

Virtual groups are like virtual channels and like groups, but can have any kind of values: numbers, strings and so on. You can create virtual group to control all shutters in living room. By writing 40% into virtual group all shutters will be set to 40%.

Additionally, you can define the behaviour for which value should be taken for the group if not all states of the group have the same value.

You can provide following aggregations (available only in advanced mode):

  • uncertain - (default) - the value of the group will have text uncertain.
  • any - first non-zero value of all states in group.
  • min - minimal value of all states in group.
  • max - maximal value of all states in group.
  • avg - average value of all states in group.

Save actual states as scene

To save actual states in some scene you can send a message to the adapter:

sendTo(
    'scenes.0', 
    'save', 
    {sceneId: 
        'scene.0.SCENE_ID', // scene ID 
        isForTrue: true     // true if actual values must be saved for `true` state and `false` if for false 
    }, 
    result => result.err && console.error(result.error) // optional
);

The adapter will read all actual values for IDs defined in this scene and save it as configured ones.

Changelog

WORK IN PROGRESS

  • (Apollon77) prevent crash case reported by Sentry

2.3.9 (2022-02-13)

  • (bluefox) Updated some GUI libraries
  • (bluefox) Updated releaser

2.3.8 (2021-08-31)

  • (Apollon77) Handle case where states are not set but used as value (Sentry IOBROKER-SCENES-13)
  • (TyrionWarMage) Added the aggregation mode for the virtual groups.
  • (bluefox) Sentry data will not be sent in front-end if the diagnostic or sentry is disabled

2.3.6 (2021-01-22)

  • (Apollon77) Check state id before getting value (Sentry IOBROKER-SCENES-F)

2.3.5 (2021-01-22)

  • (Apollon77) Add error logging if invalid ids are configured for scenes (Sentry IOBROKER-SCENES-Y)

2.3.4 (2021-01-16)

  • (Apollon77) Prevent crash case (Sentry IOBROKER-SCENES-X, IOBROKER-SCENES-V)

2.3.3 (2020-12-06)

  • (bluefox) Implemented drag&drop for the reorder of scenes in folders
  • (bluefox) Implemented Easy mode
  • (bluefox) Possibility to use set point from other state

2.3.1 (2020-11-06)

  • (Apollon77) Prevent crash case (Sentry IOBROKER-SCENES-M)

2.3.0 (2020-11-02)

  • (bluefox) Fixed GUI errors

2.1.7 (2020-10-30)

  • (Apollon77) Prevent crash case (Sentry IOBROKER-SCENES-E, IOBROKER-SCENES-G, IOBROKER-SCENES-A)

2.1.6 (2020-09-25)

  • (bluefox) Updated the select ID dialog.

2.1.3 (2020-09-18)

  • (Apollon77) Prevent crash cases (Sentry IOBROKER-SCENES-B, IOBROKER-SCENES-8, IOBROKER-SCENES-D)

2.1.2 (2020-07-08)

  • (bluefox) Interval between states was corrected

2.0.17 (2020-06-29)

  • (bluefox) GUI error corrected

2.0.13 (2020-06-27)

  • (bluefox) Mobile view added

2.0.12 (2020-06-26)

  • (bluefox) GUI error corrected

2.0.10 (2020-06-20)

  • (bluefox) Added "Do not overwrite state if it has the required value" option

2.0.9 (2020-06-17)

  • (bluefox) The colors are corrected

2.0.8 (2020-06-16)

  • (bluefox) The tolerance is implemented

2.0.3 (2020-06-14)

  • (bluefox) New GUI based on react

1.1.1 (2019-05-26)

  • (bluefox) Added storing of actual values in scene via message

1.1.0 (2018-04-24)

  • (bluefox) Works now with Admin3

1.0.2 (2018-01-21)

  • (bluefox) use new select ID dialog
  • (DeepCoreSystem) translations
  • (paul53) text fixes

1.0.0 (2017-11-11)

  • (bluefox) fix false scenes

0.2.7 (2017-08-14)

  • (bluefox) Support of iobroker.pro

0.2.6 (2016-06-21)

  • (bluefox) add read/write settings to scene object

0.2.5 (2016-02-03)

  • (bluefox) update node-schedule

0.2.4 (2016-01-24)

  • (bluefox) fix error disabled states in scene

0.2.3 (2015-12-10)

  • (bluefox) fix error with trigger on false

0.2.2 (2015-11-22)

  • (bluefox) fix error with restart adapter

0.2.1 (2015-10-27)

  • (bluefox) delete triggers if virtual groups enabled

0.2.0 (2015-10-27)

  • (bluefox) support of virtual groups

0.1.3 (2015-09-19)

  • (bluefox) show set value if 0 or false in settings

0.1.2 (2015-08-15)

  • (bluefox) add translations
  • (bluefox) try to fix error by renaming

0.1.1 (2015-08-10)

  • (bluefox) allow description for states in scene
  • (bluefox) check by rename if the scene with the same name yet exists
  • (bluefox) allow copy scene
  • (bluefox) fix error with delay and stopAllDelays settings

0.1.0 (2015-08-09)

  • (bluefox) fix error with delays and config change
  • (bluefox) implement replace

0.0.2 (2015-08-05)

  • (bluefox) change configuration schema
  • (bluefox) add cron
  • (bluefox) add burst interval

0.0.1 (2015-07-29)

  • (bluefox) initial commit

License

The MIT License (MIT)

Copyright (c) 2015-2022, Bluefox ([email protected])

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].