Skip to content

Files

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
65 lines (49 loc) · 2.42 KB

README.md

File metadata and controls

65 lines (49 loc) · 2.42 KB

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:
     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:
     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.