Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Clients-objektet

Clients-objektet är ett hjälpobjekt som är tillgängligt från och med licensnivå Advanced. Objektet representerar ett antal Ethirisklienter och används för att skicka kommandon till en eller flera Ethiris Client.

Med hjälp av 4 olika ”filter” kan man skapa ett kommandoobjekt som i någon mening innehåller en dynamisk lista med önskade klienter. Ska man vara noga så innehåller kommandoobjekt ett filter som matchas mot alla anslutna Ethiris Client vid det tillfälle när ett visst kommando skickas. Kommandot skickas till samtliga anslutna klienter som passar in på filtret. De 4 filterna är: All, GetClientByAddress, GetClientByConfigName och GetClientByHostName. Dessa beskrivs nedan.

När man väl har sitt kommandoobjekt kan man skicka olika kommandon som t ex SelectView, ShowDynamicView, ShowPopupView etc. Dessa beskrivs också nedan.

Metoder i Clients-objektet

All()

Detta ”filter” används för att skapa ett kommandoobjekt där kommandon kommer att skickas till samtliga de Ethiris Client som för tillfället är uppkopplade mot Ethiris Servern. Observera att klienterna kan variera i takt med att klienter ansluter och kopplar ifrån.

Exempel:

var clients;
var oldTrigger;
if (clients == undefined)
{
// Get all clients
clients = Clients.All();
}
if (trigger && !oldTrigger)
{
// Reload configuration in all
// clients when ‘trigger’ is true
clients.ReloadConfiguration(true);
}
oldTrigger = Boolean(trigger);

Det här skriptet skapar ett kommandoobjekt för alla anslutna klienter och tilldelar den till variabeln clients. När trigger blir true skickas kommandot ReloadConfiguration(true) till alla de anslutna klienterna och forcerar på så sätt en omladdning av deras konfiguration.

GetClientByAddress(address)

Detta ”filter” används för att skapa ett kommandoobjekt där kommandon kommer att skickas till den Ethiris Client som är ansluten och kör på en dator med den IP-adress som skickades in som argument.

Exempel:

var clients;
var oldTrigger;
if (clients == undefined)
{
// Get specific client
clients = Clients.GetClientByAddress("192.168.31.123");
}
if (trigger && !oldTrigger)
{
// Show view 'View One' when trigger is true
clients.SelectView("View One");
}
oldTrigger = Boolean(trigger);

Det här skriptet skapar ett kommandoobjekt för alla anslutna klienter som har IP-adressen 192.168.31.123, vilket bara ska vara en klient. När trigger blir true skickas ett kommando för att välja in en vy som heter View One.

GetClientByConfigName(name)

Detta ”filter” används för att skapa ett kommandoobjekt där kommandon kommer att skickas till de Ethiris Client som är anslutna och kör en konfiguration med namnet som skickas in som argument.

Exempel:

// Get clients running ‘Test’ conf
clients = Clients.GetClientByConfigName("Test");

GetClientByHostName(name)

Detta ”filter” används för att skapa ett kommandoobjekt där kommandon kommer att skickas till den Ethiris Client som är ansluten och kör på en dator med namnet som skickades in som argument.

Exempel:

// Get client on host ‘Chaotic’
clients = Clients.GetClientByHostName("Chaotic");

Metoder i ett kommandoobjekt

När man väl har skapat ett kommandoobjekt för att skicka kommandon till en eller flera klienter så finns det olika kommandon som man kan skicka till klienterna. Dessa beskrivs nedan.

För varje kommando som skickas får man ett tillhörande Event som heter onCommandCompleted som innehåller information om bl.a. resultatet av kommandot.

SelectView(viewName [, sectionName])

Denna metod används för att välja in en vy på de klienter som matchar filtret i kommandoobjektet.

viewName är obligatoriskt och är namnet på den vy som man vill välja in.

sectionName är valfritt att skicka med som argument. Det är namnet på den sektion där den önskade vyn är definierad.

Returvärde är ett transaktionsobjekt som i sin tur innehåller transaktionsID och antal klienter som kommandot skickades till. Transaktionsobjektet beskrivs lite senare i manualen. Om man inte bryr sig om vare sig transaktionsID eller det antal klienter som kommandot skickades till behöver man inte ta hand om returvärdet från metoden.

Exempel:

// Select view
trans = clients.SelectView("MyView", "MySection");

SelectSection(sectionName [, viewName])

Denna metod används för att välja in en sektion på de klienter som matchar filtret i kommandoobjektet.

sectionName är obligatoriskt och är namnet på den sektion som man vill välja in.

viewName är valfritt att skicka med som argument. Det är namnet på en vy som man vill passa på att välja in. En eventuell vy måste finnas definierad i sektionen som angetts i argument nummer 1.

Returvärde är ett transaktionsobjekt.

Exempel:

// Select section
// We don’t care about the transaction object
clients.SelectSection("MySection");

ShowDynamicView(monitor [, cameras])

Denna metod används för att öppna en dynamisk livevy på de klienter som matchar filtret i kommandoobjektet. Livevyn blir alltid maximerad på den skärm som man väljer.

monitor är obligatoriskt och ska vara en siffra mellan 1 – 8 som anger vilken skärm som livevyn ska öppnas på. Via denna metod kan maximalt ett fönster per skärm vara öppet i taget. Om fönstret redan är öppet när kommandot skickas med argumentet cameras kommer innehållet i fönstret att bytas ut mot de nya kamerorna.

Cameras är valfritt. Om detta argument utesluts kommer det dynamiska fönstret på vald skärm i stället att stängas. När argumentet cameras används ska det vara en vektor (array) med en eller flera kameror. Varje element i vektorn representerar en kamera. Varje element kan representera en kamera på ett av tre olika sätt; Kameraobjekt (kamerans skriptnamn), KameraID eller Kameranamn (kamerans namn i klienten). Observera att man kan ha ”luckor” i vektorn vilket innebär att motsvarande kameravy blir tom.

T.ex. vektorn [ ”Cam1”, ”Cam2”, , ”Cam4”, , ”Cam6” ] skapar en vy med 6 kameravyer varav två av dem är tomma.

Returvärde är ett transaktionsobjekt.

Exempel:

// Show dynamic view with 3 cameras on monitor 2
// Camera 1 is a camera object
// Camera 2 is by ID
// Camera 3 is by name in client
clients.ShowDynamicView(2, [ Door, Garage.ID, "Reception" ]);

Observera hakparenteserna som omger kamerorna ’[’ respektive ’]’. Dessa skapar en vektor med, i detta fall, tre element.

ShowPopupView(popupName [, viewName [, cameras[, focusCamera]]])

Denna metod används för att öppna ett fördefinierat popupfönster på de klienter som matchar filtret i kommandoobjektet.

popupName är obligatoriskt och ska vara namnet på ett popupfönster som finns fördefinierat i klientens konfiguration. I popupfönstrets definition ingår vilken skärm det ska visas på samt storlek och position.

viewName är valfritt att skicka med som argument. Om varken detta eller cameras skickas in som argument kommer popupfönstret att stängas i klienten. Om viewName skickas in ska det vara namnet på en fördefinierad klientvy i klientens konfiguration. Denna vy kommer att visas i popupfönstret. Popupfönstret kommer att öppnas om det inte redan är öppet. Observera att den angivna vyn kan ha flera kameravyer som var och en både kan vara odefinierade eller ha ett definierat innehåll som t ex att en livekamera ska visas.

cameras är också valfritt. Det är en vektor (array) med en eller flera kameror på samma sätt som för ShowDynamicView. Om cameras inte skickas med så kommer antingen vyn med namnet viewName att visas (om viewName skickas in) eller så kommer popupfönstret att stängas (om vare sig viewName eller cameras skickas in). Om cameras skickas in så kommer kamerorna i vektorn att visas på följande sätt: Om viewName också skickas in kommer kamerorna att fyllas på i de kameravyer som inte är definierade, d v s de som är tomma. På så sätt kan man blanda fördefinierade kameror i en vy med dynamiska kameror via vektorn cameras. Om inte viewName skickas in kommer kamerorna att visas i en automatiskt skapad vy med lagom många kameravyer, ungefär som i kommandot ShowDynamicView med den skillnaden att fönstret är fördefinierat.

focusCamera är också valfritt. Är den kamera som skall ha fokus (grön rektangel runt kameravyn) i det popupfönster som skapas. Om ingen anges, blir det första kameranvyn som får fokus.

Returvärde är ett transaktionsobjekt.

Exempel:

// Show popup view
clients.ShowPopupView("PopWin", "MyView", [ Door ]);

AddCamerasToPopupView(popupName [, cameras[, focusCamera]]])

Denna metod används för att lägga till kameror i ett popupfönster som redan visas på de klienter som matchar filtret i kommandoobjektet. Om en klientvy användes när popup-fönstret öppnades, kommer denna att respekteras. Om inte kommer layouten att dynamiskt anpassa sig till antalet kameror som skall visas.

Om inte popup-fönstret redan visas, så kommer denna metod att visa popup-fönstret.

popupName är obligatoriskt och ska vara namnet på ett popupfönster som finns fördefinierat i klientens konfiguration. I popupfönstrets definition ingår vilken skärm det ska visas på samt storlek och position.

cameras är en vektor (array) med en eller flera kameror på samma sätt som för ShowPopupView. Kamerorna i vektorn kommer att läggas till de kameror som för närvarande visas. Om någon av kamerorna redan visas i popup-fönstret kommer det inte att bli dubbletter, utan de kommer i stället att ignoreras och inte läggas till i popup-fönstret.

focusCamera är valfritt. Är den kamera som skall ha fokus (grön rektangel runt kameravyn) i det popupfönster som visas. Om ingen anges, blir det första kameranvyn som får fokus.

Returvärde är ett transaktionsobjekt.

Exempel:

// Add camera to already showing popup
clients.AddCamerasToPopupView("PopWin", [ Garage ]);

RemoveCamerasFromPopupView(popupName [, cameras[, focusCamera [, closeIfEmpty]]]])

Denna metod används för att ta bort kameror från ett popupfönster som redan visas på de klienter som matchar filtret i kommandoobjektet. Om en klientvy användes när popup-fönstret öppnades, kommer denna att respekteras. Om inte kommer layouten att dynamiskt anpassa sig till antalet kameror som skall visas.

popupName är obligatoriskt och ska vara namnet på ett popupfönster som finns fördefinierat i klientens konfiguration. I popupfönstrets definition ingår vilken skärm det ska visas på samt storlek och position.

cameras är en vektor (array) med en eller flera kameror på samma sätt som för ShowPopupView. Kamerorna i vektorn kommer att tas bort från de kameror som visas för närvarande. Om detta resulterar i att alla kameror tagits bort, kommer popupfönstret att fortsätta vara öppet, men utan att visa några kameror.

focusCamera är valfritt. Är den kamera som skall ha fokus (grön rektangel runt kameravyn) i det popupfönster som visas. Om ingen anges, blir det första kameranvyn som får fokus.

closeIfEmpty är valfritt. Är den sann kommer popupfönstret att stängas om där inte finns några kameror kvar att visa när metoden utförts. Annars så lämnas popupfönstret öppet utan några kameror, vilket är standard.

Returvärde är ett transaktionsobjekt.

Exempel:

// Remove camera from already showing popup
clients.RemoveCamerasFromPopupView("PopWin", [ Garage ]);

ShowInstantReplayView(monitor|popupName [, camera [, ]])

Denna metod används för att öppna (eller stänga) ett fönster med en instant replay-vy.

monitor|popupName är obligatoriskt och ska antingen vara namnet på ett popupfönster som finns fördefinierat i klientens konfiguration eller en siffra som motsvarar den monitor du vill visa fönstret på. Giltiga värden är:

-1 – visa fönstret på samma skärm som Ethiris Clientens huvudfönster ligger på.

0 – visa i standard live-panelen.

1 - 8 – visa på den skärm som motsvarar numret. Högsta giltiga värde är det antal skärmar som är anslutna till klientdatorn.

Om du bara anger denna parameter, kommer det instant replay-fönster att stängas som parametern refererar till.

camera är valfritt. Det är den kamera du vill visa Instant replay för. Antag att du har en kamera som heter Camera i din serverkonfiguration. Du kan ange kameran på 3 olika sätt:

Genom att ange kameraobjektet i skriptet: Camera

Genom att ange kamerans id: Camera.ID

Genom att ange kamerans namn i klientkonfigurationen: ”

är valfritt. Detta är den initiala instant replay-tiden som kommer att användas. Om du inte anger något värde, används det senaste värdet för den kameran eller 15s om värdet aldrig har ändrats eller Tid före för händelsestyrd inspelning om den är mindre än 15s.

Returvärde är ett transaktionsobjekt.

Exempel:

// Show instant replay view with camera Camera in
// popup window PopWin.
// Use default instant replay time
clients.ShowInstantReplayView("PopWin", Camera);
// Show instant replay view with camera Camera on
// same monitor as Ethiris main window
// Use instant replay time of 30s
clients.ShowInstantReplayView(0, Camera.ID, 30);
// Close instant replay view on
// popup window PopWin.
clients.ShowInstantReplayView("PopWin");

ReloadConfiguration([forceReload])

Denna metod används för att ladda om konfigurationen på de klienter som matchar filtret i kommandoobjektet.

forceReload är valfritt och ska vara ett boolskt värde, dvs. true eller false. Nu är det false som standard så det är bara meningsfullt att skicka in true. Om man inte forcerar omladdning av konfigurationen innebär det att klienten själv avgör om konfigurationen behöver laddas om. Det gör den om konfigurationen har ändrats. Om man väljer att forcera omladdning så kommer klienten att ladda om konfigurationen vare sig den behöver eller inte.

Returvärde är ett transaktionsobjekt.

Exempel:

// Reload configuration
clients.ReloadConfiguration();

PlaySound(soundName, [stop])

Denna metod används för att starta uppspelning av ljud i de klienter som matchar filtret i kommandoobjektet.

soundName är namnet på ljudet som är definierat i klientkonfigurationen. Om ljudet har optionen Loopa vald, kommer ljudet att spelas om och om igen tills ett stoppkommando skickas. Annars kommer ljudet att spelas upp en gång. Notera att skriptet exekverar om och om igen. Om PlaySound-kommandot exekveras för varje varv i skriptet kommer ljudet att spelas upp för varje skriptvarv. Därför rekommenderas att flankdetektering används som i följande exempel.

stop är valfritt och ska vara ett boolskt värde, dvs. true eller false. Nu är det false som standard så det är bara meningsfullt att skicka in true. Om du inte skickar in ett värde så kommer ljudet att spelas upp. Om du skickar in true så kommer uppspelningen av ljudet att stoppas.

Returvärde är ett transaktionsobjekt.

Exempel:

// Play sound on motion in front of 'FenceCam'
var client = Clients.GetClientByHostName("Chaotic");
var edgePlaySound;
if (FenceCam.MotCars.Motion && !edgePlaySound)
client.PlaySound("CarSound");
edgePlaySound = FenceCam.MotCars.Motion;

StopSound(soundName)

Denna metod används för att stoppa uppspelning av ett ljud i de klienter som matchar filtret i kommandoobjektet.

soundName är namnet på ljudet som är definierat i klientkonfigurationen. Detta kommando används vanligen när ljudet är i loop-läge.

Returvärde är ett transaktionsobjekt.

Exempel:

// Stop sound using a push button (‘buttonStopSound’)
var client = Clients.GetClientByHostName("Chaotic");
var edgeStopSound;
if (buttonStopSound && !edgeStopSound)
client.StopSound("CarSound");
edgeStopSound = Boolean(buttonStopSound);

LoadCamerasInPlayerByTimestamp(timestamp, [cameras])

Denna metod används för att ladda en grupp kameror i klienten’s videospelare.

timestamp är en sträng som representerar det datum och den tid du vill att videospelaren ska börja på.

cameras är en array med en eller flera kameror att ladda.

Det går att använda vilken som helst eller båda parametrarna. Om timestamp inte används så kommer videospelaren att ladda kamerorna på den tid den står på just nu. Om cameras inte används så kommer videospelaren gå till den specificerade tiden med aktuella kameror.

Returvärde är ett transaktions-objekt.

Exempel:

// Tre olika sätt att öppna kameror i klienten
var client = Clients.GetClientByHostName("Chaotic");
client.LoadCamerasInPlayerByTimestamp(["Camera 2","Camera 3"]);
client.LoadCamerasInPlayerByTimestamp("2012-08-24 10:30:00");
client.LoadCamerasInPlayerByTimestamp(("2013-03-27 14:45:00", ["Camera 4"]);

StartPlayer()

Denna metod används för att starta videospelaren i klienten.

Returvärde är ett transaktions-objekt.

Exempel:

// Starta Videospelaren
var client = Clients.GetClientByHostName("Chaotic");
client.StartPlayer();

PausePlayer()

Denna metod används för att pausa videospelaren i klienten.

Returvärde är ett transaktions-objekt.

Exempel:

// Pausa Videospelaren
var client = Clients.GetClientByHostName("Chaotic");
client.PausePlayer();

MoveToNextRecording()

Denna metod används för att söka framåt till nästa tillgängliga inspelning för aktuellt laddade kameror.

Returvärde är ett transaktions-objekt.

Exempel:

// Sök till nästa inspelning
var client = Clients.GetClientByHostName("Chaotic");
client.MoveToNextRecording();

MoveToPrevRecording ()

Denna metod används för att söka bakåt till föregående tillgängliga inspelning för aktuellt laddade kameror.

Returvärde är ett transaktions-objekt.

Example:

// Sök till föregående inspelning
var client = Clients.GetClientByHostName("Chaotic");
client.MoveToPrevRecording();

GetDisplayedCameras()

Denna metod används för att få en uppdaterad lista med kameror som visas i klienten. Denna lista kommer att skickas genom att nyttja onDisplayedCameras händelsen.

Exempel:

// Get Cameras displayed in the Client
clients.GetDisplayedCameras();

ShowVideoWallMonitor (popupName [, VideoWall object , monitor])

Denna metod används för att visa en viss monitor på en videovägg i ett specificerat popup-fönster. Genom detta kommando kan du dynamisk visa videoväggsmonitorer på skärmar kopplade till en klient.

popupName är obligatoriskt och ska vara namnet på ett popupfönster som finns fördefinierat i klientens konfiguration. I popupfönstrets definition ingår vilken skärm det ska visas på samt storlek och position.

VideoWall object är valfritt att skicka med som argument. Anger du inte ett videoväggsobjekt här, kommer popup-fönstret att stängas. Om du anger ett videoväggsobjekt här, måste du också ange monitor.

monitor måste anges om VideoWall object anges. Ange en siffra som motsvarar den monitor på videoväggen du vill visa.

Returvärde är ett transaktionsobjekt.

Exempel:

// Show video wall monitor
clients. ShowVideoWallMonitor("PopWin", VideoWall2, 1);

Events i Clients-objektet

Det finns tre olika event som man kan fånga upp i sitt skript. Gemensamt för alla tre är att man får tillgång till ett event-objekt som har ett antal egenskaper på sig. Vilka egenskaper som finns skiljer mellan de tre eventen.

onConnect

Detta event kommer när en Ethiris Client ansluter till server och har slutfört laddningen av sin konfiguration och är redo att ta emot kommandon för fjärrstyrning.

Exempel:

Clients.onConnect = function(event)
{
sResult = event.HostName + " - ";
sResult += event.ConfigurationName;
}

Exemplet kommer att tilldela sResult namnet på den dator där klienten kör som har kopplat upp sig och dessutom namnet på den konfiguration som klienten kör.

Följande egenskaper är tillgängliga på event-objektet:

IpAddress innehåller IP-adressen till den dator där klienten som kopplade upp sig kör.

HostName innehåller namnet på den dator där klienten som kopplade upp sig kör.

ConfigurationName innehåller namnet på den konfiguration som den uppkopplade klienten kör.

ClientType innehåller ett värde som talar om vilken typ av klient som har kopplat upp sig. Möjliga värden finns som konstanter direkt på Clients-objektet. Dessa är ETHIRIS_ADMIN, ETHIRIS_CLIENT, ETHIRIS_ACTIVEX_VIEWER, ETHIRIS_MOBILE_CLIENT och WIDEQUICK_CLIENT.

Connected innehåller true om klienten är uppkopplad och false om den inte är uppkopplad.

onDisconnect

Detta event kommer när en Ethiris Client kopplar ifrån servern.

Exempel:

Clients.onDisconnect = function(event)
{
sResult = event.HostName + " - ";
sResult += event.ConfigurationName;
}

Exemplet kommer att tilldela sResult namnet på den dator där klienten körde som har kopplat ifrån och dessutom namnet på den konfiguration som klienten körde.

Egenskaperna på event-objektet är precis desamma som för onConnect som beskrivits ovan.

onCommandCompleted

Detta event kommer när ett kommando har tagits emot och behandlats av en Ethiris Client. Man kan med fördel använda det för att kontrollera resultatet av kommandot.

Exempel:

Clients.onCommandCompleted = function(event)
{
sResult = event.TransactionID;
if (event.Result < Clients.RESULT_OK)
{
// Something went wrong...
}
}

Exemplet kommer att tilldela sResult transaktionsID för komandot. Sedan sker en kontroll att resultatet är OK. Läs mer om de olika resultatkoderna som kan förekomma under Konstanter nedan. Allmänt kan man säga att RESULT_OK har ett värde av 0. Ett negativt resultat indikerar ett fel. Ett positivt resultat indikerar en varning.

Följande egenskaper är tillgängliga på event-objektet:

IpAddress, HostName, ConfigurationName och ClientType är samma som ovan. Utöver dessa finns även:

TransactionID är ett löpnummer som innehåller aktuellt transaktionsID. Detta ska stämma överens med det ID som returnerades i Transaktions-objektet när kommandot skickades.

Result innehåller ett värde för resultatet av kommandot. Se nedan för en lista över möjliga värden.

onButtonPressed

Detta event kommer när en användare klickar på en knapp i en kameravy i klienten. Eventet kommer oavsett om en variabel är knuten till knappens klick-händelse eller inte. Fördelen med detta event, är att man i skript får reda på i vilken klient knappen visas som användaren har klickat på. Detta kan användas för att vidta olika åtgärder beroende på vilken klient användaren sitter vid.

Eventet kommer både när knappen trycks ner och när den släpps upp.

Exempel:

Clients.onButtonPressed = function(event)
{
//Do something
}

Följande egenskaper är tillgängliga på event-objektet:

IpAddress, HostName, ConfigurationName och ClientType är samma som ovan. Utöver dessa finns även:

ButtonName är den text som angivits för knappen.

Camera är ett kameraobjekt för den kamera som visas i vyn där knappen visas.

CameraID är id för den kamera som visas i vyn där knappen visas.

CameraName är namnet i servern på den kamera som visas i vyn där knappen visas.

Name är namnet på klienten under Anslutna klienter.

Pressed är true om knappen tryckts in och false om den släppts upp.

ViewName är namnet på den vy i vilken knappen ligger.

onViewClicked

Detta event kommer när en användare klickar någonstans i en kameravy i klienten. Fördelen med detta event, är att man i skript får reda på i vilken klient användaren har klickat. Detta kan användas för att vidta olika åtgärder beroende på vilken klient användaren sitter vid.

Eventet kommer både när musknappen trycks ner och släpps upp.

Exempel:

Clients.onViewClicked = function(event)
{
//Do something
}

Följande egenskaper är tillgängliga på event-objektet:

IpAddress, HostName, ConfigurationName, ClientType, Camera, CameraID, CameraName, Name, Pressed och ViewName är samma som ovan. Utöver dessa finns även:

Cameras är en array med alla kameror som för närvarande visas i vyn.

ClientCameraNames är en array med klientens namn för alla kameror som för närvarande visas i vyn.

FrameTime är tidsstämpeln i kamerabilden som visas i den vy i klienten där användaren klickade.

ImageClickPositionX är x-koordinaten i den oskalade kamerabilden där användren klickade.

ImageClickPositionY är y-koordinaten i den skalade kamerabilden där användaren klickade.

ImageSizeX är bredden av den oskalade kamerabilden.

ImageSizeY är höjden av den oskalade kamerabilden.

MouseButton är en sträng som anger vilken musknapp användaren klickade på. Möjliga alternativ är Left, Middle respektive Right.

Panel är namnet på den panel i vilken användaren har klickat. Möjliga alternativ är Live respektive Player.

PanelSizeX är bredden på den aktuella panelen eller fönstret där vyn visas i klienten.

PanelSizeY är höjden på den aktuella panelen eller fönstret där vyn visas i klienten.

ViewClickPositionX är x-koordinaten i kameravyn där användaren klickat.

ViewClickPositionY är y-koordinaten i kameravyn där användaren klickat.

ViewName är namnet på den aktuella vyn i vilken användaren klickat.

ViewPositionX är x-koordinaten för vyns översta vänstra hörn i panelen.

ViewPositionY är y-koordinaten för vyns översta vänstra hörn i panelen.

ViewSizeX är bredden på vyn där användaren klickat.

ViewSizeY är höjden på vyn där användaren klickat.

onObjectClicked

Detta event kommer när en användare klickar på ett interaktionsobjekt någonstans i en live kameravy i klienten. Första gången när musknappen trycks ned och andra gången när musknappen släpps upp. Fördelen med detta event, är att man i skript får reda på information om objektet som användaren har klickat på, samt i vilken vy detta skett. För kompabilitet så sker även onButtonPressed eventet när det är en knapp som användaren klickat på.

Exempel:

Clients.onObjectClicked = function(event)
{
//Do something
}

Samma egenskaper som för onViewClicked är tillgängliga, samt följande nya egenskaper:

ObjectName är den text som angetts i textfältet för objektet, om en sådan kan anges. Tillgängligt för Button (Knapp), Label (Textfält) och Phone (Telefon), övriga har inte denna egenskap.

ObjectType är vilken typ av interaktionsobjekt som man har tryckt på. Kan vara en av följande: Button (Knapp), Picture (Bild), LED (Lysdiod), Label (Textfält), Door (Dörr), Camera (Kamera) och Phone (Telefon).

onPlayerLoaded

Detta event kommer när en eller flera kameror laddas i playern.

Exempel:

Clients.onPlayerLoaded = function(event)
{
//Do something
}

Följande egenskaper är tillgängliga på event-objektet:

IpAddress, HostName, ConfigurationName, ClientType, Name och ViewName är samma som ovan. Utöver dessa finns även:

Cameras en lista av kameror som laddats i playern. Observera att är kameror som finns i serverkonfigurationen vilket alltså betyder att om en virtuell kamera laddas i playern, så motsvarar det källkameran i servern, d.v.s. 360-kameran.

Time är tidsstämpeln för tidslinjerna i playern. Det innebär att kamerabildernas tidsstämpel kan skilja sig något från denna tid.

onPlayerTime

Detta event kommer när tiden ändras för tidslinjerna eller status för playern ändras i playern. Status för playern är exempelvis om playern spelar upp eller står i paus.

Exempel:

Clients.onPlayerTime = function(event)
{
//Do something
}

Följande egenskaper är tillgängliga på event-objektet:

IpAddress, HostName, ConfigurationName, ClientType, Name och ViewName är samma som ovan. Utöver dessa finns även:

PlayerState är status för uppspelningen i playern. Möjliga alternativ är Pause och Play.

Time är tidsstämpeln för tidslinjerna i playern. Det innebär att kamerabildernas tidsstämpel kan skilja sig något från denna tid.

onDisplayedCameras

Detta event kommer när man kallar det med GetDisplayedCameras() alternativt när en förändring av vilka kameror som visas i klienten sker.

Exempel:

Clients.onDisplayedCameras = function(event)
{
for(var j in event["ClientCameraNames"])
{
var s = "Camera Displayed: "
s += event["ClientCameraNames"][j];
Debug.Print(s);
}
}

Följande egenskaper är tillgängliga på event-objektet:

IpAddress, HostName, ConfigurationName, ClientType och Name är samma som ovan. Utöver dessa finns även:

Cameras är en array med alla kameror som för närvarande visas.

ClientCameraNames innehåller namnen på visade kameror.

SelectedCameraID innehåller KameraID för den just nu valda kameran.

SelectedClientCameraName innehåller klientens kamera namn, detta kan skilja från det namn kameran har i serverkonfigurationen, för den just nu valda kameran.

Konstanter i Clients-objektet

Klienttyper

Dessa konstanter används i eventen onConnect och onDisconnect för egenskapen ClientType på event-objektet.

ETHIRIS_ADMIN - 1

ETHIRIS_CLIENT - 2

Reserved - 3

ETHIRIS_ACTIVEX_VIEWER - 4

ETHIRIS_MOBILE_CLIENT - 5

WIDEQUICK_CLIENT - 6

Resultat

Dessa konstanter används i eventet onCommandCompleted för egenskapen Result på event-objektet. De tre första konstanterna i listan är endast varningar vilket innebär att kommandot har genomförts så gott det går, men med vissa brister. T ex om en av kamerorna saknas såkommer resterande kameror att visas och den saknade kameran kommer att indikeras med Kamera saknas i kameravyn.

Konstanterna efter RESULT_OK är att betrakta som fel, vilket innebär att kommandot inte kan utföras.

RESULT_VIEW_NOT_FOUND – 3. Vynamnet som skickats in som argument finns inte i klientens konfiguration.

RESULT_CAMERA_NOT_FOUND – 2. En av kamerorna som skickats in som argument för cameras finns inte i klientens konfiguration.

RESULT_WILL_RELOAD – 1. Gäller för kommandot ReloadConfiguration och innebär att klienten har detekterat att dess konfiguration har blivit uppdaterad och att klienten kommer att ladda om konfigurationen.

RESULT_OK - 0. Kommandot har blivit utfört av klienten utan problem.

RESULT_NO_COMMAND – -1. Reserverat för framtida bruk. Detta ska inte kunna inträffa.

RESULT_MISFORMED_COMMAND – -2. Reserverat för framtida bruk. Detta ska inte kunna inträffa.

RESULT_UNKNOWN_COMMAND – -3. Reserverat för framtida bruk. Detta ska inte kunna inträffa.

RESULT_POPUPWINDOW_MISSING – -4. Argumentet popupName saknas eller innehåller ett namn vars motsvarande popupfönster inte finns i klientens konfiguration. Det gäller för kommandot ShowPopupView.

RESULT_MONITOR_MISSING – -5. Argumentet monitor saknas eller innehåller ett värde som inte motsvarar en skärm som finns.

RESULT_SECTION_MISSING – -6. Argumentet sectionName saknas eller innehåller ett namn vars motsvarande sektion inte finns i klientens konfiguration.

RESULT_VIEW_MISSING – -7. Argumentet viewName saknas eller innehåller ett namn vars motsvarande klientvy inte finns i klientens konfiguration.

RESULT_SOUND_MISSING – -8. Argumentet soundName saknas eller innehåller ett namn vars motsvarande ljud inte finns i klientens konfiguration.

RESULT_VIDEOWALL _MISSING – -9. Argumentet videoWall saknas eller innehåller ett videoväggsobjekt som inte finns i serverns konfiguration.

RESULT_VIDEOWALL_MONITOR_MISSING– -10. Argumentet monitor saknas eller innehåller ett nummer högre än antalet monitorer på videoväggen.