triggers
. Your app tells Homey to fire a trigger, which will then run all of the user's flows with this trigger.conditions
. The conditions must be met in order for the flow to continue. For example it is raining, or the vacuum cleaner is cleaning.actions
. Actions are executed when the trigger has been fired, and all conditions are met.id
and a title
property. The id
is used to refer to the Flow card from your source code. The title
will be shown to the users and should be a short and clear description of what the Flow card does. A Flow card can have an optional hint
property that can be used to pass additional information to the user that can not be included in the title.titleFormatted
property it is possible to integrate argument values into the title of the Flow card.!{{...|...}}
syntax. In the place of the first three dots (...
) should be the text that will be shown if the Flow card is not inverted, in place of the second three dots should be the text that will be shown when the Flow card is inverted.Device#setCapabilityValue()
for a custom capability.<capability_id>_changed
. When your custom capability has the type "boolean" Homey will automatically run Flow triggers with IDs <capability_id>_true
and <capability_id>_false
depending on the value.measure_clicks
Homey will automatically run Flow triggers with the ID measure_clicks_changed
. This Flow card can have a token with the same name as the capability that will be set to the current capability value.measure_clicks.inside
Homey will run Flow triggers with ID measure_clicks.inside_changed
.true
value for the Flow to continue, or a false
value to stop the Flow from executing. When the card is rejected (e.g. by throwing inside a Promise), the Flow stops executing as well.class
that Homey already has support for, like light
or socket
, your custom card will be added to those cards. For example, if your driver supports a light bulb that has a special disco mode, the user will see "Turn on", "Turn off", "Dim", "Set color", "Disco mode"./drivers/<driver_id>/driver.flow.compose.json
. Flow cards defined in this file are only shown for devices belonging to that specific driver.ManagerFlow#getDeviceTriggerCard()
instead of ManagerFlow#getTriggerCard()
. A Flow device trigger card allows you to pass the device
to the trigger()
method so Homey knows to only start the Flows for that specific device.$filter
option supports the following properties:class
filtering based on the device classcapabilities
allows based on available capabilities (note that calls to addCapability
and removeCapability
don't update this filter)flags
filters based on additional device properties, will be explained below|
), for example: "class=socket|light"
will match devices with a device class of either socket
or light
.capabilities
and flags
also support matching on multiple values by separating the values with a comma (,
), for example "capabilities=onoff,dim"
will match devices that have both onoff
and dim
capabilities.$filter
separated by an ampersand (&
), for example this filter will match devices belonging to the basic
driver with a socket
or light
device class and onoff
and dim
capabilities."highlight": true
to your Flow card in the App Manifest. "deprecated": true
to your Flow card in the App Manifest. It will still work, but won't show up anymore in the 'Add Card' list.