Files
Administrator 14893e62a5 feat: Geutebruck GeViScope/GeViSoft Action Mapping System - MVP
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>
2025-12-31 18:10:54 +01:00

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`!