AyMON
Features & Protocols
What the engine does
Devices on one side, people and systems on the other
AyMON reads devices, keeps every value in one live tree, raises alarms, keeps history and hands it all to web pages, databases, other systems and AI assistants — in both directions, so a page or an assistant can also change a value when it is allowed to.
A connection is one element with two halves: a transport that moves bytes and a protocol that decides what they mean. They are chosen independently, so Modbus over TCP and Modbus over a serial line are the same protocol with a different first word.
Protocols
What AyMON speaks
Modbus
TCP and serial, as master and as slave: poll a PLC or be the PLC.
OPC UA
Client: polling, subscriptions, writes, method calls and certificates both ways.
MQTT
Broker and client, over TCP and WebSocket — the same broker for devices and browsers.
HTTP, REST, SOAP, WebSocket
Serve live pages and APIs, or call other systems’ APIs.
SNMP
Manager and agent: read network gear, or answer like one.
Siemens S7
S7 PLCs over ISO-on-TCP, as a plug-in.
SQL
History and queries on SQL Server, PostgreSQL, ODBC sources and the embedded SQLite.
Cameras
USB, MJPEG, RTSP (H.264 / H.265), ONVIF; image analysis inside the engine.
Mail and files
SMTP with STARTTLS, FTP / FTPS and SFTP, ZIP archives — from configuration.
Raw TCP, UDP and serial
Anything else: write the protocol in script on a raw connection.
AI assistants (MCP)
An assistant reads the plant and may change the values it is allowed to.
Another AyMON
Replication between engines, and a cluster that fails over to a spare.
Inside the engine
Configuration first, code when it is really yours
One live tree
Connection, device, request and point are elements of one XML tree, each with an address anything can read or write.
Alarms and limits
Scaling, rounding, limits and alarm levels are attributes — not programs.
Events, not polling
When a value arrives, the functions written beside it run in order: convert, round, check, alarm, publish.
Script
A language close to JavaScript for the logic that is yours; Python when you want its libraries.
Access control
Address filters per connection, logins, and per-element rights for each role.
Health in status
Every connection and thread reports its own queue, latency and errors as alarm bits.
Platforms
Where it runs
Windows x64
One executable and its libraries. No runtime to install, no database required.
Linux x86-64
Ubuntu 22.04+, Debian 12+, RHEL / Rocky 9 and alike; a systemd unit per project.
Plug-ins and modules
Protocols, transports, script libraries and SQL drivers can be added without touching the engine.
Try it on your own machine
Every example runs with one command and needs no hardware, no licence and no database unless it says so.

