This MVP release provides a complete full-stack solution for managing action mappings in Geutebruck's GeViScope and GeViSoft video surveillance systems. ## Features ### Flutter Web Application (Port 8081) - Modern, responsive UI for managing action mappings - Action picker dialog with full parameter configuration - Support for both GSC (GeViScope) and G-Core server actions - Consistent UI for input and output actions with edit/delete capabilities - Real-time action mapping creation, editing, and deletion - Server categorization (GSC: prefix for GeViScope, G-Core: prefix for G-Core servers) ### FastAPI REST Backend (Port 8000) - RESTful API for action mapping CRUD operations - Action template service with comprehensive action catalog (247 actions) - Server management (G-Core and GeViScope servers) - Configuration tree reading and writing - JWT authentication with role-based access control - PostgreSQL database integration ### C# SDK Bridge (gRPC, Port 50051) - Native integration with GeViSoft SDK (GeViProcAPINET_4_0.dll) - Action mapping creation with correct binary format - Support for GSC and G-Core action types - Proper Camera parameter inclusion in action strings (fixes CrossSwitch bug) - Action ID lookup table with server-specific action IDs - Configuration reading/writing via SetupClient ## Bug Fixes - **CrossSwitch Bug**: GSC and G-Core actions now correctly display camera/PTZ head parameters in GeViSet - Action strings now include Camera parameter: `@ PanLeft (Comment: "", Camera: 101028)` - Proper filter flags and VideoInput=0 for action mappings - Correct action ID assignment (4198 for GSC, 9294 for G-Core PanLeft) ## Technical Stack - **Frontend**: Flutter Web, Dart, Dio HTTP client - **Backend**: Python FastAPI, PostgreSQL, Redis - **SDK Bridge**: C# .NET 8.0, gRPC, GeViSoft SDK - **Authentication**: JWT tokens - **Configuration**: GeViSoft .set files (binary format) ## Credentials - GeViSoft/GeViScope: username=sysadmin, password=masterkey - Default admin: username=admin, password=admin123 ## Deployment All services run on localhost: - Flutter Web: http://localhost:8081 - FastAPI: http://localhost:8000 - SDK Bridge gRPC: localhost:50051 - GeViServer: localhost (default port) Generated with Claude Code (https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4.5 KiB
START HERE - GeViScope Configuration Reader
This tool reads GeViScope server configuration and exports it to human-readable JSON format.
⚠️ Prerequisites Required
You need to install build tools before you can use this application.
What to Install
- .NET SDK 8.0 (provides
dotnetcommand) - .NET Framework 4.8 Developer Pack (provides targeting libraries)
How to Install
Quick Links (Download both):
Download 1: .NET SDK 8.0 https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-8.0.404-windows-x64-installer
Download 2: .NET Framework 4.8 Developer Pack https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/net48-developer-pack-offline-installer
Installation Steps:
- Run both installers (in any order)
- Click through the installation wizards
- Close and reopen your terminal after installation
- Verify installation:
dotnet --version(should show 8.0.xxx)
Total time: About 5-10 minutes
Full instructions: See C:\DEV\COPILOT\DOTNET_INSTALLATION_GUIDE.md
🔨 How to Build
After installing the prerequisites above:
Option 1: Use the build script
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
build.bat
Option 2: Build manually
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
dotnet restore
dotnet build
Output location: bin\Debug\net48\GeViScopeConfigReader.exe
▶️ How to Run
Step 1: Start GeViScope Server
cd "C:\Program Files (x86)\GeViScopeSDK\BIN"
GSCServer.exe
Leave this running in a separate window.
Step 2: Run the Configuration Reader
Option 1: Use the run script
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
run.bat
Option 2: Run manually
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader\bin\Debug\net48
GeViScopeConfigReader.exe
Option 3: Run with custom parameters
GeViScopeConfigReader.exe <server> <username> <password> <output.json>
Example:
GeViScopeConfigReader.exe 192.168.1.100 admin mypassword config.json
📄 Output
The tool creates a JSON file (default: geviScope_config.json) with the complete server configuration:
{
"System": {
"MediaChannels": {
"0000": {
"Name": "Camera 1",
"Enabled": true,
"GlobalNumber": 1
}
},
"Users": {
"SysAdmin": {
"Name": "System Administrator",
"Password": "abe6db4c9f5484fae8d79f2e868a673c",
"Enabled": true
}
}
}
}
You can open this file in any text editor or process it programmatically.
📚 Documentation
- QUICK_START.md - Step-by-step tutorial with examples
- README.md - Detailed documentation and API reference
- Program.cs - Source code with comments
- C:\DEV\COPILOT\DOTNET_INSTALLATION_GUIDE.md - Full installation guide
✅ Quick Checklist
- Install .NET SDK 8.0
- Install .NET Framework 4.8 Developer Pack
- Close and reopen terminal
- Run
build.batordotnet build - Start GeViScope Server (GSCServer.exe)
- Run
run.batorGeViScopeConfigReader.exe - View the output JSON file
🎯 Why This Approach?
Instead of parsing binary .set files (which is complex and fragile), this tool:
✓ Uses the official GeViScope SDK ✓ Connects directly to the running server ✓ Reads configuration in documented format ✓ Exports to human-readable JSON ✓ Works with any GeViScope version
Result: Clean, reliable, maintainable configuration access!
❓ Troubleshooting
"dotnet: command not found"
- Install .NET SDK 8.0 (see links above)
- Close and reopen your terminal
"Could not find SDK for TargetFramework"
- Install .NET Framework 4.8 Developer Pack (see links above)
"Failed to connect to server"
- Start GeViScope Server:
C:\Program Files (x86)\GeViScopeSDK\BIN\GSCServer.exe - Check server hostname/IP
- Verify username and password
DLL not found errors
- Ensure GeViScope SDK is installed
- Check paths in GeViScopeConfigReader.csproj
🚀 Next Steps
Once you have the configuration exported:
- Examine the JSON - Understand your server configuration
- Backup configurations - Export before making changes
- Compare configurations - Diff between servers or versions
- Automate management - Build tools to modify configuration programmatically
See QUICK_START.md and README.md for code examples!
Ready to start? Install the prerequisites above, then run build.bat!