Basic Profiles
This bundle provides a list of useful Profiles.
- Generic Command Profile
- Generic Toggle Switch Profile
- Debounce (Counting) Profile
- Debounce (Time) Profile
- Invert / Negate Profile
- Round Profile
- Threshold Profile
- Time Range Command Profile
Generic Command Profile
This Profile can be used to send a Command towards the Item when one event of a specified event list is triggered.
The given Command value is parsed either to IncreaseDecreaseType
, NextPreviousType
, OnOffType
, PlayPauseType
, RewindFastforwardType
, StopMoveType
, UpDownType
or a StringType
is used.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
events |
text | Comma separated list of events to which the profile should listen. mandatory |
command |
text | Command which should be sent if the event is triggered. mandatory |
Full Example
Switch lightsStatus {
channel="hue:0200:XXX:1:color",
channel="deconz:switch:YYY:1:buttonevent" [profile="basic-profiles:generic-command", events="1002,1003", command="ON"]
}
Generic Toggle Switch Profile
The Generic Toggle Switch Profile is a specialization of the Generic Command Profile and toggles the State of a Switch Item whenever one of the specified events is triggered.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
events |
text | Comma separated list of events to which the profile should listen. mandatory |
Full Example
Switch lightsStatus {
channel="hue:0200:XXX:1:color",
channel="deconz:switch:YYY:1:buttonevent" [profile="basic-profiles:toggle-switch", events="1002,1003"]
}
Debounce (Counting) Profile
This Profile counts and skips a user-defined number of State changes before it sends an update to the Item. It can be used to debounce Item States.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
numberOfChanges |
integer | Number of changes before updating Item State. |
Full Example
Switch debouncedSwitch { channel="xxx" [profile="basic-profiles:debounce-counting", numberOfChanges=2] }
Debounce (Time) Profile
In LAST
mode this profile delays commands or state updates for a configured number of milliseconds and only send the value if no other value is received with that timespan.
In FIRST
mode this profile discards values for the configured time after a value is send.
It can be used to debounce Item States/Commands or prevent excessive load on networks.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
toItemDelay |
integer | Timespan in ms before a received value is send to the item. |
toHandlerDelay |
integer | Timespan in ms before a received command is passed to the handler. |
mode |
text | FIRST (sends the first value received and discards later values), LAST (sends the last value received, discarding earlier values). |
Full Example
Number:Temperature debouncedSetpoint { channel="xxx" [profile="basic-profiles:debounce-time", toHandlerDelay=1000] }
Invert / Negate Profile
The Invert / Negate Profile inverts or negates a Command / State. It requires no specific configuration.
The values of QuantityType
, PercentType
and DecimalTypes
are negated (multiplied by -1
).
Otherwise the following mapping is used:
IncreaseDecreaseType
: INCREASE
<-> DECREASE
NextPreviousType
: NEXT
<-> PREVIOUS
OnOffType
: ON
<-> OFF
OpenClosedType
: OPEN
<-> CLOSED
PlayPauseType
: PLAY
<-> PAUSE
RewindFastforwardType
: REWIND
<-> FASTFORWARD
StopMoveType
: MOVE
<-> STOP
UpDownType
: UP
<-> DOWN
Full Example
Switch invertedSwitch { channel="xxx" [profile="basic-profiles:invert"] }
Round Profile
The Round Profile scales the State to a specific number of decimal places based on the power of ten.
Optionally the Rounding mode can be set.
Source Channels should accept Item Type Number
.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
scale |
integer | Scale to indicate the resulting number of decimal places (min: -16, max: 16, STEP: 1) mandatory. |
mode |
text | Rounding mode to be used (e.g. “UP”, “DOWN”, “CEILING”, “FLOOR”, “HALF_UP” or “HALF_DOWN” (default: “HALF_UP”). |
Full Example
Number roundedNumber { channel="xxx" [profile="basic-profiles:round", scale=0] }
Number:Temperature roundedTemperature { channel="xxx" [profile="basic-profiles:round", scale=1] }
Threshold Profile
The Threshold Profile triggers ON
or OFF
behavior when being linked to a Switch item if value is below a given threshold (default: 10).
A good use case for this Profile is a battery low indication.
Source Channels should accept Item Type Dimmer
or Number
.
::: tip Note This profile is a shortcut for the System Hysteresis Profile. :::
Configuration
Configuration Parameter | Type | Description |
---|---|---|
threshold |
integer | Triggers ON if value is below the given threshold, otherwise OFF (default: 10, min: 0, max: 100). |
Full Example
Switch thresholdItem { channel="xxx" [profile="basic-profiles:threshold", threshold=15] }
Time Range Command Profile
This is an enhanced implementation of a follow profile which converts OnOffType
to a PercentType
.
The value of the percent type can be different between a specific time of the day.
A possible use-case is switching lights (using a presence detector) with different intensities at day and at night.
Be aware: a range beyond midnight (e.g. start=”23:00”, end=”01:00”) is not yet supported.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
inRangeValue |
integer | The value which will be send when the profile detects ON and current time is between start time and end time (default: 100, min: 0, max: 100). |
outOfRangeValue |
integer | The value which will be send when the profile detects ON and current time is NOT between start time and end time (default: 30, min: 0, max: 100). |
start |
text | The start time of the day (hh:mm). |
end |
text | The end time of the day (hh:mm). |
restoreValue |
text | Select what should happen when the profile detects OFF again (default: OFF). |
Possible values for parameter restoreValue
:
OFF
- Turn the light offNOTHING
- Do nothingPREVIOUS
- Return to previous value0
-100
- Set a user-defined percent value
Full Example
Switch motionSensorFirstFloor {
channel="deconz:presencesensor:XXX:YYY:presence",
channel="deconz:colortemperaturelight:AAA:BBB:brightness" [profile="basic-profiles:time-range-command", inRangeValue=100, outOfRangeValue=15, start="08:00", end="23:00", restoreValue="PREVIOUS"]
}