61 lines
1.4 KiB
TypeScript
61 lines
1.4 KiB
TypeScript
export enum CameraType {
|
|
STANDARD = 'Kamera Standar (IP)',
|
|
INFRARED = 'Kamera Infrared',
|
|
THERMAL = 'Kamera Termal',
|
|
THREE_D = 'Kamera 3D',
|
|
}
|
|
|
|
export interface Camera {
|
|
id: string;
|
|
name: string;
|
|
cameraType: CameraType;
|
|
rtspUrl: string;
|
|
floorId: string | null;
|
|
model: string;
|
|
status: 'online' | 'offline' | 'error';
|
|
}
|
|
|
|
export enum IotDeviceType {
|
|
TEMPERATURE_SENSOR = 'Sensor Suhu',
|
|
HUMIDITY_SENSOR = 'Sensor Kelembapan',
|
|
AMMONIA_SENSOR = 'Sensor Amonia',
|
|
CO2_SENSOR = 'Sensor CO2',
|
|
DUST_SENSOR = 'Sensor Debu (PM2.5)',
|
|
LIGHT_SENSOR = 'Sensor Cahaya',
|
|
WATER_FLOW_SENSOR = 'Sensor Aliran Air',
|
|
FEED_LEVEL_SENSOR = 'Sensor Level Pakan',
|
|
WEIGHT_SCALE = 'Timbangan Digital',
|
|
IOT_GATEWAY = 'Gateway IoT',
|
|
}
|
|
|
|
export interface IotDevice {
|
|
id: string;
|
|
name: string;
|
|
type: IotDeviceType;
|
|
floorId: string | null;
|
|
status: 'online' | 'offline' | 'error';
|
|
lastHeartbeat: Date;
|
|
currentValue: string;
|
|
}
|
|
|
|
export enum NetworkDeviceType {
|
|
ROUTER = 'Router',
|
|
SWITCH = 'Switch',
|
|
ACCESS_POINT = 'Access Point',
|
|
}
|
|
|
|
export interface NetworkDevice {
|
|
id: string;
|
|
name: string;
|
|
type: NetworkDeviceType;
|
|
ipAddress: string;
|
|
macAddress: string;
|
|
locationId: string | null;
|
|
status: 'online' | 'offline' | 'degraded';
|
|
uptime: string;
|
|
latency: number; // in ms
|
|
trafficIn: number; // in Mbps
|
|
trafficOut: number; // in Mbps
|
|
bandwidthUsage: number; // percentage
|
|
}
|