Skip to main content

Notice: This Wiki is now read only and edits are no longer 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()
        off()
        toggle()
    }
}

Back to the top