WorkSys

WorkSys

Did You Know?

WorkSys simplicity is the ultimate sophistication

leafleafleafDocy banner shape 01Docy banner shape 02Man illustrationFlower illustration

Typy Atributů digitálních entit

Estimated reading: 6 minutes 78 views

Jsou situace, kdy je třeba aby se vizuální Atribut ještě více přiblížil k předmětu jeho použití. Například pokud chcete přepínač, tak nechce Atribut kde měníte hodnotu na 0 nebo 1. Chcete přepínač (grafický komponent). Toto u tak genericky navrženého systému jako je WorkSys je vždy výzva. V této části si ukážeme, jak hravě umí tyto potřeby řešit WorkSys.

Přesně za tímto účelem vznikl Parametr Atributu rich_type, který takovýmto způsobem dává informaci forntendu, jak má vizualizovat daný Atribut na web uživatelském rozhraní.

Jak jsme již psali v předchozí kapitole, tak rozšíření parametru value_type o další parametr rich_type umožňuje zobrazit speciální prvek uživatelského rozhraní nebo formátování. Paramater rich_type je volitelný a doplňuje se jen v případě potřeby.

Seznam možnosti je následující:

color

Tento parametr je definován, pokud je value_typestring„. Hodnota Atributu je pak hexadecimální vyjádření barvy (viz Color HEX

				
					...
  "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"
  },
  ...
				
			

url

 

Tento parametr je definován, pokud je value_type string„. Hodnota Atributu je pak URL linka, která je z detailu entitiy kliknutelná jako hypertextový odkaz.

				
					...
  "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": "https://online.worksys.space/worksys/"
  }
...
				
			

switcher

 

Tento parametr je definován, pokud je value_type bool„. Hodnota Atributu je pak vizuální přepínač.

				
					...
  "state_of_contactor": {
    "type": "telemetry",
    "unit": "",
    "trans": {
      "cz": "Stav stykače",
      "de": "Zustand des Schützes",
      "en": "State of contactor",
      "sk": "Stav stýkača"
    },
    "rich_type": "switcher",
    "value_type": "bool",
    "controllable": {
      "method": "set_command",
      "command": "switch",
      "maintenance_by": "local_energy"
    },
    "value_default": false
  },
  ...
				
			

datetime

Tento parametr je definován, pokud je value_typenumber„. Transformuje časové razítko z UNIX formátu (Epoch formát) do formátu požadovaného uživatelem. Výstup je formátován na např.: „RRRR-MM-DDTHH:mm:ssZ“, používá metodu formátování z moment.js)

				
					...
  "maintenance_date": {
    "type": "static",
    "unit": null,
    "trans": {
      "cz": "Datum údržby",
      "de": "Wartungsdatum",
      "en": "Maintenance date",
      "sk": "Dátum údržby"
    },
    "rich_type": "datetime",
    "value_type": "number",
    "value_default": 0
  },
  ...
				
			

duration

Tento parameter sa definuje ak je value_type „number“. Transformuje výsledok rozdielu časov v UNIX formáte (Epoch formát) na zrozumiteľné vyjadrenie časového rozdielu napr. 12:43:18.

Výstup je formátovaný na napr.: „RRRR-MM-DDTHH:mm:ssZ“, používa metódu moment.js duration extension)

				
					...
  "duration": {
    "type": "telemetry",
    "unit": null,
    "trans": {
      "cz": "Doba trvání",
      "de": "Dauer",
      "en": "Duration",
      "sk": "Trvanie"
    },
    "format": "HH:mm:ss",
    "rich_type": "duration",
    "value_type": "number",
    "value_default": 0
  },
...
				
			

Dalším parametrem format můžete nastavit očekávaný formát výstupu.

switch_profile_select

Tento parametr je definován, pokud je value_type string„. Zobrazuje výběr pro změnu profilů přepínače. Součást bez oprávnění není aktivní a nemůže být ovládán uživatelem.

				
					...
  "profile_line": {
    "type": "telemetry",
    "unit": null,
    "rich_type": "switch_profile_select",
    "value_type": "number",
    "controllable": {
      "method": "set_profile",
      "maintenance_by": "local_setup"
    },
    "value_default": null
  },
...
				
			

dimming_profile_select

 

Tento parametr je definován, pokud je value_type string„. Zobrazuje výběr pro změnu profilů přepínače. Součást bez oprávnění není aktivní a nemůže být ovládán uživatelem.

				
					...
  "dimming_profile": {
    "type": "telemetry",
    "unit": null,
    "rich_type": "dimming_profile_select",
    "value_type": "string",
    "controllable": {
      "method": "set_profile",
      "maintenance_by": "local_setup"
    },
    "value_default": ""
  },
...
				
			

attribute_rules

Tento parametr obsahuje podmínky pro modul pravidel. Viz: RuleEngine . Nejčastěji se používá při nastavování barevné vizualizací v závislosti na hodnotě Atributu.

				
					...
  "status": {
    "type": "telemetry",
    "unit": null,
    "trans": {
      "en": "Status",
      "sk": "Stav",
      "de": "Status",
      "cz": "Stav"
    },
    "value_type": "string",
    "value_default": "virtual",
    "attribute_rules": {
      "fill_color": [
        {
          "value": "#adadad",
          "condition": "virtual"
        },
        {
          "value": "#1eff00",
          "condition": "OK"
        },
        {
          "value": "#ff2a00",
          "condition": "NOK"
        }
      ]
    }
...
				
			

Nebo například při interpretaci úrovně svícení, kde se barva určuje intervalem hodnot.

				
					...
"dimming": {
    ...
    "attribute_rules": {
        "fill_color": [
            {
              "condition": "(,50]",
              "value": "#fcfeff"
            },
            {
              "condition": "(50,80]",
              "value": "#f0f7ff"
            },
            {
              "condition": "(80,)",
              "value": "#deebf7"
            }
        ]
    }
    ...
}
...
				
			

controllable

Tento parametr umožňuje k aktivním autorizačním prvkům vložit podmínky dodatečné autorizace potřebné přímo v definici profilu uživatele pro aktivní použití daného grafického prvku.

				
					...
    "controllable": {
      "maintenance_by": "lighting",
      "method": "set_command",
      "command": "dimming"
    },
...
				
			

Dalšími Parametry „method“ a „command“ nastavujeme grafický prvek, který má být ovlivněn. Podporované „command“ hodnoty jsou:

  • dimming
  • switch
				
					...
    "controllable": {
      "maintenance_by": "lighting",
      "method": "set_command",
      "command": "switch"
    },
...
				
			

Rule Engine

Rule Engine nastaví atribut entity na základě definovaných pravidel podmínek. Podmínkou může být pravidlo intervalu (např.: (50,80)) nebo jakákoli platná hodnota JSON pro srovnání (např.: true, „notokstring“, 12, …)

  • (<hodnota> , <hodnota> ) – otevřený interval
  • [ <hodnota> , <hodnota> ] – uzavřený interval (včetně koncového bodu)

Leave a Comment

CONTENTS