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

@@ -0,0 +1,176 @@
================================================================================
PAGE 31
================================================================================
2.Routevideoinput7tovideooutput2:
a)ConnecttotheGeViServer viatelnetinacommand windowifnotdoneityet.
b)Send:CrossSwitch (7,2,0)
c)MakesurethatthevideosignalisroutedcorrectlyintheVideo/DigIO tabofGeVi-
APITestClient
3.Copythevideosignalfromoutput2tohaveitalsoonoutput4:
a)Send:CopyCameraOnMonitor (2,4)
b)Makesure,thatinput7isroutedtooutput2and4intheGeViAPITestClient
4.Clearthevideooutputonchannel2:
a)Send:ClearVideoOutput (2)
b)Makesurethecommand worked(GeViAPITestClient)
5.Closedigitaloutputcontact5:
a)Send:CloseContact (5)
b)Verifytheresultofthecommand inGeViAPITestClient
GETASLimitations
GETAScanbeusedforsimpleapplications orintegration ofnon-Windowsclients.Nev-
erthelessthereisonelimitation. Thetelnetconnection isonlyestablished tooneserverata
================================================================================
PAGE 32
================================================================================
time.IfGeViServer isrunninginaredundancy setup,theactionsarenotforwarded between
thedifferentservers.
 WARNING
Ifyouplantointegrate yourGETASsolution intoacomplex setupwithmirroring, youhaveto
takecareofthecommunication withthedifferent servers onyourown.
Thishasnottobeconsidered ifyouareusingtheSDKfunctionality asdescribed inchapter
SDKUsage.TheSDKfunctionswilltakecareofcommunicating withthevarioussystems.
================================================================================
PAGE 33
================================================================================
ActionMapping
Actionmappingcomesinhandyifyouneedtotriggeroneactionbyanother.Assumeyou
wanttoswitchonabeaconifadoorisopened.Thebeaconisconnected toadigitaloutput2
andthedoortoadigitalinput3(whichopenstogetherwiththedoor).Theseactionscanbe
mappedinthefollowingway.
1.InGeViSetselectServer>Actionmapping
2.PressAddintheActionmappingwindow.TheActionmapping settingswindowwill
open.
3.Pressthe…buttontoaddanewinputactionandchoosetheDigitalcontactscategory
intheActionsettingswindow
4.SelecttheInputContact actionandsettheparameters GlobalContactID to3and
ChangedTo tofalse.SetCaptiontodoorcontacthasopenedandpressOK.
5.Pressthe+buttontosettheoutputactionintheActionmapping settingswindow
6.Toflashabeacon,theoutputsignalmustalternatebetweenonandoff.Thiscanbe
achievedwiththeAlternateContact action.
7.SettheAlternateContact actionsparameters toGlobalContactID =2,BlinkPeriod =
1000ms,andBlinkOnTime =500ms.EnterblinkthebeaconasCaption.
8.SendthesetuptotheGeViServer
9.TestthemappingbysendingtheactionInputContact (3,false)eitherbyGETASor
insideGeViAPITestClient.YoushouldseethemappedactionAlternateContact (2,
1000,500)deliveredbytheGeViServer directlyafterwards. Youcanalsochecktheout-
putsstatusinGeViAPITestClientsVideo/DigIO tabafterhittingtherefreshbutton.
================================================================================
PAGE 34
================================================================================
10.Toswitchoffthebeaconafterthedoorhasclosed,youneedtomapanotheraction
pairinGeViSet.Forthat,mapInputContact (3,true)toCloseContact (2)andsend
thesetuptotheGeViServer.
11.Checkifthebeaconisswitchedoffimmediately aftersendingtheactionInput-
Contact(3,true)
Pleasenotethatyoucanmapmultipleactionstooneinput.Thisallowsyoutorealizemore
complexsetups.
================================================================================
PAGE 35
================================================================================
Timer(optional)
GeViSoftallowsyoutoconfiguretimerswhichcanscheduleactions,givingyouaversatile
toolforcustomapplications. YoucanconfiguredifferenttypesoftimersinGeViSet.Timers
internallycountin“ticks”.Eachtickequalsonemillisecond.
TypesofTimers
lOncetimer(singleshot)thistimercountsdownforthenumberofmainticksafter
beingstartedandattheendfirestheconfigured action
lPeriodical timerthistimerallowstriggeringactionsperiodically everytimeit
reachesthenumberofmainticks.Afterfiringtheaction,thetimerrestartscounting
ticksfromzero.
lPeriodical timerwithembedded tickthistimeractssimilartothesimpleperi-
odicaltimer.Inaddition,itcanfireasecondactiononreachingthe“embedded tick”
count.Asanexample,youcouldrealizeswitchingonandoffofabeaconlightwitha
timerlikethis.Simplyclosetheoutputattheembedded tickandopenitatthemain
tick.
================================================================================
PAGE 36
================================================================================
Timer1
================================================================================
PAGE 37
================================================================================
Configuring aTimer
1.Torealizethebeaconstimerselect„Server->„TimerinGeViSet.
2.Addanewtimer.Makesure,theActivecheckbox isticked.NamethetimerBea-
conTimeranddescribeitasTimertotoggleabeaconondigitaloutput2
3.SettheTimertypetoPeriodical withembedded tick,themainticktooccurevery
1000ms,andtheembedded ticktooccurevery500ms.Thiswillgenerateatimerwith
twotickspersecondandaspacingof500msinbetween.
4.PresstheEditbuttonOnembedded ticktosettheactionthatshalloccurwithevery
embedded tick.ChoseOpenContact fortheGlobalContactID 2andgivetheactionacap-
tionliketurnofbeacon.
5.Forthemaintick,settheactiontoCloseContact forthesameoutputandthecaption
toturnonbeacon.
6.SendthenewsetuptotheserverandswitchtoGeViAPITestClient
7.YoucanstartthetimerbysendingtheStartTimer action.Thisactiontakestwoparam-
eters,theTimerIDandtheTimerName .IfyouwanttoaddressatimerbyitsID,justsend
anemptyTimerName .SendStartTimer (1,"BeaconTimer")
8.IntheVideo/DigIO tab,youshouldseethatoutput2toggleswithafrequency of1Hz.
9.Tostopthetimer,sendaStopTimer (1,"BeaconTimer") action.
 NOTICE
HintforusingStartTimer andStopTimer actions:
GeViSoft firsttriestoevaluate thetimerbyTimerName andonlyifnonameisgivenbyID.Ifyou
================================================================================
PAGE 38
================================================================================
useanonexisting name,thetimerwillnotbestarted, evenifyoustatetherightID.Ifyouwant
tostartatimerbyID,sendanemptystringasname(e.g.StartTimer (1,"")).
================================================================================
PAGE 39
================================================================================
Events(optional)
Eventscanbeusedtocontrolcomplexbehaviorcausedbyastartconditionasatrigger.The
GeViSofteventhandlingimplementation allowsaveryflexiblesetupofeventtriggersand
resultingactions.
================================================================================
PAGE 40
================================================================================
YoucanaddeventsinGeViSet(Server->Events->Add).
Options forEvents
Option Description
Active Eventscanonlybetriggered ifmarked Active
Trigger Enabled Iftriggerisenabled, theeventisrestarted iftheStartbycondition occurs
again.
RepeatActions IftheStartbycondition occurs, theOnstartactionisinvoked
Adjustautostop
timeIftheStartbycondition occurs, theelapsed Autostoptimeisresettozero
Adjuststarttime Ifchecked, thestarttimeisadjusted onretriggering
Stopbefore
AutostopEnabled Ifenabled, theeventstopsafterthetimeframesetinStopafter
Stopafter Periodoftimeafterwhichtheeventautomatically stops
AutoStoponleaveof
validtimerangesEventscanbeactivated forcertaintimerangesonly.Ifthisoptionis
checked, theeventautomatically stopsifthevalidtimerangesareleft
Timerangefield Listofallthetimerangeswheretheeventisactivated. Notethatifnotime
rangeisgiven,theeventcannotbetriggered!
Startby Listofactions thattriggertheevent.Ifmultiple actions areconfigured, any
oftheactions willtriggertheeventonitsown(logical ORoperation)
Stopby Listofactions thatterminate theevent.Ifmultiple actions areconfigured,
anyoftheactions willstoptheeventonitsown(logical ORoperation)
Onstart Listofactions thatareallexecuted oneventstart(logical AND)
OnStop Listofactions thatareallexecuted oneventtermination (logical AND)
Configuring anEvent
1.Hereisanexamplehowtoconfigureaneventthatroutesvideosignalsbasedondig-
italinput--closingofcontact3triggerstheroutingofvideoinput3tovideooutput2.After
5seconds,theeventstopsandvideooutput2iscleared.Theeventwillbeconfigured for
automatic retriggering. Herearethesettings: