SunnyWebBox

The Sunny WebBox (made by SMA Solar Technology) is a monitoring system for solar plants which offers RPC (remote procedure calls) to access the data of the box. These calls are made of JSON objects which are transported by HTTP or UDP.

This python module provides a classes that can be used to communicate with a Sunny WebBox. You can use the classes in your own code. A small sample program is used if you run the module as a script. The first parameter is the hostname or IP of the box. A password can be provided with an optional second parameter.

python SunnyWebBox.py 123.123.123.123 “foobar”

There’s no documentation yet. You should try to read and understand the code of the class and the sample program to get an idea of the data structures.

The RPC API is documented here, but the documentation is not complete. I had analyse other tools to get some hints on how to get this working.

Download

The development of this package is hosted on bitbucket.org, you may browse and download the source code and documentation there.


4 Responses to SunnyWebBox

  1. Yannis says:

    Hi, nice posts and projects. I am not familiar with Python and i am trying to get data from a SMA Sunny WebBox. I have written a small C# program which cannot retrieve a response and i tried using the “fiddler” program. Still i am facing some issues and i cannot get a proper response. Can you please help me overcome these barriers. The request i am using is RPC={“Version”:”1.0″,”Proc”:”GetDevices”,”Id”:”1″,”Format”:”JSON”} can you please provide me a sample request in order to try?

    • jraedler says:

      I send a POST request to the URL “/rpc” with the following body:

      RPC={“version”: “1.0”, “proc”: “GetDevices”, “id”: “1”, “format”: “JSON”}

      This works, I get a proper response. The only difference I see to your code is upper/lower case.

      • Yiannis says:

        When i am sending the above request i end up with the following response
        {“format”:”JSON”,”proc”:”UNKNOWN”,”error”:{“message”:”Parse: No string! 17″},”version”:”1.0″,”id”:”ERROR”}. Do you have any idea why this happens? Thank you in advance for your reply.

        • Yiannis says:

          Hmm. Now it seems to be ok. The problem was first the lower case and then the copy and paste of the request that instead of ” it was an ” in italic.

Leave a Reply