إنتقل إلى المحتوى الرئيسي

API — الأجهزة

يتطلب Authorization: Bearer {token}.

قائمة الأجهزة

GET /api/v1/devices?per_page=15

إنشاء جهاز

POST /api/v1/devices
Content-Type: application/json

{
"name": "إضاءة الصالة",
"room_id": 1,
"type": "lighting",
"relay_number": 1,
"esp32_name": "sala",
"energy_monitoring": false
}

Validation:

  • esp32_name: nullable, alpha_dash, regex ^[a-z0-9_-]+$
  • relay_number: 1–16

تحديث جهاز

PUT /api/v1/devices/{id}

تبديل الحالة

PATCH /api/v1/devices/{id}/toggle

ينشر MQTT:

  • smarthome/sala/relay/1 إن وُجد esp32_name
  • smarthome/relay/1 إن كان esp32_name فارغاً

حذف

DELETE /api/v1/devices/{id}

Response نموذجي

{
"data": {
"id": 1,
"name": "إضاءة الصالة",
"type": "lighting",
"status": "offline",
"room_id": 1,
"relay_number": 1,
"esp32_name": "sala",
"room": { "id": 1, "name": "صالة" }
}
}