SIINEOS System Bus specification
General
provided by internal MQTT broker
SMAC server has full access
read-only access publicly available if enabled in System → Service configuration page
access from Docker-based apps such as NodeRED etc. through the DNS alias
host.docker.internal(pass--add-host=host.docker.internal:host-gatewaywhen running Docker container manually)
System
Device
device/info/deviceName- descriptive user-defined device namedevice/info/deviceType- type/hardware model of the local device as defined in the InCore System.DeviceType enumerationdevice/info/deviceTypeName- type/hardware model of the local devicedevice/info/deviceSubtype- model-specific sub type specificationdevice/info/hostname- the user-defined hostname of the local devicedevice/info/location- the user-defined location of the local device
Settings
system/settings/timezone
Networking
common prefix:
system/networking/each network interface publishes its status information under
system/networking/interfaces/<IFNAME>/statusas a JSON object:operationalState- operational state as defined in the InCore NetworkInterface.OperationalState enumerationsetupState- setup state as defined in the InCore NetworkInterface.SetupState enumerationhardwareAddress- hardware/MAC addressnetworkAddresses- JSON array with IP addresses
I/O units
common prefix:
iounits/global I/O units announce topic:
iounits/announcewith a JSON array containing the instance UUIDs of each I/O unitglobal I/O providers info topic:
iounits/providerswith a JSON array containing meta data for every available I/O providereach I/O unit announces itself under
iounits/<UNIT-UUID>/announceas a JSON object containing state and meta data describing the unit instance:providerId- internal identifier of the instantiated I/O providerproviderName- display name of the instantiated I/O providerproviderType- type of the instantiated I/O provider (enum index of: Device, Sensor, FieldbusConnector, FieldbusNode, VirtualProvider)providerConnectivity- specification of how the I/O unit is connected to the system (enum index of: Direct, AnalogInterface, DigitalInterface, BackplaneBus, USB, RS485, Network)uuid- the UUID identifying the instanceaddress- an optional address such as port name or IP address which the I/O unit connects toname- user-defined display namelocation- user-defined locationenabled- user-defined stateconnected- indicates whether the I/O unit is connected (depending on the connectivity type)icon- the URL of the iconcustomIconData- base64-encoded image data for user-defined unit iconbusy- indicates whether the I/O unit is busy, e.g. signal discovery etc.signalListEditable- indicates whether signals can be added/removed by the usersignalsAutoDetectable- indicates whether signals can be discovered/auto-detected by the I/O unitsignals- JSON array of I/O signal IDs (can but must not be UUIDs)
I/O signals
each I/O signal of a I/O unit announces itself under
iounits/<UNIT-UUID>/signals/<SIGNAL-ID>/announceas a JSON object containing meta data describing the signal instance:uuidtypeidentifierenabledaddressnamegroupdataSeriesSetreadablewritabledataTypeunitdecimalsminValuemaxValuecolorvisualization
iounits/<UNIT-UUID>/signals/<SIGNAL-ID>/value- current signal as read from or written to the signal (read-only)iounits/<UNIT-UUID>/signals/<SIGNAL-ID>/timestamp- timestamp referring to the last signal read/write
Alert signals
each alert signal announces itself under
alerting/signals/<SIGNAL-ID>/announceas a JSON object containing meta data describing the signal instance:uuidnamedisabledevalModeevalParamscycleTimestateTransitionseveritycategorysource
alerting/signals/<SIGNAL-ID>/state- current state of the alert signal (0=OK, 1=ALARM)alerting/signals/<SIGNAL-ID>/timestamp- timestamp referring to the last state change
Apps
common prefix:
apps/every app announces itself under
apps/<APPNAME>/with various meta data topics:idnameversionvendorhomepageiconUrlappUrladminUrldescriptionalertTriggerUrllicensing
state of app (enabled/disabled) can be controlled through the
apps/<APPNAME>/enabledtopicdebug message logging of app (enabled/disabled) can be controlled through the
apps/<APPNAME>/debugtopic (SIINEOS 2.8+)trace message logging of app (enabled/disabled) can be controlled through the
apps/<APPNAME>/tracetopic (SIINEOS 2.8+)