PotoP API Translator

Sostituisci il sistema video, conserva ogni integrazione

Un PLC, un controller di videowall, un sistema di gestione dell’edificio o un PSIM continua a inviare i comandi che ha sempre inviato. L’API Translator esegue ciascuno di essi su PotoP VMS Studio e risponde nella forma che l’altro sistema si aspetta — TKH VDG Sense, Commend ICX, Milestone XProtect e Genetec Security Center, comando per comando.

Realizzato nell’UE Funziona sui tuoi server

Flusso live: ogni comando mentre viene tradotto

Comando per comando

Ogni comando dell’API dell’altro sistema, tradotto in chiamate PotoP VMS Studio — la tabella è generata dal codice.

Quattro connettori

TKH VDG Sense, Commend ICX, Milestone XProtect (MIP VMS API) e Genetec Security Center (Web SDK).

Flusso live

Segui ogni messaggio dall’altro sistema al VMS attraverso il traduttore, e ritorno, passo per passo.

Banco di prova

Invia qualsiasi comando come farebbe l’altro sistema; viene eseguito davvero su PotoP, con la risposta e le chiamate effettuate.

Mai un successo simulato

Ciò che PotoP non può fare riceve il codice di errore dell’altro sistema, così un PLC non viene mai tratto in inganno.

Il certificato del server VMS stesso

Ogni porta presenta il certificato del server PotoP; account, indirizzi consentiti, limiti di frequenza e gruppi di autorizzazioni per connettore.

Cambia un solo indirizzo, nient’altro

Riscrivere un’integrazione è la parte costosa della sostituzione di un sistema di gestione video, e spesso quella di cui nessuno si occupa più. Il PotoP API Translator la elimina. All’altro sistema viene dato un nuovo indirizzo e continua a parlare la propria API; il traduttore traduce ogni comando nell’API di PotoP VMS Studio, lo esegue e traduce la risposta al contrario. Nulla viene simulato: quando PotoP non ha un equivalente, la risposta lo dice nel vocabolario dell’altro sistema — mai un falso successo che faccia credere a un PLC che una porta si è aperta.

Quattro sistemi, ogni comando documentato

Tutti i 71 comandi documentati dell’API HTTP/XML di TKH VDG Sense, tutte le 81 famiglie di comandi del protocollo Commend ICX, 75 risorse della MIP VMS API di Milestone e il Web SDK di Genetec Security Center — ciascuno elencato nella pagina Comandi della console con la chiamata PotoP in cui si trasforma e che cosa cambia. Una vista del flusso live mostra ogni messaggio mentre viene tradotto, e un banco di prova esegue davvero qualsiasi comando prima del passaggio.

Costruito per la sostituzione con PotoP VMS Studio

Il traduttore esiste per un solo momento: il giorno in cui un sistema Sense, Milestone, Genetec o Commend viene sostituito da PotoP VMS Studio e le integrazioni intorno a esso devono continuare a funzionare.

PotoP VMS Studio

Il lavoro lo fa il VMS

Telecamere, PTZ, registrazioni, esportazioni, layout, macro, allarmi, utenti e servizi citofonici sono di PotoP; il traduttore si limita a parlare loro la lingua dell’altro sistema.

Allarmi nel registro di PotoP

Un allarme inviato da Milestone o Genetec è un vero allarme PotoP, con un numero, uno stato e una cronologia — e ciò che gli operatori PotoP modificano torna indietro.

Citofonia su PotoP VoIP

Un sistema di gestione che controllava un Intercom Server Commend tramite ICX controlla PotoP VoIP nello stesso modo: chiamate, uscite, ingressi, diffusione sonora, conferenze, richieste di chiamata.

Tour delle funzioni

Ogni schermata qui sotto è uno screenshot reale. Cerca una funzione o scegli un capitolo; clicca su un’immagine per vederla a grandezza piena e scorrile con i tasti freccia.

01

Collegato al VMS 4 schermate

Accedi come amministratore PotoP, collega con un solo pulsante e segui ogni traduzione in diretta.

Flusso live: ogni comando mentre viene tradotto
Punto di forza Console API Translator

Flusso live: ogni comando mentre viene tradotto

La pagina iniziale della console disegna ogni messaggio che viaggia dall’altro sistema a PotoP VMS Studio attraverso il traduttore, e ritorno; conta risposte, errori e rifiuti ed elenca ogni messaggio dal più recente.

Come funziona

La pagina è alimentata da un flusso di eventi inviati dal server (SSE) dal traduttore: ogni richiesta che arriva su una qualsiasi porta di connettore è un record di flusso — il comando, le chiamate REST PotoP fatte per esso e la risposta — spinto al browser nel momento stesso, così nulla viene interrogato in polling e nulla va perso. L’animazione e i contatori sono tratti dagli stessi record della tabella, e gli ultimi cinquecento flussi restano in memoria per la sessione. Password, chiavi di sessione, token e digest vengono mascherati prima che un flusso sia conservato, così la pagina può restare aperta su uno schermo della sala controllo.

Una traduzione, aperta
Console API Translator

Una traduzione, aperta

Fai clic su una riga e l’intera traduzione si apre: la richiesta così come è arrivata, ogni chiamata REST PotoP fatta per essa con stato e tempo, e la risposta tornata indietro — segreti mascherati.

Come funziona

Un flusso si apre in tre parti: la richiesta esattamente come l’ha inviata l’altro sistema (metodo, URL, corpo), i passi PotoP — ogni chiamata REST con percorso, codice di stato e millisecondi impiegati — e la risposta tornata indietro nel formato dell’altro sistema. L’esito è uno tra ok, error, refused o unsupported, ed è ciò che i contatori sommano. Il dettaglio è il modo più rapido per capire che cosa fa davvero su PotoP il comando di un produttore, ed è per questo che il banco di prova apre la stessa vista per i comandi che invii tu stesso.

Impostazioni: il collegamento, il certificato, la console
Console API Translator

Impostazioni: il collegamento, il certificato, la console

Il traduttore lavora con un token API proprio, a nome dell’amministratore che lo ha collegato; la pagina mostra il server, il feed eventi, il certificato che presenta e quali tipi di connettore sono pronti.

Come funziona

Il collegamento chiede a PotoP VMS Studio un token API intitolato al traduttore, con un insieme fisso di diritti, creato a nome dell’amministratore che ha premuto il pulsante; il token viene conservato crittografato e può essere revocato qui o nel VMS. La stessa pagina mostra il feed eventi che il traduttore tiene aperto per numerare ogni evento PotoP, il certificato che presenta su ogni porta (quello del server VMS stesso, seguito attraverso i rinnovi, oppure uno provvisorio creato da sé) e, per ogni tipo di connettore, se è pronto, quanti ne sono configurati, o che non è ancora stato realizzato.

Accedi con un account amministratore PotoP
Console API Translator

Accedi con un account amministratore PotoP

La console ti autentica direttamente su PotoP VMS Studio, codice in due passaggi incluso; entrano solo gli amministratori, tramite il certificato del server stesso.

Come funziona

Nel traduttore non c’è alcun elenco utenti. Il modulo di accesso si rivolge al login del VMS stesso, rispetta l’accesso in due passaggi e poi verifica che l’account sia un amministratore; chiunque altro viene rifiutato a chiare lettere. La sessione è un cookie strict per questo browser con una durata scorrevole di trenta minuti, ogni modifica porta un’intestazione CSRF, e otto tentativi falliti da uno stesso indirizzo in cinque minuti mettono in pausa quell’indirizzo. La pagina è servita con il certificato del server PotoP, e un browser che apre localhost viene reindirizzato a un nome per cui il certificato è stato emesso.

02

Connettori 7 schermate

Una scheda per ogni sistema collegato: porte, account, sicurezza, i numeri con cui è stato programmato, comportamento.

Una scheda per ogni sistema collegato
Punto di forza Console API Translator

Una scheda per ogni sistema collegato

Quattro connettori — un PLC che parla VDG Sense, un sistema di gestione dell’edificio su Commend ICX, un PSIM costruito per Milestone, uno per Genetec — ciascuno con le sue porte, lo stato della crittografia, il conteggio dei messaggi e un interruttore.

Come funziona

Ogni scheda è un altro sistema: il suo tipo decide il protocollo parlato sulle sue porte — HTTP e XML per Sense, TCP grezzo per Commend ICX, REST e WebSocket per Milestone, REST e un flusso eventi multipart per Genetec. I chip mostrano se è in ascolto, se l’HTTP in chiaro è stato consentito, per ICX quale client è connesso, e quanti messaggi ha gestito. L’interruttore avvia e ferma l’ascolto senza perdere le impostazioni; un connettore non gira mai senza un account, e per aggiungerne uno c’è un pulsante per tipo sotto le schede.

Sense: l’indirizzo da dare all’altro sistema
Console API Translator

Sense: l’indirizzo da dare all’altro sistema

La scheda Generale di un connettore: il nome, le porte su cui ascolta e l’indirizzo esatto a cui punta l’altro sistema — l’unica cosa che cambia dalla loro parte.

Come funziona

Il traduttore presenta il certificato del server VMS su ogni porta di connettore e ne segue i rinnovi, così l’indirizzo indicato in Generale funziona in HTTPS dal momento in cui viene digitato nel PLC o nel sistema di gestione. Le porte sono etichette: una seconda — 443 o 80 per un sistema a cui non se ne può assegnare un’altra — si aggiunge senza riavvio, e le porte usate dal server PotoP stesso vengono rifiutate con il motivo. Rimuovi questo connettore chiede una conferma e viene scritto nel registro attività a tuo nome.

Accesso e sicurezza per connettore
Console API Translator

Accesso e sicurezza per connettore

Account con una password casuale mostrata una sola volta, HTTP in chiaro solo dopo una decisione registrata, indirizzi consentiti, una frequenza per indirizzo, e i gruppi che stabiliscono che cosa può fare il connettore.

Come funziona

Aggiungi account genera una password di diciotto caratteri mostrata una sola volta; viene conservato solo un hash scrypt, verificato accanto al ciclo principale del servizio con una breve memoria, così un sistema che accede a ogni richiesta non costa nulla in più. Dieci password errate mettono in pausa quel nome da quell’indirizzo per cinque minuti. Consenti HTTP in chiaro apre un avviso che devi accettare a tuo nome, e l’HTTPS continua a funzionare sulla stessa porta. I gruppi sottostanti sono le autorizzazioni per connettore: un comando il cui gruppo è disattivato viene rifiutato nel vocabolario dell’altro sistema; Modifica impostazioni è disattivato per impostazione predefinita.

I loro numeri ⇄ PotoP
Console API Translator

I loro numeri ⇄ PotoP

Gli id di server e dispositivi del vecchio sistema vengono mappati sulle telecamere PotoP; i numeri usati dall’altro sistema che non sono mappati si raccolgono in un elenco con un pulsante Mappa…, così la configurazione è guidata da ciò che arriva davvero.

Come funziona

Un’integrazione Sense indica un server con un numero lungo e una telecamera con un id dispositivo, entrambi provenienti dall’installazione sostituita. La mappa assegna a ogni coppia la sua telecamera PotoP; senza una mappatura l’id dispositivo viene preso come numero della telecamera PotoP, e una telecamera mappata è raggiungibile solo con il suo numero mappato. I comandi che hanno indicato un numero sconosciuto non vengono indovinati: il numero viene raccolto nell’elenco sottostante con la frequenza e l’ultima occorrenza, e Mappa… avvia da lì una riga di mappatura — lascia girare l’altro sistema per un minuto e l’elenco dice che cosa si aspetta ancora.

ICX: postazioni, uscite, ingressi, telecamere, monitor
Console API Translator

ICX: postazioni, uscite, ingressi, telecamere, monitor

Per un connettore Commend ICX la scheda mappa collega i numeri di chiamata agli interni PotoP VoIP, le uscite alle macro, gli eventi PotoP agli ingressi e i monitor ai riquadri dei layout.

Come funziona

ICX parla in numeri di chiamata, numeri di uscita e ingresso, numeri di telecamera e monitor. Un numero di chiamata è l’interno PotoP VoIP con lo stesso numero, salvo mappatura; un’uscita diventa reale quando viene indicata una macro PotoP per l’accensione e lo spegnimento; un ingresso viene impulsato da un tipo di evento PotoP, eventualmente di una sola telecamera, per un certo numero di secondi; un monitor è un layout PotoP e il riquadro in cui viene messa la telecamera. Sotto le tabelle il connettore elenca le coppie task/type che ha ricevuto e per cui non ha un gestore, così una funzione mancante viene vista anziché indovinata.

Milestone: i GUID con cui è stata programmata l’integrazione
Console API Translator

Milestone: i GUID con cui è stata programmata l’integrazione

Un’integrazione che ha gli id di Milestone incorporati fissa ogni GUID alla telecamera, uscita, macro, tipo di evento o layout PotoP che l’ha sostituito; una che cerca gli oggetti per nome non ha bisogno di nulla qui.

Come funziona

Il connettore risponde all’API di configurazione di Milestone con id propri, stabili tra un riavvio e l’altro. Un’integrazione che cerca telecamere, uscite o tipi di evento per nome funziona quindi senza modifiche; una programmata con i GUID della vecchia installazione XProtect li fissa qui, ciascuno all’oggetto PotoP che l’ha sostituito, con il tipo di id scelto tra telecamere, hardware, server di registrazione, uscite, eventi di ingresso, eventi definiti dall’utente, tipi di evento, viste, utenti base e ruoli. Le uscite ricevono un numero, un nome e una macro PotoP, così che attivarne una commuti davvero qualcosa.

Genetec: come vengono riportate le cose
Console API Translator

Genetec: come vengono riportate le cose

Una spiegazione in sola lettura, per connettore, di che cosa diventa che cosa su PotoP — allarmi, protezione video, registrazione, eventi — e quali entità di Security Center PotoP non ha.

Come funziona

PotoP è un sistema video, e la pagina lo dice chiaramente: gli allarmi finiscono nel registro allarmi di PotoP con l’id istanza uguale al numero di allarme PotoP, la protezione video è un blocco delle riprese, la registrazione è la registrazione manuale di PotoP, gli eventi vengono pubblicati con i nomi di Security Center. Controllo accessi, antintrusione, pattuglia LPR e parcheggio non hanno un corrispettivo — le loro entità vengono conservate, i loro report rispondono Ok con un elenco vuoto, le loro azioni rispondono Fail con un messaggio che ne spiega il motivo — e nulla viene mai fatto passare per avvenuto.

03

Ogni comando, tradotto 4 schermate

La pagina Comandi: ogni comando di ciascun sistema e la chiamata PotoP in cui si trasforma.

TKH VDG Sense: tutti i 71 comandi
Punto di forza Console API Translator

TKH VDG Sense: tutti i 71 comandi

La pagina Comandi è il riferimento: ogni comando Sense documentato, quanto PotoP lo copre, la chiamata PotoP VMS Studio in cui si trasforma e che cosa cambia — 71 su 71 eseguiti completamente.

Come funziona

La tabella è generata dal registro dei comandi del connettore stesso, lo stesso che serve le richieste, così la pagina non può mai elencare un comando che il traduttore non ha. Ogni riga indica il comando Sense, la copertura, le chiamate PotoP VMS Studio in cui si trasforma — un movimento PTZ è una POST all’endpoint ptz della telecamera con velocità convertite dai millesimi di Sense, una clip è un’esportazione PotoP con i dati VCA come traccia di testo temporizzata — e che cosa sapere, per esempio un comando rimosso da Sense anni fa a cui si risponde ancora per i vecchi chiamanti. Il filtro restringe l’elenco a completo, parziale o non disponibile.

Commend ICX: 81 famiglie di comandi
Console API Translator

Commend ICX: 81 famiglie di comandi

Ogni task e type del protocollo ICX sotto la sua famiglia: 62 eseguiti su PotoP VoIP, visualizzatori, telecamere o macro, 19 conservati e riportati come farebbe un Intercom Server.

Come funziona

Ogni famiglia porta i suoi codici task e type ICX sotto il nome, così un ingegnere di protocollo può cercare direttamente 40/80 o 80/AC. Quasi ogni famiglia diventa una op dell’endpoint di comando citofonico del VMS — call, hangup, dtmf, busy, privacy, page, conference, output, input, door code, request, desk — e la nota dice che cosa cambia: privacy rispettata per chiamata, modalità simplex riportata ma non imposta, un canale radio come stanza di conferenza. Le famiglie conservate sono le parti che solo una postazione Commend possiede, che PotoP memorizza per postazione e riporta come evento.

Milestone MIP VMS API: 75 risorse
Console API Translator

Milestone MIP VMS API: 75 risorse

Accesso, eventi, allarmi, segnalibri, blocchi delle prove, WebRTC e tutti i tipi di risorsa di configurazione, ciascuno segnato come completo, parziale o conservato — e le operazioni che PotoP non può fare, a cui si risponde con un errore, mai con un successo simulato.

Come funziona

Le 75 righe coprono gli endpoint di accesso, i WebSocket di eventi e messaggistica, allarmi, segnalibri, blocchi delle prove, WebRTC e ogni tipo di risorsa di configurazione della MIP VMS API pubblicata. Le righe complete poggiano su PotoP (telecamere, server di registrazione, uscite, eventi definiti dall’utente come macro, viste come layout, utenti base e ruoli come veri utenti e gruppi); le righe conservate memorizzano ciò che l’altro sistema crea e lo restituiscono con id propri; e ogni operazione che PotoP non può svolgere — troncare lo storage, cambiare la password di un dispositivo, sostituire hardware — è elencata come risposta con un errore anziché con un successo simulato.

Genetec Web SDK: entità, azioni, allarmi, eventi
Console API Translator

Genetec Web SDK: entità, azioni, allarmi, eventi

Le entità del Web SDK, i metodi delle telecamere, PTZ, uscite, riquadri, allarmi, flusso eventi e report con i loro corrispettivi PotoP — e le parti di controllo accessi e antintrusione che rispondono Fail onestamente.

Come funziona

Al Web SDK si risponde con la sua stessa sintassi di chiamata di metodo q=, in JSON o XML, nella forma moderna o legacy secondo quanto chiede l’intestazione Accept. Le entità provengono da telecamere, server, utenti, gruppi, macro e stato citofonico di PotoP, con l’id logico uguale al numero PotoP; metodi delle telecamere, PTZ, uscite, riquadri e allarmi corrispondono alle chiamate mostrate; il flusso eventi trasporta il feed di PotoP sotto 37 nomi di evento di Security Center. Le righe di controllo accessi, antintrusione, LPR e parcheggio sono quelle oneste: entità conservate, report vuoti e azioni che falliscono con un motivo.

04

Banco di prova e registro 3 schermate

Esegui davvero un comando prima del passaggio, e rileggi la traccia dopo.

Banco di prova: un comando Sense, eseguito davvero
Punto di forza Console API Translator

Banco di prova: un comando Sense, eseguito davvero

Invia qualsiasi comando come farebbe l’altro sistema e leggi la risposta, immagini incluse; il traduttore accede per te e il comando viene eseguito davvero su PotoP VMS Studio.

Come funziona

Il banco accede con una chiave valida per un solo comando, così non serve alcun account dell’altro sistema per provare qualcosa, e la richiesta percorre la stessa strada di quella di un PLC: il connettore la analizza, mappa i numeri, effettua le chiamate PotoP e formatta la risposta XML. Le immagini tornano in linea — un’immagine live, l’immagine di un preset, uno stato di esportazione — e il flusso compare nello stesso istante in Flusso live con ogni passo. È l’ordine di lavoro consigliato: collega, aggiungi il connettore e un account, invia un comando qui, osservalo, poi fai passare l’altro sistema.

Banco di prova ICX con esempi pronti
Console API Translator

Banco di prova ICX con esempi pronti

Ogni famiglia di comandi ICX con messaggi di esempio, la risposta messaggio per messaggio con il suo significato, le chiamate PotoP effettuate — e un simulatore di messaggi di stato per ciò che PotoP VoIP riporterebbe.

Come funziona

ICX è binario, così il banco offre ogni famiglia di comandi con esempi svolti in cui sostituisci i numeri con i tuoi, mostra il messaggio esadecimale che invierà e decodifica ogni frame di risposta in parole, accanto alle chiamate PotoP che l’hanno prodotto. La seconda parte simula ciò che accade in PotoP VoIP — una chiamata suona, viene risposta, termina, una postazione si scollega, un’uscita commuta, viene sollevata una richiesta di chiamata — e stampa i messaggi di stato ICX che il connettore emetterebbe; raggiungono il sistema collegato solo se la casella è spuntata, e questo viene scritto nel registro attività. La terza parte è il filo in diretta, ogni frame in entrata e in uscita.

Registro attività
Console API Translator

Registro attività

Chi ha effettuato l’accesso, ogni modifica a un connettore, ogni accesso rifiutato di un altro sistema e ogni messaggio che il banco ha inviato a un sistema collegato — la traccia che legge un revisore.

Come funziona

Il registro è la tabella di audit propria del traduttore, conservata accanto al giornale degli eventi nel suo file SQLite: accessi alla console con il loro indirizzo, ogni modifica ai connettori con il campo e la persona, accessi rifiutati di altri sistemi una volta per indirizzo, nome e motivo in cinque minuti, client ICX respinti, e ogni messaggio di stato che il banco ha spinto verso un sistema in produzione. Anche ciò che il token del traduttore ha fatto sul VMS viene registrato lì, nel registro di audit di PotoP sotto il nome del token, così i due registri insieme dicono chi ha fatto che cosa e da quale parte.

Sotto il cofano

Come è costruito PotoP API Translator, dove funziona e come protegge i tuoi dati.

01

Un servizio a sé, accanto al VMS

Il traduttore è un servizio separato sul server PotoP, come Cockpit, mai parte del processo del VMS. Ascolta sulle porte assegnate agli altri sistemi — per impostazione predefinita 8471 per Sense, 18000 per ICX, 8472 per Milestone, 4590 per Genetec, 443 o 80 quando a un sistema non se ne può assegnare un’altra — e parla con il VMS tramite la normale API REST di PotoP.

02

Un token API, non una password

Il collegamento crea un token API a nome dell’amministratore che lo ha stabilito, con un insieme fisso di diritti e nulla di più; viene conservato crittografato e può essere revocato da entrambe le parti. Il traduttore non detiene mai una password del VMS, e le password dei connettori sono conservate come hash scrypt.

03

Il certificato del server su ogni porta

Ogni porta di connettore presenta il certificato del server PotoP VMS Studio e ne segue i rinnovi; TLS 1.2 è il minimo. L’HTTP in chiaro viene servito solo dopo che un amministratore lo ha attivato per un connettore e ha accettato l’avviso, registrato a suo nome.

04

I loro numeri, mappati

Gli id dei server, gli id dei dispositivi, i GUID e i numeri di chiamata della vecchia installazione vengono mappati su telecamere, uscite, macro, layout e interni PotoP; senza una mappatura un numero viene preso come numero PotoP. I numeri usati dall’altro sistema che non sono mappati vengono raccolti, mai indovinati.

05

Eventi numerati man mano che arrivano

Il traduttore tiene aperto il feed eventi del VMS e numera ogni evento nel proprio giornale, così il polling degli eventi di Sense, le sessioni eventi di Milestone e il flusso eventi di Genetec ricevono le risposte che quei sistemi si aspettano, con i tipi di evento di PotoP sotto i nomi propri di ciascun sistema.

06

Licenziato per server

L’API Translator è il modulo licenziato api_translator di PotoP VMS Studio, disponibile come aggiunta con ogni tipo di licenza. Senza di esso il servizio non apre alcuna porta, e nella barra di sistema non ne compare traccia.

Vuoi vedere PotoP API Translator nel tuo sito?

Raccontaci della tua installazione — saremo lieti di mostrarti il prodotto o di attivare una prova.