In order to add a device to the platform, call the add device method in the device installation web service (for a specific domain) for each device.
Each device type may require its own set of attributes, security settings, etc. Each device type may have its own registration mechanism.
To add a DLMS Device to the Platform, take a look at the documentation of the Soap call AddDevice as defined in the SmartMeteringInstallation.wsdl.
To add an OSLP Device to the Platform, the Soap call defined in CoreDeviceInstallation can be used, or the UpdateKey Request.
Please take a look at the chapter Testing the open smart grid platform in the installation manual for a detailed guide of how to add a OSLP device to the platform.
In the Domain Chapter of the documentation more information of the Web Service calls can be found for Adding devices, setting configuration, authorizations, schedules, firmware updates, etc.
Soap Requests in GXF have fields for an User name and an Application name in the Header. These are only used for logging and auditing. There are no restrictions (e.g. Authorizations) with regard to these fields. However, it is recommended to use names for Logging and Auditing purposes.
This chapter describes how to add a new Organisation to the platform. This includes creating a certificate for the new organisation.
In SoapUi go to DeviceManagement under the Admin project. Click on request 1 under CreateOrganisation. Fill in the parameters like the example request below. Make sure to sign the request with the test-org.pfx and to use the test-org organisation in the request header.
This request creates a new organisation called "my-org":
To use this new organisation to control the SSLD_000-00-01 device, the authorisations need to be updated. To do that the UpdateDeviceAuthorisations request will be used, it can be found under DeviceManagement in the admin project.
Fill in the parameters like shown below. The functionGroup will be set to AdHoc to authorise the 'my-org' organisation for the AdHoc functions.
Make sure to use the test-org as OrganisationIdentification in the request header, and to sign the request with the test-org.pfx.
Now that the 'my-org' organisation is authorised to use the SSLD_000-00-01 device, it is time to create a certificate for the my-org organisation. This certificate will be used to sign the requests.
Open a terminal and navigate to /home/dev/Sources/OSGP/Config/certificates/
A script has been created to create the certificates, execute it by running the following command in the terminal:
You should receive similar output as shown in the screenshot below.
Now that the certificate has been created, restart the tomcat server.
When the tomcat server is up and running again, go to SoapUi and add the new certificate to the public-lighting project: double-click on the project, go to the WS-Security Configurations tab and select the keystores tab. Click the '+' button and browse to the my-org.pfx certificate which can be found in /home/dev/Sources/OSGP/Config/certificates/osgp-ca/certs/
Now double-click on 'Request 1' in SetLight in PublicLightingAdHocManagement in the public-lighting project. Set the SSL Keystore to 'my-org.pfx' in the request properties so the request gets signed with the new certificate. Change the request parameters as shown in the example below:
Note the OrganisationIdentification is now set to 'my-org'. Send the new request, you should receive the following response:
Check the device-simulator to see if the dimValue of the SSLD_000-00-01 changed to 50.
You now have successfully created a new organisation, along with a certificate to sign the requests, and changed the device authorisations of the device to accept commands from the new organisation.
We have prepared a full set of configuration (properties files, certificates, key store, ...) which is available in our Config repository. This configuration can be used to setup a trial environment.
The main config is enabling the throttling client in your application
The throttling client needs to know where to find the throttling service and tell the service what threshold to use. This is configured using the following settings:
Multiple clients can use the same configuration by using the same throttling.configuration.name
. Throttling will be globally handled across those clients. Make sure all clients that use the same name also use the same throttling.configuration.max.concurrency
. The last client to register a configuration will determine the max concurrency (overwriting previous registrations).
The throttling service itself should be deployed only once, it is not suited for load balanced deployment.