Add if/else automation/script action (#12301)

Co-authored-by: Zack Barett <zackbarett@hey.com>
This commit is contained in:
Franck Nijhof
2022-04-20 18:27:16 +02:00
committed by GitHub
parent 1e0647c0d1
commit 22175a7271
4 changed files with 129 additions and 0 deletions

View File

@@ -194,6 +194,13 @@ export interface ChooseAction {
default?: Action | Action[];
}
export interface IfAction {
alias?: string;
if: string | Condition[];
then: Action | Action[];
else?: Action | Action[];
}
export interface VariablesAction {
alias?: string;
variables: Record<string, unknown>;
@@ -215,6 +222,7 @@ export type Action =
| WaitForTriggerAction
| RepeatAction
| ChooseAction
| IfAction
| VariablesAction
| PlayMediaAction
| UnknownAction;
@@ -228,6 +236,7 @@ export interface ActionTypes {
activate_scene: SceneAction;
repeat: RepeatAction;
choose: ChooseAction;
if: IfAction;
wait_for_trigger: WaitForTriggerAction;
variables: VariablesAction;
service: ServiceAction;
@@ -299,6 +308,9 @@ export const getActionType = (action: Action): ActionType => {
if ("choose" in action) {
return "choose";
}
if ("if" in action) {
return "if";
}
if ("wait_for_trigger" in action) {
return "wait_for_trigger";
}