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>
193 lines
4.5 KiB
Markdown
193 lines
4.5 KiB
Markdown
# 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
|
|
|
|
1. **.NET SDK 8.0** (provides `dotnet` command)
|
|
2. **.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:
|
|
|
|
1. Run both installers (in any order)
|
|
2. Click through the installation wizards
|
|
3. **Close and reopen** your terminal after installation
|
|
4. 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
|
|
```cmd
|
|
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
|
|
build.bat
|
|
```
|
|
|
|
### Option 2: Build manually
|
|
```cmd
|
|
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
|
|
|
|
```cmd
|
|
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
|
|
```cmd
|
|
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader
|
|
run.bat
|
|
```
|
|
|
|
#### Option 2: Run manually
|
|
```cmd
|
|
cd C:\DEV\COPILOT\geutebruck-api\GeViScopeConfigReader\bin\Debug\net48
|
|
GeViScopeConfigReader.exe
|
|
```
|
|
|
|
#### Option 3: Run with custom parameters
|
|
```cmd
|
|
GeViScopeConfigReader.exe <server> <username> <password> <output.json>
|
|
```
|
|
|
|
**Example:**
|
|
```cmd
|
|
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:
|
|
|
|
```json
|
|
{
|
|
"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.bat` or `dotnet build`
|
|
- [ ] Start GeViScope Server (GSCServer.exe)
|
|
- [ ] Run `run.bat` or `GeViScopeConfigReader.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:
|
|
|
|
1. **Examine the JSON** - Understand your server configuration
|
|
2. **Backup configurations** - Export before making changes
|
|
3. **Compare configurations** - Diff between servers or versions
|
|
4. **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`!
|