- 28 Nov 2024
- 14 Minutes to read
- Print
- PDF
REST API calls
- Updated on 28 Nov 2024
- 14 Minutes to read
- Print
- PDF
How to use this API
In order to execute the desired command, API calls should start with http://<IP_address>:<HTTP_port or https://<IP_address>:<HTTPS_port>, followed by the corresponding request path. <IP_address> must be replaced by the server's IP address and <HTTP_port> and <HTTPS_port> must be replaced by the port assigned to the REST API Server (3003 by default for HTTP requests and 3443 by default for HTTPS requests).
The character '&' should be used to separate each parameter in a GET request.
In a POST request, the parameters are set as a JSON object in the request body.
Alarm
The Alarm API provides information about the status and monitoring of alarms, and operations that can be made on alarms.
List alarms
Retrieves the list of alarms in the target node.
GET /alarm?cmd=get&path=<path>&options.filter.path=<path_filter>
- parameters:
- path: Path to browse for alarms. (Mandatory parameter).
- options:
- recurrent: Include subgroups. (Optional parameter).
- filter: Filter parameters include :
- path: Full alarm path regex filter (Optional parameter).
- status: Status to filter, from 0 to 3 (0: Cleared and acked, 1: Active and acked 2: Cleared and unacked 3: Active and unacked). (Optional parameter).
- priority: Minimum priority (1: Low, 2: Medium, 3: High, 4: Critical). (Optional parameter).
Request example:
http://localhost:3003/alarm?cmd=get&path=/000_PLANT/040_ZONE/040_MTR/&options.filter.path=/000_PLANT/040_ZONE/040_MTR/COM.active
Response example:
[
{
"path": "/000_PLANT/040_ZONE/040_MTR/COM.active",
"description": "Zone 04 - Main Meter: Communications Failure",
"priority": 3,
"remote": null,
"online": 1,
"status": 2,
"ts": 1686639660000,
"value": false,
"format": "%s",
"type": "boolean",
"ackInfo": null
}
]
Get alarm count
Retrieves the number of alarms.
GET /alarm?cmd=count
- parameters:
- path: Path to browse for alarms (Mandatory parameter).
- options:
- recurrent: Include subgroups.
- filter: Filter includes parameters:
- path: Full alarm path regex filter (optional parameter).
- status: Status to filter, from 0 to 3 (0: Cleared and acked, 1: Active and acked 2: Cleared and unacked 3: Active and unacked) (Optional parameter).
- priority: Minimum priority (1: Low, 2: Medium, 3: High, 4: Critical) (Optional parameter).
Request example:
http://localhost:3003/alarm?cmd=count&path=/000_PLANT/040_ZONE/040_MTR/
Response example:
1
Get alarm history
Retrieves historical data of a specific alarm.
GET /alarm?cmd=history&path=<path>&start=<start_date>&end=<end_date>
- parameters:
- path: Alarm path (Mandatory parameter).
- start: Start date. Must be an ISO string or a Unix epoch timestamp (mandatory parameter).
- end: End date. Must be an ISO string or a Unix epoch timestamp (mandatory parameter).
- options:
- recurrent: Include subgroups.
- filter: Filter parameters include:
- path: Full alarm path regex filter (Optional parameter).
- status: Status to filter, from 0 to 3 (0: Cleared and acked, 1: Active and acked 2: Cleared and unacked 3: Active and unacked) (Optional parameter).
- priority: Minimum priority (1: Low, 2: Medium, 3: High, 4: Critical). (Optional parameter).
Request example:
http://localhost:3003/alarm?cmd=history&path=/000_PLANT/040_ZONE/040_MTR/COM.active&start=2023-05-07T00:00Z&end=2023-06-07T00:00
Response example:
{
"request": {
"path": "/000_PLANT/040_ZONE/040_MTR/COM.active",
"start": 1683417600000,
"end": 1686088800000,
"options": {
"recurrent": false,
"filter": {
"path": "(((?=(^.*?(?:))).*))",
"status": null,
"minPriority": null,
"maxPriority": null
}
}
},
"data": []
}
Acknowledge alarm
Acknowledges alarms.
POST /alarm?cmd=ack
- parameters:
- paths: Alarm paths. It can be a single alarm, a comma-separated list, or a JSON array (Mandatory parameter)
- msg: Message to append to this acknowledgement (Optional parameter)
Request example:
http://localhost:3003/alarm?cmd=ack
{
"paths": "/000_PLANT/040_ZONE/040_MTR/COM.active"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Backup
The Backup API provides information about the status of configuration backups, and operations that can be made on backups.
List backups
Retrieves the list of configuration backups in the target node.
GET /backup?cmd=get
Request example:
http://localhost:3003/backup?cmd=get
Response example:
{
"17_5_2023": {
"description": "",
"user": "admin",
"node": "EDGE01@edge01",
"ts": "2023-05-17T09:17:55.317Z",
"versions": {
"exe": "1.21.4-230221.0833",
"bootstrap": "1.38.5-230512.0645-beta",
...
}
},
"29_03_2023": {
"description": "",
"user": "admin",
"node": "EDGE01@edge01",
"ts": "2023-03-29T09:26:28.719Z",
"versions": {
"exe": "1.21.4-230221.0833",
"bootstrap": "1.38.4-230221.0859",
...
}
}
}
Export a backup
Retrieves configuration backup in ZIP format encoded in Base64.
GET /backup?cmd=export&name=<backup_name>
- parameter:
- name: Name of the backup file (Mandatory parameter).
- name: Name of the backup file (Mandatory parameter).
Request example:
http://localhost:3003/backup?cmd=export&name=17_5_2023
Response example:
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
Create a backup
Creates a configuration backup of the target node.
POST /backup?cmd=create
- parameters:
- path: Name of the backup file (Mandatory parameter).
- metadata:
- description: Description of the backup file (Optional parameter).
Request example:
http://localhost:3003/backup?cmd=create
{
"name": "Test"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Rename a backup
Renames a configuration backup.
POST /backup?cmd=rename
- parameters:
- name: Name of the backup file (Mandatory parameter).
- rename: New name of the backup file (Mandatory parameter).
Request example:
http://localhost:3003/backup?cmd=rename
{
"name": "TestImport",
"rename": "EDGE01-PV-PROD"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Delete a backup
Deletes a configuration backup.
POST /backup?cmd=delete
- parameters:
- name: Name of the backup file (Mandatory parameter).
Request example:
http://localhost:3003/backup?cmd=delete
{
"name": "EDGE01-PV-PROD"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Import a backup
Imports a previously exported configuration backup encoded in Base64.
POST /backup?cmd=import
- parameters:
- name: Name of the backup file (Mandatory parameter).
- data: Backup file data, encoded in Base64 (Mandatory parameter).
Request example:
http://localhost:3003/backup?cmd=import
{
"name": "TestImport",
"data": "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LTIwMDcwNy4xNTAyIiwKICAgICJNYXJjaGVzaW5pQ2xpZW50IjogIjEuMS4xLTE4MDgwOC4xMzU3IiwKICAgICJNZXR0bGVyVG9sZWRvQ2xpZW50IjogIjEuMi4wLTIwMDQwMS4yMjAxIiwKICAgICJNb2RidXNDbGllbnQiOiAiMS4yMC4wLTIwMDkyNS4wNjUyIiwKICAgICJNb2RidXNHYXRld2F5IjogIjEuNi41LTIwMDUzMS4xMDA5IiwKICAgICJNb2RidXNTZXJ2ZXIiOiAiMS4xLjEtMjAwNzA3LjE1MDAiLAogICAgIk1xdHRDbGllbnQiOiAiMS41LjMtMjAwNzE3LjA5MTUiLAogICAgIk9wY1VhQ2xpZW50IjogIjEuMTIuMi0yMDA5MjIuMDg0OCIsCiAgICAiT3BjVWFTZXJ2ZXIiOiAiMS4xMC4wLTIwMDkwMi4xODM1IiwKICAgICJPcGNYbWxDbGllbnQiOiAiMS4wLjAtMjAwMzIzLjExNTYiLAogICAgIlJlc3RBcGlDbGllbnQiOiAiMS42LjAtMjAxMDIxLjA5NDYiLAogICAgIlJlc3RBcGlTZXJ2ZXIiOiAiMS4zLjAtMjEwNDMwLjEyMjEtYmV0YSIsCiAgICAiU2NyaXB0aW5nIjogIjEuMy4yLTIwMDcwNy4wODI2IiwKICAgICJTaWVtZW5zQ2xpZW50IjogIjEuMy4wLTE5MDkwNi4wODEzIiwKICAgICJTbWFDbGllbnQiOiAiMS4wLjEtMjAwNDAxLjIyMDYiLAogICAgIlNxbENsaWVudCI6ICIxLjIuMC0yMDEwMjEuMTAxMSIsCiAgICAiVWZsRXhwb3J0ZXIiOiAiMS41LjUtMjAwNzIzLjExMDIiLAogICAgIlZkbWFYbWxDbGllbnQiOiAiMS4yLjAtMjAxMDIwLjE2NTIiLAogICAgIldlYlVJIjogIjEuMTUuOC0yMDEwMjYuMTQ0NCIsCiAgICAiV2ViVmlzaW9uIjogIjEuMS4xLTIwMTAxNC4xMzU5IiwKICAgICJYYW50cmV4Q2xpZW50IjogIjEuMi4xLTIwMDQwMS4yMjA4IiwKICAgICJGbGVldE1hbmFnZXJDbGllbnQiOiAiMS4wLjAtMjEwNDE2LjExMDItYmV0YSIKICB9Cn0="
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Load a backup
Applies a configuration backup to the current node.
POST /backup?cmd=load
- parameters:
- name: Name of the backup file (Mandatory parameter).
Request example:
http://localhost:3003/backup?cmd=load
{
"name": "BackupName"
}
Response example:
{
"completed": true,
"completedRollback": false,
"rollbackSaved": "",
"rollbackSaveFailed": false,
"rollbackHasWarnings": false,
"warnings": [],
"updatedModules": []
}
Certificate
The Certificate API provides operations and information about the certificates managed by N3uron.
List certificates
Retrieves the list of certificates.
GET /certificate?cmd=get&options.moduleName=<moduleName>&options.type=<type>
- parameters:
- options:
- moduleName: Name of the module. Defaults to bootstrap.
- type: Type of certificate (links_inbound, links_outbound, inbound, outbound).
- options:
Request example:
http://localhost:3003/certificate?cmd=get&options.moduleName=bootstrap&options.type=links_outbound
Request example:
[
{
"id": "own/EDGE01__N3uron__LinkOut",
"sn": "EDGE01:N3uron:LinkOut",
"c": "US",
"o": "N3uron Connectivity Systems",
"dn": "edge01",
"from": 1686132404000,
"to": 2316852404000,
"type": "outbound",
"status": "own"
},
{
"id": "trusted/AWS_CENTRAL__N3uron__LinkManager[493875AFD372CFFA520BDDA55C77FCE733A5F5E3]",
"sn": "AWS_CENTRAL:N3uron:LinkManager",
"c": "US",
"o": "N3uron Connectivity Systems",
"dn": "ip-172-31-41-148",
"from": 1686066957000,
"to": 2316786957000,
"type": "outbound",
"status": "trusted"
}
]
Export certificate
Retrieves the content of a specific certificate.
GET /certificate?cmd=export&options.type=<type>&options.id=<id>
- parameters:
- options:
- moduleName: Name of the module. Defaults to bootstrap.
- type: Type of certificate (links_inbound, links_outbound, inbound, outbound).
- id: The certificate unique ID
- options:
Request example:
http://localhost:3003/certificate?cmd=export&options.type=outbound&options.id=trusted/AWS_CENTRAL__N3uron__LinkManager[493875AFD372CFFA520BDDA55C77FCE733A5F5E3]
Request example:
"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUZHRENDQkFDZ0F3SUJBZ0lzUVZkVFgwTkZUbFJTUVV3NlRqTjFjbTl1T2t4cGJtdE5ZVzVoWjJWeU9qRTIKT0RZd05qWTVOVGN6Tmprd0RRWUpLb1pJaHZjTkFRRUxCUUF3ZmpFbk1DVUdBMVVFQXhNZVFWZFRYME5GVGxSUwpRVXc2VGpOMWNtOXVPa3hwYm10TllXNWhaMlZ5TVFzd0NRWURWUVFHRXdKVlV6RWtNQ0lHQTFVRUNoTWJUak4xCmNtOXVJRU52Ym01bFkzUnBkbWwwZVNCVGVYTjBaVzF6TVNBd0hnWUtDWkltaVpQeUxHUUJHUk1RYVhBdE1UY3kKTFRNeExUUXhMVEUwT0RBZUZ3MHlNekEyTURZeE5UVTFOVGRhRncwME16QTJNREV4TlRVMU5UZGFNSDR4SnpBbApCZ05WQkFNVEhrRlhVMTlEUlU1VVVrRk1PazR6ZFhKdmJqcE1hVzVyVFdGdVlXZGxjakVMTUFrR0ExVUVCaE1DClZWTXhKREFpQmdOVkJBb1RHMDR6ZFhKdmJpQkRiMjV1WldOMGFYWnBkSGtnVTNsemRHVnRjekVnTUI0R0NnbVMKSm9tVDhpeGtBUmtURUdsd0xURTNNaTB6TVMwME1TMHhORGd3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQgpEd0F3Z2dFS0FvSUJBUUNrd2VTalJqNllxSjRMdzdQbFZZNTcwMTNHbDRMRkl0S2pDNUhiSmRHMUFmeVhSRWZ0Cmx4OGU1NXVURGpPbmYveUlxTXBXd3VDZ0M5ZzZwVUFiUU9rZ3lHMVNsS01lOEd4cXRteWdEdlFLZ1NydXFQUmkKb1JrcTF2amQwRnd6SWFKakNLUTJGVG9BaFF5SWsya0l1SGJFY043dXVYVkNvRkhNUnBXNlBuYTJDa3RZS2MwSQp2UkxUenBRcEFQcDRONTlTZVlZaEhtamVzUFdsYVQrQ0MybWdnZ0J5SXFPRy9WZEgwQ2w1L1FzdFZrTEs3M3Z5CjNEQU1MVVN1NklBbVFMNmZ3K0JLMmwySEFwZWdwZ2tWamoydld2ZzlVMDFuNnlLdGJWMGhBbnU2T3kveU9jb1kKbTNqUEIxYklCWWw3L1htNWFLS011YVlQbERxbWtHU20xOFhCQWdNQkFBR2pnZ0YwTUlJQmNEQUpCZ05WSFJNRQpBakFBTUFzR0ExVWREd1FFQXdJQzlEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd2d3CkVRWUpZSVpJQVliNFFnRUJCQVFEQWdaQU1DMEdBMVVkRVFRbU1DU0dJblZ5YmpwQlYxTmZRMFZPVkZKQlREcE8KTTNWeWIyNDZUR2x1YTAxaGJtRm5aWEl3SFFZRFZSME9CQllFRk5mMFBRWXJZVWZzekZHeHBJanREMFhqK000SgpNSUhWQmdOVkhTTUVnYzB3Z2NxQUZOZjBQUVlyWVVmc3pGR3hwSWp0RDBYaitNNEpvWUdEcElHQU1INHhKekFsCkJnTlZCQU1USGtGWFUxOURSVTVVVWtGTU9rNHpkWEp2YmpwTWFXNXJUV0Z1WVdkbGNqRUxNQWtHQTFVRUJoTUMKVlZNeEpEQWlCZ05WQkFvVEcwNHpkWEp2YmlCRGIyNXVaV04wYVhacGRIa2dVM2x6ZEdWdGN6RWdNQjRHQ2dtUwpKb21UOGl4a0FSa1RFR2x3TFRFM01pMHpNUzAwTVMweE5EaUNMRUZYVTE5RFJVNVVVa0ZNT2s0emRYSnZianBNCmFXNXJUV0Z1WVdkbGNqb3hOamcyTURZMk9UVTNNelk1TUEwR0NTcUdTSWIzRFFFQkN3VUFBNElCQVFCWmFoVjgKUTJ3NVhydEt4eFVGTndsUWRDNER5STNRQ3U2dlF2ZmlnOUZPN3ZOTXgzaEY2UUY1OHFxdlFxdzl2eUxET1lWdQpKd2YyZ1dBeWdNZWdZUml5VXNQQWtjWXdpa2h4VzRPS1IrTkdoV1dNUitpSldEc2ZuTU9xWjJXMWlGSjIzdFJLCnRmY1JFWVV4RElkb3k1RlRUWFNGT2E5WUUycDUvUWh4WTBteFI2V3hPSGE1Lzl4NEF5b0lSeWtDWHl6TTJLZnIKQy9GbDcxRkVyRG5HQlRKeVUxdjZnRXkxQmVXZjdzTTlOVWNLK01IL0FnUEE2SW4ycDN5NWFZR0I1ZlBhd29ybgpSQW1ScHdWbUp2eWFSMGRYVkNZcGpBdXhwVTVnS3pEQ002V1dycGkzVVNxTFBZeTVwT0RkRWlxWmxYZmVidjUzCjRBa3JRdWNJeGUwTm81d3MKLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo="
Set certificate
Modifies a certificate from N3uron.
POST /certificate?cmd=set
- parameters:
- options:
- moduleName: Name of the module. Defaults to bootstrap.
- type: Type of certificate (links_inbound, links_outbound, inbound, outbound).
- id: The certificate's unique ID.
- action: Action to apply to the certificate (trust, untrust).
- options:
Request example:
http://localhost:3003/certificate?cmd=set
{
"options": {
"type": "outbound",
"id": "pending/NODE_001__N3uron__LinkManager[3A585E14D732ACE06DFAB2F7E34ED385DC78741D]",
"action": "trust"
}
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Remove certificate
Removes a certificate from N3uron.
POST /certificate?cmd=remove
- parameters:
- options:
- moduleName: Name of the module. Defaults to bootstrap.
- type: Type of certificate (links_inbound, links_outbound, inbound, outbound).
- id: The certificate's unique ID.
- options:
Request example:
http://localhost:3003/certificate?cmd=remove
{
"options": {
"type": "outbound",
"id": "pending/GATEWAY01__N3uron__LinkManager[0FC9F102C7B9E3688B5EEFD3209CEEBCFBD2A830]",
"action": "trust"
}
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Module
The Module API provides information about the status and monitoring of each module and operations that can be made on modules.
Get module details
Retrieves full details of instanced modules.
GET /module?cmd=details
Request example:
http://localhost:3003/module?cmd=details
Response example:
{
"ts": "2023-06-07T09:38:25.210Z",
"running": true,
"uptime": "307052.11s",
"pid": 5904,
"memoryUsage": {
"rss": "43.16Mb",
"heapTotal": "26.48Mb",
"heapUsed": "19.71Mb",
"external": "8.51Mb",
"arrayBuffers": "7.03Mb"
},
"modules": {
"WebUI": {
"config": {
"type": "WebUI",
"required": false,
"start": {
"enabled": true,
"delay": 0
},
"monitor": {
"enabled": true,
"delay": 5000
}
},
"license": {
"acquired": true,
"period": 0,
"mode": "production",
"tagAccess": "remote"
},
"running": true,
"mode": null,
"lastStart": "2023-06-06T11:25:59.894Z",
"lastStop": "2023-06-06T11:25:57.501Z",
"pid": 20340,
"api": {
"online": true,
"info": {
"type": "WebUI",
"category": [],
"version": "1.16.5",
"releaseType": "beta",
"fileversion": "1.16.5-230531.0734-beta",
"requisites": {
"bootstrapVersion": {
"min": "1.38.0"
},
"exeVersion": {
"min": "1.21.0"
}
},
"name": "WebUI"
},
"stats": {
"tx": {
"ok": 678,
"error": 0
},
"rx": {
"ok": 643,
"error": 0
}
}
}
}
}
}
List installed modules
Retrieves the list of installed modules.
GET /module?cmd=getInstalled
Request example:
http://localhost:3003/module?cmd=getInstalled
Response example:
[
"AbbVipClient",
"AcquisuiteXmlCollector",
"AuditTrail",
"AuroraClient",
"BacnetClient",
"CaisoAdsClient",
"CustomClient",
"DataDiode",
"DataExporter",
"DataImporter",
"DerivedTags",
"DnpClient",
"DnpServer",
...
]
List module instances
Retrieves a list of instanced modules in the target node.
GET /module?cmd=getInstances
- parameters:
- filter: Module names. It can be a single filter, a comma-separated list, or a JSON array (Optional parameter)
Request example:
http://localhost:3003/module?cmd=getInstances
Response example:
[
"Historian",
"OpcUaClient",
"RestApiServer",
"WebUI"
]
List module configurations
Retrieves a list of configuration files for every type of module.
GET /module?cmd=getConfigList&moduleType=<module_type>
- parameters:
- moduleType: Module type (Optional parameter).
Request example:
http://localhost:3003/module?cmd=getConfigList&moduleType=Historian
Response example:
{
"default": {
"text": "Config",
"icon": "database fa-regular"
},
"logger": {
"text": "Logger",
"icon": "book fa-regular"
}
}
Check configuration exists
Indicates whether or not the configuration files for a specific module instance exist.
GET /module?cmd=getConfigPresent&moduleName=<module_name>
- parameters:
- moduleName: Module instance name (Optional parameter).
Request example:
http://localhost:3003/module?cmd=getConfigPresent&moduleName=Historian
Response example:
{
"default": true,
"logger": true
}
Get module configuration
Retrieves configuration file content for a specific module instance.
GET /module?cmd=getConfigData&moduleName=<module_name>&configName=<config_name>
- parameters:
- moduleName: Module instance name (Optional parameter).
- configName: Configuration name (Mandatory parameter).
Request example:
http://localhost:3003/module?cmd=getConfigData&moduleName=OpcUaClient&configName=default
Response example:
"{\"version\":{\"main\":1,\"editor\":2},\"result\":[\"Object\",{\"DataSim\":[\"Object\",{\"enabled\":[\"Boolean\",true],\"addItemRate\":[\"Number\",5000],\"addItemRateDelay\":[\"Number\",0],\"overrideTs\":[\"Boolean\",false],\"connection\":[\"Object\",{\"endpointUrl\":[\"String\",\"opc.tcp://89.117.59.81:4840\"],\"endpointMustExist\":[\"Boolean\",false],\"securityMode\":[\"String\",\"NONE\"],\"securityPolicy\":[\"String\",\"None\"],\"requestedSessionTimeout\":[\"Number\",3600000],\"reconnectionDelay\":[\"Number\",5000]}],\"auth\":[\"Object\",{\"enabled\":[\"Boolean\",true],\"user\":[\"String\",\"sunn3rgy\"],\"password\":[\"SecuredString\",\"Z4/rlgqL6bHsb/2J1VHkIkKLpejOXGnvWvadb8euXutzlaH6Rpi9zClDEXvW4qleLHVlW+1ldXru/4rrq+5FU0iqGRqPd0f+iknwli4k\"]}],\"subscription\":[\"Object\",{\"requestedPublishingInterval\":[\"Number\",1000],\"requestedLifetimeCount\":[\"Number\",60],\"requestedMaxKeepAliveCount\":[\"Number\",10],\"maxNotificationsPerPublish\":[\"Number\",10000],\"priority\":0}]}]}],\"editor\":{\"extends\":{\"module\":null},\"modified\":1684388224829,\"library\":{}}}"
Start module
Starts a specific module.
POST /module?cmd=start
- parameters:
- moduleName: Module instance name (Mandatory parameter).
Request example:
http://localhost:3003/module?cmd=start
{
"moduleName": "Historian"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Stop module
Stops a module.
POST /module?cmd=stop
- parameters:
- moduleName: Module instance name (Mandatory parameter).
Request example:
http://localhost:3003/module?cmd=stop
{
"moduleName": "Historian"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Restart module
Restarts a module.
POST /module?cmd=restart
- parameters:
- moduleName: Module instance name (Mandatory parameter).
Request example:
http://localhost:3003/module?cmd=restart
{
"moduleName": "Historian"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Set module configuration
Sets a configuration file for a specific module instance.
POST /module?cmd=setConfigData
- parameters:
- moduleName: Module instance name (Mandatory parameter).
- configName: Configuration name (for example logger, API, users, tags, views, links, etc.) (Mandatory parameter).
- data: Configuration file in JSON format (Mandatory parameter).
- options:
- restart: Restart the module after saving the new configuration (Optional parameter).
- deleteData: Only applicable to the module configuration files. List of deleted module instances to clean their data. It can be a single instance, a comma-separated list, or a JSON array (Optional parameter).
Request example:
http://localhost:3003/module?cmd=setConfigData
{
"moduleName": "Historian",
"configName": "logger",
"data": "{\"version\":{\"main\":1,\"editor\":1},\"result\":[\"Object\",{\"console\":[\"Object\",{\"enabled\":true,\"level\":\"debug\"}],\"file\":[\"Object\",{\"enabled\":[\"Boolean\",true],\"level\":[\"String\",\"info\"],\"days\":[\"Number\",7]}]}],\"editor\":{\"extends\":{\"module\":null},\"modified\":1582974868907}}"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Link
The Link API provides operations and information about the status of the links in the target node.
List links
Retrieves current links.
GET /link?cmd=get
- parameters:
- options:
- remoteNode: Remote node to browse. Can be a single node, a forward slash separated list or a JSON array.
- options:
Request example:
http://localhost:3003/link?cmd=get
Response example:
{
"nodeInfo": {
"name": "PROD-PV-01"
},
"links": {
"CENTRAL": {
"name": "CENTRAL",
"type": "out",
"online": true,
"local": {
"subscription": "",
"gzip": true,
"view": {
"name": "",
"ro": false,
"ae": true,
"ack": true
},
"sf": {
"enabled": true,
"paused": false
},
"tagCount": 1
},
"remote": {
"subscription": "/",
"view": {
"name": "",
"ro": false,
"ae": true,
"ack": true
},
"sf": {
"enabled": true,
"paused": false
},
"tagCount": 0,
"endpoint": "3.3.3.3:3001"
}
}
}
}
License
The License API provides operations and information about the status of licenses in the target node.
Get node UID
Retrieves current node UID.
GET /license?cmd=getUid
Request example:
http://localhost:3003/license?cmd=getUid
Response example:
{
"host": "edge01",
"uid": "3cbd33383ef80d7faff3bf0be1262c9f"
}
List licenses
Retrieves a list of licenses of this node.
GET /license?cmd=get
Request example:
http://localhost:3003/license?cmd=get
Response example:
[
{
"path": "C:\\Program Files\\N3uron\\licenses\\edge01-20230316.163525.n3l",
"name": "edge01-20230316.163525.n3l",
"error": "",
"id": "cfedfefa70c4cf0067ac64192592f8d539d9b24bea3eb45d8db5020b33884fa6",
"host": "edge01",
"uid": "3cbd33383ef80d7faff3bf0be1262c9f",
"unlicensed": false,
"nonce": 1678976521343,
"licenses": [
{
"version": "1.1",
"host": "edge01",
"uid": "3cbd33383ef80d7faff3bf0be1262c9f",
"expires": "2023-04-16T23:59:59.000Z",
"type": "production",
"supportExpires": 1681689599000,
"nonce": 1678976521343,
"id": "cfedfefa70c4cf0067ac64192592f8d539d9b24bea3eb45d8db5020b33884fa6",
"modules": [
{
"type": "Historian",
"tagAccess": "local",
"count": 1,
"used": 0
},
{
"type": "SnmpClient",
"tagAccess": "local",
"count": 1,
"used": 0
}
],
"error": "Invalid license: Expired"
}
]
}
]
Get license details
Retrieves details of a specific license.
GET /license?cmd=read&name=<license_name>
- parameters:
- name: Name of the license file (Mandatory parameter).
Request example:
http://localhost:3003/license?cmd=read&name=edge01-20230316.163525.n3l
Response example:
"{\"version\":\"1\",\"created\":\"2023-03-16T14:22:01.991Z\",\"signature\":\"20027e37c184cb21420bddb6e8ca5a893a982837f22351fe697bf521635c75f62d1e85b04527d9a21ede3cdbb8beb35f8341ee1e8b5e108d97601bfbdd4e8332dffd353e20f72ebca8605559387337ef17cc6c2b6abf95290d9d2b661bc82b43394cfdfca2de8fd4c9a866d8478bf74df8f1fdcf763ac3b0dea80636691d953f1a2ed448195a5b1128b98b92cca50db5e9ab70027eb534aabaa19d0a2ec2c900eccbe01455986e900706acb56645005c3c55f8b6be4028284d5a1e41a0410c5584a6669467c3045aac8950b0f6018efd72eaeeedb6febc631ea67a844989dc2472d712f4fba8e346afdbd3f635b20c3e839a5fdf90518973615dc58afd64e82d\",\"licenses\":[{\"version\":\"1.1\",\"host\":\"edge01\",\"uid\":\"3cbd33383ef80d7faff3bf0be1262c9f\",\"expires\":\"2023-04-16T23:59:59.000Z\",\"type\":\"production\",\"supportExpires\":\"2023-04-16T23:59:59.000Z\",\"nonce\":1678976521343,\"id\":\"cfedfefa70c4cf0067ac64192592f8d539d9b24bea3eb45d8db5020b33884fa6\",\"modules\":[{\"type\":\"AcquisuiteXmlCollector\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"AuroraClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"CustomClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DataDiode\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DataExporter\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DataImporter\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DerivedTags\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DnpClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DnpServer\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DominoClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"Historian\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"Iec102Client\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"LinkedTags\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"MettlerToledoClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"ModbusClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"ModbusServer\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"MqttClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"OpcDaClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"OpcUaClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"OpcUaServer\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"OpcXmlClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"RestApiClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"RestApiServer\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"Scripting\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SiemensClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SmaClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SqlClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"UflExporter\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"VdmaXmlClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"WebVision\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"XantrexClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"CaisoAdsClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"Notifier\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"AbbVipClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"FarellClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"RedundancyAgent\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SparkplugClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SolarmaxClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"AuditTrail\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"BacnetClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SnmpClient\",\"tagAccess\":\"local\",\"count\":1}]}]}"
Add license
Adds a license to the target node.
POST /license?cmd=add
- parameters:
- data: Data of the license file in JSON format (Mandatory parameter).
Request example:
http://localhost:3003/license?cmd=add
{
"data": "{\"version\":\"1\",\"created\":\"2021-01-05T14:43:16.652Z\",\"signature\":\"5ce1ff1b7a9f911b49f653aa291bd375d8b2c53a0d57b0958ffe5f2341d572e6d4afe9214a187fb84175ec51623c339d41257e8094dcdc74105a21478a8758432912537fc40b12a3f4c644a134844289c1c63ef7a4f6a9277d064f9d6f58863fa5116a3874d1092a17453b179ae8a448b548335368afd6da13c3715991e7cff487fccb5c364caf1792095c75cc4673523b423fe8029a7d9b5101bec65fa105467ffe59bcdbfb5f372749de86fc113f5e54f87507be93df7bbd00f6deec2e5974b8cc7448da0f5fd934267d49c77e604b7c9193fcf9bd5ee5da2eac26a4c45f2bf6373373027723211d9adeec27917d50ca8def6b6f247bf8f1d687bc59361207\",\"licenses\":[{\"host\":\"N3-Development\",\"uid\":\"*\",\"expires\":\"2022-01-01T00:00:00Z\",\"type\":\"production\",\"modules\":[{\"type\":\"AcquisuiteXmlCollector\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"AuroraClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"CustomClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DataDiode\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"DataExporter\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"DataImporter\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DbInjector\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"DerivedTags\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"DnpClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"DnpServer\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"DominoClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"FleetManagerClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"Historian\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"Iec102Client\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"LaetusWtClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"LinkedTags\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"MarchesiniClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"MettlerToledoClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"ModbusClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"ModbusGateway\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"ModbusServer\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"MqttClient\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"OpcDaClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"OpcUaClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"OpcUaServer\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"OpcXmlClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"RestApiClient\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"RestApiServer\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"Scripting\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"SiemensClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SmaClient\",\"tagAccess\":\"local\",\"count\":1},{\"type\":\"SqlClient\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"UflExporter\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"WebVision\",\"tagAccess\":\"remote\",\"count\":1},{\"type\":\"XantrexClient\",\"tagAccess\":\"local\",\"count\":1}]}]}"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Delete license
Deletes a license in the target node.
POST /license?cmd=remove
- parameters:
- name: Name of the license file (Mandatory parameter).
Request example:
http://localhost:3003/license?cmd=remove
{
"name": "edge01-20230607.095435.n3l"
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Redundancy
The Redundancy API provides information about the status of the redundancy mode.
Get redundancy status
Retrieves information regarding the status of the redundancy mode.
GET /redundancy?cmd=status
Request example:
http://localhost:3003/redundancy?cmd=status
Response example:
{
"enabled": false,
"standby": false,
"mode": "primary"
}
System
The System API provides operations and information about the status and monitoring of the target node.
Get system status
Retrieves information regarding the status of the host system, current hardware, hostname, uptime, etc.
GET /system?cmd=status
Request example:
http://localhost:3003/system?cmd=status
Response example:
{
"n3": {
"pid": 5904,
"up": 314775983,
"versions": [
"1.21.5-230529.1438",
"1.39.0-230529.1135-beta"
],
"node": "EDGE01",
"tags": {
"total": 1,
"local": 1,
"remote": 0
},
"errors": []
},
"sys": {
"standby": false,
"hostname": "edge01",
"ts": 1686138429061,
"up": 314788000,
"cpu": [
"12th Gen Intel(R) Core(TM) i7-1260P",
2496,
16
],
"usage": {
"cpu": [
253,
10000
],
"ram": [
9040551936,
16882249728
],
"disk": [
185310793728,
511218061312
]
}
}
}
Get error count
Retrieves the number of errors in the current node. If there are no errors, 0 is returned, otherwise, it returns the number of errors (these can be caused by invalid tag configuration, invalid link configuration, etc...).
GET /system?cmd=errorCount
Request example:
http://localhost:3003/system?cmd=errorCount
Response example:
0
Restart service
Restarts the N3uron service.
POST /system?cmd=restartService
Request example:
http://localhost:3003/system?cmd=restartService
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.
Tag
The Tag API provides read-and-write operations and information about the status and monitoring of tags in the target node.
List tags
Retrieves a list of tags present in the defined path.
GET /tag?cmd=browse&path=<path>
- parameters:
- path: Path to browse for tags (Mandatory parameter).
- options:
- filter: Regex filter to apply to the path of the tags (Optional parameter).
- flat: Receive an array instead of an object (Optional parameter).
- recurrent: Include subgroups (Optional parameter).
- hideTags: Do not receive tags (Optional parameter).
- hideGroups: Do not receive groups (Optional parameter).
Request example:
http://localhost:3003/tag?cmd=browse&path=/SUNN3RGY/BLUELAKE/PVG001/&options.filter=POWER*
Response example:
{
"groups": {
"INV001": {},
"INV002": {},
"WST001": {},
"KPI": {}
}
}
Read tag
Retrieves values of tags present in the defined path.
GET /tag?cmd=read&path=<path>
- parameters:
- path: Path of the tag or group to read. If the path is a group then it must end with /* and it will return all the tags included in this group (Mandatory parameter).
- options:
- filter: Regex filter to apply to the path of the tags (Optional parameter).
- recurrent: Include subgroups (Optional parameter).
Request example:
http://localhost:3003/tag?cmd=read&path=/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/*
Response example:
{
"tags": {
"PERFORMANCE_RATIO": {
"status": {
"value": 1,
"ts": 1693558129319
},
"data": {
"value": 1.3232478329655442,
"quality": 192,
"ts": 1694002805012
}
},
"POA_IRRADIANCE_5MIN_AVG": {
"status": {
"value": 1,
"ts": 1693558129319
},
"data": {
"value": 655.7069053519514,
"quality": 192,
"ts": 1694002805011
}
}
}
}
Get tag details
Retrieves full details of tags present in the defined path.
GET /tag?cmd=details&path=<path>
- parameters:
- path: Path to read tag (Mandatory parameter).
- options:
- filter: Regex filter to apply to the path of the tags (Optional parameter).
- recurrent: Include subgroups (Optional parameter).
Request example:
http://localhost:3003/tag?cmd=details&path=/SUNN3RGY/BLUELAKE/PVG001/PST001/*&options.recurrent=true
Response example:
{
"description": "",
"_templates": ["Derived PVInverter"],
"tags": {
"ACTIVE_POWER": {
"id": 44,
"fullPath": "/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER",
"remote": null,
"status": {
"value": 1,
"ts": 1687688676853
},
"data": {
"value": 280.6139831542969,
"quality": 192,
"ts": 1687763588626
},
"config": {
"description": "Active Power",
"type": "number",
"format": "%.1f",
"deadband": "0.0u",
"clientAccess": "R",
"engUnits": "kW",
"default": null,
"simulation": {
"enabled": false
},
"persistency": 0,
"views": [],
"security": {},
"extensions": {
"scaling": {
"enabled": false,
"raw": [0, 1000],
"eu": [0, 1000],
"clamp": [false, false]
},
"source": {
"enabled": true,
"type": "DerivedTags",
"module": "DerivedTags",
"config": {
"mode": "alias",
"options": {
"source": "/Plant/A0_IC0H/Meter INV01/Power AC"
}
}
},
"history": {
"enabled": true,
"module": "Historian, CENTRAL/Historian",
"config": {
"mode": "change",
"deadband": "0.0u",
"rangeY": [0, 600],
"interpolation": "linear",
"defaultMethod": "avg",
"rate": [0, 0]
}
},
"ae": {
"alarms": {}
}
}
}
}
}
}
Get tag history
Retrieves historical data of a specific tag.
GET /tag?cmd=history&path=<path>&start=<start_date>&end=<end_date>
- parameters:
- path: Tag path. (Mandatory parameter).
- start: Start date. Must be an ISO string or a Unix epoch timestamp (Mandatory parameter).
- end: End date. Must be an ISO string or a Unix epoch timestamp (Mandatory parameter).
- options:
- mode: Historical data modes. Can be raw, filter, delta or aggregated. default setting: delta (Optional parameter).
- method: Aggregation method when using aggregated mode. Can be first, last, min (minimum), max (maximum), avg (average), delta (difference between last and first) and stddev (standard deviation). Set to an empty value to get default method in the tag configuration (Optional parameter).
- interval: Aggregation interval when using aggregated mode, in milliseconds (Optional parameter).
- deadband: deadband when using filter or delta mode (Optional parameter).
- invalidAsNull: Convert non-good quality values to null when using raw mode. (Optional parameter, by default it's enabled).
- limit: Maximum number of samples to return when using raw mode. (Optional parameter).Note:Standard Deviation and Delta aggregation modes are available from N3uron version 1.21.10.
Request example:
http://localhost:3003/tag?cmd=history&path=/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER&start=1685365215&end=2023-05-29T15:10:51.174Z
Response example:
{
"request": {
"tag": "/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER",
"start": 1685365215,
"end": 1685373051174,
"options": {
"mode": "delta",
"method": null,
"interval": null,
"deadband": null,
"invalidAsNull": true,
"limit": null
},
"data": null
},
"data": [
[
1685365215,
null,
0,
3
]
]
}
Get history for many tags
Retrieves historical data of tags.
GET /tag?cmd=historyMany&paths=<path>&start=<start_date>&end=<end_date>
- parameters:
- paths: Tag path list. It can be a single tag, a comma-separated list, or a JSON array (Mandatory parameter).
- start: Start date. Must be an ISO string or a Unix epoch timestamp (Mandatory parameter).
- end: End date. Must be an ISO string or a Unix epoch timestamp (Mandatory parameter).
- options:
- mode: Historical data modes. Can be raw, filter, delta or aggregated. default setting: delta (Optional parameter).
- method: Aggregation method when using aggregated mode. Can be first, last, min (minimum), max (maximum), avg (average), delta (difference between last and first) and stddev (standard deviation). Set to an empty value to get the default method in the tag configuration (Optional parameter).
- interval: Aggregation interval when using aggregated mode, in milliseconds (Optional parameter).
- deadband: Deadband when using filter or delta mode (Optional parameter).
- invalidAsNull: Convert non-good quality values to null when using raw mode. (Optional parameter, by default it's enabled).
- limit: Maximum number of samples to return when using raw mode. (Optional parameter).Note:Standard Deviation and Delta aggregation methods are available from N3uron version 1.21.10.
Request example:
http://localhost:3003/tag?cmd=historyMany&paths=/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER,/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/VOLTAGE&start=1619707394591&end=2021-04-29T15:10:51.174Z
Response example:
{
"/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER": {
"request": {
"tag": "/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER",
"start": 1619707394591,
"end": 1619709051174,
"options": {
"mode": "delta",
"method": null,
"interval": null,
"deadband": null,
"invalidAsNull": true,
"limit": null
},
"data": null
},
"data": [
[
1619707394591,
null,
0,
3
]
]
}
}
Get tag filtered history
Retrieves historical data of tags (with regex filter).
GET /tag?cmd=historyFilter&path=<path>&start=<start_date>&end=<end_date>&options.filter=<tag_path>
- parameters:
- paths: Tag path list. It can be a single tag, a comma-separated list, or a JSON array (Mandatory parameter).
- start: Start date. Must be an ISO string or a Unix epoch timestamp (Mandatory parameter).
- end: End date. Must be an ISO string or a Unix epoch timestamp (Mandatory parameter).
- options:
- filter: Full tag path Regex filter (Optional parameter).
- recurrent: Include subgroups (Optional parameter).
- mode: Historical data modes. Can be raw, filter, delta or aggregated. Default setting: delta (Optional parameter).
- method: Aggregation method when using aggregated mode. Can be first, last, min (minimum), max (maximum), avg (average), delta (difference between last and first) and stddev (standard deviation). Set to an empty value to get the default method in the tag configuration (Optional parameter).
- interval: Aggregation interval when using aggregated mode, in milliseconds (Optional parameter).
- deadband: Deadband when using filter or delta mode (Optional parameter).
- invalidAsNull: Convert non-good quality values to null when using raw mode. (Optional parameter, by default it's enabled).
- limit: Maximum number of samples to return when using raw mode. (Optional parameter).Note:Standard Deviation and Delta aggregation modes are available from N3uron version 1.21.10.
Request example:
http://localhost:3003/tag?cmd=historyFilter&path=/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/&start=1619707394591&end=2021-04-29T15:10:51.174Z&options.filter=POWER
Response example:
{
"/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER": {
"request": {
"tag": "/SUNN3RGY/BLUELAKE/PVG001/PST001/INV001/ACTIVE_POWER",
"start": 1619707394591,
"end": 1619709051174,
"options": {
"recurrent": false,
"mode": "delta",
"method": null,
"interval": null,
"deadband": null,
"invalidAsNull": true,
"limit": null
},
"data": null
},
"data": [[1619707394591, null, 0, 3]]
}
}
Get tag views
Retrieves tag views.
GET /tag?cmd=getViews
Request example:
http://localhost:3003/tag?cmd=getViews
Response example:
[
"ExampleView"
]
Write tag
Writes a specific tag value.
POST /tag?cmd=write
- parameters
- path: Tag path (Mandatory parameter).
- value: Value to write. The type must be the same as the configuration (number, Boolean or string) (Mandatory parameter).
Request example:
http://localhost:3003/tag?cmd=write
{
"path": "/ExampleTag",
"value": 555
}
Response example:
The response is empty. An HTTP 200 status code indicates a successful request.