Owl Automata logo
  • Home
  • About Us
  • Services
  • Products
    Hotel As a Service
    Chameleon+
    Chameleon+From Room Design to Complete ETS Project - hotel automation made simple
    Fire Ant
    Fire AntAutomate the Tedious. Focus on What Matters
    Explore the HaaS concept
    Apps & Tools
    Pro Builder Ecosystem
    Pro Builder
    Pro BuilderETS app for importing generated .knxproj files into ETS.
    Application Template
    Application TemplateMicroapp for extracting, reusing, and sharing KNX application templates.
    SharkNX
    SharkNXConnect. Monitor. Control. ETS Mobile Toolkit on the Go
    View all products
  • Resources
  • Insights
  • Contact
Current versionv1.18.2
LanguageEnglishDeutschFrançaisEspañolItaliano
Documentation home

Bien démarrer avec SharKNX

L'assistant SharKNXProjets ETS dans SharKNXKNX Data SecureKNX IP SecureLe concept Shark Hunt

Comment utiliser les alias et scripts de l'assistantComment se connecter à une passerelle KNXComment créer un Shark HuntComment exporter des télégrammesComment inspecter les objets de communication d'un participantComment charger un projet ETSComment programmer l'adresse physique d'un participantComment lire la table de filtrage d'un coupleurComment scanner une ligne de bus KNXComment envoyer des commandes KNXComment configurer KNX Data SecureComment configurer KNX IP SecureComment utiliser l'assistant

Connexions du projetPage ConnecterPage DiagnosticPage MonitorPage ProjectPage SettingsPage Shark HuntsPage Assistant

Commandes de l'assistantFormat de fichier des alias et scriptsFormat de fichier des tableaux de bordFormats d'exportationFoire Aux QuestionsLimitesMenu latéral et ActionsSyntaxe des filtres du moniteurRéférence des paramètresPlans d'abonnementTypes de points de données (DPT) pris en charge
Référence

Format de fichier des tableaux de bord

Écrivez, exportez et importez les tableaux de bord SharKNX en JSON. Champs, widgets, valeurs par défaut et validation, avec deux exemples à télécharger.

Sur cette page
  1. Structure
  2. Tableau de bord
  3. Espaces et pages
  4. Identifiants et liens
  5. Widgets
  6. Adresses de groupe
  7. Couleurs et icônes
  8. Types de widgets
  9. Connexion
  10. Exemple complet
  11. Validation
  12. Versions

Le format JSON des tableaux de bord de visualisation SharKNX : espaces, pages, widgets et adresses de groupe utilisées.

Un tableau de bord peut être exporté depuis SharKNX au format JSON, puis importé sur le même appareil ou un autre. Vous pouvez aussi l’écrire dans un éditeur de texte : l’application exporte tous les champs, mais l’importation ne demande que les informations qu’elle ne peut pas déduire. Un fichier écrit à la main reste ainsi court.

Le plus simple est de commencer avec le tableau de bord vide ou la maison d’exemple. Vous pouvez aussi créer un petit tableau de bord dans l’application, l’exporter et modifier le fichier.

Sur cette page

  1. Structure
  2. Tableau de bord
  3. Espaces et pages
  4. Identifiants et liens
  5. Widgets
  6. Adresses de groupe
  7. Couleurs et icônes
  8. Types de widgets
  9. Connexion
  10. Exemple complet
  11. Validation
  12. Versions

Structure

Un tableau de bord contient un espace, Home. Tous les autres espaces se trouvent dans Home ou dans un autre espace. Un espace contient une ou plusieurs pages entre lesquelles vous balayez l’écran, avec des widgets disposés en grille.

{
  "format": 1,
  "name": "Villa",
  "home": {
    "name": "Home",
    "tiles": [
      { "type": "switch", "name": "Hall light", "command": "1/0/1", "status": "1/0/2" }
    ],
    "rooms": [
      {
        "name": "Kitchen",
        "tiles": [
          { "type": "switch", "name": "Counter light", "command": "1/4/1" }
        ]
      }
    ]
  }
}

Dans le fichier, les espaces s’appellent rooms, les pages panels et les widgets tiles. Le fichier utilise JSON en UTF-8 ; une marque d’ordre des octets au début est acceptée.


Tableau de bord

Le niveau supérieur du fichier.

Champ Obligatoire Valeur par défaut Description
format Non 1 La version du format. Voir Versions
name Oui (aucun) Le nom du tableau de bord, 50 caractères maximum. Les noms sont uniques sur un appareil : si le nom existe déjà, l’importation propose une copie ou un remplacement
home Oui (aucun) L’espace Home. Voir Espaces et pages
theme Non auto auto (suit le mode clair ou sombre de l’appareil), light, dark, night, wave, sahara, aurora ou neon
buttons Non filled Aspect des boutons des widgets : filled ou plain
keepScreenOn Non false true garde l’écran allumé lorsque le tableau de bord est ouvert
muteBanners Non false true affiche les notifications uniquement dans Activité, sans bannières
favorites Non [] Identifiants des widgets affichés dans Favoris, dans cet ordre, par exemple ["t1", "t4"]
connection Non automatique Connexion du tableau de bord au bus. Voir Connexion

Le champ project d’un fichier importé est ignoré : le lien vers un projet de l’Archive appartient à l’appareil qui a créé le fichier.


Espaces et pages

Champ Obligatoire Valeur par défaut Description
id Non attribué r suivi d’un nombre, par exemple r3. Home est toujours r0. Seul un espace ouvert par un lien a besoin d’un identifiant. Voir Identifiants et liens
name Oui (aucun) Le nom de l’espace, 50 caractères maximum
icon Non par défaut Un nom d’icône, par exemple kitchen. Voir Couleurs et icônes
tiles Un des deux (aucun) Les widgets d’un espace avec une seule page
panels Un des deux (aucun) Les pages d’un espace à plusieurs pages, 10 maximum
rooms Non [] Les espaces contenus dans celui-ci

Utilisez tiles ou panels, pas les deux. Chaque page de panels contient :

Champ Obligatoire Valeur par défaut Description
id Non attribué p suivi d’un nombre, par exemple p2
tiles Non [] Les widgets de la page, dans l’ordre, 100 maximum
{
  "format": 1,
  "name": "Two pages",
  "home": {
    "name": "Home",
    "panels": [
      { "tiles": [{ "type": "switch", "name": "Hall light", "command": "1/0/1" }] },
      { "tiles": [{ "type": "switch", "name": "Porch light", "command": "1/0/5" }] }
    ]
  }
}

Identifiants et liens

Chaque espace, page et widget a un identifiant : r pour les espaces, p pour les pages, t pour les widgets, suivi d’un nombre jusqu’à 999999. Les identifiants sont uniques dans un tableau de bord, pas entre plusieurs tableaux de bord.

  • Si vous omettez les identifiants, l’importation les attribue au-delà du plus grand identifiant du fichier.
  • Indiquez un identifiant lorsqu’un élément y fait référence : un espace ouvert par un widget de navigation, ou un widget figurant dans favorites.
  • Un lien ou un favori doit désigner un identifiant écrit dans le fichier. Un identifiant jamais déclaré est une erreur, même si l’importation aurait attribué cet identifiant à un autre élément.
  • Un fichier exporté contient toujours tous les identifiants.

Widgets

Champs communs à tous les widgets :

Champ Obligatoire Valeur par défaut Description
type Oui (aucun) Le type de widget. Voir Types de widgets
name Oui (aucun) Affiché sur le widget, 50 caractères maximum
id Non attribué t suivi d’un nombre, par exemple t12
icon Non celui du type Un nom d’icône. Voir Couleurs et icônes
size Non celui du type Cellules de grille, largeur × hauteur : 1x1, 2x1, 3x1, 2x2, 3x2 ou 3x3. Chaque type autorise certaines tailles
Type Fonction Tailles Taille par défaut
navigation Ouvre un espace 2x1, 3x1, 2x2 2x1
switch Allume ou éteint un élément 1x1, 2x1, 2x2 2x1
statusIndicator Affiche un état marche/arrêt 1x1, 2x1 1x1
valueDisplay Affiche un nombre 1x1, 2x1, 3x1, 2x2, selon l’affichage 2x1
valueControl Envoie un nombre 1x1, 2x1, 3x1, 2x2 3x1 (2x1 sans commande)
modeStatus Affiche un octet sous forme d’états nommés 1x1, 2x1, 3x1 2x1
dimmer Un éclairage à variation 1x1, 2x1, 3x1, 2x2 2x2
blind Un store ou un volet 1x1, 2x1, 3x1, 2x2, 3x2 2x2
scene Rappelle une scène ou alterne entre deux 1x1, 2x1, 2x2 2x1
scenes Une rangée de boutons de scène 2x1, 2x2, 3x2, 3x3 2x2
tunableWhite Un éclairage à température de couleur 1x1, 2x1, 3x1, 2x2, 3x2 2x2
colorLight Un éclairage RGB, RGBW ou RGB + blanc 1x1, 2x1, 3x1, 2x2, 3x2 2x1
thermostat Une consigne de température ambiante 1x1, 2x1, 3x1, 2x2 2x2
fanCoil Un ventilo-convecteur 1x1, 2x1, 3x1, 2x2, 3x2 (3x3 avec fonctions intégrées) 2x1
airConditioner Une unité split ou VRV via sa passerelle KNX 1x1, 2x1, 3x1, 2x2, 3x3 2x2

Un fichier contenant un type inconnu de cette version de SharKNX n’est pas importé.


Adresses de groupe

Un widget envoie sur certaines adresses (commande) et affiche les valeurs d’autres adresses (état). Les adresses de groupe s’écrivent sur trois niveaux, par exemple "1/2/3". Un DPT comporte un type principal et un sous-type, par exemple "1.001" ou "9.001".

Forme abrégée. Écrivez uniquement l’adresse ; elle prend le DPT de sa fonction : 1.001 pour une commande marche/arrêt, 5.001 pour la luminosité d’un variateur, le DPT de valueType pour un affichage de valeur. Chaque type de widget ci-dessous indique ses valeurs par défaut.

{ "type": "switch", "name": "Hall light", "command": "1/0/1", "status": "1/0/2" }

Forme complète. Pour utiliser un autre DPT du même type principal (1.019 pour un contact de fenêtre, 9.004 pour une valeur en lux), envoyer une commande à plusieurs adresses ou empêcher la lecture d’un état à l’ouverture du tableau de bord :

{
  "type": "switch",
  "name": "All lights",
  "command": { "targets": ["1/0/1", "1/1/1", "1/4/1"], "dpt": "1.001" },
  "status": { "address": "1/0/2", "dpt": "1.001", "readOnOpen": false }
}
Champ Utilisation Obligatoire Valeur par défaut Description
address Commandes et états Un des deux (aucun) Une adresse de groupe
targets Commandes Un des deux (aucun) Plusieurs adresses de groupe recevant toutes la même valeur
dpt Commandes et états Non celui de la fonction Le DPT utilisé pour encoder la valeur
readOnOpen États Non true false : ne jamais lire l’état à l’ouverture du tableau de bord ; attendre le bus

Un DPT doit correspondre à sa fonction : un interrupteur accepte tout DPT 1 (1.001 marche/arrêt, 1.008 montée/descente, …), la luminosité d’un variateur utilise DPT 5.001.


Couleurs et icônes

Les couleurs sont des noms : red, orange, yellow, green, blue, purple ou grey. Chacune possède une nuance claire et une sombre, choisies par le thème.

Les icônes sont des noms du catalogue de l’application, par exemple light_group, floor_lamp, table_lamp, wall_lamp, socket, shutter, curtains, heating, cooling, window, door, temperature, humidity, relax, dinner, all_off. Les icônes d’espaces comprennent home, living, kitchen, dining, bedroom, bathroom, office, hallway, garage, garden et terrace. Le sélecteur d’icônes de l’application affiche tous les noms.

Un nom de couleur ou d’icône inconnu est conservé et affiché avec la valeur par défaut. Un fichier provenant d’une version plus récente de SharKNX reste ainsi importable.


Types de widgets

Navigation

Ouvre un autre espace.

Champ Obligatoire Valeur par défaut Description
target Oui (aucun) L’identifiant de l’espace ouvert, par exemple r1. Cet espace doit déclarer cet identifiant dans le fichier
{
  "format": 1,
  "name": "Links",
  "home": {
    "name": "Home",
    "tiles": [{ "type": "navigation", "name": "Kitchen", "icon": "kitchen", "target": "r1" }],
    "rooms": [{ "id": "r1", "name": "Kitchen", "tiles": [] }]
  }
}

Interrupteur

Un appui alterne entre marche et arrêt, ou envoie toujours la même valeur.

Champ Obligatoire Valeur par défaut Description
command Oui (aucun) Commande, DPT 1 (1.001 si omis)
status Non (aucun) État, DPT 1 (1.001 si omis). Sans état, le widget affiche la dernière valeur envoyée ou reçue sur command
fixed Non (aucun) 1 ou 0 : chaque appui envoie cette valeur au lieu d’alterner
invertCommand Non false true envoie 0 pour marche et 1 pour arrêt. Pas avec fixed
invertStatus Non false true interprète 0 comme marche
zeroLabel, oneLabel Non Arrêt, Marche Les noms des états affichés pour 0 et 1
offIcon Non l’icône L’icône affichée à l’arrêt
onColor, offColor Non celle du thème La couleur de l’icône en marche et à l’arrêt
{ "type": "switch", "name": "Garden pump", "icon": "valve", "command": "1/5/1", "status": "1/5/2", "zeroLabel": "Stopped", "oneLabel": "Running" }

Indicateur d’état

Affiche un état marche/arrêt ; un appui ne fait rien.

Champ Obligatoire Valeur par défaut Description
status Oui (aucun) État, tout DPT 1 (1.001 si omis)
invertStatus, zeroLabel, oneLabel, offIcon, onColor, offColor Non Comme pour Interrupteur
{ "type": "statusIndicator", "name": "Window", "icon": "window", "status": { "address": "6/1/1", "dpt": "1.019" }, "zeroLabel": "Closed", "oneLabel": "Open" }

Affichage de valeur

Affiche un nombre ou des octets bruts tels qu’ils arrivent. Son type est valueDisplay.

Champ Obligatoire Valeur par défaut Description
status Oui (aucun) État. Son DPT doit correspondre à valueType ; s’il est omis, le DPT du type est utilisé (aucun pour hex)
valueType Non f16 Décodage de la valeur, avec le DPT utilisé s’il est omis : percent (5.001), u8 (5.010), s8 (6.010), u16 (7.001), s16 (8.001), f16 (9.001), u32 (12.001), s32 (13.001), f32 (14.056), s64 (29.010) ou hex (octets bruts). Un DPT indiqué peut être tout sous-type du même type principal (pour u8, ni 5.001 ni 5.003)
view Non number number, bar ou gauge. Barre : 2x1 ou 3x1. Jauge : 1x1 ou 2x2. Pas pour hex
unit Non (aucun) Affiché après la valeur, par exemple °C
decimals Non tel que reçu 0 à 2
displayMin, displayMax Non la plage du type La plage d’une barre ou d’une jauge
scaleColors Non celle du thème Couleurs d’une barre ou d’une jauge : coolWarm, greenRed, redGreen ou neutral
displayScale Non 1 La valeur reçue est divisée par ce nombre avant l’affichage, par exemple 1000 pour afficher les Wh en kWh

Une taille 1x1 convient uniquement aux valeurs de 1 ou 2 octets.

{ "type": "valueDisplay", "name": "Power", "icon": "electricity", "valueType": "s32", "unit": "kW", "decimals": 2, "displayScale": 1000, "status": { "address": "9/1/1", "dpt": "13.010" } }

Commande de valeur

Envoie un nombre : avec − et +, un curseur ou des boutons de valeurs prédéfinies.

Champ Obligatoire Valeur par défaut Description
command Oui (aucun) Commande. Son DPT doit correspondre à valueType ; s’il est omis, le DPT du type est utilisé
status Non (aucun) État, comme command
valueType Non f16 Comme pour Affichage de valeur, sauf hex
control Non stepper Ce que le widget affiche : stepper (− et +), slider, buttons ou none
min, max Non la plage du type La plage de déplacement de la commande
step Non 0.5 pour les nombres flottants, 10 pour les pourcentages, sinon 1 Le pas de − et +
unit Non (aucun) Affiché après la valeur
decimals Non tel que reçu 0 à 2
choices Avec buttons [] Jusqu’à 8 boutons : {"value": 21, "name": "Comfort"}, chaque valeur dans la plage et utilisée une seule fois
color Non celle du thème La couleur de l’icône
{
  "type": "valueControl",
  "name": "Hood fan",
  "valueType": "percent",
  "control": "buttons",
  "command": { "address": "6/2/1", "dpt": "5.001" },
  "status": { "address": "6/2/2", "dpt": "5.001" },
  "choices": [{ "value": 0, "name": "Off" }, { "value": 50, "name": "Half" }, { "value": 100, "name": "Full" }]
}

Affichage du mode

Affiche un octet sous forme d’états nommés, par exemple un mode HVAC.

Champ Obligatoire Valeur par défaut Description
status Oui (aucun) État, DPT 5, 17 ou 20 (5.010 si omis)
states Oui (aucun) 1 à 8 états : {"value": 1, "name": "Comfort", "icon": "…"}, valeurs 0–255, chacune une seule fois
color Non celle du thème La couleur de l’icône
{
  "type": "modeStatus",
  "name": "Heating mode",
  "status": { "address": "3/1/9", "dpt": "20.102" },
  "states": [{ "value": 1, "name": "Comfort" }, { "value": 2, "name": "Standby" }, { "value": 3, "name": "Economy" }]
}

Variateur

Un éclairage à variation : l’icône l’allume ou l’éteint, un curseur règle la luminosité, ou − et + la font varier.

Champ Obligatoire Valeur par défaut Description
switch Non (aucun) Commande marche/arrêt, DPT 1.001
switchStatus Non (aucun) État marche/arrêt, DPT 1.001
brightness Avec slider (aucun) Commande de luminosité, DPT 5.001
brightnessStatus Non (aucun) État de luminosité, DPT 5.001
dimming Avec stepper (aucun) Commande de variation relative, DPT 3.007
control Non slider avec brightness, sinon stepper La commande 2x2. Seul l’objet d’envoi de la commande choisie peut être indiqué
stepCode Non 5 Pas de variation, 1–7 : 1 = 100 %, 2 = 50 %, … 5 = 6.25 %, … 7 = 1.56 %
repeatMs Non 500 Répétition tant que − ou + est maintenu : 500, 1000 ou 1250 ms
offIcon, onColor, offColor Non Comme pour Interrupteur
{ "type": "dimmer", "name": "Sofa lamp", "icon": "floor_lamp", "switch": "1/1/10", "switchStatus": "1/1/11", "brightness": "1/1/12", "brightnessStatus": "1/1/13" }

Store

Un store ou un volet : montée, arrêt et descente, ou une position.

Champ Obligatoire Valeur par défaut Description
control Non step step (montée, arrêt, descente) ou position (un curseur)
move Avec step (aucun) Commande montée/descente, tout DPT 1 (1.008 si omis)
stop Avec step (aucun) Commande d’arrêt ou de pas des lamelles, tout DPT 1 (1.008 si omis)
position Avec position (aucun) Commande de position, DPT 5.001
slatAdjustment Non false true pour les stores à lamelles
slatPosition Avec position et des lamelles (aucun) Commande de position des lamelles, DPT 5.001
positionStatus, slatStatus Non (aucun) État de position et de position des lamelles, DPT 5.001
upperEndStatus, lowerEndStatus Non (aucun) État des positions de fin de course, DPT 1 (1.002 si omis)
windAlarm Non (aucun) État d’alarme de vent, DPT 1 (1.005 si omis). Affiché comme avertissement ; ne bloque jamais une commande
invert Non false true pour les actionneurs où 0 % signifie fermé
offIcon Non l’icône L’icône affichée en position ouverte
onColor, offColor Non celle du thème La couleur de l’icône en position fermée et ouverte

0 % signifie ouvert et 100 % fermé. Seuls les objets d’envoi de la commande choisie peuvent être indiqués ; les objets des lamelles nécessitent slatAdjustment.

{ "type": "blind", "name": "Terrace blind", "move": "2/1/1", "stop": "2/1/2", "positionStatus": "2/1/3" }

Scène

Rappelle une scène. En mode toggle, alterne entre deux scènes ; en mode threshold, en choisit une selon une valeur, par exemple la scène A à partir de 20 lux.

Champ Obligatoire Valeur par défaut Description
command Oui (aucun) Commande, DPT 18.001
mode Non single single, toggle ou threshold
scene Non 0 Scène A, telle qu’envoyée : 0–63. La scène KNX 1 vaut 0, la scène 64 vaut 63
sceneB Avec toggle et threshold (aucun) Scène B, 0–63
commandB Non command Envoyer la scène B à sa propre adresse, DPT 18.001
nameA, nameB Non (aucun) Les noms des deux scènes, uniquement avec toggle
iconB Non l’icône L’icône de la scène B
activation Non tap tap, ou hold pour rappeler la scène seulement après un appui maintenu
holdMilliseconds Non 500 Durée de l’appui maintenu : 200, 300, 400, 500, 1000, 2000 ou 3000
saveOnLongPress Non false true : un appui long enregistre l’état actuel comme scène
value Avec threshold (aucun) État servant au choix de la scène. Son DPT doit correspondre à valueType ; s’il est omis, le DPT du type est utilisé
valueType Non f16 Décodage de value, comme pour Affichage de valeur, sauf hex
threshold Non 0 Scène A à partir de cette valeur, scène B en dessous
defaultScene Non a a ou b : la scène rappelée avant la réception d’une valeur
flagAbove, flagBelow Non (aucun) Icônes indiquant le côté actif
color Non celle du thème La couleur de l’icône
{ "type": "scene", "name": "Cinema", "icon": "relax", "mode": "toggle", "command": "4/2/1", "scene": 4, "sceneB": 5, "nameA": "Movie", "nameB": "Lights up" }

Scènes

Un ensemble de boutons de scène sur une adresse.

Champ Obligatoire Valeur par défaut Description
command Oui (aucun) Commande, DPT 18.001
scenes Oui (aucun) 1 à 9 boutons : {"name": "Relax", "scene": 0, "icon": "relax"}. scene est le numéro envoyé, 0–63, chacun une seule fois
color Non celle du thème La couleur des icônes
{
  "type": "scenes",
  "name": "Moods",
  "command": "4/1/1",
  "scenes": [{ "name": "Relax", "scene": 0, "icon": "relax" }, { "name": "Dinner", "scene": 1, "icon": "dinner" }]
}

Blanc réglable

Un éclairage avec luminosité et température de couleur, selon l’une de trois dispositions d’objets.

Champ Obligatoire Valeur par défaut Description
objects Non brightnessTemperature brightnessTemperature, combined (un objet DPT 249.600) ou warmCold (deux niveaux)
switch, switchStatus Non (aucun) Marche/arrêt, DPT 1.001
brightness, brightnessStatus brightnessTemperature avec slider (aucun) Luminosité, DPT 5.001
dimming brightnessTemperature avec stepper (aucun) Variation relative, DPT 3.007
temperature, temperatureStatus brightnessTemperature (aucun) Température de couleur : DPT 7.600 (Kelvin) ou 5.001 (pourcentage de la plage), selon temperatureAs
temperatureAs Non kelvin kelvin ou percent
combined, combinedStatus combined (aucun) Luminosité et température combinées, DPT 249.600
warm, warmStatus, cold, coldStatus warmCold (aucun) Les deux niveaux de blanc, DPT 5.001
warmestK, coolestK Non 2700, 6500 La plage de température, 1000–20000 K. Pas avec warmCold
control, stepCode, repeatMs Non Comme pour Variateur
offIcon, onColor, offColor Non Comme pour Interrupteur

Les objets d’envoi requis et leurs états éventuels dépendent de objects ; les objets d’une autre disposition sont une erreur.

{ "type": "tunableWhite", "name": "Reading light", "switch": "1/2/1", "brightness": "1/2/2", "temperature": "1/2/3", "temperatureStatus": "1/2/4" }

Éclairage couleur

Un éclairage RGB, RGBW ou RGB + blanc réglable.

Champ Obligatoire Valeur par défaut Description
light Non rgb rgb, rgbw ou rgbTunableWhite
control Non la première disposition de l’éclairage Envoi de la couleur : oneObject, rgbAndWhite ou separate, selon le tableau ci-dessous
white Non temperature rgbTunableWhite avec rgbAndWhite : temperature ou warmCold
switch, switchStatus Non (aucun) Marche/arrêt, DPT 1.001
brightness, brightnessStatus Non (aucun) La luminosité globale de l’éclairage, DPT 5.001
onFrom Non switchStatus Ce qui indique que l’éclairage est allumé : switchStatus ou switchOrLevels
temperatureAs, warmestK, coolestK Non Avec un objet de température, comme pour Blanc réglable
offIcon, onColor, offColor Non Comme pour Interrupteur
light control Objets d’envoi
rgb oneObject rgb (DPT 232.600)
rgb separate red, green, blue (DPT 5.001)
rgbw oneObject rgbw (DPT 251.600)
rgbw rgbAndWhite rgb, whiteLevel (5.001)
rgbw separate red, green, blue, whiteLevel
rgbTunableWhite rgbAndWhite rgb, puis temperature, ou warm et cold (selon white)
rgbTunableWhite separate red, green, blue, warm, cold

Chaque objet d’envoi possède un état du même nom suivi de Status (rgbStatus, redStatus, … ; celui du niveau de blanc est whiteStatus). Les états de couleur sont tous indiqués ou tous omis.

{ "type": "colorLight", "name": "Accent strip", "light": "rgb", "switch": "1/3/1", "rgb": "1/3/2", "rgbStatus": "1/3/3" }

Thermostat

Affiche la consigne ou la température ambiante et modifie la consigne.

Champ Obligatoire Valeur par défaut Description
shows Non setpoint La valeur affichée en grand : setpoint ou roomTemperature
unit Non celsius celsius (DPT 9.001) ou fahrenheit (9.027). Les valeurs ne sont jamais converties
control Non absolute absolute (envoie une température) ou increaseDecrease (envoie des pas sur 1 bit)
setpoint Avec absolute (aucun) Commande de consigne, avec le DPT de unit
increase, decrease Avec increaseDecrease (aucun) Envoyer des pas, DPT 1. L’adresse peut être identique
increaseValue, decreaseValue Non true, false Le bit envoyé par increase et decrease
setpointStatus Avec increaseDecrease si la consigne est affichée (aucun) État de consigne
roomTemperature Si affiché (aucun) État de température ambiante
step Non 0.5 Avec absolute : 0.1, 0.2, 0.5 ou 1
min, max Non 7–35 °C, 45–95 °F Les limites de la consigne
color Non celle du thème La couleur de l’icône
{ "type": "thermostat", "name": "Living room", "setpoint": "3/1/1", "setpointStatus": "3/1/2", "roomTemperature": "3/1/3" }

Ventilo-convecteur

Les vitesses d’un ventilo-convecteur, avec marche/arrêt, auto/manuel, chaud/froid, modes HVAC et thermostat en option. Les réglages déterminent les objets du widget ; tous ses objets d’envoi sont obligatoires, les états sont facultatifs.

Champ Obligatoire Valeur par défaut Description
fanSpeed, fanSpeedStatus fanSpeed (aucun) La vitesse du ventilateur : DPT 5.001 pour percent, sinon 5.010
stages Non 3 Vitesses du ventilateur, 1–5
controlAs Non percent Envoi d’une vitesse : percent (pourcentage), value (octet) ou stageNumber (1, 2, 3 …)
statusAs Non controlAs Lecture de l’état, comme controlAs
percentStages, valueStages Non réparties uniformément La valeur de chaque vitesse, par exemple [33, 67, 100] ou [85, 170, 255]
speedZero Non nothing Signification de la vitesse 0 : nothing, auto ou manual
onOff Non false true ajoute switchCommand et switchStatus (DPT 1.001)
autoManualObjects Non (désactivé) one : autoManual (+ autoManualStatus). two : auto et manual (+ états). DPT 1
autoManualInvert Non false Avec one : true si 1 signifie manuel
heatCoolObjects Non (désactivé) one : heatCool (+ heatCoolStatus), DPT 1.100. two : heat et cool (+ états), DPT 1
heatCoolInvert Non false Avec one : true si 1 signifie froid
hvacObjects Non (désactivé) byte : hvacMode (+ hvacModeStatus), DPT 20.102. bits : un objet par mode proposé, hvacAuto, hvacComfort, hvacStandby, hvacEconomy, hvacProtection (+ états), DPT 1
hvacModes Non tous sauf auto Modes proposés : auto, comfort, standby, economy, buildingProtection
thermostat Non (désactivé) Un objet avec les champs shows, unit, control, step, min, max, increaseValue et decreaseValue du Thermostat. Ajoute setpoint ou increase et decrease, ainsi que setpointStatus et roomTemperature
offIcon, onColor, offColor Non Comme pour Interrupteur
{ "type": "fanCoil", "name": "Office fan coil", "fanSpeed": "7/1/1", "fanSpeedStatus": "7/1/2", "onOff": true, "switchCommand": "7/1/3", "switchStatus": "7/1/4" }

Climatiseur

Une unité split ou VRV via sa passerelle KNX. Son type est airConditioner.

Champ Obligatoire Valeur par défaut Description
kind Non split split ou vrv
switchCommand, switchStatus Oui (aucun) Marche/arrêt, DPT 1.001
setpoint, setpointStatus setpoint (aucun) Consigne, avec le DPT de unit
roomTemperature Si affiché (aucun) État de température ambiante
mode, modeStatus mode (aucun) Mode de fonctionnement, DPT 20.105
fanSpeed, fanSpeedStatus fanSpeed (aucun) Vitesse du ventilateur, DPT 5.010
shows, unit, step Non setpoint, celsius, 1 Comme pour Thermostat
min, max Non 16–30 °C, 61–86 °F Les limites de la consigne
modes Non tous pour split ; chaud, froid, ventilation, déshumidification pour vrv Modes proposés : auto, heat, cool, fan, dry
modeValues Non auto 0, chaud 1, froid 3, ventilation 9, déshumidification 14 L’octet envoyé par chaque mode, par exemple {"dry": 4}
fanStages Non 3 Vitesses du ventilateur
fanValues Non [1, 2, 3] L’octet envoyé par chaque vitesse
fanAutoValue Non (aucun) Si indiqué, le ventilateur propose Auto et envoie cet octet pour ce mode
faultAs Non (aucun) Si indiqué, fault est obligatoire : bit (DPT 1.005), code (un octet, DPT 5.010) ou text (DPT 16.000)
fault Avec faultAs (aucun) État de défaut
faultInvert Non false Avec bit : true si 0 signifie un défaut
faultCodes Non [] Avec code : {"value": 3, "text": "Filter"}, textes affichés pour les codes connus
offIcon, onColor, offColor Non Comme pour Interrupteur
{ "type": "airConditioner", "name": "Bedroom AC", "switchCommand": "8/1/1", "switchStatus": "8/1/2", "setpoint": "8/1/3", "mode": "8/1/4", "fanSpeed": "8/1/5" }

Connexion

Connexion du tableau de bord à l’ouverture. Si omise, elle est automatique : conserve une connexion existante de l’application, sinon utilise sa passerelle sélectionnée, sinon lance une recherche.

Champ Obligatoire Valeur par défaut Description
mode Oui (aucun) automatic, gateway ou multicast
gateway Non (aucun) Avec gateway : la passerelle utilisée. Si omise, le tableau de bord ne peut pas démarrer tant qu’une passerelle n’a pas été choisie dans ses réglages
secure Non false Avec multicast : true pour KNX IP Secure Routing

L’objet gateway :

Champ Obligatoire Valeur par défaut Description
host Oui (aucun) Adresse IP ou nom d’hôte
port Non 3671 Port UDP ou TCP
name Non (aucun) Un nom à afficher
transport Non udp udp, tcp ou auto (TCP d’abord, puis UDP)
nat Non false true pour une passerelle derrière NAT
knxAddress Non (aucun) L’adresse physique de la passerelle, par exemple 1.1.250. Secure Tunneling l’utilise pour trouver ses identifiants
secure Non false true pour KNX IP Secure Tunneling
serial, mac Non (aucun) Le numéro de série et l’adresse MAC découverts pour la passerelle
{
  "format": 1,
  "name": "Office",
  "connection": { "mode": "gateway", "gateway": { "name": "Office router", "host": "10.0.0.5", "transport": "tcp" } },
  "home": { "name": "Home", "tiles": [] }
}

Les exports de l’option JSON non protégé ne contiennent ni clés ni identifiants. JSON non protégé et Avec les clés utilisent tous deux l’extension .json ; l’importation détecte la protection à partir du contenu.

JSON protégé par mot de passe

L’option Avec les clés chiffre l’ensemble du contenu. Le conteneur JSON peut être ouvert dans un éditeur de texte, mais la définition du tableau de bord et les clés doivent être déchiffrées pour être lues ou modifiées. Le mot de passe d’exportation est nécessaire à l’importation et n’est jamais enregistré.

Champ du conteneur Valeur ou rôle en version 1
format 1
protected.version 1
protected.cipher AES-256-GCM
protected.kdf PBKDF2-HMAC-SHA256
protected.iterations 600000 ; fixe dans cette version de protection
protected.salt Base64 de 16 octets aléatoires
protected.nonce Base64 du nonce de chiffrement de 12 octets
protected.ciphertext Base64 du contenu chiffré
protected.tag Base64 du tag d’authentification de 16 octets

L’authentification lie aussi le contenu à SharKNX dashboard protected JSON v1. Un mot de passe incorrect ou un texte chiffré altéré ne peut pas produire un tableau de bord importé. Le fichier sélectionné est limité à 32 MiB ; le contenu déchiffré à 16 MiB.

Le contenu déchiffré contient dashboard (la définition décrite ici) et, seulement pour une source de clés propre, keys. Sans keys, le projet reste automatique : l’application destinataire fournit sa propre sécurité. Un paquet propre, même vide, devient Clés importées, enregistré chiffré avec ce tableau de bord sous une nouvelle identité locale. La référence au projet source et le mot de passe d’exportation ne sont jamais enregistrés dans l’application.

keys.groupKeys associe les numéros décimaux d’adresses de groupe KNX (0–65535, sous forme de chaînes) à des clés hexadécimales de 32 chiffres. Seules les adresses utilisées sont conservées. Le champ facultatif keys.credentials contient devices pour une passerelle sécurisée configurée, avec address, éventuellement deviceAuthCode, et interfaces (userId, individualAddress, password) ; le multicast sécurisé contient plutôt backboneKeyHex et backboneSecurityEnabled. Les Tool Keys, adresses et passerelles sans rapport, ainsi que les noms de projets sont exclus.

La connexion automatique et le projet automatique utilisent la configuration de l’application destinataire. Ils ne transportent jamais une copie de la connexion ou du projet de l’application exportatrice. Un tableau de bord à clés propres avec connexion automatique peut contenir ses clés de groupe utilisées, mais aucun identifiant de passerelle. Les réglages du projet affichent Clés importées jusqu’à l’enregistrement du mode automatique ou d’un autre projet ; choisir un projet permet aussi d’utiliser sa liste d’adresses et d’actualiser les clés. Les clés importées peuvent être réexportées.

L’importation se trouve sous + → Ajouter → Importer un tableau de bord. Après réussite, vous restez sur les tableaux de bord ; si le nom existe, vous pouvez choisir Importer une copie ou Remplacer. Les erreurs apparaissent dans une fenêtre avec une section de code défilante et Copier les détails.


Exemple complet

La maison d’exemple : Home avec des liens vers deux espaces, un salon à deux pages et une cuisine, un widget de scènes Moods, deux favoris et une passerelle configurée.

{
  "format": 1,
  "name": "Villa",
  "theme": "night",
  "keepScreenOn": true,
  "favorites": ["t1", "t4"],
  "connection": { "mode": "gateway", "gateway": { "name": "Main gateway", "host": "192.168.1.20" } },
  "home": {
    "name": "Home",
    "icon": "home",
    "tiles": [
      { "type": "navigation", "name": "Living room", "icon": "living", "target": "r1" },
      { "type": "navigation", "name": "Kitchen", "icon": "kitchen", "target": "r2" },
      { "type": "valueDisplay", "name": "Outdoor", "icon": "temperature", "valueType": "f16", "unit": "°C", "decimals": 1, "status": { "address": "5/1/1", "dpt": "9.001" } }
    ],
    "rooms": [
      {
        "id": "r1",
        "name": "Living room",
        "icon": "living",
        "panels": [
          {
            "tiles": [
              { "id": "t1", "type": "switch", "name": "Ceiling light", "icon": "light_group", "command": "1/1/1", "status": "1/1/2" },
              { "type": "dimmer", "name": "Sofa lamp", "icon": "floor_lamp", "switch": "1/1/10", "brightness": "1/1/12", "brightnessStatus": "1/1/13" },
              { "type": "blind", "name": "Terrace blind", "move": "2/1/1", "stop": "2/1/2", "positionStatus": "2/1/3" },
              { "id": "t4", "type": "thermostat", "name": "Living room", "setpoint": "3/1/1", "setpointStatus": "3/1/2", "roomTemperature": "3/1/3" }
            ]
          },
          {
            "tiles": [
              { "type": "tunableWhite", "name": "Reading light", "switch": "1/2/1", "brightness": "1/2/2", "temperature": "1/2/3" }
            ]
          }
        ]
      },
      {
        "id": "r2",
        "name": "Kitchen",
        "icon": "kitchen",
        "tiles": [
          { "type": "switch", "name": "Counter light", "command": "1/4/1", "status": "1/4/2" },
          { "type": "statusIndicator", "name": "Window", "icon": "window", "status": { "address": "6/1/1", "dpt": "1.019" }, "zeroLabel": "Closed", "oneLabel": "Open" }
        ]
      }
    ]
  }
}

Validation

L’importation vérifie tout le fichier et indique chaque problème avec son emplacement, par exemple $.home.rooms[1].tiles[3].status.address. Un fichier contenant un problème n’est pas importé ; rien n’est enregistré.

Problème Exemple
Pas du JSON Une virgule ou un guillemet manquant
Un champ obligatoire manque Un widget sans name
Un champ contient une valeur du mauvais type "size": 2 au lieu de "2x1"
Une valeur inconnue "control": "slide"
Un type de widget inconnu de l’application Un fichier provenant d’une version plus récente de SharKNX
Une adresse nécessaire manque à un widget Un variateur avec control slider, mais sans brightness
Un widget ne respecte pas ses règles Un DPT incompatible avec sa fonction, une taille non autorisée pour le type, un numéro de scène supérieur à 63
Un lien ou un favori ne pointe vers aucun élément "target": "r9" sans espace r9
Un identifiant est utilisé deux fois Deux widgets t4
La forme complète et sa forme abrégée ensemble tiles et panels dans un espace ; address et targets dans un objet d’envoi
Un format de fichier plus récent "format": 2

Limites

Élément Limite
Noms (tableau de bord, espaces, widgets, états, boutons) 50 caractères
Espaces d’un tableau de bord, Home inclus 500
Imbrication des espaces sous Home 8 niveaux
Pages d’un espace 10
Widgets d’une page 100
Widgets d’un tableau de bord 5000
Nombres des identifiants 0–999999

Versions

Chaque fichier exporté commence par "format": 1. Sans ce champ, il est lu au format actuel. Un fichier avec un numéro supérieur provient d’une version plus récente de SharKNX et n’est pas importé ; mettez l’application à jour.

Les fichiers restent importables lorsque SharKNX évolue : les nouveaux champs ont des valeurs par défaut, donc ils peuvent simplement manquer dans un ancien fichier. Un champ ne change jamais de sens sous le même nom. Dans une ancienne application, un fichier récent perd uniquement les champs inconnus de cette application.

PrécédentFormat de fichier des alias et scriptsSuivantFormats d'exportation

Sur cette page

  1. Structure
  2. Tableau de bord
  3. Espaces et pages
  4. Identifiants et liens
  5. Widgets
  6. Adresses de groupe
  7. Couleurs et icônes
  8. Types de widgets
  9. Connexion
  10. Exemple complet
  11. Validation
  12. Versions

← SharKNX product page

logo

Solutions

  • Services
  • Products
  • HaaS

Company

  • About Us
  • Contact

Legal

  • Privacy Policy
  • Cookie Policy
  • Terms & Conditions

Contact

  • info@owl-automata.com
  • Athens, Greece

© 2026 OWL-Automata.com. All rights reserved OWL Automata

  • Terms & Conditions
  • Privacy Policy
  • Cookie Policy