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>
This commit is contained in:
Administrator
2025-12-31 18:10:54 +01:00
commit 14893e62a5
4189 changed files with 1395076 additions and 0 deletions

View File

@@ -0,0 +1,482 @@
================================================================================
GeViScope_SDK.pdf - Pages 61 to 70
================================================================================
────────────────────────────────────────────────────────────────────────────────
Page 61
────────────────────────────────────────────────────────────────────────────────
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
CameraspecfuncVoff
Actionname:CameraSpecFuncVOff(PTZHead)
Category:command
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
CameraspecfuncVon
Actionname:CameraSpecFuncVOn(PTZHead)
Category:command
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
CameraspecfuncXoff
Actionname:CameraSpecFuncXOff(PTZHead)
Category:command
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
CameraspecfuncXon
Actionname:CameraSpecFuncXOn(PTZHead)
Category:command
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
CameraspecfuncYoff
Actionname:CameraSpecFuncYOff(PTZHead)
Category:command
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
────────────────────────────────────────────────────────────────────────────────
Page 62
────────────────────────────────────────────────────────────────────────────────
CameraspecfuncYon
Actionname:CameraSpecFuncYOn(PTZHead)
Category:command
Specialfunctionsaremappedtothisaction.
(MBegfunctionsX,Y,UandV).
Parameter Function
PTZhead Camera Globalcameranumber
Camerastopall
Actionname:CameraStopAll(PTZHead)
Category:command
Thisactionstopsallmovementsofthecamera.
Parameter Function
PTZhead Camera Globalcameranumber
Cameratextoff
Actionname:CameraTextOff(PTZHead)
Category:command
Thisactionturnsoffthetextdisplayofthecamera.
Parameter Function
PTZhead Camera Globalcameranumber
Cameratexton
Actionname:CameraTextOn(PTZHead)
Category:command
Thisactionturnsonthetextdisplayofthecamera.
Parameter Function
PTZhead Camera Globalcameranumber
Cameratourstart
Actionname:CameraTourStart(PTZHead,tourID,tourname)
Category:command
Thisactionstartsapre-definedtour.
Parameter Function
PTZhead Camera Globalcameranumber
tourid TourID Tourid.
tourname TourName Tourname.
Cameratourstop
Actionname:CameraTourStop(PTZHead)
Category:command
Thisactionstopsarunningtour.
Parameter Function
PTZhead Camera Globalcameranumber
────────────────────────────────────────────────────────────────────────────────
Page 63
────────────────────────────────────────────────────────────────────────────────
Cameraversionoff
Actionname:CameraVersionOff(PTZHead)
Category:command
Withthisactionthefirmwareversionofthecamerawillbehidden.
Parameter Function
PTZhead Camera Globalcameranumber
Cameraversionon
Actionname:CameraVersionOn(PTZHead)
Category:command
WiththisactionthefirmwareversionofthecamerawillbeshownasOSD.
Parameter Function
PTZhead Camera Globalcameranumber
Camerawash-wipeoff
Actionname:CameraWashOff(PTZHead)
Category:command
Thisactiondisablesthefunctions“wash”and“wipe”.
Parameter Function
PTZhead Camera Globalcameranumber
Camerawash-wipeon
CameraWashWhipeOn
Actionname:CameraWashOn(PTZHead)
Category:command
Thisactionenablesthefunctions“wash”and“wipe”.
Parameter Function
PTZhead Camera Globalcameranumber
Movetodefaultposition
Actionname:DefaultPosCallUp(Camera)
Actioncategory:command
ThePTZcameramovesbacktothehomeposition(usuallyposition1).
Thereforthehomepositionhastobesetandsavedinadvancebytheaction"SaveDe-
faultPosition".
Parameter Function
PTZhead Camera Globalcameranumber
Cleardefaultposition
Actionname:ClearDefaultPosition(PTZHead)
Category:command
Thisactiondeletesthecurrentlydefineddefaultposition.
Parameter Function
PTZhead Camera Globalcameranumber
────────────────────────────────────────────────────────────────────────────────
Page 64
────────────────────────────────────────────────────────────────────────────────
Clearpresetposition
Actionname:CameraPresetPosition(PTZHead,position)
Category:command
Thisactiondeletesapositionpreviouslysavedbytheaction“SavePresetPosition”.
Parameter Function
PTZhead Camera Globalcameranumber
position Numberofcamerapositiontobedeleted.
Savedefaultposition
Actionname:SaveDefaultPosition(PTZHead)
Category:command
Thisactionsavesthecurrentpositionofthecameraasdefaultposition.
Parameter Function
PTZhead Camera Globalcameranumber
Fastspeedoff
Actionname:FastSpeedOff(PTZHead)
Category:command
Thisactionswitchesfromhigh-speedofthecameratonormalspeedofthecamera.
Parameter Function
PTZhead Camera Globalcameranumber
Fastspeedon
Actionname:FastSpeedOn(PTZHead)
Category:command
Thisactionswitchesfromnormalspeedofthecameratohigh-speedofthecamera.
Parameter Function
PTZhead Camera Globalcameranumber
Focusfar
Actionname:FocusFar(Camera,Speed)
Actioncategory:command
Thecamerafocusadjustsonfar.
Parameter Function
PTZhead Camera Globalcameranumber
speed Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Focusnear
Actionname:FocusNear(Camera,Speed)
Actioncategory:command
Thecamerafocusadjustsonnear.
────────────────────────────────────────────────────────────────────────────────
Page 65
────────────────────────────────────────────────────────────────────────────────
Parameter Function
PTZhead Camera Globalcameranumber
speed Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Focusstop
Actionname:FocusStop(Camera)
Actioncategory:command
Thecamerastopsthefocusingprocess.
Parameter Function
PTZhead Camera Globalcameranumber
Irisclose
Actionname:IrisClose(Camera)
Actioncategory:command
Thecameraclosestheaperture.
Parameter Function
PTZhead Camera Thecameraclosestheaperture
Irisopen
Actionname:IrisOpen(Camera)
Actioncategory:command
Thecameraopenstheaperture.
Parameter Function
PTZhead Camera Thecameraopenstheaperture
Irisstop
Actionname:IrisStop(Camera)
Actioncategory:command
Thecamerastopsclosing/openingaperture.
Parameter Function
PTZhead Camera Thecamerastops
closing/opening
aperture
Movetoabsoluteposition
Forinternaluseonly
Movetobyspeed
Forinternaluseonly
Movetorelativeposition
Forinternaluseonly
────────────────────────────────────────────────────────────────────────────────
Page 66
────────────────────────────────────────────────────────────────────────────────
Panauto
Actionname:PanAuto(Camera,Modus)
Actioncategory:command
Cameraswithoutautomaticendstopturnonandonuntilthisfunctionisstoppedthroughthe
action"PanStop".Cameraswithautomaticendstopdostopautomaticallyaftera360turn.
Itdependsonthecameratypeifthisfunctionisevenavailableandincasehowitisgoingto
beaccomplished.
Parameter Function
PTZhead Camera Globalcameranumber
modus Modus Dependsoncameratype(modelandman-
ufacturer)
Panleft
Actionname:PanLeft(Camera,Speed)
Actioncategory:command
Thecamerapanstotheleft.
Parameter Function
PTZhead Camera Globalcameranumber
modus Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Panright
Actionname:PanRight(Camera,Speed)
Actioncategory:command
Thecamerapanstotheright.
Parameter Function
PTZhead Camera Globalcameranumber
modus Speed Panspeed.
Panstop
Actionname:PanStop(Camera)
Actioncategory:command
Thecamerastopspanmovement.
Parameter Function
PTZhead Camera Globalcameranumber
Movetopresetposition
Actionname:PrePosCallUp(Camera,Position)
Actioncategory:command
Thecameramovestoapresetpositiondeterminedinadvancethroughtheaction"SavePre-
setPosition".
Parameter Function
PTZhead Camera Globalcameranumber
position Position Numberofselectedpresetposition.
Theamountofpositionstosavedependson
────────────────────────────────────────────────────────────────────────────────
Page 67
────────────────────────────────────────────────────────────────────────────────
Parameter Function
thecameratype(modelandmanufacturer).
Clearpresetposition
Actionname:PrePosClear(Camera,Position)
Actioncategory:command
Clearcamerapresetposition.
Parameter Function
PTZhead Camera Globalcameranumber
position Position Presetposition.
Savepresetposition
Actionname:PrePosSave(Camera,Position)
Actioncategory:command
SavescurrentpositionofthePTZcameraasapresetposition.
Parameter Function
PTZhead Camera Globalcameranumber
position Position Numberofpresetpositiononwhichthecur-
rentpositionofthecamerashouldbesaved.
Theamountofpositionstosavedependson
thecameratype(modelandmanufacturer).
Setcameratext
Actionname:SaveCameraText(PTZHead,text)
Category:command
Thisactionsavesthecameradescriptioninaccordancewiththeparameter“text”.
Parameter Function
PTZhead Camera Globalcameranumber
text Text TexttobedisplayedonthecameraasOSD.
Tiltdown
Actionname:TiltDown(Camera,Speed)
Actioncategory:command
Thecameratiltsdown.
Parameter Function
PTZhead Camera Globalcameranumber
speed Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Tiltstop
Actionname:TiltStop(Camera)
Actioncategory:command
Thecamerastopsthetiltmovement.
Parameter Function
PTZhead Camera Globalcameranumber
────────────────────────────────────────────────────────────────────────────────
Page 68
────────────────────────────────────────────────────────────────────────────────
Tiltup
Actionname:TiltUp(Camera,Speed)
Actioncategory:command
Thecameratiltsup.
Parameter Function
PTZhead Camera Globalcameranumber
speed Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Zoomin
Actionname:ZoomIn(Camera,Speed)
Actioncategory:command
TheCamerazoomsin(telerange).
Parameter Function
PTZhead Camera Globalcameranumber
speed Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Zoomout
Actionname:ZoomOut(Camera,Speed)
Actioncategory:command
Thecamerazoomsout(wide-anglerange).
Parameter Function
PTZhead Camera Globalcameranumber
speed Speed Dependingontheprotocolofcameraman-
ufacturervelocitiesbetween1and255are
beingadjustedtothevelocityrangeofthe
camera.
Zoomstop
Actionname:ZoomStop(Camera)
Actioncategory:command
Thecamerastopszoomingprocess.
Parameter Function
PTZhead Camera Globalcameranumber
Cashmanagementactions
CashManagementActionsoffertheexchangeofaccompanyingmetadatabetweenCash
ManagementSystemsandGeViScope/Re_porter.Withtheseactionsmoneyhandlingpro-
cessescanbedocumentedconsistentlyviavideo.Theuseoftheseactionsforstartingand
restartingofeventrecordingsleadstothedisplayoftheaccompanyingvideodatainlive
────────────────────────────────────────────────────────────────────────────────
Page 69
────────────────────────────────────────────────────────────────────────────────
streamsofGscViewandthestorageofthoseinthevideodatabase.Thevideosequences
recordedbyCashManagementActionscanlaterberecoveredeasilyinGscViewbyusing
theaccompanyingmetadataandaspecialdatafilterdialog.
Safebagclose
Actionname:SafebagClose(WorkingPlace,StartTime,StopTime,SafebagNo,Safe-
bagInfo,StepID,Debit,Total,Difference,HasDifference,Notes,Coins,Cheques)
Actioncategory:logical
Safebagclose.
TheintegratedCashManagementSystemsendstheactionassoonastheuserhasfin-
ishedthecountingofonesafebagandhasconfirmedthattotheCashManagementSystem
.
Viatheparameter"workingplace"theaffectedworkingplacewillbeidentified.Thefurther
parameterwillbeprovidedwithaccompanyingvideodatabyCashManagementSystem.
Theparameter"StepID"canbeprovidedwithacodefigurebytheCashManagementSys-
temforthecurrentlyrunningprocessstep.
Parameter Function
working
place
WorkingPlaceWorkingplaceno.
starttimeStartTime Timestamp,whenthehandlingofthesafebagbegan.
stoptimeStopTime Timestamp,whenthehandlingofthesafebagstopped.
safebag
no.
SafebagNoAlphanumericalidentificationofsafebag;searchcriteriainGscView
safebag
info
SafebagInfoAdditionalalphanumericalidentificationofsafebag
stepid StepID Codefigureforthecurrentlyrunningprocessstep(givenbyCashMan-
agementSystemindividually)
debit Debit Debitamountofsafebag
total Total Effectivetotalamountofsafebagaccordingtocounting(willbeaccu-
mulatedbyCashManagementSystemsoncounting)
differenceDifference Differencebetweentotalamountandresultrespectivelyprogressof
counting
hasdif-
ference
HasDifferenceYes=currenttotalamounthasadifferencetodebitamount
No=currenttotalamountisidenticalwithdebitamount
notes Notes Denominationofcountedbanknotes.TheDisplayinGscViewisintable
form.Thetablehasmax.2columns.Theindividuallinescanbesep-
aratedviainsertionofcontrol'\r'(0x0D).Theseparationofboth
columnswithinonelinecanbecarriedoutviainsertionofcontrol'\t'
(0x09).
coins Coins Denominationofcountedcoins.TheDisplayinGscViewisintable
form.Thetablehasmax.2columns.Theindividuallinescanbesep-
aratedviainsertionofcontrol'\r'(0x0D).Theseparationofboth
columnswithinonelinecanbecarriedoutviainsertionofcontrol'\t'
(0x09).
chequesCheques Denominationofcountedcheques.TheDisplayinGscViewisintable
form.Thetablehasmax.2columns.Theindividuallinescanbesep-
aratedviainsertionofcontrol'\r'(0x0D).Theseparationofboth
columnswithinonelinecanbecarriedoutviainsertionofcontrol'\t'
(0x09).
────────────────────────────────────────────────────────────────────────────────
Page 70
────────────────────────────────────────────────────────────────────────────────
Safebagdata
Actionname:SafebagData(WorkingPlace,StartTime,SafebagNo,SafebagInfo,StepID,
Debit,Total,Difference,HasDifference,Notes,Coins,Cheques)
Actioncategory:command
Safebagdata.
TheintegratedCashManagementSystemsendstheactionassoonastheuserhasfin-
ishedcountingonevarietyofnotesorcoinsandhasconfirmedthattothesystem.
Viatheparameter"workingplace"theaffectedworkingplacewillbeidentified.Thefurther
parameterwillbeprovidedwithaccompanyingmetadatabytheCashManagementSys-
tem.
Theparameter"StepID"canbeprovidedwithacodefigurebytheCashManagementSys-
temforthecurrentlyrunningprocessstep.
Parameter Function
working
place
WorkingPlaceWorkingplaceno.
starttimeStartTime Timestamp,whenthehandlingofthesafebagbegan.
safebag
no.
SafebagNoAlphanumericalidentificationofsafebag;searchcriteriainGscView
safebag
info
SafebagInfoAdditionalalphanumericalidentificationofsafebag
stepid StepID Codefigureforthecurrentlyrunningprocessstep(givenbycashman-
agementsystemindividually
debit Debit Debitamountofsafebag
total Total Effectivetotalamountofsafebagaccordingtocounting( willbeaccu-
mulatedbytheCashmanagementSystemduringcounting)
differenceDifference Differencebetweentotalamountandresultrespectivelyprogressof
counting
hasdif-
ference
HasDifferenceYes=currenttotalamounthasadifferencetodebitamount
No=currenttotalamountisidenticalwithdebitamount
notes Notes Denominationofcountedbanknotes.TheDisplayinGscViewisintable
form.Thetablehasmax.2columns.Theindividuallinescanbesep-
aratedviainsertionofcontrol'\r'(0x0D).Theseparationofboth
columnswithinonelinecanbecarriedoutviainsertionofcontrol'\t'
(0x09).
coins Coins Denominationofcountedcoins.TheDisplayinGscViewisintable
form.Thetablehasmax.2columns.Theindividuallinescanbesep-
aratedviainsertionofcontrol'\r'(0x0D).Theseparationofboth
columnswithinonelinecanbecarriedoutviainsertionofcontrol'\t'
(0x09).
chequesCheques Denominationofcountedcheques.TheDisplayinGscViewisintable
form.Thetablehasmax.2columns.Theindividuallinescanbesep-
aratedviainsertionofcontrol'\r'(0x0D).Theseparationofboth
columnswithinonelinecanbecarriedoutviainsertionofcontrol'\t'
(0x09).
Safebagopen
Actionname:SafebagOpen(WorkingPlace,StartTime,SafebagNo,SafebagInfo,StepID)
Actioncategory:notification
Safebagopen.
TheintegratedCashManagementSystemsendstheactionassoonastheuserhasopened
thesafebagandconfirmedthatwithanentryintheCashManagementSystem.