Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
Následující verze Obě strany příští revize
cs:mervis-scada:50-api [2021/04/06 10:06]
l.osladil [Přehled základních API metod]
cs:mervis-scada:50-api [2024/04/16 11:25]
v.musilek [api/set/executeActions]
Řádek 33: Řádek 33:
 ===== Příklad ===== ===== Příklad =====
  
-====api/checkCredentials====+==== api/checkCredentials ====
  
 **Request** **Request**
Řádek 40: Řádek 40:
    * Method: POST    * Method: POST
  
-**Request** 
  
 <code javascript> <code javascript>
Řádek 53: Řádek 52:
 </code> </code>
  
-  * Získaný token **t** lze použít místo dvojice jméno/heslo v následujících API voláních.+  * Získaný token **t** je třeba použít místo dvojice jméno/heslo v následujících API voláních. 
 + 
 + 
 + 
 + 
 + 
 +==== api/v3/get/history ==== 
 + 
 +**Request** 
 + 
 +   * URL: /api/v3/get/history?format=json 
 +   * Method: POST 
 +   * Umožňuje stahovat historii pro více datových bodů 
 +   * V ukázkách je vždy za dvěma lomítky uvedený typ property 
 +   * V sekci credentials lze místo "token" uvést "name" a "password" - použití bez tokenu je ale výkonnostně penalizováno 
 +   * "seriesParameters" - se uvádí jen pokud chceme rozdílné hodnoty než v "commonSeriesParameters" 
 +   * "clientReference" - volitelné - pro dodatečnou identifikaci datového bodu klientem 
 +   * položky "segmenation", "requestState" a "serverState" se vyplňují podle poslední odpovědi serveru. Pro první volání se tyto hodnoty neuvádějí. 
 + 
 + 
 +<code javascript> 
 +
 +    "credentials":
 +        "token":"guid" //string 
 +    }, 
 +    "request":
 +        "commonSeriesParameters":
 +            "from": "2018-12-01T00:00:00Z", //UTC dateTime 
 +            "to": "2018-12-01T10:00:00Z"//UTC dateTime 
 +        }, 
 +        "series":
 +            { 
 +                "seriesParameters":
 +                    "from": "2017-11-28T14:26:16.5029619Z",//UTC dateTime 
 +                    "to": "2018-11-28T14:26:16.5029619Z" //UTC dateTime 
 +                }, 
 +                "clientReference": "myId2a", //string 
 +                "provider":
 +                    "parameters":
 +                        "projectId": "5abf8ca0-94ba-48df-8d3c-7ebe87a12fd0", //guid 
 +                        "dataPointId": "2a9c26c9-2ce3-49c4-909d-9ac1143121f1" //guid 
 +                    } 
 +                } 
 +            }, 
 +            { 
 +                "clientReference": "myId1a", 
 +                "provider":
 +                    "parameters":
 +                        "projectId": "5abf8ca0-94ba-48df-8d3c-7ebe87a12fd0", 
 +                        "dataPointId": "62cf4083-31ed-4bc1-be25-044ba837a9f0" 
 +                    } 
 +                } 
 +            } 
 +        ] 
 +    }, 
 +    "dataSpecification":
 +        "limits":
 +            "count": 1000 //int 
 +        } 
 +    }, 
 +    "segmentation":
 +        "requestState": ";;2;;0", //string 
 +        "serverState": "xyz" //string 
 +    } 
 +
 +</code> 
 + 
 +**Response** 
 + 
 +   * Dokud je v odpovědi v sekci "segmentation" uveden "requestState" existují v daném rozsahu další historie. 
 +   * "requestState" a "serverState" je nutné do dalšího případného dotazu na historii předat. 
 +   * Values 
 +     * v - hodnota 
 +     * ts - začátek platnosti hodnoty 
 +     * gt - konec platnosti hodnoty 
 +     * i - interval, pokud je jiný než uvedená hodnota u celé série 
 +   * Meta 
 +     * type - typ uložených hodnot - double, string, datetime 
 +     * unit - jednotky 
 +     * interval - informace o periodě, v jaké by měly být hodnoty v databázi uloženy. Slouží k identifikaci chybějících záznamů. 
 + 
 +<code javascript> 
 +
 +"result":
 +        "code": 0, //int 
 +        "subCode": 0, //int 
 +        "message": "" //string 
 +    }, 
 +    "data":
 +        "count": 3, //int 
 +        "historyData":
 +            { 
 +                "clientReference": "myId2a", //string 
 +                "provider":
 +                    "id": "689e32fa-24a2-448e-9374-6158e6e6cb15", //guid 
 +                    "parameters":
 +                        "projectId": "5abf8ca0-94ba-48df-8d3c-7ebe87a12fd0", //guid 
 +                        "dataPointId": "2a9c26c9-2ce3-49c4-909d-9ac1143121f1" //guid 
 +                    } 
 +                }, 
 +                "meta":
 +                    "type": "string", //string 
 +                    "unit": "", //string 
 +                    "interval": "PT3M" //string - ISO8601 Timespan 
 +                }, 
 +                "values":
 +                    { 
 +                        "v": "AUT", //string 
 +                        "ts": "2018-11-26T12:22:15.25795Z", //dateTime 
 +                        "gt": "2018-11-26T13:22:15.5784067Z" //dateTime 
 +                    } 
 +                ] 
 +            }, 
 +            { 
 +                "clientReference": "myId1a", 
 +                "provider":
 +                    "parameters":
 +                        "projectId": "5abf8ca0-94ba-48df-8d3c-7ebe87a12fd0", 
 +                        "dataPointId": "62cf4083-31ed-4bc1-be25-044ba837a9f0" 
 +                    } 
 +                }, 
 +                "meta":
 +                    "type": "double", 
 +                    "unit": "hod", 
 +                    "interval": "PT3M" 
 +                }, 
 +                "values":
 +                    { 
 +                        "v": 12939,//double 
 +                        "ts": "2018-11-30T23:58:15.2394603Z", 
 +                        "gt": "2018-12-01T01:37:15.4869553Z" 
 +                    }, 
 +                    { 
 +                        "v": 12946, 
 +                        "ts": "2018-12-01T09:22:16.2049051Z", 
 +                        "gt": "2018-12-01T10:37:15.4023519Z", 
 +                        "i": "PT4M" 
 +                    } 
 +                ] 
 +            } 
 +        ] 
 +    }, 
 +    "segmentation":
 +        "requestState": "xyz", //string 
 +        "serverState": "xyz" //string 
 +    } 
 +
 + 
 + 
 +</code> 
 + 
 +**Funkční demo** 
 +<code javascript> 
 +
 +    "credentials":
 +        "name": "demo", 
 +        "password": "demo" 
 +    }, 
 +    "request":
 +        "commonSeriesParameters":
 +            "from": "2018-12-01T00:00:00Z", 
 +            "to": "2018-12-01T00:11:00Z" 
 +        }, 
 +        "series":
 +            { 
 +                "clientReference": "myId1", 
 +                "provider":
 +                    "parameters":
 +                        "projectId": "5abf8ca0-94ba-48df-8d3c-7ebe87a12fd0", 
 +                        "dataPointId": "acad79f3-3358-42dd-9b74-98733e63d771" 
 +                    } 
 +                } 
 +            }, 
 +            { 
 +                "clientReference": "myId2", 
 +                "provider":
 +                    "parameters":
 +                        "projectId": "5abf8ca0-94ba-48df-8d3c-7ebe87a12fd0", 
 +                        "dataPointId": "14cf0dbb-b050-43aa-a6f0-22886c33ed8e" 
 +                    } 
 +                } 
 +            } 
 +        ] 
 +    }, 
 +    "dataSpecification":
 +        "limits":
 +            "count": 1000 
 +        } 
 +    } 
 +
 + 
 +</code> 
 + 
  
-====api/get/history====+==== [Deprecated] api/get/history====
  
 **Request** **Request**
Řádek 129: Řádek 321:
  
 </code> </code>
 +
  
 ====api/set/history==== ====api/set/history====
Řádek 173: Řádek 366:
  
 ====api/set/executeActions==== ====api/set/executeActions====
- 
-**Request** 
  
    * URL: /api/set/executeActions?format=xml    * URL: /api/set/executeActions?format=xml
    * Method: POST    * Method: POST
    * Content-Type: text/xml    * Content-Type: text/xml
 +
 +===DoubleValue===
 +
 +**Request**
  
 <code xml> <code xml>
Řádek 204: Řádek 399:
 <code xml><?xml version="1.0" encoding="utf-8"?> <code xml><?xml version="1.0" encoding="utf-8"?>
 <executeActionsResponse xmlns:r="http://dev.rcware.eu/serialization/references" code="Ok" message="OK" xmlns="http://dev.rcware.eu/scada/error-reporting" /></code> <executeActionsResponse xmlns:r="http://dev.rcware.eu/serialization/references" code="Ok" message="OK" xmlns="http://dev.rcware.eu/scada/error-reporting" /></code>
 +
 +===PlanningCalendar===
 +
 +   * v requestu je atribut "val" který odkazuje na index items v definici plánovacího kalendáře
 +   * pokud je kalendář číslený místo "val" se musí použít "dval" pro double hodnoty a "ival" pro integer hodnoty
 +
 +**Request**
 +
 +<code xml>
 +<?xml version="1.0" encoding="UTF-8"?>
 +<executeActionsRequest xmlns="http://dev.rcware.eu/scada/action-defs" 
 +xmlns:n1="http://dev.rcware.eu/auth" 
 +xmlns:r="http://dev.rcware.eu/serialization/references">
 +  <n1:cred t="xxxxx"/> <!-- token -->
 +  <actionDefs projId="17d3ff08-40c1-41c0-ad6a-bad4489323c7">
 +    <actions>
 +      <actionDefItem propName="SET" dpId="396bcab1-1973-4dd9-91a9-284cdced00fb">
 +        <execParam r:type="0066EB7A-4118-4DA0-9E98-ECDE203CA945">
 +          <n2:value xmlns:n2="http://dev.rcware.eu/scada/basic-props">
 +            <n2:changes>
 +              <n2:layer name="Layer123">
 +                <n2:changes>
 +                  <n2:ch cmd="Create">
 +                    <n2:def start="2024-04-09T02:00:00.00Z" end="2024-04-09T06:00:00.00Z" state="Enabled" val="2" p="1" comment="test">
 +                      <n2:metadata/>
 +                    </n2:def>
 +                  </n2:ch>
 +                </n2:changes>
 +              </n2:layer>
 +            </n2:changes>
 +          </n2:value>
 +        </execParam>
 +      </actionDefItem>
 +    </actions>
 +  </actionDefs>
 +</executeActionsRequest></code>
 +
 +**Response**
 +
 +<code xml><?xml version="1.0" encoding="utf-8"?>
 +<executeActionsResponse xmlns:r="http://dev.rcware.eu/serialization/references" code="Ok" message="OK" xmlns="http://dev.rcware.eu/scada/error-reporting" /></code>
 +
 +
 +
  
 ====api/get/values==== ====api/get/values====
  • © Energocentrum Plus, s.r.o. 2017 - 2024