Ana içeriğe geç

Veritabanı Şeması

PostgreSQL 15 + TimescaleDB. 60+ tablo (67+ model: 60 core + 7 zigbee), UUID primary key, timestamp mixin.

Multi-Tenant & RBAC

TabloAçıklamaÖnemli Kolonlar
tenantsOrganizasyonname, slug(UNIQUE), is_active, settings(JSONB), lat/lng
usersKullanıcıtenant_id, email, password_hash, is_superuser, locale, timezone. UNIQUE(tenant_id, email)
rolesRol tanımıtenant_id, name. UNIQUE(tenant_id, name)
user_rolesRol atamauser_id, role_id. UNIQUE(user_id, role_id)
role_permissionsİzin tanımırole_id, permission. UNIQUE(role_id, permission)

Coğrafi Hiyerarşi

TabloAçıklamaÖnemli Kolonlar
regionsBölgetenant_id, name, tariff_type(ticarethane/sanayi/mesken/aydinlatma/tarimsal)
subregionsAlt bölgetenant_id, region_id, lat, lng, area_m2, floor_number, building_name, capacity_kw
sidebarsSidebar menüsubregion_id, name, sort_order

Gateway'ler

TabloAçıklamaÖnemli Kolonlar
gatewaysModbus TCP/MQTT gatewaytenant_id, connection_type(ip_based/mqtt_based), ip_address, port, protocol, device_id
mqtt_gatewaysESP32 MQTT gatewaydevice_id(UNIQUE, MAC), owner_tenant_id(nullable), firmware_version, config_version

Cihazlar ve Ölçümler

TabloAçıklamaÖzel
devicesTüm cihazlargateway_id OR mqtt_gateway_id (CHECK), device_source, hierarchy_level, can_switch, device_role
device_measurementsÖlçüm verileriHYPERTABLE, PK(device_id, time), 70+ kolon
device_transformer_configCT/PT configdevice_id(1:1), voltage_ratio, current_ratio
device_connection_logsBağlantı logusuccess, error_message, response_time_ms

Zigbee Entegrasyonu

TabloAçıklamaÖzel
pending_zigbee_claimsClaim token havuzuclaim_token(8-char UNIQUE), expires_at
zigbee_gatewaysZigbee2MQTT gatewaycoordinator_ieee(UNIQUE), zigbee2mqtt_version
zigbee_devicesZigbee cihazlarieee_address, device_type(ENUM), battery_level
zigbee_energy_measurementsEnerji verileriHYPERTABLE, power_w, voltage_v, energy_kwh
zigbee_sensor_measurementsSensör verileriHYPERTABLE, value_numeric/boolean/string

Alarmlar

TabloAçıklamaÖnemli Kolonlar
alarm_policiesAlarm kuralıalarm_type, threshold_value, notification_channels(JSONB)
alarmsTetiklenen alarmseverity(critical/high/medium/low), status(open/acked/snoozed/closed)
alarm_eventsAudit trailevent_type, actor_id, at

Enerji Tarifeleri

TabloAçıklama
suppliersElektrik tedarikçisi
tariffsTarife planı (SINGLE/TOU, AG/OG/EBY)
tariff_rate_componentsOran bileşeni (TEK/GUN/PUANT/GECE)

OTA & Firmware

TabloAçıklama
gateway_firmwareFirmware versiyonları (stable/beta, is_latest)
gateway_ota_historyOTA geçmişi (pending→in_progress→completed/failed)
batch_ota_jobsBatch OTA işleri
device_firmware_statusGüncel firmware durumu
ota_update_logsOTA audit trail
device_templatesCihaz register map şablonları
gateway_attached_devicesGateway bağlı Modbus cihazları
gateway_configDesired/reported config sync

SLD & LOTO

TabloAçıklama
assetsFiziksel varlık (breaker, transformer, panel...)
asset_connectionsVarlık bağlantıları (topoloji)
sld_views / sld_nodes / sld_edgesTek Hat Şeması
loto_pointsİzolasyon noktaları
loto_sessionsLOTO oturumları (draft→approved→applied→released)
loto_steps / loto_locks / loto_eventsLOTO adımları ve kilitler

Pre-computed Tablolar

TabloAçıklama
reactive_ratio_dailyGünlük reaktif oran
reactive_ratio_monthlyAylık reaktif oran
daily_energy_summariesGünlük enerji delta (inverter + analizör)
device_bms_identityBMS batarya kimlik bilgisi
audit_logTüm CRUD işlemleri audit trail