diff --git a/src/panels/config/js/trigger/time_pattern.js b/src/panels/config/js/trigger/time_pattern.js
new file mode 100644
index 0000000000..1dda842275
--- /dev/null
+++ b/src/panels/config/js/trigger/time_pattern.js
@@ -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 (
+
+ );
+ }
+}
+
+TimePatternTrigger.defaultConfig = {
+ hours: "",
+ minutes: "",
+ seconds: "",
+};
diff --git a/src/panels/config/js/trigger/trigger_edit.js b/src/panels/config/js/trigger/trigger_edit.js
index fc65420014..12de1c3dd3 100644
--- a/src/panels/config/js/trigger/trigger_edit.js
+++ b/src/panels/config/js/trigger/trigger_edit.js
@@ -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,
};
diff --git a/src/translations/en.json b/src/translations/en.json
index cb2e5b6a0e..5f6bdd7cb8 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -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"