Compare commits
No commits in common. "ce1851cf5a4f5fc58f19507d90fc6cd623737535" and "4c565e59c23dd01f72656924ef16bfbc50efa00f" have entirely different histories.
ce1851cf5a
...
4c565e59c2
|
@ -0,0 +1,27 @@
|
|||
# Dimmer Switch Ruleset for Color Control
|
||||
|
||||
This ruleset is a configuration that can change
|
||||
color and temperature for a group of lights.
|
||||
This may be the case in the bedroom.
|
||||
|
||||
The on and off buttons work as expected.
|
||||
|
||||
Pressing the on button longer toggles color and temperature mode.
|
||||
|
||||
Pressing the brightness buttons change the brightness,
|
||||
holding the brightness buttons change the color or temperature accordingly.
|
||||
|
||||
|
||||
## Devices
|
||||
|
||||
```sh
|
||||
# IDS="s/BASENAME/xxx/g; s/GROUP/xxx/g; s/DIMMER/xxx/g; s/MEM/xxx/g"
|
||||
```
|
||||
|
||||
Install the memory sensor and note its ID before proceding.
|
||||
Use the `mem.sensor.json` file, replace the `BASENAME`, and POST it to the /api/KEY/sensors URL.
|
||||
|
||||
* `BASENAME` Basename of the ruleset
|
||||
* `GROUP` ID of the group to handle
|
||||
* `DIMMER` ID of the dimmer switch
|
||||
* `MEM` ID of the memory sensor
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "BASENAME.dn-hold-ct",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "gt",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "3001"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"transitiontime": 1,
|
||||
"ct_inc": 24
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "BASENAME.dn-hold-hue",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "lt",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "3001"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"transitiontime": 1,
|
||||
"hue_inc": -10000
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "BASENAME.dn-short",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "3002"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"transitiontime": 1,
|
||||
"bri_inc": -25
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "BASENAME.mem",
|
||||
"type": "CLIPGenericStatus",
|
||||
"modelid": "MEM001",
|
||||
"manufacturername": "Adrium",
|
||||
"swversion": "1.0",
|
||||
"uniqueid": "00:ad:10:f3:2a:9b-03"
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"name": "BASENAME.off-short",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "4002"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"name": "BASENAME.on-long-ct",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "gt",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "1003"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"bri": 203,
|
||||
"hue": 60000,
|
||||
"sat": 240
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MEM/state",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"status": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "BASENAME.on-long-hue",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "lt",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "1003"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"bri": 203,
|
||||
"ct": 357
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MEM/state",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"status": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
"name": "BASENAME.on-short",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "1002"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": true
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "BASENAME.up-hold-ct",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "gt",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "2001"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"transitiontime": 1,
|
||||
"ct_inc": -24
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"name": "BASENAME.up-hold-hue",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "lt",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "2001"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"transitiontime": 1,
|
||||
"hue_inc": 10000
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "BASENAME.up-short",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "2002"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"transitiontime": 1,
|
||||
"bri_inc": 25
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,13 +1,11 @@
|
|||
# Dimmer Switch Ruleset for Two Light Groups
|
||||
|
||||
This ruleset assumes two light groups inside the same room.
|
||||
This may be the case in the living room.
|
||||
|
||||
The on button first turns on one group and then the other.
|
||||
So does the off button in reverse order.
|
||||
|
||||
The lights are only switched on without changing
|
||||
the previously configured state.
|
||||
|
||||
The lights can be reset to a bright but confortable mood for the evening
|
||||
when pressing the on button longer.
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"name": "BASENAME.mem",
|
||||
"type": "CLIPGenericStatus",
|
||||
"modelid": "Adrium Memory",
|
||||
"modelid": "MEM001",
|
||||
"manufacturername": "Adrium",
|
||||
"swversion": "1.0",
|
||||
"uniqueid": "d0:ac:4e:d3:93:3b:7a:00-01"
|
||||
"uniqueid": "00:ad:10:f3:2a:9b-01"
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
{
|
||||
"address": "/sensors/DIMMER/state/buttonevent",
|
||||
"operator": "eq",
|
||||
"value": "1001"
|
||||
"value": "1003"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DIMMER/state/lastupdated",
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
# Turn Off All Lights
|
||||
|
||||
This ruleset is a simple configuration that turns off all
|
||||
lights when the motion sensor does not register movement within a 2 hour timeframe.
|
||||
|
||||
## Devices
|
||||
|
||||
```sh
|
||||
IDS="s/BASENAME/xxx/g; s/MOTION/xxx/g"
|
||||
```
|
||||
|
||||
* `BASENAME` Basename of the ruleset
|
||||
* `MOTION` ID of the motion sensor
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"name": "BASENAME.all-off",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MOTION/state/presence",
|
||||
"operator": "eq",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/lastupdated",
|
||||
"operator": "stable",
|
||||
"value": "PT02:00:00"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/0/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": false
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
# Intelligent Motion Sensor Ruleset
|
||||
|
||||
This ruleset is an improved configuration that turns on a
|
||||
group of lights when the motion sensor registers movement.
|
||||
|
||||
It does not trigger an action, if a light in the group is already switched on.
|
||||
|
||||
In the night, it only turns on the lights dim.
|
||||
The daylight sensor is checked for sunrise times.
|
||||
|
||||
It does not switch off the lights, if they were not switched on by the sensor.
|
||||
|
||||
## Devices
|
||||
|
||||
```sh
|
||||
IDS="s/BASENAME/xxx/g; s/GROUP/xxx/g; s/MOTION/xxx/g; s/AMBIENT/xxx/g; s/DAYLIGHT/1/g; s/MEM/xxx/g"
|
||||
```
|
||||
|
||||
* `BASENAME` Basename of the ruleset
|
||||
* `GROUP` ID of the group to handle
|
||||
* `MOTION` ID of the motion sensor
|
||||
* `AMBIENT` ID of the ambient light sensor inside the motion sensor
|
||||
* `DAYLIGHT` ID of the daylight sensor (usually 1)
|
||||
* `MEM` ID of the memory sensor
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"name": "BASENAME.mem",
|
||||
"type": "CLIPGenericStatus",
|
||||
"modelid": "MEM001",
|
||||
"manufacturername": "Adrium",
|
||||
"swversion": "1.0",
|
||||
"uniqueid": "00:ad:10:f3:2a:9b-02"
|
||||
}
|
|
@ -0,0 +1,36 @@
|
|||
{
|
||||
"name": "BASENAME.off",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/MEM/state/status",
|
||||
"operator": "gt",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/presence",
|
||||
"operator": "eq",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/lastupdated",
|
||||
"operator": "ddx",
|
||||
"value": "PT00:02:00"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MEM/state",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"status": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"name": "BASENAME.on-bright",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/AMBIENT/state/dark",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/groups/GROUP/state/any_on",
|
||||
"operator": "eq",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"address": "/config/localtime",
|
||||
"operator": "not in",
|
||||
"value": "T00:00:00/T05:00:00"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DAYLIGHT/state/daylight",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/presence",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": true,
|
||||
"bri": 240,
|
||||
"ct": 357
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MEM/state",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"status": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"name": "BASENAME.on-dim-morning",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/AMBIENT/state/dark",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/groups/GROUP/state/any_on",
|
||||
"operator": "eq",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"address": "/config/localtime",
|
||||
"operator": "not in",
|
||||
"value": "T00:00:00/T05:00:00"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/DAYLIGHT/state/daylight",
|
||||
"operator": "eq",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/presence",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": true,
|
||||
"bri": 13,
|
||||
"ct": 1000
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MEM/state",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"status": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,47 @@
|
|||
{
|
||||
"name": "BASENAME.on-dim-night",
|
||||
"conditions": [
|
||||
{
|
||||
"address": "/sensors/AMBIENT/state/dark",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/groups/GROUP/state/any_on",
|
||||
"operator": "eq",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"address": "/config/localtime",
|
||||
"operator": "in",
|
||||
"value": "T00:00:00/T05:00:00"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/presence",
|
||||
"operator": "eq",
|
||||
"value": "true"
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MOTION/state/lastupdated",
|
||||
"operator": "dx"
|
||||
}
|
||||
],
|
||||
"actions": [
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"on": true,
|
||||
"bri": 13,
|
||||
"ct": 1000
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/sensors/MEM/state",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
"status": 1
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -32,7 +32,7 @@
|
|||
"method": "PUT",
|
||||
"body": {
|
||||
"on": true,
|
||||
"bri": 230
|
||||
"bri": 240
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
@ -34,12 +34,6 @@
|
|||
"on": true,
|
||||
"bri": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"address": "/groups/GROUP/action",
|
||||
"method": "PUT",
|
||||
"body": {
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
"method": "PUT",
|
||||
"body": {
|
||||
"on": true,
|
||||
"bri": 205,
|
||||
"bri": 203,
|
||||
"ct": 182
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue