StarterNodeDsl

interface StarterNodeDsl : AutomationFlowContributor
Known direct subclasses
SelectFlowBuilder

Type-safe builder that builds a SelectFlow node.

SequentialFlowBuilder

Type-safe builder that builds a SequentialFlow Node.


Interface for constructing Starter nodes and adding them to an automation flow.

Summary

Public functions

open TypedExpression
Event> starter(
    entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>,
    event: EventFactory
)

Create a Starter from an Expression of Entity and an Event and add it.

open TypedExpression
Event, U : HomeObjectType> starter(
    entityExpression: TypedExpression<List<TypedEntity>?>,
    event: EventFactory
)

Create a Starter from an Expression of Entity list and an Event and add it.

open TypedExpression
Trait> starter(
    entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>,
    trait: TraitFactory
)

Create a Starter from an Expression of Entity and a Trait and add it.

open TypedExpression
Trait, U : HomeObjectType> starter(
    entityExpression: TypedExpression<List<TypedEntity>?>,
    trait: TraitFactory
)

Create a Starter from an Expression of Entity list and a Trait and add it.

open TypedExpression
Event> starter(structure: Structure, event: EventFactory)

Create a Starter from a Structure and an Event and add it.

open TypedExpression
Trait> starter(structure: Structure, trait: TraitFactory)

Create a Starter from a Structure and a Trait and add it.

open TypedExpression
Event> starter(
    device: HomeDevice,
    deviceType: DeviceTypeFactory<DeviceType>,
    event: EventFactory
)

Create a Starter from a Device and an Event and add it.

open TypedExpression
Trait> starter(
    device: HomeDevice,
    deviceType: DeviceTypeFactory<DeviceType>,
    trait: TraitFactory
)

Create a Starter from a Device and a Trait and add it.

open TypedExpression
Event> starter(
    entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
)

Create a Starter from an Expression of Entity and a Trait and add it.

open TypedExpression
Event, U : HomeObjectType> starter(
    entityExpression: TypedExpression<List<TypedEntity>?>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
)

Create a Starter from an Expression of Entity list and a Trait and add it.

open TypedExpression
Event> starter(
    structure: Structure,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
)

Create a Starter from a Structure and an Event and add it.

open TypedExpression
Event> starter(
    unknownEntity: UnknownEntity,
    entityType: TypeFactory<HomeObjectType>,
    event: EventFactory
)

Create a Starter from an UnknownEntity and an Event and add it.

open TypedExpression
Trait> starter(
    unknownEntity: UnknownEntity,
    entityType: TypeFactory<HomeObjectType>,
    trait: TraitFactory
)

Create a Starter from an UnknownEntity and a Trait and add it.

open TypedExpression
Event> starter(
    device: HomeDevice,
    deviceType: DeviceTypeFactory<DeviceType>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
)

Create a Starter from a Device and a Trait and add it.

open TypedExpression
Event> starter(
    unknownEntity: UnknownEntity,
    deviceType: DeviceTypeFactory<DeviceType>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
)

Create a Starter from an UnknownEntity and an Event and add it.

Public functions

starter

open fun Event> starter(
    entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>,
    event: EventFactory
): TypedExpression

Create a Starter from an Expression of Entity and an Event and add it.

Parameters
entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>

The entity Expression associated with the Starter.

event: EventFactory

The Event associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event, U : HomeObjectType> starter(
    entityExpression: TypedExpression<List<TypedEntity>?>,
    event: EventFactory
): TypedExpression

Create a Starter from an Expression of Entity list and an Event and add it.

Parameters
entityExpression: TypedExpression<List<TypedEntity>?>

The entity Expression associated with the Starter.

event: EventFactory

The Event associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Trait> starter(
    entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>,
    trait: TraitFactory
): TypedExpression

Create a Starter from an Expression of Entity and a Trait and add it.

Parameters
entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>

The entity Expression associated with the Starter.

trait: TraitFactory

The Trait associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Trait, U : HomeObjectType> starter(
    entityExpression: TypedExpression<List<TypedEntity>?>,
    trait: TraitFactory
): TypedExpression

Create a Starter from an Expression of Entity list and a Trait and add it.

Parameters
entityExpression: TypedExpression<List<TypedEntity>?>

The entity Expression associated with the Starter.

trait: TraitFactory

The Trait associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(structure: Structure, event: EventFactory): TypedExpression

Create a Starter from a Structure and an Event and add it.

Parameters
structure: Structure

The Structure associated with the Starter.

event: EventFactory

The Event associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Trait> starter(structure: Structure, trait: TraitFactory): TypedExpression

Create a Starter from a Structure and a Trait and add it.

Parameters
structure: Structure

The Structure associated with the Starter.

trait: TraitFactory

The Trait associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(
    device: HomeDevice,
    deviceType: DeviceTypeFactory<DeviceType>,
    event: EventFactory
): TypedExpression

Create a Starter from a Device and an Event and add it.

Parameters
device: HomeDevice

The HomeDevice associated with the Starter.

deviceType: DeviceTypeFactory<DeviceType>

The DeviceType associated with the Starter.

event: EventFactory

The Event associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Trait> starter(
    device: HomeDevice,
    deviceType: DeviceTypeFactory<DeviceType>,
    trait: TraitFactory
): TypedExpression

Create a Starter from a Device and a Trait and add it.

Parameters
device: HomeDevice

The HomeDevice associated with the Starter.

deviceType: DeviceTypeFactory<DeviceType>

The DeviceType associated with the Starter.

trait: TraitFactory

The Trait associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(
    entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
): TypedExpression

Create a Starter from an Expression of Entity and a Trait and add it.

Parameters
entityExpression: TypedExpression<TypedEntity<HomeObjectType>?>

The entity Expression associated with the Starter.

event: EventFactory

The Event associated with the Starter.

block: ParametersBuilder.() -> Unit

The parameters associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event, U : HomeObjectType> starter(
    entityExpression: TypedExpression<List<TypedEntity>?>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
): TypedExpression

Create a Starter from an Expression of Entity list and a Trait and add it.

Parameters
entityExpression: TypedExpression<List<TypedEntity>?>

The entity Expression associated with the Starter.

event: EventFactory

The Event associated with the Starter.

block: ParametersBuilder.() -> Unit

The parameters associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(
    structure: Structure,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
): TypedExpression

Create a Starter from a Structure and an Event and add it.

Parameters
structure: Structure

The Structure associated with the Starter.

event: EventFactory

The Event associated with the Starter.

block: ParametersBuilder.() -> Unit

The parameters associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(
    unknownEntity: UnknownEntity,
    entityType: TypeFactory<HomeObjectType>,
    event: EventFactory
): TypedExpression

Create a Starter from an UnknownEntity and an Event and add it. Automations created using this method will not be valid. This method can be used to create draft automations.

Parameters
unknownEntity: UnknownEntity

The entity associated with the Starter.

entityType: TypeFactory<HomeObjectType>

The type associated with the Starter.

event: EventFactory

The Event associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Trait> starter(
    unknownEntity: UnknownEntity,
    entityType: TypeFactory<HomeObjectType>,
    trait: TraitFactory
): TypedExpression

Create a Starter from an UnknownEntity and a Trait and add it. Automations created using this method will not be valid. This method can be used to create draft automations.

Parameters
unknownEntity: UnknownEntity

The entity associated with the Starter.

entityType: TypeFactory<HomeObjectType>

The type associated with the Starter.

trait: TraitFactory

The trait associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(
    device: HomeDevice,
    deviceType: DeviceTypeFactory<DeviceType>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
): TypedExpression

Create a Starter from a Device and a Trait and add it.

Parameters
device: HomeDevice

The HomeDevice associated with the Starter.

deviceType: DeviceTypeFactory<DeviceType>

The DeviceType associated with the Starter.

event: EventFactory

The Event associated with the Starter.

block: ParametersBuilder.() -> Unit

The parameters associated with the Starter.

Returns
TypedExpression

A Starter instance.

starter

open fun Event> starter(
    unknownEntity: UnknownEntity,
    deviceType: DeviceTypeFactory<DeviceType>,
    event: EventFactory,
    block: ParametersBuilder.() -> Unit
): TypedExpression

Create a Starter from an UnknownEntity and an Event and add it.

Parameters
unknownEntity: UnknownEntity

The entity associated with the Starter.

deviceType: DeviceTypeFactory<DeviceType>

The DeviceType associated with the Starter.

event: EventFactory

The Event associated with the Starter.

block: ParametersBuilder.() -> Unit

The parameters associated with the Starter.

Returns
TypedExpression

A Starter instance.