modbus.py 648 B

12345678910111213141516171819202122232425
  1. from typing import Any
  2. from fastapi import APIRouter
  3. from app.schemas.modbus import ModbusPointReadRequest, ModbusRawReadRequest
  4. from app.services.modbus_service import read_points, read_raw
  5. router = APIRouter(tags=["modbus"])
  6. @router.get("/health")
  7. def health() -> dict[str, str]:
  8. return {"status": "ok"}
  9. @router.post("/modbus/read")
  10. def modbus_read(request: ModbusRawReadRequest) -> dict[str, Any]:
  11. return read_raw(request)
  12. @router.post("/modbus/read-points", include_in_schema=False)
  13. @router.post("/modbus/read_points")
  14. def modbus_read_points(request: ModbusPointReadRequest) -> dict[str, Any]:
  15. return read_points(request)