irrigations
irrigations, cihazlardan veya uygulama tarafındaki aksiyonlardan başlayan sulama oturumlarını tutar. Bir sulama kaydı hangi cihazda başladığını, varsa hangi pompa ve arazi ile ilişkili olduğunu, başlangıç ve bitiş anlarında hangi stream kayıtlarının referans alındığını ve oturumun halen aktif olup olmadığını izler.
Bu tablo, gerçek zamanlı sulama takibi ile geçmiş oturum analizi arasında köprü kurar. Özellikle register biti, manuel işlem, kural motoru ya da API tetiklemesi gibi başlangıç kaynaklarını ayrıştırmak için kullanılır.
Enum Değerleri
irrigation.trigger_source
| Değer | Açıklama |
|---|---|
register_bit | Durum register bit geçişi ile otomatik algılanan başlangıç |
manual | Kullanıcının manuel olarak başlattığı sulama |
rule | Kural motorunun tetiklediği sulama aksiyonu |
api | Harici API komutu ile başlatılan sulama |
Kolonlar
| Kolon | Tip | Null | Anlamı |
|---|---|---|---|
id | int | hayır | Sulama oturumu birincil anahtarı |
device_id | varchar(21) | hayır | Sulamayı başlatan veya durumu raporlayan cihaz; devices.id ile ilişkili |
pump_id | int | evet | Sulamada kullanılan pompa; pumps.id ile ilişkili |
land_plot_id | int | evet | Sulamanın bağlı olduğu arazi/parsel; land_plots.id ile ilişkili |
start_stream_id | int | evet | Başlangıç anını temsil eden telemetri akışı; streams.id ile ilişkili |
end_stream_id | int | evet | Bitiş anını temsil eden telemetri akışı; streams.id ile ilişkili |
start_time | timestamp | hayır | Sulama başlangıç zamanı |
end_time | timestamp | evet | Sulama bitiş zamanı |
duration_sec | int | evet | Sulama süresi; saniye cinsinden hesaplanmış toplam süre |
is_active | boolean | hayır | Oturumun halen devam edip etmediği |
trigger_source | irrigation.trigger_source | evet | Sulamanın hangi kaynak tarafından tetiklendiği |
create_time | timestamp | hayır | Kayıt oluşturulma zamanı |
update_time | timestamp | hayır | Son güncelleme zamanı |
İndeksler
| İndeks | Tip | Açıklama |
|---|---|---|
id | Primary Key | Tablo birincil anahtarı |
Örnek Kayıtlar
- Oturum 1
- Oturum 2
- Oturum 3
{
"id": 1,
"device_id": "46000000C47CA670",
"pump_id": 1,
"land_plot_id": 1,
"start_stream_id": 1,
"end_stream_id": null,
"start_time": "2026-04-03 10:29:50",
"end_time": null,
"duration_sec": null,
"is_active": true,
"trigger_source": "register_bit",
"create_time": "2026-04-03 10:30:00",
"update_time": "2026-04-03 10:30:00"
}
Özet: Cihazın durum register bitinden algılanan ve halen devam eden bir sulama oturumu; pompa ve arazi bilgileri oturumla eşleştirilmiş durumda.
{
"id": 2,
"device_id": "46000000C47CA671",
"pump_id": 2,
"land_plot_id": 2,
"start_stream_id": 2,
"end_stream_id": null,
"start_time": "2026-04-03 10:24:55",
"end_time": null,
"duration_sec": null,
"is_active": true,
"trigger_source": "register_bit",
"create_time": "2026-04-03 10:25:00",
"update_time": "2026-04-03 10:25:00"
}
Özet: İkinci cihaz için açık duran bir başka sulama oturumu; bitiş stream kaydı henüz oluşmadığı için oturum aktif görünür.
{
"id": 3,
"device_id": "46000000C47CA672",
"pump_id": null,
"land_plot_id": 3,
"start_stream_id": 3,
"end_stream_id": null,
"start_time": "2026-04-03 10:19:57",
"end_time": null,
"duration_sec": null,
"is_active": true,
"trigger_source": "register_bit",
"create_time": "2026-04-03 10:20:00",
"update_time": "2026-04-03 10:20:00"
}
Özet: Pompa eşleşmesi olmadan doğrudan cihaz ve arazi üzerinden izlenen aktif sulama oturumu; saha envanteri henüz tamamlanmamış senaryolar için uygundur.