Examples
#Venetian blind
A venetian blind uses one motor for two things: it first turns the slats, then moves the blind. Going down, the slats close before the blind starts to descend; going up, they open before it rises.
- A long press on Key 1 or Key 2 moves the blind (DPT 1.008 on 2/1/1).
- A short press at rest turns the slats by one step (DPT 1.007 on 2/1/2); during a movement it stops the blind.
- The numeric fields send a position (2/1/3) and a slat angle (2/1/4), both in DPT 5.001: 0 % is open or at the top, 100 % is closed or at the bottom.
The actuator has no sensor: it estimates the position and the slat angle from its configured travel and slat rotation times, and reports them on 2/1/5 and 2/1/6 after each stop. Select the actuator to compare the estimate with the actual blind.
<bus-diagram>
<script type="application/json">
{
"formatVersion": 2,
"title": "Venetian blind: travel and slat angle",
"description": "A long press moves the blind; the motor first turns the slats (closed when going down, open when going up), then moves the blind. A short press at rest turns the slats by one step, and a short press during a movement stops it. The numeric fields send a position and a slat angle (DPT 5.001: 0 % open, 100 % closed). The actuator estimates both from its configured times and reports them after each stop.",
"lines": [{ "address": "1.1", "name": "Office" }],
"groupAddresses": [
{ "address": "2/1/1", "name": "Blind movement", "dpt": "1.008" },
{ "address": "2/1/2", "name": "Blind stop / slat step", "dpt": "1.007" },
{ "address": "2/1/3", "name": "Blind position", "dpt": "5.001" },
{ "address": "2/1/4", "name": "Slat angle", "dpt": "5.001" },
{ "address": "2/1/5", "name": "Blind position status", "dpt": "5.001" },
{ "address": "2/1/6", "name": "Slat angle status", "dpt": "5.001" }
],
"devices": [
{
"id": "pushButton",
"name": "Blind push-button",
"address": "1.1.1",
"kind": "pushButton",
"behavior": "pushButton/v1",
"objects": [
{
"id": "move",
"name": "Movement",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "stop",
"name": "Stop / slat step",
"ga": "2/1/2",
"dpt": "1.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "pos",
"name": "Position",
"ga": "2/1/3",
"dpt": "5.001",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "slat",
"name": "Slat angle",
"ga": "2/1/4",
"dpt": "5.001",
"port": "input",
"flags": { "W": false, "T": true }
}
],
"buttons": [
{
"id": "key1",
"label": "Key 1 · Up",
"icon": "up",
"short": { "object": "stop", "value": 0 },
"long": { "object": "move", "value": 0 }
},
{
"id": "key2",
"label": "Key 2 · Down",
"icon": "down",
"short": { "object": "stop", "value": 1 },
"long": { "object": "move", "value": 1 }
}
],
"inputs": [
{
"id": "pos",
"type": "number",
"label": "Position (%)",
"object": "pos",
"min": 0,
"max": 100,
"step": 10
},
{
"id": "slat",
"type": "number",
"label": "Slats (%)",
"object": "slat",
"min": 0,
"max": 100,
"step": 10
}
]
},
{
"id": "blindActuator",
"name": "Blind actuator",
"address": "1.1.2",
"kind": "shutterActuator",
"behavior": "shutterActuator/v1",
"objects": [
{
"id": "move",
"name": "Movement",
"ga": "2/1/1",
"dpt": "1.008",
"port": "move",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "stop",
"name": "Stop / slat step",
"ga": "2/1/2",
"dpt": "1.007",
"port": "stopStep",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "pos",
"name": "Position",
"ga": "2/1/3",
"dpt": "5.001",
"port": "positionCommand",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "slat",
"name": "Slat angle",
"ga": "2/1/4",
"dpt": "5.001",
"port": "slatCommand",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "posStatus",
"name": "Position status",
"ga": "2/1/5",
"dpt": "5.001",
"port": "positionStatus",
"channel": "b1",
"flags": { "W": false, "T": true }
},
{
"id": "slatStatus",
"name": "Slat angle status",
"ga": "2/1/6",
"dpt": "5.001",
"port": "slatStatus",
"channel": "b1",
"flags": { "W": false, "T": true }
}
],
"channels": [
{
"id": "b1",
"label": "Blind B1",
"parameters": { "estimatedTravelTimeMs": 20000, "slatTravelMs": 2000 },
"equipment": {
"type": "shutter",
"view": "venetianBlind",
"parameters": { "actualTravelTimeMs": 20000, "slatTravelMs": 2000 }
}
}
]
}
],
"options": { "speed": 1, "filterTables": false }
}
</script>
</bus-diagram>{
"formatVersion": 2,
"title": "Venetian blind: travel and slat angle",
"description": "A long press moves the blind; the motor first turns the slats (closed when going down, open when going up), then moves the blind. A short press at rest turns the slats by one step, and a short press during a movement stops it. The numeric fields send a position and a slat angle (DPT 5.001: 0 % open, 100 % closed). The actuator estimates both from its configured times and reports them after each stop.",
"lines": [{ "address": "1.1", "name": "Office" }],
"groupAddresses": [
{ "address": "2/1/1", "name": "Blind movement", "dpt": "1.008" },
{ "address": "2/1/2", "name": "Blind stop / slat step", "dpt": "1.007" },
{ "address": "2/1/3", "name": "Blind position", "dpt": "5.001" },
{ "address": "2/1/4", "name": "Slat angle", "dpt": "5.001" },
{ "address": "2/1/5", "name": "Blind position status", "dpt": "5.001" },
{ "address": "2/1/6", "name": "Slat angle status", "dpt": "5.001" }
],
"devices": [
{
"id": "pushButton",
"name": "Blind push-button",
"address": "1.1.1",
"kind": "pushButton",
"behavior": "pushButton/v1",
"objects": [
{
"id": "move",
"name": "Movement",
"ga": "2/1/1",
"dpt": "1.008",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "stop",
"name": "Stop / slat step",
"ga": "2/1/2",
"dpt": "1.007",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "pos",
"name": "Position",
"ga": "2/1/3",
"dpt": "5.001",
"port": "input",
"flags": { "W": false, "T": true }
},
{
"id": "slat",
"name": "Slat angle",
"ga": "2/1/4",
"dpt": "5.001",
"port": "input",
"flags": { "W": false, "T": true }
}
],
"buttons": [
{
"id": "key1",
"label": "Key 1 · Up",
"icon": "up",
"short": { "object": "stop", "value": 0 },
"long": { "object": "move", "value": 0 }
},
{
"id": "key2",
"label": "Key 2 · Down",
"icon": "down",
"short": { "object": "stop", "value": 1 },
"long": { "object": "move", "value": 1 }
}
],
"inputs": [
{
"id": "pos",
"type": "number",
"label": "Position (%)",
"object": "pos",
"min": 0,
"max": 100,
"step": 10
},
{
"id": "slat",
"type": "number",
"label": "Slats (%)",
"object": "slat",
"min": 0,
"max": 100,
"step": 10
}
]
},
{
"id": "blindActuator",
"name": "Blind actuator",
"address": "1.1.2",
"kind": "shutterActuator",
"behavior": "shutterActuator/v1",
"objects": [
{
"id": "move",
"name": "Movement",
"ga": "2/1/1",
"dpt": "1.008",
"port": "move",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "stop",
"name": "Stop / slat step",
"ga": "2/1/2",
"dpt": "1.007",
"port": "stopStep",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "pos",
"name": "Position",
"ga": "2/1/3",
"dpt": "5.001",
"port": "positionCommand",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "slat",
"name": "Slat angle",
"ga": "2/1/4",
"dpt": "5.001",
"port": "slatCommand",
"channel": "b1",
"flags": { "W": true, "T": false }
},
{
"id": "posStatus",
"name": "Position status",
"ga": "2/1/5",
"dpt": "5.001",
"port": "positionStatus",
"channel": "b1",
"flags": { "W": false, "T": true }
},
{
"id": "slatStatus",
"name": "Slat angle status",
"ga": "2/1/6",
"dpt": "5.001",
"port": "slatStatus",
"channel": "b1",
"flags": { "W": false, "T": true }
}
],
"channels": [
{
"id": "b1",
"label": "Blind B1",
"parameters": { "estimatedTravelTimeMs": 20000, "slatTravelMs": 2000 },
"equipment": {
"type": "shutter",
"view": "venetianBlind",
"parameters": { "actualTravelTimeMs": 20000, "slatTravelMs": 2000 }
}
}
]
}
],
"options": { "speed": 1, "filterTables": false }
}