LogoLogo
Contact Uscybus.io
Connectware 1.9.0
Connectware 1.9.0
  • Getting Started
    • Introduction
    • Installing Connectware
      • System Requirements
      • Acquiring your License Key
      • Installing Connectware on Docker
      • Installing Connectware on Kubernetes
    • Connectware Admin UI
    • Basic Components of Connectware
    • Connecting your First Machine
      • Your First Service Commissioning File
  • Documentation
    • Services
      • Service Commissioning Files
        • Structure of Service Commissioning Files
          • description
          • metadata
          • parameters
          • definitions
          • resources
            • Cybus::Connection
            • Cybus::Endpoint
            • Cybus:Mapping
            • Cybus::Container
              • Docker problem with network changes
            • Cybus::Link
            • Cybus::IngressRoute
            • Cybus::User
            • Cybus::Role
            • Cybus::Volume
            • Cybus::File
            • Cybus::Server
            • Cybus::Node
        • Sample Service Commissioning Files
          • Modbus
            • “Bearbeitungszentrum BAZ” - Single File
            • “Bearbeitungszentrum BAZ” - Multiple Files
            • “Bearbeitungszentrum BAZ” - Single File and Custom Topics
            • “Bearbeitungszentrum BAZ” - Agent Mode
          • Machine Condition Monitoring : OPC UA + InfluxDB + Grafana Dashboard
            • “Machine Condition Monitoring Example” - Single File
          • Machine Utilization Example (Multi file service composition) : Modbus TCP + InfluxDB + Grafana + MSS
            • “Machine Utilization Example” - Machine Connectivity
            • “Machine Utilization Example” - Dashboards with role based access permission
            • “Machine Utilization Example” - Push data to MSSQL Database
      • Services View
      • Setting Up and Configuring Services
        • Installing Services
        • Enabling Services
        • Updating Services
        • Disabling Services
        • Deleting Services
      • Service Details View
      • FlowSync
        • Example 1 - Node with Transaction Mode (HTTP)
        • Example 2 - Node Responds (HTTP)
        • Example 3 - Node with Error (HTTP)
        • Example 4 - Node with Timeout Error Code and Error Message (HTTP)
        • Example 5 - Full Transactional Data Flow (HTTP)
        • Example 6 - Full Transactional Data Flow (OPC UA)
      • ServiceID
      • Inter-Service Referencing
      • Deviation
      • Service Logs
        • Logs of Individual Services
        • Logs of All Services
      • Rule Engine
        • Data Processing Rules
        • Rule Sandbox
      • Shared Subscriptions
        • Setting Up Shared Subscriptions
      • API Definition
    • Resources
      • Servers
      • Containers
      • Volumes
      • Connections
      • Endpoints
      • Mappings
      • Nodes
      • API Definition
    • User Management
      • Users and Roles View
      • Users
      • Roles
      • Permissions
      • Password Policy Rules
      • Default Admin User
      • MQTT Users
      • Adding a MQTT Publish Prefix for Users
      • Multi-Factor Authentication
      • Long lived JSON Web Tokens
      • Access Permissions for Admin-UI
        • UI Access
        • Minimum Access Role Pages
      • API Definition
    • Client Registry
      • Implicit Flow
      • Explicit Flow
      • Granting Access
      • API Definition
    • Certificates
    • Monitoring
      • Data Explorer
      • Live Data
    • Workbench
      • Flows in Git Repositories
    • System Status
      • Info
      • Metrics
      • Status
      • Retrieving More System Information
      • System Health
      • API Definition
    • Backup and Restore
      • Volumes
      • User Database
    • Configuration
      • Environment Variables
      • LDAP Configuration
      • MFA Configuration
    • Agents
      • Agents View
      • Installing Agents
        • Installing Agents via Docker
        • Installing Agents via Docker Compose
        • Installing Agents via Kubernetes
        • Using Mutual TLS for Agents
      • Registering Agents in Connectware
      • Using Agents
      • Monitoring Agents
      • Troubleshooting Agents
    • Industry Protocol Details
      • ADS
        • AdsConnection
        • AdsEndpoint
      • BACnet
        • BacnetConnection
        • BacnetEndpoint
      • EtherNet/IP
        • EthernetIpConnection
        • EthernetIpEndpoint
      • Focas
        • FocasConnection
        • FocasEndpoint
      • Generic VRPC
        • GenericVrpcConnection
        • GenericVrpcEndpoint
      • Hottinger Baldwin Messtechnik (HBM)
        • HbmdaqConnection
        • HbmdaqEndpoint
      • Heidenhain DNC
        • HeidenhainConnection
        • HeidenhainEndpoint
      • HTTP/REST
        • HttpConnection
        • HttpEndpoint
      • HTTP Server
        • HttpServer
        • HttpNode
      • InfluxDB
        • InfluxdbConnection
        • InfluxdbEndpoint
      • Kafka
        • KafkaConnection
        • KafkaEndpoint
      • Modbus/TCP
        • ModbusConnection
        • ModbusEndpoint
      • MQTT
        • MqttConnection
        • MqttEndpoint
      • MSSQL
        • MssqlConnection
        • MssqlEndpoint
      • OPC DA
        • OpcdaConnection
        • OpcdaEndpoint
      • OPC UA
        • OPC UA Client
          • OpcuaConnection
          • OpcuaEndpoint
        • OPC UA Server
          • OpcuaServer
          • OpcuaNode
        • OPC UA Object Types
        • OPC UA Server References
          • OpcuaReferenceNode
          • OpcuaObjectNode
      • Siemens SIMATIC S7
        • S7Connection
        • S7Endpoint
      • Shdr
        • ShdrConnection
        • ShdrEndpoint
      • Sinumerik
        • SinumerikConnection
        • SinumerikEndpoint
      • Sopas
        • SopasConnection
        • SopasEndpoint
      • SQL
        • SqlConnection
        • SqlEndpoint
      • Werma WIN Ethernet
        • WermaConnection
        • WermaEndpoint
      • Systemstate
        • SystemstateConnection
        • SystemstateEndpoint
      • API Definition
    • Connectware Licensing
    • Changelog
      • General changes from 0.x to 1.0
        • Upgrading from 0.x to 1.0
    • Upgrade Guide
      • Upgrading from 1.x to 1.7.0
      • Upgrading from 1.x to 1.5.0
Powered by GitBook
LogoLogo

Cybus

  • Terms and Condition
  • Imprint
  • Data Privacy

© Copyright 2025, Cybus GmbH

On this page
  • Commissioning File Specifics
  • Connection Settings
  • Endpoint settings
  • Examples
  • Service Commissioning File Example

Was this helpful?

  1. Documentation
  2. Industry Protocol Details

Systemstate

PreviousWermaEndpointNextSystemstateConnection

Last updated 5 months ago

Was this helpful?

Systemstate is a special type of protocol that lets you listen for state change events on all of the Connectware resources. For any object that can be addressed by a , the current state can be queried by read or be subscribed by subscribe.

Commissioning File Specifics

The following describes the general format of the commissioning file you will need to assemble to configure this protocol.

You can find a fully working example below:

Connection Settings

The service using this protocol does not create a connection to somewhere outside of the Connectware but rather an internal connection that taps into the internal state of the Connectware. So you will need to configure the connection object the following way:

eventsConnection:
    type: Cybus::Connection
    properties:
        protocol: Systemstate
        connection: {}

protocol (required)

Must be Systemstate.

Related Links

Endpoint settings

Each connection can have multiple endpoints. These define the operations that are supported. For the Systemstate protocol, read and subscribe are available as operations.

You define an endpoint by adding a resource of type Cybus::Endpoint and protocol Systemstate.

On a subscribe endpoint, a message with the state notification will be sent on each state change of the respective resource.

With a read endpoint, on the other hand, it is possible to query the current status by sending any message to the topic with suffix req, then receiving the response on the topic with the suffix res.

Examples

The examples are using the example commissioning file below. Thus, the MQTT topics might differ in your application but the payload needs to be the same (as long as no JSONata rules are being used).

The protocol produce the following output messages:

When enabling an endpoint:

{ 'state': 'enabling', 'resourceId': 'samplesystemstateservice-someEndpoint', 'timestamp': 1621256032226 }

When the endpoint is enabled:

{ 'state': 'enabled', 'resourceId': 'samplesystemstateservice-someEndpoint', 'timestamp': 1621256032233 }

When the initial subscribe operation was completed:

{ 'state': 'subscribed', 'resourceId': 'samplesystemstateservice-someConnection', 'timestamp': 1621256032230 }

Service Commissioning File Example

systemstate-example.yml
description: >
    Sample SystemState service commissioning file

metadata:
    name: Sample SystemState service
    provider: cybus
    homepage: https://www.cybus.io
    version: 1.0.0

resources:
    someConnection:
        type: Cybus::Connection
        properties:
            protocol: Systemstate
            connection: {}

    someEndpoint:
        type: Cybus::Endpoint
        properties:
            protocol: Systemstate
            connection: !ref someConnection
            subscribe:
                resourceId: !sub '${Cybus::ServiceId}-someConnection'

    anotherEndpoint:
        type: Cybus::Endpoint
        properties:
            protocol: Systemstate
            connection: !ref someConnection
            subscribe:
                resourceId: !sub '${Cybus::ServiceId}-someEndpoint'

    serviceEndpoint:
        type: Cybus::Endpoint
        properties:
            protocol: Systemstate
            connection: !ref someConnection
            subscribe:
                resourceId: !sub '${Cybus::ServiceId}'

The only property you need to configure for read or subscribe is a that identifies the component you want to receive updates from. This Resource ID is constructed from the Service ID and the Resource ID, separated by a hyphen character (a minus character: -).

Endpoint Properties
Connection Properties
Service Commissioning File Example
Resource ID
Resource ID
1KB
systemstate-example.yml