Symphony Event Reactor


The Symphony Event Reactor gives the ability to trigger actions and alarms through its Event Manager/ Alarm Manager in response to different kinds of event types. Moreover, it offers a logging and lifecycle system for alarms. The data model of events is based on a JSON Schema which is human-and-machine readable and dynamically updatable. The event reactor is written in Python and has a GUI written in Blockly (google), a free and open source client-side JavaScript library for creating block-based visual programming languages (VPLs) and editors. The Symphony Event Reactor leverages on a highly customisable logging system that allows to handle events locally and synchronise them remotely, together with user activity and alarm history. The Symphony Event Reactor is composed of two separate software modules:

Event Manager (EM)

The EM executes custom rules that combine information coming from different sources (local sensors and device monitors, user actions, video-cameras, intrusion detection systems, etc.) and data brokers (e.g. AMQP, MQTT) to determine actions to be taken. Actions include actuations on field devices, activation of scenarios, generation of events, notifications and alarms, and so on.

Alarm Manager (AM)

Alerts can be raised in order to present the situation to specific users or user-groups. The system provides a configurable priority based alert routing system that allows to target a single, a group or mixed sets of users with SMS, emails, pop-ups, etc. The AM has an internal state machine to track each alarm’s status (Open, Close, Acknowledged, Resolved, Delivered). Also, it logs and keeps alarms history in a log database which is accessible through a REST interface. Different notification channels for the AM are being developed.

Symphony Event Manager Figure 1: Symphony Event Manager

Symphony Event Reactor's Alarm Manager Figure 2: Symphony Event Reactor's Alarm Manager


To configure the system, after deploying the Symphony Event Reactor, the user can configure Event Manager and Alarm Manager through the GUI and set required message bus subscription information:

Event Manager

user can define, modify and monitor block-based rules via Visual Programming Language for triggering the actions and build scenarios.

Symphony Event Reactor's Event Manager Figure 3: Symphony Event Reactor's Event Manager

Alarm Manager

user can create and modify,

  • Gateways for email and SMS
  • Users whom receive the alarm with name, last name, email and phone number
  • Specific template for email and SMS
  • Chain of deliveries for users and gateways
  • See history of the alarms

Symphony Event Reactor's Alarm Manager Figure 4: Symphony Event Reactor's Alarm Manager


The Symphony Event Reactor could be deployed as:

  • Dedicated Minicomputer (preferred deployment method) such as Intel NUC (CPU and RAM to be estimated according to the use case)
  • Bare metal deployment, Nextworks provides Hypervisor + Container Management OS + Containers
  • Single VM for specific use cases

Also, a slimmer version (regarding the resource consumption and choice of appliances) of the Symphony Event Reactor could be designed by Nextworks for specific use cases after evaluation. In any case, Nextworks prefers to have design session with use case owners to define the required configuration in order to provide pre-configured image which could be deployed on hardware of choice.


Symphony Event Reactor is Nextworks’ commercial product and is not free. Nextworks will provide free research license and full support exclusively for duration of the experimentation up to the end of the EFPF project. After the license expiration if the users are still interested in using Symphony Event Reactor, Nextworks is open for negotiation


  1. Is Symphony Event Reactor Free and Open-Source?
    no, it is enterprise product of Nextworks S.r.l and users need to acquire License.
  2. How Can I Install Symphony Event Reactor?
    we kindly ask you to contact and share with us your requirement so we can provide you best options based your needs.
  3. After acquiring Symphony Event Reactor’s license, for how long it will be valid?
    It will be valid until end of the EFPF project plus four months.
  4. What are the deployment methods?
    It could be deployed on Dedicated Minicomputer such as Intel NUC, Bare Metal Deployment os Single VM for Specific Cases.
  5. How can I define & deploy the EM Rules?
    Through the GUI.
  6. How can I interact with Symphony Event Reactor to collect the data?
    Collected data is available for consumption through different interfaces: REST APIs, gRPC services, CORBA IDLs, as well as AMQP/MQTT brokers.
  7. How can I connect Symphony Event Reactor to the field devices?
    It can be interconnected with specific field buses either directly - such as via RS232/485 serial ports or GPIOs - or through the use of IP based gateways - such as KNX IP router and/or interface, Modbus/TCP gateways.
  8. Where is the repository/registry and how can I access it?
    Software is not publicly accessible and after acquiring the license, Nextworks will guide you on the best deployment method of the software based on your needs.