Info.json file documentation

Integrated since version 3.0 from Jeedom, the file info.json is mandatory for the proper functioning of plugins, and their proper deployment on the Jeedom Market.

The info file.json is saved in the folder /plugin_info/ of your plugin.

List of file variables info.json

Fields marked with * are mandatory fields.

Fields Values  
id * Unique identifier of the plugin on the Jeedom Market. Must start with a letter. Without accents. Cannot contain _  
name * Plugin name.  
description * Description of the plugin, as it will appear on the Jeedom Market. Minimum 80 characters. (<br/> for the new line.). Attention it is a table for the different languages of possible jeedom (look at the example of the template plugin)  
utilization Additional information to the documentation on the use of the plugin.  
licence * Type of license.  
author * Name of the plugin author, as it will be displayed once the plugin is installed, in the plugin information.  
require * Minimum required version of Jeedom (Core).  
os Minimum and maximum required Debian version. In the form of a json object, example : {“min” : 10,”max” : 12.99} (Core 4.4.15 minimum). If either is not filled, it will not be compared to the user’s OS version. You can specify a more precise version like 10.5 for example. To remove the version restriction you have to republish on the market with an empty value “”. Note that for the max, it is advisable to put .99 to include all minor versions.  
category * Ranking category of the plugin on the Jeedom Market. It is imperative to respect the nomenclature of the table below  
display If the plugin uses a dedicated panel on the desktop,. This is the name of the main file for this panel.  
mobile If the plugin uses a dedicated panel on the Jeedom webApp. This is the name of the main file for this panel.  
changelog * Html link to Changelog.  
documentation * Html link to plugin documentation.  
changelog_beta * Lien Html vers le Changelog Beta.  
documentation_beta * Lien Html vers la documentation beta du plugin.  
link -> video Html link to a video presentation.  
link -> forum Html link to the forum on the official subject of the plugin.  
language List of languages available for the plugin: fr_FR, en_US, de_DE, it_ITes_ESpt_PT  
compatibility Plugin compatibility: miniplus, smart, docker, rpi, diy, mobileapp, v4.  
hasDependency «true» si the plugin must install dependencies, sinon «false» ou absent.  
hasOwnDeamon «true» si the plugin must run daemons, sinon «false» ou absent.  
maxDependancyInstallTime Maximum time allowed for the installation of dependencies, expressed in minutes.  
specialAttributes Permet aux plugin de demander des parametre suplémentaire sur des objets or users (take a good look at the example of the template plugin) (See explanations below)  
issue URL to the bugtracker if external (if not filled then you will receive an email)  

Exemple

Plugin-template file / plugin_info / info.json

CATEGORY NOMENCLATURE

Jeedom Market Info.JSON
Communication communication
Comfort wellness
Energy energy
Weather weather
Monitoring monitoring
Multimedia multimedia
Nature nature
Connected objects devicecommunication
Organization organization
Home automation gateway home automation protocol
Programming programming
Home automation protocol automation protocol
Health health
Security security
Automatism automatisation

SpecialAttributes

These attributes make it possible to ask users for additional parameters, on each object (object in the Jeedom sense : Tools / Objects menu; typically this represents the rooms in our home automation) or for each user.

Utilisation

In your code, you can retrieve the value of these parameters using the User object for a User attribute, or the jeeObject object for an object attribute:

user : $user->getOptions(‹ plugin::Plugin_id::key ›)
object : $jeeObject->getConfiguration(‹ plugin::Plugin_id::key ›)

Object Attributes

The syntax is as follows to propose 2 specific parameters per object :

	"specialAttributes" : {
		"object" : {
			"toto" : {"name" : {"fr_FR" : "Plop I'm a special attribute"},"type" : "input"},
			"toto2" : {"name" : {"fr_FR" : "Plop I have a special attribute number"},"type" : "number"}
		}
	}

The user will be able to define these 2 parameters for each object in the object configuration menu (Tools / Objects menu). Here a free text, and a digital. Attribut Objet

User attributes

	"specialAttributes" : {
		"user" : {
			"toto" : {"name" : {"fr_FR" : "Plop I am a special attribute users"},"type" : "select","values" : [{"value" : "1", "name" : "value 1"},{"value" : "plop", "name" : "plop value"}]}
		}
	}

Here, this attribute allows each user to define a parameter of their own (in the Settings / Preferences menu) Attribut Utilisateur

EqLogic Attributes

	"specialAttributes": {
        "eqLogic": {
            "mqttTranmit": {
                "type": "checkbox",
                "name": {
                    "fr_FR": "Transmit equipment in MQTT"
                }
            }
        }
    }

Here, this attribute allows you to define a parameter for each jeedom equipment (in the advanced configuration of the equipment). You can find it in the equipment configuration under plugin::mqtt2::mqttTranmit (plugin::plugin_id::key)

Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site web. Si vous continuez à utiliser ce site, nous supposerons que vous en êtes satisfait.