Reference
#Behaviors and equipment
These tables are generated from registered definitions. An extension can register additional behaviors or equipment; see the extension guide.
#Behaviors
#pushButton/v1
Push button or sensor: each gesture writes a value into a local object, then transmits it. Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
input |
any | none | object sent by a key or input |
display |
any | none | object receiving a value (indicator or feedback) |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
longPressMs |
integer | 500 |
≥ 100 ; ≤ 10000 | Press duration that counts as a long press (ms), for keys with short and long actions. |
#switchActuator/v1
Switch actuator: each channel drives a relay; optional timer, status feedback, and power and energy metering. Output command: switch.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
switch |
1.001 | required | Channel switch command (0 = off, 1 = on). |
status |
1.001 | required | Relay status feedback, sent after each effective change. |
scene |
17.001 | optional (all channels when omitted) | Scene number (bus byte 0–63 represents scenes 1–64); without a channel, apply to all channels. |
forced |
2.001 | required | Priority override (2 = force off, 3 = force on, 0/1 = end override). |
power |
14.056, 9.024 | required | electrical power drawn by the load of the channel: W with 14.056, kW with 9.024 |
energy |
13.010, 13.013 | required | active energy counted for the channel, sent cyclically: Wh with 13.010, kWh with 13.013 |
totalPower |
14.056, 9.024 | none | sum of the power of all channels: W with 14.056, kW with 9.024 |
powerLimit |
1.005, 1.001 | none | 1 when the total power reaches powerLimitW, 0 after hysteresis (load shedding) |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
meterIntervalMs |
integer | 5000 |
≥ 1000 | Cyclic sending of power and energy values (ms), for channels with metering objects. |
powerSendDeltaW |
number | 10 |
≥ 0 | Send a power value when it changes by at least this many watts. |
energyTimeScale |
number | 60 |
> 0 | Energy counting speed: 60 counts one simulated second as one minute, so that the counter moves visibly; 1 counts real time. |
powerLimitW |
number | 0 |
≥ 0 | Total power (W) of the actuator outputs at which the powerLimit object is set, for load shedding (0 disables it). |
sheddingTimeMs |
integer | 20000 |
≥ 0 | A shed output is switched on again after this time, if its command still requests it; it is shed again if the limit is still exceeded. |
powerLimitHysteresisW |
number | 50 |
≥ 0 | The powerLimit object is reset below limit − hysteresis (W). |
Channel parameters (channels[].parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
timerMs |
integer | null | null |
> 0 |
timerRetrigger |
string | "restart" |
"restart" (Restarts), "none" (No effect), "add" (Extends) | When 1 is received during a timer: restart begins a full period, none ignores it, and add extends the period (up to five times). |
timerWarningMs |
integer | 0 |
≥ 0 | Time before the timer ends when the output briefly opens for one second as a warning (0 disables the warning). |
timerOffAllowed |
boolean | true |
Allow a 0 write to switch off before the timer ends; otherwise ignore it. | |
loadShedding |
boolean | false |
Switch this output off while the total power limit of the actuator is exceeded (load shedding). | |
relayMode |
string | "normallyOpen" |
"normallyOpen" (Normally open), "normallyClosed" (Normally closed) | normallyOpen closes the contact when the channel is on; normallyClosed closes it when the channel is off, so the load is powered while the switching state is 0. Status feedback reports the switching state, not the contact. |
statusDelayMs |
integer | 300 |
≥ 0 | Delay before sending status feedback (ms). |
afterForcing |
string | "lastCommand" |
"lastCommand" (Last command), "previous" (Previous state), "unchanged" (Unchanged), "on" (Start), "off" (Stop), "toggle" (Toggle) | State after a priority override ends: follow the latest command received during the override, restore the previous state, keep the forced state, switch on, switch off, or invert the forced state. |
Initial channel state (channels[].initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
on |
boolean | false |
Switching state of the channel when the simulation starts. |
#shutterActuator/v1
Shutter actuator without sensor: position estimated from the configured travel time. Output command: motor.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
move |
1.008 | required | Shutter: 0 raises toward 0%, 1 lowers toward 100%. |
stopStep |
1.007 | required | Shutter: stop when moving; otherwise step by stepPct (0 up, 1 down). |
positionCommand |
5.001 | required | Shutter target position in percent. |
positionStatus |
5.001 | required | Actuator's estimated shutter position, sent after stopping. |
scene |
17.001 | optional (all channels when omitted) | Scene number (bus byte 0–63 represents scenes 1–64); without a channel, apply to all channels. |
slatCommand |
5.001 | required | slat angle (0 % open, 100 % closed) of a venetian blind |
slatStatus |
5.001 | required | estimated slat angle, sent after stopping |
windAlarm |
1.005, 1.001 | optional (all channels when omitted) | 1 raises the shutter and locks it against other commands; 0 releases it in place |
Channel parameters (channels[].parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
estimatedTravelTimeMs (required) |
integer | > 0 | Travel time configured in the actuator (ms): downwards, and upwards unless estimatedTravelTimeUpMs is set. | |
estimatedTravelTimeUpMs |
integer | > 0 | Upward travel time configured in the actuator (ms), when it differs from the downward time; many actuators take separate times because a shutter rises more slowly than it falls. | |
startDelayMs |
integer | 300 |
≥ 0 | Delay before starting or reversing motion (ms). |
statusDelayMs |
integer | 300 |
≥ 0 | Delay before sending position feedback (ms). |
slatTravelMs |
integer | 0 |
≥ 0 | Venetian blind: time configured for the slats to turn from open to closed (ms). A movement first turns the slats; a short press at rest turns them by slatStepPct. 0 for a roller shutter without slats. |
slatStepPct |
number | 20 |
≥ 1 ; ≤ 100 | Slat angle change for a short press at rest (%). |
stepPct |
number | 0 |
≥ 0 ; ≤ 100 | Position step for a stop/step command received at rest by a shutter without slats (%). 0 (default): no movement, as in the KNX stop/step function, where the step turns slats; some actuators move a roller shutter by this amount instead. |
endSupplementPct |
number | 0 |
≥ 0 ; ≤ 50 | Extra travel time toward 0% or 100%, as a percentage of full travel. The motor runs even if the estimate is already at the limit; the end stop recalibrates the estimate (often 5–10% on a real actuator). |
invertOutput |
boolean | false |
Invert the up and down outputs to compensate a motor wired in reverse (shutter parameter wiringReversed). Without such wiring, enabling it makes the shutter move opposite to the commands. |
Initial channel state (channels[].initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
estimatedPositionPct |
number | 0 |
≥ 0 ; ≤ 100 | Position the actuator assumes at start (0 = fully open, 100 = fully closed); the connected shutter starts at its own position. |
estimatedSlatPct |
number | 0 |
≥ 0 ; ≤ 100 | Slat angle the actuator assumes at start (venetian blinds). |
#display/v1
Display / supervisor: receives and shows values, with no output or retransmission.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
display |
any | none | Object that receives and displays a value, such as an indicator or supervisor. |
No parameters.
#passive/v1
Device without logic: it only keeps the values of its objects.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
input |
any | none | Object written by a button or numeric input, then transmitted. |
display |
any | none | Object that receives and displays a value, such as an indicator or supervisor. |
No parameters.
#presenceDetector/v1
Presence detector: sends 1 on first detection, 0 when its hold time ends (restarted by each detection). Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
input |
1.001, 1.018 | none | output object: 1 on detection, 0 when the timer expires |
brightness |
9.004 | none | measured brightness (lx), entered by the reader and sent; there is no light model |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
holdMs |
integer | 10000 |
> 0 | Time with no detected presence before sending 0 (ms); restarted on each detection. |
retrigger |
boolean | true |
Each activation restarts the timer; otherwise it runs from the first activation. | |
sendOnEnd |
boolean | true |
Send 0 when the timer expires; otherwise the detector sends only 1 and the actuator handles switch-off. | |
brightnessThresholdLux |
number | 0 |
≥ 0 | A detection switches on only while the entered brightness is below this value (lx); an active presence is still extended. 0 disables the threshold. |
#usbInterface/v1
USB interface: writes and reads group addresses from the USB interface panel of the diagram.
Ports
| Port | DPT | Channel | Role |
|---|
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
groupAddresses |
string | "" |
Group addresses assigned to this interface in the project, separated by spaces or commas. Coupler filter tables include them, so telegrams on these addresses cross couplers to and from the interface. Without them, a coupler filters an address that is not used on the interface side. |
#dimmerActuator/v1
Dimmer: switching, relative (3.007) and absolute (5.001) dimming, tunable white (7.600), status feedback. Output command: dim.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
switch |
1.001 | required | Channel switch command (0 = off, 1 = on). |
dim |
3.007 | required | Relative dimming (3.007): direction bit and step size 1–7; 0 stops dimming. |
value |
5.001 | required | Brightness value in percent (5.001); zero switches off. |
status |
1.001 | required | Relay status feedback, sent after each effective change. |
valueStatus |
5.001 | required | Brightness value feedback (5.001), sent after a transition. |
scene |
17.001 | optional (all channels when omitted) | Scene number (bus byte 0–63 represents scenes 1–64); without a channel, apply to all channels. |
colourTemperature |
7.600 | required | colour temperature setpoint (K) of a tunable white channel |
colourTemperatureStatus |
7.600 | required | applied colour temperature (K) |
Channel parameters (channels[].parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
onLevel |
string | "fixed" |
"fixed" (Set value), "last" (Last value) | Level when switched on: fixed uses onLevelPct; last restores the level before switch-off. |
onLevelPct |
number | 100 |
≥ 1 ; ≤ 100 | Level reached when a value of 1 is received (fixed mode). |
dimTimeMs |
integer | 5000 |
> 0 | Time for a 0–100% relative dimming transition (DPT 3.007); smaller steps take less time. |
switchFadeMs |
integer | 0 |
≥ 0 | Transition time when switching on or off (0 means immediate). |
valueFadeMs |
integer | 0 |
≥ 0 | Transition time to a received value (5.001) or scene preset. |
minLevelPct |
number | 1 |
≥ 0 ; ≤ 50 | Minimum relative dimming level. |
maxLevelPct |
number | 100 |
≥ 50 ; ≤ 100 | Upper limit for relative dimming and received values. |
dimSwitchesOn |
boolean | true |
An increase command turns on a channel that is off. | |
dimSwitchesOff |
boolean | false |
A decrease command may dim to off; otherwise it stops at the minimum level. | |
valueSwitchesOn |
boolean | true |
A brightness value above 0 turns on a channel that is off; otherwise the value is ignored while the channel is off. | |
valueSwitchesOff |
boolean | true |
A brightness value of 0 turns the channel off; otherwise the channel dims to its minimum level. | |
statusDelayMs |
integer | 300 |
≥ 0 | Delay before sending status feedback (ms), after a transition completes. |
minColourK |
integer | 2700 |
≥ 1000 ; ≤ 10000 | Lowest colour temperature (K) of a tunable white channel; lower requests are limited to it. |
maxColourK |
integer | 6500 |
≥ 1000 ; ≤ 10000 | Highest colour temperature (K) of a tunable white channel; higher requests are limited to it. |
Initial channel state (channels[].initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
levelPct |
number | 0 |
≥ 0 ; ≤ 100 | Level of the output when the simulation starts; 0 is off. |
colourTemperatureK |
integer | 4000 |
≥ 1000 ; ≤ 10000 | Colour temperature (K) at start, for a channel with a colourTemperature object. |
#daliGateway/v1
KNX/DALI gateway: each channel is a DALI group of ballasts; broadcast, scenes and fault reporting. Output command: dim.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
switch |
1.001 | required | Channel switch command (0 = off, 1 = on). |
dim |
3.007 | required | Relative dimming (3.007): direction bit and step size 1–7; 0 stops dimming. |
value |
5.001 | required | Brightness value in percent (5.001); zero switches off. |
status |
1.001 | required | Relay status feedback, sent after each effective change. |
valueStatus |
5.001 | required | Brightness value feedback (5.001), sent after a transition. |
scene |
17.001 | optional (all channels when omitted) | Scene number (bus byte 0–63 represents scenes 1–64); without a channel, apply to all channels. |
error |
1.005 | required | lamp or ballast fault in the group |
broadcastSwitch |
1.001 | none | Switch all groups with a DALI broadcast. |
broadcastValue |
5.001 | none | Set all group levels with a DALI broadcast. |
generalError |
1.005 | none | Fault on the DALI line across all groups (1.005). |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
pollMs |
integer | 2000 |
≥ 500 | Interval between ballast status polls for faults. |
Channel parameters (channels[].parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
onLevel |
string | "fixed" |
"fixed" (Set value), "last" (Last value) | Level when switched on: fixed uses onLevelPct; last restores the level before switch-off. |
onLevelPct |
number | 100 |
≥ 1 ; ≤ 100 | Level reached when a value of 1 is received (fixed mode). |
dimTimeMs |
integer | 5000 |
> 0 | Time for a 0–100% relative dimming transition (DPT 3.007); smaller steps take less time. |
switchFadeMs |
integer | 0 |
≥ 0 | Transition time when switching on or off (0 means immediate). |
valueFadeMs |
integer | 0 |
≥ 0 | Transition time to a received value (5.001) or scene preset. |
minLevelPct |
number | 1 |
≥ 0 ; ≤ 50 | Minimum relative dimming level. |
maxLevelPct |
number | 100 |
≥ 50 ; ≤ 100 | Upper limit for relative dimming and received values. |
dimSwitchesOn |
boolean | true |
An increase command turns on a channel that is off. | |
dimSwitchesOff |
boolean | false |
A decrease command may dim to off; otherwise it stops at the minimum level. | |
valueSwitchesOn |
boolean | true |
A brightness value above 0 turns on a channel that is off; otherwise the value is ignored while the channel is off. | |
valueSwitchesOff |
boolean | true |
A brightness value of 0 turns the channel off; otherwise the channel dims to its minimum level. | |
statusDelayMs |
integer | 300 |
≥ 0 | Delay before sending status feedback (ms), after a transition completes. |
minColourK |
integer | 2700 |
≥ 1000 ; ≤ 10000 | Lowest colour temperature (K) of a tunable white channel; lower requests are limited to it. |
maxColourK |
integer | 6500 |
≥ 1000 ; ≤ 10000 | Highest colour temperature (K) of a tunable white channel; higher requests are limited to it. |
Initial channel state (channels[].initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
levelPct |
number | 0 |
≥ 0 ; ≤ 100 | Level of the output when the simulation starts; 0 is off. |
colourTemperatureK |
integer | 4000 |
≥ 1000 ; ≤ 10000 | Colour temperature (K) at start, for a channel with a colourTemperature object. |
#roomThermostat/v1
Room thermostat: comfort / standby / economy / protection modes (20.102), window and presence, PI control (5.001 or PWM) or two-point, heating and cooling. Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
actualTemp |
9.001 | none | Thermostat: measured temperature (9.001), sent on change. |
externalTemp |
9.001 | none | replaces the internal sensor after a value is received |
baseSetpoint |
9.001 | none | Thermostat: base heating comfort setpoint (9.001). |
setpointShift |
9.002 | none | base setpoint = configured setpoint + offset |
setpointStatus |
9.001 | none | Thermostat: current setpoint (9.001). |
hvacMode |
20.102 | none | Thermostat: selected mode (20.102: 0 auto, 1 comfort, 2 standby, 3 economy, 4 protection). |
hvacModeStatus |
20.102 | none | Thermostat: current mode (20.102). |
presence |
1.018, 1.001 | none | 1 = presence: comfort mode |
window |
1.019, 1.001, 1.009 | none | open window (1.019 / 1.001: 1 = open; 1.009: 0 = open): protection mode, highest priority |
heatCool |
1.100 | none | 1 = heating, 0 = cooling |
heatCoolStatus |
1.100 | none | Thermostat: current heating or cooling mode. |
heatingValue |
5.001 | none | continuous control value from 0 to 100% |
heatingSwitch |
1.001 | none | two-point control, or PWM under PI control |
coolingValue |
5.001 | none | Thermostat: continuous cooling control value (5.001). |
coolingSwitch |
1.001 | none | Thermostat: one-bit cooling command. |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
controlType |
string | "pi" |
"pi" (PI (continuous or PWM)), "twoPoint" (Two-point) | pi uses proportional-integral control with a continuous value (5.001) or PWM (1 bit); twoPoint uses on/off control with hysteresis. |
comfortC |
number | 21 |
≥ 5 ; ≤ 35 | Initial heating comfort setpoint (°C); the baseSetpoint object can replace it. |
standbyShiftK |
number | 2 |
≥ 0 ; ≤ 10 | Standby setpoint offset (K): lower for heating, higher for cooling. |
economyShiftK |
number | 4 |
≥ 0 ; ≤ 15 | Economy or night setpoint offset (K): lower for heating, higher for cooling. |
frostProtectionC |
number | 7 |
≥ 3 ; ≤ 15 | Heating setpoint in protection mode (°C). |
heatProtectionC |
number | 35 |
≥ 25 ; ≤ 45 | Cooling setpoint in protection mode (°C). |
deadZoneK |
number | 3 |
≥ 0 ; ≤ 10 | Difference between heating and cooling comfort setpoints (K), for example 21 °C and 24 °C. |
minSetpointC |
number | 5 |
≥ 0 ; ≤ 30 | Lowest base setpoint accepted (°C); lower received or entered values are raised to it. |
maxSetpointC |
number | 35 |
≥ 10 ; ≤ 50 | Highest base setpoint accepted (°C); higher received or entered values are lowered to it. |
hysteresisK |
number | 0.5 |
≥ 0.1 ; ≤ 5 | Two-point control switches on again when temperature differs from the setpoint by this amount (K). |
proportionalBandK |
number | 2 |
≥ 0.5 ; ≤ 10 | Temperature difference (K) that produces 100% output from the proportional term. |
integralTimeMs |
integer | 120000 |
≥ 0 | PI integral time: a constant error doubles the proportional response after this duration (0 selects P control). Real installations use 60–240 minutes; the default follows compressed simulated room time. |
pwmCycleMs |
integer | 20000 |
≥ 1000 | PWM cycle period for a 1-bit control object (real installations typically use 10–20 minutes). |
controlPeriodMs |
integer | 1000 |
≥ 100 | Interval at which the controller recalculates its control value from the measured temperature. |
valueSendDeltaPct |
number | 5 |
≥ 1 ; ≤ 50 | Send the control value when it changes by at least this many percentage points. |
externalTempTimeoutMs |
integer | 0 |
≥ 0 | If no externalTemp value arrives within this time, control uses the internal sensor again until a new value arrives (0 disables monitoring). |
valueCyclicMs |
integer | 0 |
≥ 0 | Periodically resend the control value (0 disables it); needed when the actuator monitors incoming values. |
temperatureSendDeltaK |
number | 0.2 |
≥ 0.1 ; ≤ 5 | Send measured temperature when it changes by at least this amount (K). |
temperatureCyclicMs |
integer | 0 |
≥ 0 | Also send the measured temperature at this interval, even without change; 0 disables cyclic sending. |
#heatingActuator/v1
Heating actuator: each output drives an electrothermal valve; continuous control value (5.001) converted to PWM, or direct 1-bit command, monitoring and emergency mode. Output command: switch.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
value |
5.001 | required | Brightness value in percent (5.001); zero switches off. |
switch |
1.001 | required | two-point or thermostat PWM control |
valueStatus |
5.001 | required | Brightness value feedback (5.001), sent after a transition. |
fault |
1.005 | required | missing control value: fallback program |
Channel parameters (channels[].parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
valveType |
string | "normallyClosed" |
"normallyClosed" (Closed when de-energised), "normallyOpen" (Open when de-energised) | normallyClosed: valve closed without power (common); normallyOpen: valve open without power, so the output is inverted. |
cycleMs |
integer | 20000 |
≥ 1000 | PWM period for a continuous control value: powered time equals value × period (real installations typically use 10–20 minutes). |
monitoringMs |
integer | 0 |
≥ 0 | If no control value arrives within this time, enter fallback mode and report a fault (0 disables monitoring). |
emergencyPct |
number | 30 |
≥ 0 ; ≤ 100 | Control value applied in fallback mode. |
#windowContact/v1
Window contact (binary input): sends the opening and closing of its room's window.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
contact |
1.019, 1.001, 1.009 | none | 1.019 / 1.001: 1 means open; 1.009: 1 means closed |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
contactType |
string | "normallyOpen" |
"normallyOpen" (Normally open), "normallyClosed" (Normally closed) | Physical contact: a normally open contact is closed while the window is closed; a normally closed contact is open while the window is closed. |
invert |
boolean | false |
Interpret the electrical input for a normally closed contact. The transmitted value always follows the DPT (1.019: 1 = open; 1.009: 1 = closed). | |
sendOnStart |
boolean | true |
Send contact state when the simulation starts, as after bus power returns, so a thermostat can detect an already open window. | |
startDelayMs |
integer | 1000 |
≥ 0 | Delay after the simulation starts before the contact state is sent. |
#temperatureSensor/v1
Room temperature sensor: sends its room's temperature on change and cyclically.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
temperature |
9.001 | none | Sensor: room temperature (9.001). |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
sendDeltaK |
number | 0.2 |
≥ 0.1 ; ≤ 5 | Temperature change (K) that triggers a transmission. |
cyclicMs |
integer | 0 |
≥ 0 | Periodic retransmission (0 disables it). |
#logicGate/v1
Logic module: combines one-bit inputs (AND, OR, XOR, NOT) and sends the result; an optional enable object blocks the output.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
logicIn |
1.001, 1.002, 1.003, 1.005, 1.018, 1.019 | none | one-bit input of the logic function |
enable |
1.003, 1.001 | none | 0 blocks the output; 1 enables it again and sends the current result |
time |
10.001 | none | time received from a clock master, used by the time window |
logicOut |
1.001, 1.002, 1.003, 1.005, 1.008, 1.009 | none | result of the logic function |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
operation |
string | "and" |
"and" (AND), "or" (OR), "xor" (XOR), "not" (NOT (first input)) | Logic function applied to the inputs; an input with no value yet counts as 0. |
activeFrom |
string | "" |
Start of a daily time window (HH:MM). With activeTo and a time object, the output is 1 only inside the window; the window may cross midnight. | |
activeTo |
string | "" |
End of the daily time window (HH:MM), excluded. | |
sendOnChangeOnly |
boolean | true |
Send the result only when it differs from the last transmitted value. |
#weatherStation/v1
Weather station: sends measured wind speed, brightness, and temperature; sets one-bit outputs when wind or brightness thresholds are reached. Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
wind |
9.005, 9.028 | none | measured wind speed, sent when entered: m/s with 9.005, km/h with 9.028 (thresholds stay in m/s) |
brightness |
9.004 | none | measured brightness (lux), sent when entered |
outdoorTemp |
9.001 | none | measured outdoor temperature (°C), sent when entered |
windAlarm |
1.005, 1.001 | none | 1 when the wind threshold is reached, 0 after hysteresis |
sunProtection |
1.001, 1.002 | none | 1 when the brightness threshold is reached, 0 after hysteresis |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
windThreshold |
number | 10 |
≥ 0 | Wind speed (m/s) at which the wind alarm is set. |
windHysteresis |
number | 2 |
≥ 0 | The alarm is reset when the wind speed falls below threshold − hysteresis (m/s). |
brightnessThreshold |
number | 40000 |
≥ 0 | Brightness (lux) at which sun protection is requested. |
setsRoomOutdoorTemperature |
boolean | true |
An entered outdoor temperature also becomes the outdoor temperature of every room in the thermal model, so that the building reacts to it. | |
brightnessHysteresis |
number | 5000 |
≥ 0 | The request is reset when brightness falls below threshold − hysteresis (lux). |
#airQualitySensor/v1
Air quality sensor: sends measured temperature, relative humidity, and CO₂; sets alarms at thresholds and controls ventilation in three steps. Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
temperature |
9.001 | none | measured temperature (°C), sent when entered |
humidity |
9.007, 5.001 | none | measured relative humidity (%), sent when entered: 2-byte float with 9.007, one byte with 5.001 |
co2 |
9.008 | none | measured CO₂ concentration (ppm), sent when entered |
co2Alarm |
1.005, 1.001 | none | 1 when the CO₂ alarm threshold is reached, 0 after hysteresis |
humidityAlarm |
1.005, 1.001 | none | 1 when the humidity alarm threshold is reached, 0 after hysteresis |
ventilation |
5.001 | none | control value (%) of the current ventilation step |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
co2AlarmPpm |
number | 1500 |
≥ 0 ; ≤ 10000 | CO₂ concentration (ppm) at which the CO₂ alarm is set. |
co2AlarmHysteresisPpm |
number | 100 |
≥ 0 ; ≤ 10000 | The CO₂ alarm is reset below threshold − hysteresis (ppm). |
humidityAlarmPct |
number | 70 |
≥ 0 ; ≤ 100 | Relative humidity (%) at which the humidity alarm is set. |
humidityAlarmHysteresisPct |
number | 5 |
≥ 0 ; ≤ 100 | The humidity alarm is reset below threshold − hysteresis (%). |
step1Ppm |
number | 800 |
≥ 0 ; ≤ 10000 | CO₂ concentration (ppm) between ventilation steps 0 and 1. |
step2Ppm |
number | 1000 |
≥ 0 ; ≤ 10000 | CO₂ concentration (ppm) between ventilation steps 1 and 2. |
step3Ppm |
number | 1200 |
≥ 0 ; ≤ 10000 | CO₂ concentration (ppm) between ventilation steps 2 and 3. |
stepHysteresisPpm |
number | 50 |
≥ 0 ; ≤ 10000 | A step changes only above threshold + hysteresis or below threshold − hysteresis (ppm). |
step0Pct |
number | 0 |
≥ 0 ; ≤ 100 | Ventilation control value (%) sent in step 0. |
step1Pct |
number | 33 |
≥ 0 ; ≤ 100 | Ventilation control value (%) sent in step 1. |
step2Pct |
number | 66 |
≥ 0 ; ≤ 100 | Ventilation control value (%) sent in step 2. |
step3Pct |
number | 100 |
≥ 0 ; ≤ 100 | Ventilation control value (%) sent in step 3. |
minStepTimeMs |
integer | 0 |
≥ 0 | A step is kept at least this long before the next change (0 disables it). |
#clockMaster/v1
Clock master: sends the time of day (10.001) and the date (11.001) of the simulated clock at a fixed period and after the clock is set.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
time |
10.001 | none | day of week and time of the simulated clock |
date |
11.001 | none | date of the simulated clock |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
sendPeriodMin |
integer | 1 |
≥ 0 ; ≤ 1440 | Clock minutes between two broadcasts, aligned on the clock (1 = every full minute); 0 sends only at start and after the clock is set. |
sendOnStart |
boolean | true |
Send time and date shortly after the simulation starts. | |
startDelayMs |
integer | 1000 |
≥ 0 | Delay after the simulation starts before time and date are sent. |
#timeSwitch/v1
Weekly time switch: sends the programmed value on its output objects at the programmed times of the simulated clock.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
output |
1.001, 1.002, 1.003, 1.008, 5.001, 5.010, 17.001, 20.102 | none | object that receives the programmed values |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
program |
string | "" |
Switching points separated by semicolons: days, time, and value, for example “Mon-Fri 07:00 = 1; Sat,Sun 09:00 = 1; Daily 22:30 = 0”. Days: Mon … Sun, ranges (Mon-Fri), lists (Sat,Sun), or Daily. | |
sendOnStart |
boolean | true |
At start, and after the clock is set, send the value of the most recent switching point. |
#systemGateway/v1
Gateway to another building system (Modbus, BACnet…): values from that system are entered and sent on KNX; KNX commands are received and forwarded to it, without simulating the other protocol. Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
value |
any | none | value read in the other system (temperature, state, meter…), sent on KNX when entered |
command |
any | none | value received from KNX and forwarded to the other system (mode, setpoint, boost…) |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
system |
string | "Modbus" |
Name of the system on the other side of the gateway, shown on the device card and in the event log, such as Modbus, BACnet, or M-Bus. |
#energyMeter/v1
Energy meter: measures several circuits that other devices switch or that are always supplied; sends their power and integrated energy. Uses buttons and inputs.
Ports
| Port | DPT | Channel | Role |
|---|---|---|---|
power |
14.056, 9.024 | required | power measured on the circuit: W with 14.056, kW with 9.024; a numeric input on this object enters the measured power |
energy |
13.010, 13.013 | required | energy counted on the circuit, sent cyclically: Wh with 13.010, kWh with 13.013 |
totalPower |
14.056, 9.024 | none | sum of the measured circuits: W with 14.056, kW with 9.024 |
Device parameters (parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
meterIntervalMs |
integer | 5000 |
≥ 1000 | Cyclic sending of power and energy values (ms). |
powerSendDeltaW |
number | 10 |
≥ 0 | Send a power value when it changes by at least this many watts. |
energyTimeScale |
number | 60 |
> 0 | Energy counting speed: 60 counts one simulated second as one minute, so that the counter moves visibly; 1 counts real time. |
Initial channel state (channels[].initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
powerW |
number | 0 |
≥ 0 ; ≤ 1000000 | Power (W) drawn by the circuit when the simulation starts; a numeric input on the power object changes it. |
energyWh |
number | 0 |
≥ 0 | Energy (Wh) already counted when the simulation starts. |
#Equipment
#lamp
Lamp: lit while the relay output is closed. Accepted commands: switch.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
powerW |
number | 60 |
≥ 0 ; ≤ 100000 | Electrical power (W) drawn while the lamp is on; used by metering actuators. Any switched load can be represented with a matching power. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
on |
boolean | false |
#shutter
Roller shutter: receives up/down/stop commands and moves through its actual travel, limited to 0–100%. Accepted commands: motor.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
actualTravelTimeMs (required) |
integer | > 0 | Actual time for one complete travel (ms): downwards, and upwards unless actualTravelTimeUpMs is set. | |
actualTravelTimeUpMs |
integer | > 0 | Actual time for one complete upward travel (ms), when it differs from the downward time. | |
slatTravelMs |
integer | 0 |
≥ 0 | Venetian blind: time for the slats to turn from open to closed (ms). The motor first turns the slats, then moves the blind. 0 describes a roller shutter without slats. |
wiringReversed |
boolean | false |
Physical wiring with the up and down wires swapped: the motor turns opposite to the command. The actuator's “Inverted wiring” parameter compensates it. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
positionPct |
number | 0 |
≥ 0 ; ≤ 100 | |
slatPct |
number | 0 |
≥ 0 ; ≤ 100 |
#dimmableLamp
Dimmable lamp: follows the commanded level with the requested fade; a tunable white lamp also follows the commanded colour temperature. Accepted commands: dim.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
powerW |
number | 40 |
≥ 0 ; ≤ 100000 | Electrical power (W) at full level; the drawn power is proportional to the level. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
levelPct |
number | 0 |
≥ 0 ; ≤ 100 |
#daliGroup
DALI ballasts in a group: each has a short address (0–63) and follows the commanded level. Accepted commands: dim.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
ballasts |
integer | 2 |
≥ 1 ; ≤ 16 | Number of ballasts (luminaires) in the group. |
firstAddress |
integer | 0 |
≥ 0 ; ≤ 63 | Short DALI address of the first ballast; subsequent ballasts use consecutive addresses. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
levelPct |
number | 0 |
≥ 0 ; ≤ 100 | |
failed |
integer | 0 |
≥ 0 ; ≤ 16 | Number of ballasts initially reporting a lamp or ballast fault. |
#radiator
Radiator with a thermoelectric valve: gradual opening while powered; heat or cooling output is proportional to valve opening. Accepted commands: switch.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
openingTimeMs |
integer | 8000 |
≥ 1000 | Time for the valve to open fully (ms). Real valves take about 3 minutes; this is compressed like room time and should be short relative to the PWM period. |
normallyOpen |
boolean | false |
Normally open valve: applying power closes it. | |
powerK |
number | 25 |
≥ 1 ; ≤ 60 | Temperature difference (K) from outdoors that this radiator can maintain alone with the valve fully open. |
emitter |
string | "heating" |
"heating" (Heating), "cooling" (Cooling) | heating warms the room; cooling cools it, for example a fan coil with condensate drainage. Humidity and condensation are not modeled. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
openPct |
number | 0 |
≥ 0 ; ≤ 100 |
#fan
Ventilation fan: runs at the commanded speed (0–100 %) after a short ramp. Accepted commands: dim.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
powerW |
number | 50 |
≥ 0 ; ≤ 100000 | Electrical power (W) at full speed; the drawn power is proportional to the speed. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
levelPct |
number | 0 |
≥ 0 ; ≤ 100 |
#appliance
Electrical appliance on a switched output (oven, water heater, socket): draws its rated power while powered. Accepted commands: switch.
Parameters (equipment.parameters)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
powerW |
number | 2000 |
≥ 0 ; ≤ 100000 | Electrical power (W) drawn while the appliance is powered. |
Initial state (equipment.initialState)
| Parameter | Type | Default | Constraints | Description |
|---|---|---|---|---|
on |
boolean | false |