UPDATE: Multiple triggers in one flow!
Update: Its Live: H.O.O.P. | Homey Community Store
Homey Object Oriented Programming (for advanced users).
This apps transforms your Homey in a programmable object, changing standard flow behavior.
Take a look at the diagrams, examples and overal usages explanations.
Create one (or more) Method Group device(s) and use it like in an Object Oriented Programming manner.
Give it (overloadable) methods which will handle their own objects (devices, flows, variables, etc), removing the need for repetitive flows.
Also allows the execution of (almost) any Actioncards (Then-Cards) (installed on your Homey) as Conditions and await them.
Or change the conditions way from “if-or-or” to “if-or-finally” or “try-catch-finally” so as to not have to repeat (condition)actions.
And add If, Or, Then, Else, Else-If and End-If within(!) the condition part of a flow.
Throw errors which stacktrace, handle them or just Return;
Examples will be collected on another Topic to keep it in one place:
H.O.O.P. (Hope) - Examples
- Await - Awaits any start-able flow as condition
- Wait - A timeout, useful in Await calls
- Throw - Throws an error, useful in Await calls
- Method Group - Turn flows into (awaitable) methods with arguments
- Trigger Cards - Use any triggercard in your Homey as H.O.O.P. trigger, and/or add multiple triggers as conditions, so you only need one flow!
- Action Cards - Run any ActionCard as condition
- Flow Director - Add If, Or, Then, Else, Else-If, End-If within(!) the condition part of a flow, or try-catch
You need to grant ‘developer’ access rights’ to the app.
In Homey App, add device from H.O.O.P. called Homey Elevator and follow the steps.
It won’t really create a device tho.
If you get an error, use the App Settings to Elevate the App.
- Action Cards freetextfield - Set any fieldtype (like dropdown) of any card from a textfield (so you can use variables)
- Array Adapter (to be used for example with the LaMetric Time, almost done)
- Array (text, number, boolean)
- Direct (Awaiting) variable management (Action Cards allready can be used for that)