« Back to Product

Documentation

Libraries

Require: IP-Symcon >= 4.0

Description

The library is the basis for every module development. Several modules can also be combined to form a library. The required directory structure can be viewed under Structure .
This can be made available via a repository (we recommend Github or Bitbucket).

Integration in IP-Symcon

The library.json file must be available, which is located in the main directory.
Based on the directory structure, IP-Symcon can read in the entire library via the "Module Control".

Parameter Data type Description
id string Each module has its own GUID for unique identification (see info box below). GUID generator
author string Under what name was the library developed?
compatibility (since 4.3) array Checks whether the required version is installed. The kernel version and/or date can be checked. (For further description see table)
name string The name of the entire library. (A-Z, a-z, 0-9, spaces, underscores are allowed characters. However, spaces and underscores may not be at the beginning or the end. An empty name is also not valid.)
url string URL to the homepage (Must begin with http:// or https://. May alternatively be left empty)
version string Version number. This is represented as any desired string. We remmomend the form "number.number". E.g: "4.2"
build integer build number
date integer Unix timestamp
Warning

The GUID is a UUID and has the format 8-4-4-4-12. The numbers indicate the number of digits. The digits consist of characters between 0-9 and A-F. There must always be hyphens and curly brackets. Only capital letters may be used. (Example: {12345678-90AB-CDEF-1234-567890ABCDEF})

Compatibility

Parameter Data type Description
version (optional) string Minimum version as a string. E.g: "4.2"
date (optional) integer Date as UnixTimestamp. E.g: 1491343200

Examples

library.json

{
     "id": "{F96B257F-85E7-47CF-8340-8FE850AACD10}",
     "author": "Symcon GmbH",
     - name: "Misc Modules",
     "url": "https://www.symcon.de",
     "compatibility": {
         "version": "4.2",
         "date": 1491343200
     },
     "version": "1.0",
     "build": 0,
     "date": 0
 }
Any questions?