# Appendici

# Criteri nomenclatura Plexus

I carattere accettati da Plexus sono solo i caratteri alfanumerici [0-9, a-z, A-Z] e pochi altri simboli [-, _]. Punti di domanda, spazi, apici e doppi apici, slash e backslash, parentesi e simboli matematici sono proibiti.

Maggiori dettagli sull'uso delle API Functions e delle variabili qui

# Bridge mode API REST

La URL che offre le API REST è http://<HOST>/plexus/api/api.php; accetta sia il metodo GET, che POST.

# Elenco parametri

Nome parametro Obbligatorio Tipo Info
psw check string Password per API / Bridge
read clear array of string Quando incluso, fa sì che la risposta venga popolata con i valori richiesti
write clear array of tuple string-value Quando incluso, fa sì che i valori richiesti vengano scritti nel sistema
alarms_log clear string = "list" Quando incluso, fa sì che la risposta venga popolata con la lista di messaggi di errore associati agli allarmi

Warning

  • il parametro "read" può includere nomi di canali di devices, variabili e timers di sections, e allarmi;
  • il parametro "write" può includere nomi di canali di devices, variabili di sections, e allarmi; i timers al momento non sono supportati in scrittura

Hint

Per visualizzare l'intero elenco di nomi di canali di devices, variabili e timers di sections e allarmi, puoi navigare alla URL http://<HOST>/plexus/pages/data_table.php

# Struttura della risposta

La risposta, un oggetto JSON, avrà questa forma:

{
  "error": 0,
  "response": {
    "system": "OK",
    "alarms_log": {     // questo campo "alarms_log" appare solo quando la richiesta contiene il campo "alarms_log" valorizzato con "list"
      "63637f931523d": {
        "message": "A sensor is broken, please replace it",
        "triggered": 1667465107.086585,
        "alert_name": "Faulty_sensor",
        "element_id": "res",
        "duration": "ACTIVE",
        "rand_id": "63637f931523d",
        "email": 1
      }
    },
    "read": {           // questo campo "read" appare solo quando la richiesta contiene "read"
      "Variable_1": 77,
      "Variable_2": 44
    },
    "write": "OK"       // questo campo "write" appare solo quando la richiesta contiene "write"
  }
}
api_bridge_response
Esempio di risposta JSON per una chiamata effettuata al sistema tramite software Postman

# Esempio con metodo GET

curl --location -g --request GET 'http://localhost/plexus/api/api.php?json={"psw": "93gy6w1v", "read": ["Sensor_1", "Sensor_2"], "write": {"EV_1": 1}}'

Notice

I parametri descritti nella tabella sopra devono andare a formare una JSON string che deve essere passata in query string alla URL come valore di un unico parametro chiamato "json"

# Esempio con metodo POST

curl --location --request POST 'http://localhost/plexus/api/api.php' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'psw=93gy6w1v' \
--data-urlencode 'read[]=Variable_1' \
--data-urlencode 'read[]=Variable_2' \
--data-urlencode 'write[Variable_3]=5' \
--data-urlencode 'alarms_log=list'

Notice

Il Content-Type deve essere 'application/x-www-form-urlencoded'.

Last Updated: 2/2/2024, 16:28:31