Split time_pattern triggers from time trigger (#2413)

* Split interval triggers from time trigger

* Default smaller interval units to zero

* Rename interval to schedule

* Rename schedule trigger to time_pattern
This commit is contained in:
Adam Mills 2019-01-15 12:33:46 -05:00 committed by Paulus Schoutsen
parent 42e60beb0d
commit 690188b4a3
3 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,52 @@
import { h, Component } from "preact";
import "@polymer/paper-input/paper-input";
import { onChangeEvent } from "../../../../common/preact/event";
export default class TimePatternTrigger extends Component {
constructor() {
super();
this.onChange = onChangeEvent.bind(this, "trigger");
}
/* eslint-disable camelcase */
render({ trigger, localize }) {
const { hours, minutes, seconds } = trigger;
return (
<div>
<paper-input
label={localize(
"ui.panel.config.automation.editor.triggers.type.time_pattern.hours"
)}
name="hours"
value={hours}
onvalue-changed={this.onChange}
/>
<paper-input
label={localize(
"ui.panel.config.automation.editor.triggers.type.time_pattern.minutes"
)}
name="minutes"
value={minutes}
onvalue-changed={this.onChange}
/>
<paper-input
label={localize(
"ui.panel.config.automation.editor.triggers.type.time_pattern.seconds"
)}
name="seconds"
value={seconds}
onvalue-changed={this.onChange}
/>
</div>
);
}
}
TimePatternTrigger.defaultConfig = {
hours: "",
minutes: "",
seconds: "",
};

View File

@ -8,6 +8,7 @@ import EventTrigger from "./event";
import HassTrigger from "./homeassistant";
import MQTTTrigger from "./mqtt";
import NumericStateTrigger from "./numeric_state";
import TimePatternTrigger from "./time_pattern";
import StateTrigger from "./state";
import SunTrigger from "./sun";
import TemplateTrigger from "./template";
@ -24,6 +25,7 @@ const TYPES = {
sun: SunTrigger,
template: TemplateTrigger,
time: TimeTrigger,
time_pattern: TimePatternTrigger,
webhook: WebhookTrigger,
zone: ZoneTrigger,
};

View File

@ -628,6 +628,12 @@
"label": "Time",
"at": "At"
},
"time_pattern": {
"label": "Time Pattern",
"hours": "Hours",
"minutes": "Minutes",
"seconds": "Seconds"
},
"webhook": {
"label": "Webhook",
"webhook_id": "Webhook ID"