# Using REST Api to get static info of the devices

**URL:** <https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972>\
**Category:** English Forum\
**Created:** [September 29, 2023, 2:53pm UTC](https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972 "2023-09-29T14:53:42Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![SaikeshErramshetty](https://community.openems.io/user_avatar/community.openems.io/saikesherramshetty/32/762_2.png) [@SaikeshErramshetty](https://community.openems.io/u/SaikeshErramshetty)\
**Post date:** [September 29, 2023, 2:53pm UTC](https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972/1 "2023-09-29T14:53:42Z")

</div>

Hello community,  
I am running openems on my raspberrpi 3B, which is connected in the same network as my Fronius Symo inverter and Siemens PAC2200 meters. I have configured these devices with each modbus id and component id. Also configured Controller Api REST/Json read/write, I am able to get all dynamic information from the devices like activepower, activeproductionpower and all. Now I want to read the static information of the devices like type of Inverter/meter, model, serial number, etc…  
Are there any Api endpoints for these devices? If not, how can I achieve this?

---

<div class="post-metadata">

**Author:** ![tsicking](https://community.openems.io/user_avatar/community.openems.io/tsicking/32/954_2.png) [@tsicking](https://community.openems.io/u/tsicking)\
**Post date:** [September 29, 2023, 3:59pm UTC](https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972/2 "2023-09-29T15:59:45Z")

</div>

Hi Saikesh,

I have not used the REST Api a lot, but if I read the documentation correctly, you can read any channel via the REST Api. That means, if your devices have a channel for type, model, serial number etc., you could read it with the same call (replacing “activepower” by the channel name “serialnumber” or whatever it may be of course).  
In the Fronius Symo, the information is slightly hidden, but it is part of the Sunspec channels, so try calling the channels S1Md for model and S1Sn for Serial number.  
The Siemens PAC meter doesn’t seem to have this channel unfortunately, but if the modbus protocol gives it, you can add the channel there and read it out via modbus.

Best regards,  
Thomas

---

<div class="post-metadata">

**Author:** ![stefan.feilmeier](https://community.openems.io/user_avatar/community.openems.io/stefan.feilmeier/32/2585_2.png) [@stefan.feilmeier](https://community.openems.io/u/stefan.feilmeier)\
**Post date:** [October 15, 2023, 8:44pm UTC](https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972/3 "2023-10-15T20:44:22Z")

</div>

@SaikeshErramshetty: Adding to Thomas’ answer, you can list all available Channels for one device in multiple ways:

- In the Console log: activate the **Controller Debug Detailed Log** and list your component in the `component_ids` property

- In the UI: via Settings → Channels  

- In Excel: export an Excel file with all Channels via System Profile  
 ![grafik](https://community.openems.io/uploads/default/original/1X/d42382143e9ca969ffff7406ae649de79feb66f9.png)

Regards,  
Stefan

---

<div class="post-metadata">

**Author:** ![SaikeshErramshetty](https://community.openems.io/user_avatar/community.openems.io/saikesherramshetty/32/762_2.png) [@SaikeshErramshetty](https://community.openems.io/u/SaikeshErramshetty)\
**Post date:** [October 16, 2023, 3:14pm UTC](https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972/4 "2023-10-16T15:14:55Z")

</div>

Thankyou @tsicking, I was able to call the endpoints that you suggested for Fronius inverter. Is there some document that shows these list of Sunspec channels and do you have an idea about where are these end points scripted in the code?

- I am still trying to find out a way to read out the serial number of the Siemens meters. Does any have an idea?

and Thank you @stefan.feilmeier for the suggestions.

---

<div class="post-metadata">

**Author:** ![stefan.feilmeier](https://community.openems.io/user_avatar/community.openems.io/stefan.feilmeier/32/2585_2.png) [@stefan.feilmeier](https://community.openems.io/u/stefan.feilmeier)\
**Post date:** [October 16, 2023, 8:26pm UTC](https://community.openems.io/t/using-rest-api-to-get-static-info-of-the-devices/1972/5 "2023-10-16T20:26:54Z")

</div>

The available Channels depend on the SunSpec models/blocks that the hardware implements. In the example of Fronius Symo those are defined here - i.e. **1, 111, 112, 113** :

> <https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.pvinverter.fronius/src/io/openems/edge/pvinverter/fronius/PvInverterFroniusImpl.java#L53-L62>

Those blocks are standardized. You can find more information on the official page of the SunSpec Alliance or in the [DefaultSunSpecModel.java](https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.bridge.modbus/src/io/openems/edge/bridge/modbus/sunspec/DefaultSunSpecModel.java) file

* * *

You can find the implementation of the Siemens meter in [MeterSiemensImpl.java](https://github.com/OpenEMS/openems/blob/develop/io.openems.edge.meter.siemens/src/io/openems/edge/meter/siemens/MeterSiemensImpl.java). The code mentions this PDF file as source of the modbus protocol: [https://cache.industry.siemens.com/dl/files/150/26504150/att\_906558/v1/A5E01168664B-04\_EN-US\_122016\_201612221316360495.pdf](https://cache.industry.siemens.com/dl/files/150/26504150/att_906558/v1/A5E01168664B-04_EN-US_122016_201612221316360495.pdf). According to that document, there should be a register `64012 Serial number` with format `Char 16` (page 59).

You can add that register to the protocol definition in OpenEMS.

Regards,  
Stefan
