Документация Fuxa WebAPI
Документация Fuxa WebAPI

[Открытый исходный код] Мощное веб-программное обеспечение для настройки — FUXA.

Структурная схема

FUXA_WebAPI

settings

Get application settings

GET

/api/settings

Parameters

c

Responses Example

Code: 200{“language” : “en” ,“ui Port” : 1881,“secureEnabled” : false,“tokenExpiresIn” : “1h” ,“smtp” : {...},}

Set application settings

POST

/api/settings

Parameters Example

{“language” : “en” ,“ui Port” : 1881,“secureEnabled” : false,“tokenExpiresIn” : “1h” ,

“smtp” : {...}}

Responses

Code: 200

Note

Saved as file in ‘server/_appdata/mysettings.json’

project

Get project property: server, devices, layout, views, charts, alarms settings, script

GET

/api/project

Parameters

None

Responses

Code: 200{“version” : “1.00” ,“server” : {...},“hm i” : {“layout” : {...},“views” : [...]},“devices” : {...},“charts” : [...],“graphs” : [...],“alarms” : [...],“notifications” : [...],“scripts” : [...],“texts” : [...],“plugin” : [...]}

Set project property

POST

/api/project

Parameters Example

{“version” : “1.00” ,“server” : {},“hm i” : {“layout” : {...},“views” : [{“MainView” : {...}]},“devices” : {},“charts” : [...],“graphs” : [...],“alarms” : [...],“notifications” : [...],“scripts” : [...],“texts” : [...],“plugin” : [...]}

Responses

Code: 200

Note

Used to build new project, clear all and set a new void project

Set project specific property: device, view, layout, charts, alarm, text

POST

/api/projectData

Parameters Example

{“cmd” : “” ,“data” : ...} cmd: ‘set-device’ , ‘del-device’data: {...}cmd: ‘set-view’ , ‘del-view’data: {...}cmd: ‘layout’data: {...}cmd: ‘charts’data: [...]cmd: ‘graphs’data: [...]cmd: ‘set-text’ , ‘del-text’data: {...}cmd: ‘set-alarm’ , ‘del-alarm’data: {...}cmd: ‘set-notification’ , ‘del-notification’data: {...}cmd: ‘set-script’ , ‘del-script’data: {...}

Responses

Code: 200

Note

In server are saved in tables: general, views devices, texts, alarms, notifications, scripts.The tables structure: name (string), value (string) all the same:● general name=charts/layout/plugin/version and value=data● views name=data.id (view) and value=data● devices name=data.id (device) and value=data● alarms name=data.name (alarm) and value=data● notifications name=data.id (notification) and value=data● scripts name=data.id (script) and value=data

Upload project

POST

/api/upload

Parameters Example

JSON file

Responses

Code: 200

device

Get device security property

GET

/api/device

Parameters Example

{“query” : “security” ,“name” : “My OPCUA”}

Responses

Code: 200{“mode” : “” ,“u id” : “username” ,“pwd” : “password” ,“client Id” : “123456”}

Set device security property

POST

/api/device

Parameters Example

{“query” : “security” ,“name” : “My OPCUA”“value” : {“mode” : “” ,“u id” : “username” ,“pwd” : “password” ,“client Id” : “123456”}}

Responses

Code: 200

alarm

Get active alarms list

GET

/api/alarms

Parameters

None

Responses

Code: 200[{“name” : “Alarm name” ,“type” : “”“ontime” : “” ,“offtime” : “” ,“acktime” : “” ,“status” : “” ,“text” : “” ,“group” : “” ,“bkcolor” : “” ,“color” : “” ,“toack” : “”

}]

Set ACK to active alarm

POST

/api/alarmack

Parameters

{“params” : “Alarm id”}

Responses

Code: 200

Note

‘Alarm id’ ‘is composed from name and type

token&user

Login and take the token

POST

/api/signin

Parameters

{“username” : “admin” ,“password” : “123456”}

Responses

Code: 200

Get users list

GET

/api/users

Parameters

None

Responses

Code: 200[{“username” : “username” ,“password” : “123456” ,“groups” : 3}]

Set user property

POST

/api/users

Parameters

{“username” : “username” ,“fullname” : “fullname” ,“password” : “123456” ,“groups” : 3}

Responses

Code: 200

Remove user

DELETE

/api/users

Parameters

{“param” : “username”}

Responses

Code: 200

plugins

Get installed plugin

GET

/api/plugins

Parameters

None

Responses

Code: 200[{“name” : “modbus-serial” ,“type” : “Modbus” ,“version” : “8.0.1” ,“current” : “8.0.1” ,“status” : “” ,“pkg” : true,“dinamic” : true}]

Install plugin

POST

/api/plugins

Parameters

{“name” : “modbus-serial” ,“type” : “Modbus” ,“version” : “8.0.1” ,“current” : “8.0.1” ,“status” : “” ,“pkg” : true,“dinamic” : true}

Responses

Code: 200

Remove plugin

DELETE

/api/plugins

Parameters

{“param” : “modbus-serial”}

Responses

Code: 200

daq

Get DAQ data

GET

/api/daq

Parameters

{“query” : {“gid” : “gauge id” ,“from” : “timestamp” ,“to” : “timestamp” ,“event” : “B” ,“sids” : [“tag id” , “” ]}}

Responses

Code: 200[{“id” : “tag id”“ts” : “timestamp” ,“value” : “12.5” ,}]

Note

Used to ask current or history tags value (DAQ):● ‘gid’ reference to the GUI component.● ‘timestamp’ milliseconds● ‘event’ can be ‘B’ or ‘F’ to step the range query in Back or Forward.● ‘sid’ list of tags id

logs

Get list of logs files

GET

/api/logsdir

Parameters

None

Responses

Code: 200[“fuxa.log” ,“fuxa1.log” ,“fuxa-err.log” ,] ...

Get log file content

GET

/api/logs

Parameters

{

“query” : {“file” : “fuxa1.log”}}

Responses

Download file content

sendmail

Send email

POST

/api/sendmail

Parameters

{“msg” : {“from” : “pippo@frangoteam.org” ,“to” : “ciccio@frangoteam.org” ,“subject” : “test” ,“text” : “content” ,“html” : “html-content” ,},“smtp” : {“host” : “blabla.smtp.org” ,“port” : 587,“mailsender” : “pippo@frangoteram.org” ,“username” : “username” ,“password” : “password” ,}}

Responses

Code: 200

Note

Used to send mail from frontend, ‘smtp’ is optional and used for configuring and testing.

runscript

Run script

POST

/api/runscript

Parameters

{“script” : {“id” : “script id” ,“name” : “script name” ,“code” : “script code” ,“parameters” : [{“name” : “param name” ,“type” : “value” ,“value” : “12.5”},{...}]}}

Responses

Code: 200

Note

Used to run scripts from frontend, ‘code’ and ‘name’ are optional and used for configuring and testing.

tag read & tag write

Get Tag value API

GET /api/getTagValue?ids=["t_2f47264f-b9e4451d"]

Host: localhost:1881

Content-Type: application/json

Cache-Control: no-cache

Set Tag value API

POST /api/setTagValue

Host: localhost:1881

Content-Type: application/json

Cache-Control: no-cache

Язык кода:javascript
копировать
{
    "tags":[
        {
            "id": "t_2f47264f-b9e4451d",
            "value": "22"
        },
        {
            "id": "t_ea53ed8d-60c5401c",
            "value": "1"
        }

    ]
}

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose