Skip to content

ThingSet Extra Information via JSON

Martin Jäger edited this page Jan 25, 2021 · 1 revision

Idea

The information provided by ThingSet is not sufficient to create a nice user interface, so it should be enhanced with extra information. This sort of extra information will not be stored on the device, but on a file server together with the device manual, firmware upgrades, etc.

User Manual

Example path: https://files.libre.solar/manuals/mppt-1210-hus-0v3-en.pdf

Two-letter language tag at the end according to ISO 639-1.

Firmware binaries

Example path: https://files.libre.solar/fw/charge-controller/v20.0/mppt-1210-hus.bin

Possible alternative: MCUboot image format

Extra information stored in JSON file together with firmware.

JSON file content

Example path: https://files.libre.solar/fw/charge-controller/v20.0/mppt-1210-hus.json

{
    "$base": "some/path/to/base/tsx/file",

    "conf": {
        "title": {
            "en": "Configuration parameters"
        },

        "BatNom_Ah": {
            "title": {
                "en": "Battery Nominal Capacity",
                "de": "Nominelle Batteriekapazität"
            },
            "unit": "Ah",
            "min": 5,
            "max": 1000
        }
    },

    "output": {
        "LoadInfo": {
            "title": {
                "en": "Load information"
            },
            "readOnly": true
        }
    }
}

Remarks:

  • Ideally the JSON file should be auto-generated from charge controller firmware C code (based on tagged comments)
  • Unit only necessary if not provided by ThingSet data node name
  • Inheritance from base file could be a possible future enhancement
Clone this wiki locally