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
- State Filter 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"]
}
State Filter Profile
This filter passes on state updates from a (binding) handler to the item if and only if all listed item state conditions
are met (conditions are ANDed together).
Option to instead pass different state update in case the conditions are not met.
State values may be quoted to treat as StringType
.
Use case: Ignore values from a binding unless some other item(s) have a specific state.
Configuration
Configuration Parameter | Type | Description |
---|---|---|
conditions |
text | Comma separated list of expressions on the format ITEM_NAME OPERATOR ITEM_STATE , ie MyItem EQ OFF . Use quotes around ITEM_STATE to treat value as string ie 'OFF' and not OnOffType.OFF |
mismatchState |
text | Optional state to pass instead if conditions are NOT met. Use single quotes to treat as StringType . Defaults to UNDEF |
separator |
text | Optional separator string to separate expressions when using multiple. Defaults to , |
Possible values for token OPERATOR
in conditions
:
EQ
- EqualsNEQ
- Not equals
Full Example
Number:Temperature airconTemperature{
channel="mybinding:mything:mychannel"[profile="basic-profiles:state-filter",conditions="airconPower_item EQ ON",mismatchState="UNDEF"]
}