feat: GeViScope SDK integration with C# Bridge and Flutter app

- Add GeViScope Bridge (C# .NET 8.0) on port 7720
  - Full SDK wrapper for camera control, PTZ, actions/events
  - 17 REST API endpoints for GeViScope server interaction
  - Support for MCS (Media Channel Simulator) with 16 test channels
  - Real-time action/event streaming via PLC callbacks

- Add GeViServer Bridge (C# .NET 8.0) on port 7710
  - Integration with GeViSoft orchestration layer
  - Input/output control and event management

- Update Python API with new routers
  - /api/geviscope/* - Proxy to GeViScope Bridge
  - /api/geviserver/* - Proxy to GeViServer Bridge
  - /api/excel/* - Excel import functionality

- Add Flutter app GeViScope integration
  - GeViScopeRemoteDataSource with 17 API methods
  - GeViScopeBloc for state management
  - GeViScopeScreen with PTZ controls
  - App drawer navigation to GeViScope

- Add SDK documentation (extracted from PDFs)
  - GeViScope SDK docs (7 parts + action reference)
  - GeViSoft SDK docs (12 chunks)

- Add .mcp.json for Claude Code MCP server config

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Administrator
2026-01-19 08:14:17 +01:00
parent c9e83e4277
commit a92b909539
76 changed files with 62101 additions and 176 deletions

View File

@@ -10,10 +10,21 @@ Write-Host ""
# Check GeViServer
$geviServer = Get-Process -Name "GeViServer"
if ($geviServer) {
Write-Host "[OK] GeViServer: RUNNING (PID: $($geviServer.Id))" -ForegroundColor Green
Write-Host " Ports: 7700-7703" -ForegroundColor Gray
Write-Host "[OK] GeViServer: RUNNING (PID: $($geviServer.Id))" -ForegroundColor Green
Write-Host " Ports: 7700-7703" -ForegroundColor Gray
} else {
Write-Host "[--] GeViServer: STOPPED" -ForegroundColor Red
Write-Host "[--] GeViServer: STOPPED" -ForegroundColor Red
}
Write-Host ""
# Check C# GeViServer Bridge
$geviServerBridge = Get-Process -Name "GeViServerBridge"
if ($geviServerBridge) {
Write-Host "[OK] C# Bridge: RUNNING (PID: $($geviServerBridge.Id))" -ForegroundColor Green
Write-Host " Port: 7710 (GeViServer 32-bit adapter)" -ForegroundColor Gray
} else {
Write-Host "[--] C# Bridge: STOPPED" -ForegroundColor Red
}
Write-Host ""
@@ -21,10 +32,10 @@ Write-Host ""
# Check SDK Bridge
$sdkBridge = Get-Process -Name "GeViScopeBridge"
if ($sdkBridge) {
Write-Host "[OK] SDK Bridge: RUNNING (PID: $($sdkBridge.Id))" -ForegroundColor Green
Write-Host " Port: 50051 (gRPC)" -ForegroundColor Gray
Write-Host "[OK] SDK Bridge: RUNNING (PID: $($sdkBridge.Id))" -ForegroundColor Green
Write-Host " Port: 50051 (gRPC)" -ForegroundColor Gray
} else {
Write-Host "[--] SDK Bridge: STOPPED" -ForegroundColor Red
Write-Host "[--] SDK Bridge: STOPPED" -ForegroundColor Red
}
Write-Host ""
@@ -42,16 +53,42 @@ if ($uvicorn) {
Write-Host ""
Write-Host "========================================" -ForegroundColor Cyan
# Test C# Bridge endpoint
if ($geviServerBridge) {
Write-Host ""
Write-Host "Testing C# Bridge health..." -ForegroundColor Yellow
try {
$response = Invoke-WebRequest -Uri "http://localhost:7710/status" -Method GET -TimeoutSec 5 -UseBasicParsing
if ($response.StatusCode -eq 200) {
Write-Host "[OK] C# Bridge is responding" -ForegroundColor Green
}
} catch {
Write-Host "[--] C# Bridge is not responding: $($_.Exception.Message)" -ForegroundColor Red
}
}
# Test API endpoint
if ($uvicorn) {
Write-Host ""
Write-Host "Testing API health..." -ForegroundColor Yellow
Write-Host "Testing Python API health..." -ForegroundColor Yellow
try {
$response = Invoke-WebRequest -Uri "http://localhost:8000/health" -Method GET -TimeoutSec 5 -UseBasicParsing
if ($response.StatusCode -eq 200) {
Write-Host "[OK] API is responding" -ForegroundColor Green
Write-Host "[OK] Python API is responding" -ForegroundColor Green
}
} catch {
Write-Host "[--] API is not responding: $($_.Exception.Message)" -ForegroundColor Red
Write-Host "[--] Python API is not responding: $($_.Exception.Message)" -ForegroundColor Red
}
# Test GeViServer API endpoint
Write-Host ""
Write-Host "Testing GeViServer API..." -ForegroundColor Yellow
try {
$response = Invoke-WebRequest -Uri "http://localhost:8000/api/v1/geviserver/status" -Method GET -TimeoutSec 5 -UseBasicParsing
if ($response.StatusCode -eq 200) {
Write-Host "[OK] GeViServer API is responding" -ForegroundColor Green
}
} catch {
Write-Host "[--] GeViServer API is not responding: $($_.Exception.Message)" -ForegroundColor Red
}
}