# GetConfiguration

## Description

Request which queries a device for its current configuration.

Response which returns the result of the request and, if 'result = OK', contains the configuration of the device.

## IEC61850 Fields

| **ATTRIBUTE** | **FC** | **SUB ATTRIBUTE** | **DATATYPE** | **DESCRIPTION**                                           |
| ------------- | ------ | ----------------- | ------------ | --------------------------------------------------------- |
| XSWC1.SwType  | ST     | stVal             | INT8         | Switch type for relay 1, tariff = 0, light = 1.           |
| XSWC2.SwType  | ST     | stVal             | INT8         | Switch type for relay 2, tariff = 0, light = 1.           |
| XSWC3.SwType  | ST     | stVal             | INT8         | Switch type for relay 3, tariff = 0, light = 1.           |
| CSLC.SWCf     | CF     | LT                | VisString64  | Device light type, always set to RELAY.                   |
| CSLC.SWCf     | CF     | adSetOft          | INT16        | Offset in minutes with respect to astronomical sunset.    |
| CSLC.SWCf     | CF     | adRiseOft         | INT16        | Offset in minutes with respect to astronomical sunrise.   |
| CSLC.Reg      | CF     | svrAddr           | VisString64  | OSGP server address for device registration.              |
| CSLC.Reg      | CF     | svrPort           | INT32        | OSGP server port for device registration.                 |
| CSLC.Clock    | CF     | dstBegT           | VisString255 | Daylight savings time begin time.                         |
| CSLC.Clock    | CF     | dstEndT           | VisString255 | Daylight savings time end time.                           |
| CSLC.Clock    | CF     | enbDst            | BOOLEAN      | Flag indicating whether daylight savings time is enabled. |
| CSLC.Clock    | CF     | enbNtpC           | BOOLEAN      | Flag inidicating whether NTP client is enabled.           |
| CSLC.Clock    | CF     | ntpSvrA           | VisString255 | NTP server address.                                       |
| CSLC.Clock    | CF     | syncPer           | INT16U       | Time sync period.                                         |
| CSLC.IPCf     | CF     | enbDHCP           | BOOLEAN      | Flag indicating whether DHCP client is enabled.           |
| CSLC.IPCf     | CF     | ipAddr            | VisString32  | Fixed IP address when DHCP is disabled.                   |
| CSLC.IPCf     | CF     | netmask           | VisString32  | Netmask when DHCP is disabled.                            |
| CSLC.IPCf     | CF     | gateway           | VisString32  | Gateway when DHCP is disabled.                            |

## Example

Soap requests and responses sent to and from platform:

```markup
<soapenv:Envelope
      xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:ns="http://www.opensmartgridplatform.org/schemas/common/2014/10"
      xmlns:ns1="http://www.opensmartgridplatform.org/schemas/configurationmanagement/2014/10">
   <soapenv:Header>
      <ns:ApplicationName>SoapUI</ns:ApplicationName>
      <ns:UserName>Sander</ns:UserName>
      <ns:OrganisationIdentification>LianderNetManagement</ns:OrganisationIdentification>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:GetConfigurationRequest>
         <ns1:DeviceIdentification>KAI-0000000053</ns1:DeviceIdentification>
      </ns1:GetConfigurationRequest>
   </soapenv:Body>
</soapenv:Envelope>

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:GetConfigurationAsyncResponse
          xmlns:ns2="http://www.opensmartgridplatform.org/schemas/configurationmanagement/2014/10"
          xmlns:ns3="http://www.opensmartgridplatform.org/schemas/common/2014/10">
         <ns2:AsyncResponse>
            <ns3:CorrelationUid>LianderNetManagement|||KAI-0000000053|||20180925073838432</ns3:CorrelationUid>
            <ns3:DeviceId>KAI-0000000053</ns3:DeviceId>
         </ns2:AsyncResponse>
      </ns2:GetConfigurationAsyncResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

<soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:ns="http://www.opensmartgridplatform.org/schemas/common/2014/10"
    xmlns:ns1="http://www.opensmartgridplatform.org/schemas/configurationmanagement/2014/10">
   <soapenv:Header>
      <ns:ApplicationName>SoapUI</ns:ApplicationName>
      <ns:UserName>Sander</ns:UserName>
      <ns:OrganisationIdentification>LianderNetManagement</ns:OrganisationIdentification>
   </soapenv:Header>
   <soapenv:Body>
      <ns1:GetConfigurationAsyncRequest>
         <ns1:AsyncRequest>
            <ns:CorrelationUid>LianderNetManagement|||KAI-0000000053|||20180925073838432</ns:CorrelationUid>
            <ns:DeviceId>KAI-0000000053</ns:DeviceId>
         </ns1:AsyncRequest>
      </ns1:GetConfigurationAsyncRequest>
   </soapenv:Body>
</soapenv:Envelope>

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header/>
   <SOAP-ENV:Body>
      <ns2:GetConfigurationResponse
          xmlns:ns2="http://www.opensmartgridplatform.org/schemas/configurationmanagement/2014/10"
          xmlns:ns3="http://www.opensmartgridplatform.org/schemas/common/2014/10">
         <ns2:Result>OK</ns2:Result>
         <ns2:Configuration>
            <ns2:LightType>RELAY</ns2:LightType>
            <ns2:RelayConfiguration>
               <ns2:RelayMap>
                  <ns2:Index>1</ns2:Index>
                  <ns2:Address>1</ns2:Address>
                  <ns2:RelayType>TARIFF</ns2:RelayType>
                  <ns2:alias/>
               </ns2:RelayMap>
               <ns2:RelayMap>
                  <ns2:Index>2</ns2:Index>
                  <ns2:Address>2</ns2:Address>
                  <ns2:RelayType>LIGHT</ns2:RelayType>
                  <ns2:alias/>
               </ns2:RelayMap>
               <ns2:RelayMap>
                  <ns2:Index>3</ns2:Index>
                  <ns2:Address>3</ns2:Address>
                  <ns2:RelayType>LIGHT</ns2:RelayType>
                  <ns2:alias/>
               </ns2:RelayMap>
            </ns2:RelayConfiguration>
            <ns2:PreferredLinkType>ETHERNET</ns2:PreferredLinkType>
            <ns2:TimeSyncFrequency>1440</ns2:TimeSyncFrequency>
            <ns2:DeviceFixedIp>
               <ns2:IpAddress>192.168.0.110</ns2:IpAddress>
               <ns2:NetMask>255.255.0.0</ns2:NetMask>
               <ns2:GateWay>192.168.0.1</ns2:GateWay>
            </ns2:DeviceFixedIp>
            <ns2:DhcpEnabled>true</ns2:DhcpEnabled>
            <ns2:OsgpIpAddress>168.63.97.65</ns2:OsgpIpAddress>
            <ns2:OsgpPortNumber>50003</ns2:OsgpPortNumber>
            <ns2:NtpHost>0.nl.pool.ntp.org</ns2:NtpHost>
            <ns2:NtpEnabled>true</ns2:NtpEnabled>
            <ns2:NtpSyncInterval>1440</ns2:NtpSyncInterval>
            <ns2:AutomaticSummerTimingEnabled>true</ns2:AutomaticSummerTimingEnabled>
            <ns2:AstroGateSunRiseOffset>0</ns2:AstroGateSunRiseOffset>
            <ns2:AstroGateSunSetOffset>0</ns2:AstroGateSunSetOffset>
            <ns2:SummerTimeDetails>2019-03-30T23:00:00.000Z</ns2:SummerTimeDetails>
            <ns2:WinterTimeDetails>2018-10-27T22:00:00.000Z</ns2:WinterTimeDetails>
         </ns2:Configuration>
      </ns2:GetConfigurationResponse>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>
```

Platform message of the data read from the device:

```javascript
LogicalDevice: SWDeviceGenericIO
messageType: GetConfiguration {
  XSWC1.SwType[ST].stVal: 0
  XSWC2.SwType[ST].stVal: 1
  XSWC3.SwType[ST].stVal: 1
  CSLC.SWCf[CF].LT: RELAY
  CSLC.SWCf[CF].adSetOft: 0
  CSLC.SWCf[CF].adRiseOft: 0
  CSLC.Reg[CF].svrPort: 50003
  CSLC.Reg[CF].svrAddr: 168.63.97.65
  CSLC.Clock[CF].dstBegT: M3.5.0
  CSLC.Clock[CF].dstEndT: M10.5.0
  CSLC.Clock[CF].enbDst: true
  CSLC.Clock[CF].enbNtpC: true
  CSLC.Clock[CF].ntpSvrA: 0.nl.pool.ntp.org
  CSLC.Clock[CF].syncPer: 1440
  CSLC.IPCf[CF].enbDHCP: true
  CSLC.IPCf[CF].ipAddr: 192.168.0.110
  CSLC.IPCf[CF].netmask: 255.255.0.0
  CSLC.IPCf[CF].gateway: 192.168.0.1
}
```

IEC61850 protocol adapter logging:

```
2018-09-25 07:38:39.006] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/XSWC1.SwType
2018-09-25 07:38:39.058] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/XSWC2.SwType
2018-09-25 07:38:39.074] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/XSWC3.SwType
2018-09-25 07:38:39.091] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.s.c.Iec61850GetConfigurationCommand@apply:90 - Reading the software configuration values
2018-09-25 07:38:39.091] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/CSLC.SWCf
2018-09-25 07:38:39.108] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, LT has value RELAY
2018-09-25 07:38:39.110] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.s.c.Iec61850GetConfigurationCommand@apply:126 - Reading the registration configuration values
2018-09-25 07:38:39.110] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/CSLC.Reg
2018-09-25 07:38:39.129] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, svrAddr has value 168.63.97.65
2018-09-25 07:38:39.129] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.s.c.Iec61850GetConfigurationCommand@apply:144 - Reading the IP configuration values
2018-09-25 07:38:39.130] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/CSLC.IPCf
2018-09-25 07:38:39.146] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, ipAddr has value 192.168.0.110
2018-09-25 07:38:39.146] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, netmask has value 255.255.0.0
2018-09-25 07:38:39.146] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, gateway has value 192.168.0.1
2018-09-25 07:38:39.147] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.s.c.Iec61850GetConfigurationCommand@apply:175 - Reading the clock configuration values
2018-09-25 07:38:39.147] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.h.DeviceConnection@createObjectReference:94 - Device: KAI-0000000053, ObjectReference: SWDeviceGenericIO/CSLC.Clock
2018-09-25 07:38:39.163] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, dstBegT has value M3.5.0
2018-09-25 07:38:39.163] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, dstEndT has value M10.5.0
2018-09-25 07:38:39.163] [osgp-tst-03] [iec61850RequestsMessageListenerContainer-11] INFO o.o.a.p.i.i.n.helper.NodeContainer@getString:88 - Device: KAI-0000000053, ntpSvrA has value 0.nl.pool.ntp.org
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://grid-exchange-fabric.gitbook.io/gxf/protocols/iec61850/swdevice-010805/getconfiguration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
