Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Vorto / Describing Devices / Functionblocks

Functionblocks are reusable descriptions of device components. A functionblock is typically structured as follows:

  • Properties
    • Status
    • Configuration
    • Fault
  • Events
  • Operations

The following examples give an overview how the DSL looks like and how simple functionblocks can be modeled. Please note that in the RGBColorPicker Example the RGBColor datatype is reused.

Example: Dimmer

namespace vorto.examples.functionblocks
version 1.0.0

functionblock Dimmer {
    displayname "Dimmer"
    description "Function block model for a standard dimmer"
    category example

    status{
        mandatory percent as int
    }

    operations{
        increase(percent as int)
        decrease(percent as int)
    }
} 


Example: RGBColorPicker

namespace vorto.examples.functionblocks
version 1.0.0 
using vorto.examples.color.RGBColor; 1.0.0

functionblock RGBColorPicker {
    displayname "RGBColorPicker"
    description "Function block model selecting RGB colors."
    category example

    status{
        mandatory color as RGBColor
    } 

    operations{
        setColor(color as RGBColor)
    }
}


Example: Switch

namespace vorto.examples.functionblocks
version 1.0.0

functionblock Switch {
    displayname "Switch"
    description "Function block model for a standard switch"
    category example

    status{
        mandatory on as boolean
    }

    operations{
        on() "switches the device unit on"
        off() "switches the device unit off" 
        toggle() "switches the device unit on or off"
    }
}

Back to the top