Last modified by Alexander Mott on 2023/07/07 15:17

Hide last authors
Scott Kohlmann 31.1 1 ===== Use ShowRunnerCLC™ version 3.010 or later =====
Craig Lewis 14.1 2
Mark Kohlmann 21.1 3 Terminology:
Craig Lewis 14.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)
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).
10
11 Steps:
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##
Mark Kohlmann 21.1 26
Alexander Mott 25.1 27 ===== Host processor (LWAPI Server) Setup (e.g. DIN-AP3 @ 10.44.5.91) =====
Mark Kohlmann 1.1 28
Craig Lewis 12.1 29 Steps 1-3 and 5 always needed.
30
31 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 32 1. Enable LWAPI
Alexander Mott 28.1 33 From Console (v 3.011 or later; processor will automatically restart):
Mark Kohlmann 21.1 34 ## sr lwapi enable true##
Alexander Mott 28.1 35 In Config (@ root level; reloading the configuration is required):
Mark Kohlmann 9.1 36 ## "LwApiEnable": true,
37 "LwApiSecurityLevel": "Auth",##
Mark Kohlmann 21.1 38 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 39 ##DIN-AP3>sradmin add api user "Central Control" "Lightweight API Users"
Mark Kohlmann 5.1 40 API User Central Control generated with Group permissions Lightweight API Users and Key: (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) Secret: (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI**(%%)##
Mark Kohlmann 18.1 41 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 42 ##DIN-AP3>adduser -N:(% style="color:purple" %)**lwapi**(%%) -P:(% style="color:darkgoldenrod" %)**dMFN9pJJXjWLGd7t**(%%)
Mark Kohlmann 1.4 43 User account was successfully created.
Mark Kohlmann 18.1 44 DIN-AP3>addusertogroup -N:lwapi -G:Users
45 'lwapi' was successfully added to group 'Users'.##
Craig Lewis 12.2 46 1. Save the configuration
Mark Kohlmann 1.4 47
Alexander Mott 25.1 48 ===== Client processor (LWAPI Client) Setup (e.g. DIN-AP4) Version 3.011 or newer =====
Mark Kohlmann 1.4 49
Alexander Mott 27.1 50 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).
Craig Lewis 12.1 51
52 1. Define remote system in the config:
Alexander Mott 32.1 53 ## "RemoteSystems": [
54 {
55 "SystemId": (% style="color:darkcyan" %)1(%%),
56 "IpAddressOrHostname": "10.44.5.91",
57 "Label": "HUB-1-1",
58 "ConnectionType": "LWAPI"
59 },
60 ],##
Mark Kohlmann 18.1 61 1. Add Users :
62 if CWS User is not needed:
63 ##DIN-AP4>sr remote system auth (% style="color:darkcyan" %)**1**(%%) (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI**(%%)##
64 if CWS User is needed:
Mark Kohlmann 19.1 65 ##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(%%)**
66 Success##
Mark Kohlmann 18.1 67 1. Save the configuration
68
Alexander Mott 25.1 69 ===== Client processor (LWAPI Client) Setup (e.g. DIN-AP4) Version 3.010 or earlier =====
Mark Kohlmann 18.1 70
71 Steps 1-3 and 6 always needed.
72
73 1. Define remote system in the config:
Alexander Mott 32.1 74 ## "RemoteSystems": [
75 {
76 "SystemId": (% style="color:darkcyan" %)1(%%),
77 "IpAddressOrHostname": "10.44.5.91",
78 "Label": "HUB-1-1",
79 "ConnectionType": "LWAPI"
80 },
81 ],##
Craig Lewis 12.1 82 1. Add remote user for LWAPI (this is the key and secret created on the host):
Mark Kohlmann 5.1 83 ##DIN-AP4>sradmin add remote user HUB-1 (% style="color:blue" %)**YTd2pQn7sjwiOWD9NqCIWw**(%%) (% style="color:orange" %)**OeiQEFo_-EDfc7sQe_qRpeQzSkZjylV2roa76utpJLI**(%%)
84 Remote User HUB-1 ((% style="color:green" %)//**1a920b8b-3ab8-44bd-bc7b-0fc77abf0a13**//(%%)) added with Group permissions Remote Connection##
Craig Lewis 12.1 85 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 86 ##DIN-AP4>sradmin assign remote user API (% style="color:darkcyan" %)**1**(%%) (% style="color:green" %)//**1a920b8b-3ab8-44bd-bc7b-0fc77abf0a13**//(%%)##
87 ##User HUB-1 assigned to remote system 1:HUB-1-1 for API Authorization##
Craig Lewis 12.1 88
89 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.
90 ##DIN-AP4>sradmin add remote user HUB-1_CWS (% style="color:purple" %)**lwapi**(%%)** (% style="color:darkgoldenrod" %)dMFN9pJJXjWLGd7t(%%)**
91 Remote User HUB-1_CWS ((% style="color:red" %)//**d7c88ecb-7212-4e8b-8749-ddca759c6a62**//(%%)) added with Group permissions Remote Connectio##
92 1. If Necessary:
Mark Kohlmann 7.1 93 ##DIN-AP4>sradmin assign remote user CWS (% style="color:darkcyan" %)**1**(%%) (% style="color:red" %)//**d7c88ecb-7212-4e8b-8749-ddca759c6a62**//(%%)
Mark Kohlmann 6.1 94 User HUB-1_CWS assigned to remote system 1:HUB-1-1 for API Authorization##
Craig Lewis 12.1 95 1. Save the configuration and restart ShowRunner™