blob: 3d55dae5130c9764de59a0692d3014984cf60f61 [file] [log] [blame] [view]
# Lock Application for Linux
Application that showcases abilities of the Door Lock Cluster.
## Building
The application could be build in the same manner as `all-clusters-app`:
```
? scripts/examples/gn_build_example.sh examples/lock-app/linux out/lock-app chip_config_network_layer_ble=false
```
# Named Pipe Interface
This application accepts commands over named pipe. Pipe is located in
`/tmp/chip_lock_app_fifo-<PID>`.
## Command Format
Commands interface accepts commands formatted as a JSON object. Structure of the
object:
| Key | Type | Value Description | Optional |
| -------- | ------ | ----------------------------------------------------------------------------------------------- | -------- |
| `Cmd` | String | Contains name of the command to execute | No |
| `Params` | Object | Contains parameters for the command. Could be omitted if the command does not accept parameters | Yes |
For example:
- `{ "Cmd": "SetDoorState", "Params": { "EndpointId": 1, "DoorState": 2 } }` -
command to set the Door Jammed door state.
- `{ "Cmd": "SendDoorLockAlarm", "Params": { "AlarmCode": 0 } }` - command to
send the Door Lock Alarm event with Lock Jammed alarm code.
## Available commands
### Set Door State
- Name: `SetDoorState`
- Parameters:
- `EndpointId` (Uint, Optional): ID of the endpoint where command should
be executed. Could be omitted, in that case the default endpoint with ID
1 is targeted.
- `DoorState` (DoorState enum): new door state.
- Usage:
```bash
echo '{"Cmd": "SetDoorState", "Params": { "EndpointId": 1, "DoorState": 1 } }' > /tmp/chip_lock_app_fifo-<PID>
```
This command will set the door state to "Closed" resulting in Door State
Change event.
### Send Door Lock Alarm
- Name: `SetDoorState`
- Parameters:
- `EndpointId` (Uint, Optional): ID of the endpoint where command should
be executed. Could be omitted, in that case the default endpoint with ID
1 is targeted
- `AlarmCode` (AlarmCode enum): code of the Lock Door Alarm to send.
- Usage:
```bash
echo '{"Cmd": "SendDoorLockAlarm", "Params": { "EndpointId": 1, "AlarmCode": 0 } }' > /tmp/chip_lock_app_fifo-<PID>
```
This command will send the Door Lock Alarm event with "Lock Jammed" alarm
code.