---
title: "Notifikasi Jendela Waktu dengan Kondisi UTC di Echobell"
description: "Gunakan variabel waktu UTC bawaan Echobell untuk menyaring notifikasi berdasarkan jam kerja, akhir pekan, atau jendela pemeliharaan. Termasuk resep kondisi yang siap pakai."
date: 2025-11-06
author: Nooc
authorAvatarLink: /images/avatars/nooc.webp
authorLink: https://nooc.me
tags:
  - Echobell
  - kondisi
  - UTC
  - peringatan jendela waktu
  - penyaringan notifikasi
---

# Notifikasi Jendela Waktu dengan Kondisi UTC di Echobell

Variabel waktu UTC bawaan Echobell memungkinkan Anda membatasi notifikasi pada jendela waktu tertentu—jam kerja, giliran on-call, jendela pemeliharaan—langsung di Kondisi saluran. Tidak perlu lapisan penyaringan eksternal.

Prasyarat: [Kondisi](/id/docs/conditions), [Templat](/id/docs/template), [Webhook](/id/docs/webhook), [Pemicu Email](/id/docs/email-trigger).

## Variabel UTC yang tersedia

Semuanya hanya-baca, selalu tersedia, dan dihitung dalam UTC:

- `timezone` (selalu "UTC"), `now`/`iso`, `epochMs`, `epochSeconds`
- `year`, `month` (1–12), `monthName`
- `dayOfMonth` (1–31)
- `dayOfWeek` (0–6, Minggu = 0), `dayOfWeekName`
- `hour` (0–23), `minute` (0–59), `second` (0–59)
- `date` (YYYY-MM-DD), `time` (HH:mm:ss)

Pakai langsung di [Kondisi](/id/docs/conditions) (tanpa `{{ }}`). Pakai dengan `{{ }}` di [Templat](/id/docs/template).

## Resep kondisi

### Hari kerja pada jam kerja

```
hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
```

### Akhir pekan saja

```
dayOfWeek == 0 || dayOfWeek == 6
```

### Di luar jam kerja (malam dan akhir pekan)

```
(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6
```

### Jendela pemeliharaan (Sabtu 01.00–03.00)

```
dayOfWeek == 6 && hour >= 1 && hour < 3
```

### Hari pertama setiap bulan tepat di awal jam

```
dayOfMonth == 1 && minute == 0
```

### Jam kerja di akhir kuartal (Mar/Jun/Sep/Des)

```
(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5
```

## Menggabungkan waktu dengan filter isi

Kondisi waktu bisa dirangkai dengan variabel data memakai operator standar:

- Eskalasi di luar jam kerja hanya untuk tingkat keparahan tinggi:
  ```
  ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
  ```
- Lingkungan produksi, hanya hari kerja:
  ```
  environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
  ```

Kondisi berupa ekspresi biasa—jangan membungkusnya dengan `{{ }}`. Lihat [Kondisi → Operator yang Didukung](/id/docs/conditions#operator-yang-didukung).

## Memakai variabel waktu di dalam templat

Variabel yang sama berfungsi di templat dengan `{{ }}`, berguna untuk catatan audit dan tanda terima yang mudah dibaca manusia:

```
Sent at {{date}} {{time}} {{sys.timezone}}
Today is {{sys.dayOfWeekName}}, {{sys.monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{sys.epochSeconds}}
```

Padukan dengan data dari [Webhook](/id/docs/webhook) atau [Pemicu Email](/id/docs/email-trigger):

```
{{service}} {{status}} at {{time}} ({{sys.timezone}})
```

## Catatan

- Semua variabel sistem memakai UTC. Kalau tim Anda tersebar di beberapa zona waktu, perhitungkan selisihnya saat menetapkan rentang jam.
- Mulailah dengan jendela waktu yang sederhana, lalu tambahkan filter isi setelah semuanya berjalan.
- Tinggalkan deskripsi singkat pada saluran yang menjelaskan logika kondisinya (misalnya "Hari kerja 09–17 UTC; di luar jam kerja hanya untuk tingkat keparahan tinggi").

## Langkah berikutnya

- Tambahkan kondisi jendela waktu ke saluran yang sudah ada: [Kondisi](/id/docs/conditions)
- Sesuaikan isi notifikasi dengan variabel: [Templat](/id/docs/template)
- Buat saluran terpisah untuk jam kerja dan untuk jendela on-call
- Setel saluran on-call ke jenis notifikasi Panggilan demi urgensi di luar jam kerja
