Ana Sayfa
SCADA IoT Yönetim Paneli
1. Cihaz Kartı Görünümü (overview_schema): Ana sayfadaki cihaz kartının sağ/orta kısmında görünen özettir. Sadece sensor (büyük yazar) ve toggle (büyük switch) destekler. Boş bırakırsanız varsayılan görünüm kullanılır.
[
{"type":"sensor","key":"t","label":"Sicaklik","unit":"°C"},
{"type":"toggle","key":"power","label":"Guc","onVal":"on","offVal":"off"}
]
2. Detay Şemaları (user_schema / admin_schema): Karta tıklandığında açılan detay panelinin içeriğidir. Aşağıdaki tüm bileşenler desteklenir.
{"type":"sensor","key":"t","label":"Sıcaklık","unit":"°C","icon":"fa-temperature-half"}
color özelliği ile renk verilebilir (HEX kodu veya renk adı). Boş bırakılırsa varsayılan yeşil (#10b981) yanar.
{"type":"led","key":"relay","label":"Isıtıcı","onVal":"on","color":"#ef4444"}
onVal ve offVal zorunludur.
{"type":"toggle","key":"power","label":"Güç","onVal":"on","offVal":"off"}
min ve max zorunludur.
{"type":"slider","key":"set_temp","label":"Hedef Isı","min":5,"max":40,"unit":"°C"}
step artış miktarıdır.
{"type":"stepper","key":"fan_speed","label":"Fan Hızı","min":0,"max":3,"step":1}
value değerini gönderir.
{"type":"button","key":"reset","label":"Sıfırla","value":"reset_now"}
3. Koşullu Kontroller (condition & conditionMsg): Bir kontrolün sadece belirli durumda aktif olmasını sağlar. condition özelliğini bir dizi ([{...}, {...}]) olarak verirseniz VE (AND) mantığı çalışır (Tüm koşullar sağlanmalıdır). is_online özel anahtarı ile cihaz bağlantı durumunu kontrol edebilirsiniz.
{"type":"toggle","key":"manual_relay","label":"Manuel Röle","onVal":"on","offVal":"off",
"condition":[
{"key":"is_online", "val":"true"},
{"key":"power", "val":"off"}
], "conditionMsg":"Cihaz çevrimiçi ve güç kapalı olmalı!"}
4. Çevrimdışı Güvenli Durum (offlineVal): Cihaz bağlantısı koptuğunda, bileşenin arayüzde almasını istediğiniz güvenli değeri belirler. Cihaz tekrar çevrimiçi olduğunda ESP32'den gelen gerçek veriye otomatik döner. Genellikle güvenlik amaçlı switch'ler kapalı ("off") gösterilmek istenir.
{"type":"toggle","key":"power","label":"Güç","onVal":"on","offVal":"off",
"offlineVal":"off"}
5. Otomatik Kilit / Interlock (autoSet): Bir bileşenin durumuna göre başka bir bileşeni otomatik olarak değiştirmeyi sağlar (Örn: Güç açıldığında manuel röleyi kapat). Dizi formatında birden fazla kural eklenebilir. when (hangi key değişirse), is (hangi değere eşitse), setTo (hedef key'in değeri ne olsun).
{"type":"toggle","key":"manual_relay","label":"Röle","onVal":"on","offVal":"off",
"autoSet":[
{"when":"power", "is":"on", "setTo":"off"}
]}
6. Kapsamlı Örnek (Hepsi Bir Arada):
[
{"type":"sensor","key":"t","label":"Sıcaklık","unit":"°C","icon":"fa-temperature-half"},
{"type":"led","key":"relay","label":"Isıtıcı","onVal":"on","color":"#ef4444"},
{
"type":"toggle","key":"power","label":"Güç","onVal":"on","offVal":"off",
"offlineVal":"off",
"condition":{"key":"is_online","val":"true"}
},
{
"type":"toggle","key":"manual_relay","label":"Manuel Röle","onVal":"on","offVal":"off",
"condition":[
{"key":"is_online", "val":"true"},
{"key":"power", "val":"off"}
],
"conditionMsg":"Cihaz çevrimiçi ve güç kapalı olmalı!",
"autoSet":[
{"when":"power", "is":"on", "setTo":"off"}
]
},
{"type":"slider","key":"set_temp","label":"Hedef","min":5,"max":40,"unit":"°C",
"condition":{"key":"power","val":"on"}, "conditionMsg":"Önce Gücü Açın!"},
{"type":"button","key":"reset","label":"Sıfırla","value":"reset_now"}
]