Štruktúra digitálnych entít
Štruktúra Typu Entity je definovaná v JSON formáte. JSON je skratka z Java Script Object Notation a zjednodušene by sa dalo povedať, že JSON je javascriptový objekt zapísaný ako textový reťazec. Vďaka tejto vlastnosti je možné kedykoľvek štruktúru upraviť s minimálnymi obmedzeniami. Ďalšou zásadnou výhodou je, že je to možné vykonať počas bežnej prevádzky systému.
Vzorová štruktúra pre Typ Entity
Štruktúra atribútov vzorovej štruktúry (web jsoneditoronline.org editor)
V textovom detaile definície JSON vyzerá nasledovne.
{
"status": {
"type": "telemetry",
"unit": null,
"trans": {
"cs": "Stav",
"de": "Status",
"en": "Status",
"sk": "Stav"
},
"value_type": "string",
"value_default": "virtual",
"attribute_rules": {
"fill_color": [
{
"value": "#adadad",
"condition": "virtual"
},
{
"value": "#1eff00",
"condition": "OK"
},
{
"value": "#ff2a00",
"condition": "NOK"
}
]
}
},
"icon_name": {
"type": "static",
"unit": "",
"trans": {
"cs": "Méno ikony",
"de": "Symbolname",
"en": "Icon name",
"sk": "Meno ikony"
},
"value_type": "string",
"value_default": "first-aid-kit"
},
"fill_color": {
"type": "static",
"unit": null,
"trans": {
"cs": "Barva výplně",
"de": "Füllfarbe",
"en": "Fill color",
"sk": "Farba vyplnenia"
},
"rich_type": "color",
"value_type": "string",
"value_default": "#ff2a00"
},
"atribut_1": {
"type": "static",
"unit": "",
"trans": {
"cs": "Popis attributu 1 v cs jazyku",
"de": "Popis attributu 1 v de jazyku",
"en": "Popis attributu 1 v en jazyku",
"sk": "Popis attributu 1 v sk jazyku"
},
"value_type": "string",
"value_default": ""
},
"atribut_2": {
"type": "telemetry",
"unit": "",
"trans": {
"cs": "Popis attributu 2 v cs jazyku",
"de": "Popis attributu 2 v de jazyku",
"en": "Popis attributu 2 v en jazyku",
"sk": "Popis attributu 2 v sk jazyku"
},
"value_type": "string",
"value_default": ""
},
"atribute_date": {
"type": "telemetry",
"unit": " ",
"trans": {
"cs": "Popis attribute_date v cs jazyku",
"de": "Popis attribute_date v de jazyku",
"en": "Popis attribute_date v en jazyku",
"sk": "Popis attribute_date v sk jazyku"
},
"rich_type": "datetime",
"value_type": "number",
"value_default": 0
},
"atribute_flow": {
"type": "static",
"unit": "",
"trans": {
"cs": "Popis attribute_flow v cs jazyku",
"de": "Popis attribute_flow v de jazyku",
"en": "Popis attribute_flow v en jazyku",
"sk": "Popis attribute_flow v sk jazyku"
},
"value_type": "number",
"value_default": "0.001"
},
"atribute_url": {
"type": "static",
"unit": " ",
"trans": {
"cs": "Popis attribute_url v cs jazyku",
"de": "Popis attribute_url v de jazyku",
"en": "Popis attribute_url v en jazyku",
"sk": "Popis attribute_url v sk jazyku"
},
"rich_type": "url",
"value_type": "string",
"value_default": ""
}
}
Zoznam povinných Atribútov
Každý Typ Entity má tzv. povinne atribúty, aby v systéme aj napriek obrovskej genetickosti a prispôsobiteľnosti všetko spoľahlivo fungovalo. Povinné atribúty sú:
status
Tento atribút reprezentuje stav objekty z pohľadu fungovania. Jeho hodnoty môžu byť nasledovné:
- virtual – predstavuje pripravený digitálny objekt, ktorý ešte nie je napojený na žiadnu prichádzajúcu telemetriu. Hodnota virtual je aj prednastavená hodnota
- OK – predstavuje telemetriou nahranú hodnotu vyjadrujúci správne fungujúci digitálny objekt
- NOK – predstavuje telemetriou nahranú hodnotu vyjadrujúci nesprávne fungujúci digitálny objekt (tj. objekt vykazujúci anomáliu voči stavu OK)
icon_anme
Tento atribút vyjadruje technický názov ikony reprezentujúci daný Typ Entity.
fill_color
Tento atribút vyjadruje hodnotu farby v hexadecimálnom vyjadrení daného digitalneho objektu. A je jedno či ide o ikonu alebo polygón.
Technicky definícia povinných poli v JSON formáte vyzerá nasledovne.
{
"status": {
"type": "telemetry",
"unit": null,
"trans": {
"cs": "Stav",
"de": "Status",
"en": "Status",
"sk": "Stav"
},
"value_type": "string",
"value_default": "virtual",
"attribute_rules": {
"fill_color": [
{
"value": "#adadad",
"condition": "virtual"
},
{
"value": "#1eff00",
"condition": "OK"
},
{
"value": "#ff2a00",
"condition": "NOK"
}
]
}
},
"icon_name": {
"type": "static",
"unit": "",
"trans": {
"cs": "Méno ikony",
"de": "Symbolname",
"en": "Icon name",
"sk": "Meno ikony"
},
"value_type": "string",
"value_default": "first-aid-kit"
},
"fill_color": {
"type": "static",
"unit": null,
"trans": {
"cs": "Barva výplně",
"de": "Füllfarbe",
"en": "Fill color",
"sk": "Farba vyplnenia"
},
"rich_type": "color",
"value_type": "string",
"value_default": "#ff2a00"
},
// ...
// ďalšie atribúty
// ...
}
Vzhľadom k snahe, udržať prichádzajúce údaje do jednotlivých Entít v bezchybnom stave, nie je zatiaľ možne zmeniť štruktúru Typu Entity cez užívateľské rozhranie. Vami vyzvorený nový, alebo upravený Typ Entity Vám do systému nahrá prevádzkovateľ platformy, cez Vami zadanú helpdeskovú požiadavku. Zmenu vykoná bezplatne a aj táto činnosť je už súčasťou mesačného poplatku. Zároveň skontroluje konzistentnosť zmien a v prípade zistenia nezrovnalostí Vás upozorní na potencionálne riziká a zároveň Vám ich pomôže eliminovať.
Štruktúra Atribútu
Na definíciu atribútu sa sa používajú parametre, pomocou ktorých dokážeme “vymodelovať” atribút do takej podoby, aby jeho používanie jednoduché a intuitívne. V nasledujúcej časti si popíšeme jednotlivé parametre atribútu:
type
(povinný parameter)
Tento parameter definuje typ Atribútu z pohľadu spôsobu získavania údajov. Môže mať nasledovné hodnoty:
- static – údaj sa zadavá a mení ručne cez Factory Studio
- telemetry – údaj bude posielaný ako vstupná telemetria zpo zariadenia alebo softvérovej integrácie
- computed – pole bude vypočítavane z ostatných parametrov Atribútov a Atribútov iných Entít v systéme definovaných typom static alebo telemetry.
unit
(povinný parameter)
Tento parameter definuje jednotku fyzikálnej veličiny daného Atribútu (napr. ks, %, €, a pod.)
value_type
(povinný parameter)
Tento parameter definuje typ premennej uloženej v danom Atribúte. Môže nadobúdať nasledovné hodnoty:
- string – textový reťazec
- number – Celé, alebo číslo s desatinnými miestami.
- bool – príznak stavu tj.boolean (true, false)
value_default
(povinný parameter)
Tento parameter určuje iniciálnu hodnotu atribútu pri založení. Ak je value_type number, tak cez iniciálnu hodnotu môžeme nastaviť či sa jedná o celé číslo, alebo o desatinne. Napr. ak bude inicialna hodnota 0, tak pôjde o celé čísla. Ak bude iniciálna hodnota 0.01 tak pôjde o hodnutu s desatinnými miestami.
trans
(povinný parameter)
Tento parameter vystupuje ako objekt a umožňuje zadať preklady názvu Atribútu. Pre každý jazyk sa prekladá cez značky jazykov ( ISO 639-1)
"trans": {
"cs": "Méno ikony",
"de": "Symbolname",
"en": "Icon name",
"sk": "Meno ikony"
},
value_min
(voliteľný parameter)
Predstavuje nastavenie spodnej hranice možnej hodnoty poľa v prípade zadávania používateľom cez web rozhranie. Toto obmedzenie platí, len ak typ poľa je číselný (integer).
value_max
(voliteľný parameter)
Predstavuje nastavenie hornej hranice možnej hodnoty poľa v prípade zadávania používateľom cez web rozhranie. Toto obmedzenie platí, len ak typ poľa je číselný (integer).
rich_type
(voliteľný parameter)
Rozšírenie parametru value_type, umožňuje zobraziť špeciálny prvok používateľského rozhrania alebo formátovanie.
Viac si o tom môžete pozrieť v časti Typy atribútov digitálnych entít.