syntax = "proto3"; package device; // WiFi connection state enumeration enum WifiConnectionState { WIFI_DISCONNECTED = 0; WIFI_CONNECTED = 1; WIFI_CONNECTING = 2; WIFI_FAILED = 3; } // Device information message DeviceInfo { string device_id = 1; string firmware_version = 2; string hardware_version = 3; uint32 uptime_seconds = 4; // STA mode info WifiConnectionState sta_connection_state = 5; string sta_ip = 6; string sta_gateway = 7; int32 sta_signal_strength = 8; // Signal strength in dBm // AP mode info WifiConnectionState ap_connection_state = 9; string ap_ip = 10; uint32 ap_client_count = 11; } enum DeviceLogLevel { LOG_LEVEL_DEBUG = 0; LOG_LEVEL_INFO = 1; LOG_LEVEL_WARN = 2; LOG_LEVEL_ERROR = 3; } message DeviceLogEntry { int64 timestamp = 1; // Unix timestamp in milliseconds DeviceLogLevel level = 2; string message = 3; } message DeviceStatus { DeviceInfo info = 1; repeated DeviceLogEntry logs = 2; }