Last modified by Alexander Mott on 2026/07/14 19:48

Hide last authors
Alexander Mott 35.1 1 ===== Use ShowRunnerCLC™ version 3.010 or later =====
Alexander Mott 36.1 2
Alexander Mott 35.1 3 == Terminology: ==
Alexander Mott 36.1 4
Scott Kohlmann 31.1 5 * Client Processor - Processor that will interact with hardware attached to the host processor.
Mark Kohlmann 21.1 6 * CWS - Crestron Web Server, the processor's internal web server
7 * Host Processor (Server) - Processor that hosts the physical hardware
8 * LWAPI - Lightweight API (CoAP)
Alexander Mott 34.1 9 * User Page Auth - Requires a username and password to access the internal web server (CWS) on the processor. 3-series always has this enabled if authentication is activated. 4-series processors have an option to have user page auth on or not (default is off).
Alexander Mott 36.1 10
Alexander Mott 35.1 11 == Steps: ==
Alexander Mott 36.1 12
Scott Kohlmann 23.1 13 1. [[Setup Host Processor>>WebHome||anchor="Host processor (LWAPI Server) Setup (DIN-AP3 @ 10.44.5.91)"]]
Mark Kohlmann 21.1 14 11. Verify processor configuration
15 11. Verify LWAPI is enabled
16 11. Create API User
17 11. Create CWS User (if necessary)
18 11. Save the configuration
Scott Kohlmann 23.1 19 1. [[Setup Client Processor>>WebHome||anchor="Client processor (LWAPI Client) Setup (DIN-AP4) Version 3.011 or newer"]]
Mark Kohlmann 21.1 20 11. Define the remote system
21 11. Setup auth for the remote system
22 11. Save the configuration
Alexander Mott 29.1 23 1. Verify successful communications with the following commands:
Alexander Mott 30.1 24 11. On host, verify the client shows up as a web session: ##sr sh lwapi serv cli##
Alexander Mott 29.1 25 11. On client, verify the session with the host: ##sr sh lwapi cli br##
Alexander Mott 36.1 26
Alexander Mott 35.1 27 == Host processor (LWAPI Server) Setup ==
Alexander Mott 36.1 28
Alexander Mott 35.1 29 (% class="wikigeneratedid" %)
30 (e.g. DIN-AP3 @ 10.44.5.91)
31 Steps 1-4 and 6 always needed.
Alexander Mott 36.1 32
33 1. Set "SystemId" to a non-zero number that is unique among all processors on the jobsite
Alexander Mott 34.1 34 1. If 3-series, Enable Authentication [##authentication on##] or SSL [##ssl self##] if not already enabled. 4-Series have authentication enabled by default. User Page Auth should be turned off on 4-series.
Mark Kohlmann 21.1 35 1. Enable LWAPI
Alexander Mott 28.1 36 From Console (v 3.011 or later; processor will automatically restart):
Mark Kohlmann 21.1 37 ## sr lwapi enable true##
Alexander Mott 28.1 38 In Config (@ root level; reloading the configuration is required):
Mark Kohlmann 9.1 39 ## "LwApiEnable": true,
40 "LwApiSecurityLevel": "Auth",##
Alexander Mott 34.1 41 1. Create an API User and record the Key and Secret. User group must have //LWAPI //role and //Execute //permissions. This allows the //Lightweight API Users// group has been created for this purpose:
Mark Kohlmann 1.4 42 ##DIN-AP3>sradmin add api user "Central Control" "Lightweight API Users"
Mark Kohlmann 5.1 43 API User Central Control generated with Group permissions Lightweight API Users and Key: (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) Secret: (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI**(%%)##
Alexander Mott 34.1 44 1. If 3-series w/ auth enabled or 4-series with user page auth enabled then add a remote user with permissions to connect to the control system. This is done by adding a local user to the system with user privileges. Sample values shown, do not re-use these.
Mark Kohlmann 8.1 45 ##DIN-AP3>adduser -N:(% style="color:purple" %)**lwapi**(%%) -P:(% style="color:darkgoldenrod" %)**dMFN9pJJXjWLGd7t**(%%)
Mark Kohlmann 1.4 46 User account was successfully created.
Mark Kohlmann 18.1 47 DIN-AP3>addusertogroup -N:lwapi -G:Users
48 'lwapi' was successfully added to group 'Users'.##
Craig Lewis 12.2 49 1. Save the configuration
Alexander Mott 36.1 50
Alexander Mott 35.1 51 == Client processor (LWAPI Client) Setup Version 3.011 or newer ==
Alexander Mott 36.1 52
Alexander Mott 35.1 53 ===== (e.g. DIN-AP4) =====
Alexander Mott 36.1 54
Alexander Mott 34.1 55 Steps 1-3 always needed. **Note:** host and client processors must be able to communicate with each other to use this method (i.e. the network must be configured and both processors must have SHOWRUNNER™ program and configuration loaded).
Alexander Mott 36.1 56
Craig Lewis 12.1 57 1. Define remote system in the config:
Alexander Mott 32.1 58 ## "RemoteSystems": [
59 {
60 "SystemId": (% style="color:darkcyan" %)1(%%),
61 "IpAddressOrHostname": "10.44.5.91",
62 "Label": "HUB-1-1",
63 "ConnectionType": "LWAPI"
64 },
65 ],##
Mark Kohlmann 18.1 66 1. Add Users :
67 if CWS User is not needed:
68 ##DIN-AP4>sr remote system auth (% style="color:darkcyan" %)**1**(%%) (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI**(%%)##
69 if CWS User is needed:
Mark Kohlmann 19.1 70 ##DIN-AP4>sr remote system auth (% style="color:darkcyan" %)**1**(%%) (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI **(% style="color:purple" %)**lwapi**(%%)** (% style="color:darkgoldenrod" %)dMFN9pJJXjWLGd7t(%%)**
71 Success##
Mark Kohlmann 18.1 72 1. Save the configuration
Alexander Mott 36.1 73
Alexander Mott 35.1 74 == Client processor (LWAPI Client) Setup (Version 3.010 or earlier) ==
Alexander Mott 36.1 75
Alexander Mott 34.1 76 Steps 1-3 and 6 always needed.
Alexander Mott 36.1 77
Mark Kohlmann 18.1 78 1. Define remote system in the config:
Alexander Mott 32.1 79 ## "RemoteSystems": [
80 {
81 "SystemId": (% style="color:darkcyan" %)1(%%),
82 "IpAddressOrHostname": "10.44.5.91",
83 "Label": "HUB-1-1",
84 "ConnectionType": "LWAPI"
85 },
86 ],##
Craig Lewis 12.1 87 1. Add remote user for LWAPI (this is the key and secret created on the host):
Mark Kohlmann 5.1 88 ##DIN-AP4>sradmin add remote user HUB-1 (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI**(%%)
89 Remote User HUB-1 ((% style="color:green" %)//**1a920b8b-3ab8-44bd-bc7b-0fc77abf0a13**//(%%)) added with Group permissions Remote Connection##
Alexander Mott 34.1 90 1. Assign users to the remote connection, System ID in this example is 1. API user is to authenticate with the API. CWS user is to authenticate with the Crestron Web Server before authenticating with the ShowRunner REST API:
Mark Kohlmann 10.1 91 ##DIN-AP4>sradmin assign remote user API (% style="color:darkcyan" %)**1**(%%) (% style="color:green" %)//**1a920b8b-3ab8-44bd-bc7b-0fc77abf0a13**//(%%)##
92 ##User HUB-1 assigned to remote system 1:HUB-1-1 for API Authorization##
Craig Lewis 12.1 93
94 1. If 3-series w/ auth enabled or 4-series with user page auth enabled then add a remote user with permissions to connect to the control system.
95 ##DIN-AP4>sradmin add remote user HUB-1_CWS (% style="color:purple" %)**lwapi**(%%)** (% style="color:darkgoldenrod" %)dMFN9pJJXjWLGd7t(%%)**
96 Remote User HUB-1_CWS ((% style="color:red" %)//**d7c88ecb-7212-4e8b-8749-ddca759c6a62**//(%%)) added with Group permissions Remote Connectio##
97 1. If Necessary:
Alexander Mott 34.1 98 ##DIN-AP4>sradmin assign remote user CWS (% style="color:darkcyan" %)**1**(%%) (% style="color:red" %)//**d7c88ecb-7212-4e8b-8749-ddca759c6a62**//(%%)
Mark Kohlmann 6.1 99 User HUB-1_CWS assigned to remote system 1:HUB-1-1 for API Authorization##
Craig Lewis 12.1 100 1. Save the configuration and restart ShowRunner™