Developing flows: tips and best practices

Note:

  • It is based on personal preferences, but this may help you to assess what works for you and develop your own style.
  • Various links to specific solutions/flows in this community,
  • You will see in past and present examples an evolution from simple flows to advanced flows and various styles.
  • A number of apps mentioned (eg. Advanced Triggers, Advanced Virtual Devices) are best used when you have some experience in flows.
  1. Avoid starting flows on a certain time, other triggers are preferred.
  2. Avoid dis/enabling flows in a flow
  3. Avoid ALL cards for simplicity
  4. Group triggers and central logic
  5. Split flows into functional parts, connect them with for example “Flow is started with” cards, virtual triggers, advanced device triggers or Advanced Triggers.
  6. Use log (notifications) to trace flows and document them with Note cards. Implement a note color system.
  7. Avoid flows containing app specific devices: Prefer using zones and (advanced) virtual devices or Groups
  8. Use zone timers where you can avoid building your own timer
  9. Use advanced flows. Limit the use of simple flows in case you may have to change them on your mobile app. Align cards in advanced flows consistently so you can read them back efficiently in the future.
  10. As timer (that can be interrupted) use Chronograph , avoid the built in Delay timers
  11. Did I mention to use zone cards where possible? (WHEN, AND, THEN) Great for motion, alarms, devices, etc.

Examples:

(use Chrome automatic translate to English for Dutch examples) (edited)

2 Likes

Guess you mean the ALL operator in Advanced Flows?
That one isn’t an AND card hence it has the name “ALL” …

1 Like