new _Connection()

Bildet eine Verbindung zum HomeServer ab.
Darf nicht direkt instanziert werden. Eine Instanz der Klasse wird von der Methode createConnection() erzeugt.

Example

Aufruf der 'createConnection()'-Methode.

var conn = HomeServerConnector.createConnection("user1", "pw1", {"hostname": "192.168.123.234", "port": 443, "protocol": "wss"});

Properties

onConnect  HomeServerConnector._Connection~onConnectCallback

Die hier zugewiesene Callback-Methode wird aufgerufen, sobald eine Verbindung hergestellt wurde.

Example

Verbindung wurde hergestellt

function myConnectResponse() {
  ...
}
...
conn.onConnect = myConnectResponse;

onDisconnect  HomeServerConnector._Connection~onDisconnectCallback

Die hier zugewiesene Callback-Funktion wird aufgerufen, sobald keine Verbindung mehr besteht.

Example

Verbindung wurde getrennt

function myDisconnectResponse(cause) {
  ...
}
...
conn.onDisconnect = myDisonnectResponse;

onError  HomeServerConnector._Connection~onErrorCallback

Die hier zugewiesene Callback-Funktion wird aufgerufen, wenn ein Fehler aufgetritt.

Example

Fehler tritt auf

function myErrorResponse(error) {
  ...
}
...
conn.onError = myErrorResponse;

onProjectInfo  HomeServerConnector._Connection~onProjectInfoCallback

Die hier zugewiesene Callback-Funktion wird aufgerufen, wenn die Informationen zur Verfügung stehen.

Example

conn.onProjectInfo = function(projectID) {};  

onStateChanged  HomeServerConnector._Connection~onStateChangedCallback

Die hier zugewiesene Callback-Funktion wird aufgerufen, wenn sich der Status der aktuellen Verbindung ändert.

Example

Verbindungs-Status hat sich geändert

function myStChgResponse(oldState, newState, error) {
  ...
}
...
conn.onStateChanged = myStChgResponse;

Methods

beginSubscription()

Einleiten einer Transaktion, um mehrere Abonnements gleichzeitig durchzuführen.
Um die Kommunikation zwischen Client und HS zu optimieren, können mehrere Abonnements zu einer Transaktion zusammengefasst werden. Der Client muss dann nur einmal mit dem HS kommunizieren, anstatt den Vorgang für jedes Abonnement separat durchzuführen.
Mit dieser Methode wird die Transaktion eingeleitet.
Um die Transaktion zu beenden, wird endSubscription() aufgerufen.

Example

Abonnieren von 4 Kommunikations-Objekten und einem Datenarchiv in einer Transaktion.

conn.beginSubscription():
var ko_1 = conn.getCommunicationObject("CO@1_1_1", function(err, value, isInit) {}); 
var ko_2 = conn.getCommunicationObject("CO@MyCoNo2", function(err, value, isInit) {});
var ko_3 = conn.getCommunicationObject("CO@TEST_CO_3", function(err, value, isInit) {});
var ko_4 = conn.getCommunicationObject("CO:31", function(err, value, isInit) {}); 
var arch = conn.getDataArchive("DA@MyDataArchive", function(err, data) {});
conn.endSubscription():

connect([_reconnect]) → Boolean

Verbindungs-Aufbau wird angestoßen.
Es wird sofort ein Verbindungs-Versuch gestartet, falls nicht bereits eine Verbindung besteht.

Example

Versucht, sich mit dem HomeServer zu verbinden. Bei Verbindungsverlust soll neu verbunden werden

var conn = HomeServerConnector.createConnection("user1", "pw1");
conn.connect(true);

Parameter

Name Type Optional Description

_reconnect

Boolean

Yes

true: Bei Verbindungs-Verlust wird nach dem Reconnect-Intervall ein neuer Verbindungsversuch angestoßen.
false: Bei Verbindungs-Verlust wird kein neuer Verbindungsversuch angestoßen.

Defaults to true.

Returns

Boolean true: Verbindungs-Versuch wurde angestoßen.
false: Es konnte kein Verbindungs-Versuch angestoßen werden, weil bereits ein Verbindungs-Versuch angestoßen wurde oder eine Verbindung besteht.

destroy()

Alle Events und Referenzen werden aufgelöst. Der WebSocket wird geschlossen.
Eine Verwendung der Instanz ist nach Aufruf dieser Methode nicht mehr möglich.

Example

conn.destroy();

disconnect() → Boolean

Verbindungs-Trennung wird angestoßen.

Example

conn.disconnect();
Returns

Boolean true: Verbindungs-Trennung wurde angestoßen.
false: Es besteht keine Verbindung.

endSubscription()

Beenden einer Abonnements-Transaktion.
Die Funktionsweise wird bei der Methode zur Einleitung der Transaktion erklärt: beginSubscription().

getCameraArchive(key[, subscriptionCallback]) → HomeServerConnector._CameraArchive

Liefert eine Instanz eines Kameraarchivs zurück.

Example

var ca = conn.getCameraArchive("CA@MyCameraArchive", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel des Kameraarchivs

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und beim Hinzufügen eines neuen Eintrags aufgerufen.

Returns

HomeServerConnector._CameraArchive 

getCameraPicture(key) → HomeServerConnector._CameraPicture

Liefert ein Kamerabild zurück.

Example

var cp = conn.getCameraPicture("CP@MyCamera");

Parameter

Name Type Optional Description

key

String

 

Schlüssel der Kamera

Returns

HomeServerConnector._CameraPicture 

getCommunicationObject(key[, subscriptionCallback]) → HomeServerConnector._CommunicationObject

Liefert eine Instanz eines Kommunikations-Objekts (KO) zurück

Example

var co = conn.getCommunicationObject("CO@1_1_1", function(err, value, isInit) {}); 

Parameters

Name Type Optional Description

key

String

 

Schlüssel des Kommunikationsobjekts.

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und bei Wertänderung des K-Objekts aufgerufen.

Returns

HomeServerConnector._CommunicationObject 

getDataArchive(key[, subscriptionCallback]) → HomeServerConnector._DataArchive

Liefert eine Instanz eines Datenarchivs zurück.

Example

var da = conn.getDataArchive("DA@MyDataArchive", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel des Datenarchivs.

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und beim Hinzufügen eines neuen Eintrags aufgerufen.

Returns

HomeServerConnector._DataArchive 

getMessageArchive(key[, subscriptionCallback]) → HomeServerConnector._MessageArchive

Liefert eine Instanz eines Meldungsarchivs zurück.

Example

var ma = conn.getMessageArchive("MA@MyMessageArchive", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel des Meldungsarchivs.

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und beim Hinzufügen eines neuen Eintrags aufgerufen.

Returns

HomeServerConnector._MessageArchive 

getProjectId() → (String or Undefined)

Projekt-ID. Steht erst zur Verfügung, sobald eine Verbindung zum HomeServer besteht.

Example

Projekt-ID abfragen

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
var pid = conn.getProjectId()
Returns

(String or Undefined) Projekt-ID des HomeServer-Projekts.

getReconnect() → Boolean

Liefert die Angabe, ob bei Verbindungs-Verlust ein erneuter Verbindungs-Versuch erfolgen soll.
Diese Angabe kann in der connect()-Methode gesetzt werden.

Example

Reconnect-Status abfragen

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
rc = conn.getReconnect()
Returns

Boolean true: Bei Verbindungs-Abbruch sollen neue Verbindungs-Versuche durchgeführt werden.

getReconnectInterval() → Number

Reconnect-Versuch-Intervall abfragen. Angabe in Sekunden.

Example

Liefert das Intervall, in dem Reconnect-Versuche stattfinden, falls die Verbindung unterbrochen wurde.

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
ri = conn.getReconnectInterval();
Returns

Number Intervall (in Sekunden), in dem neue Verbindungs-Versuche unternommen werden.

getScene(key[, subscriptionCallback]) → HomeServerConnector._Scene

Liefert eine Instanz einer Szene zurück.

Example

var sc = conn.getScene("SC@MyScene", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel der Szene

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und beim Lernen einer Szene aufgerufen.

Returns

HomeServerConnector._Scene 

getSequence(key[, subscriptionCallback]) → HomeServerConnector._Sequence

Liefert eine Instanz einer Sequenz zurück.

Example

var sq = conn.getSequence("SQ@MySequence", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel der Sequenz

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren, beim Starten, beim Stoppen oder bei Ablauf der Sequenz aufgerufen.

Returns

HomeServerConnector._Sequence 

getState() → Number

Status der Verbindung als Code.
Siehe CONNECTION_STATE.

Example

Status abfragen

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
var st = conn.getState()
Returns

Number Status-Code.

getUniversalTimer(key[, subscriptionCallback]) → HomeServerConnector._UniversalTimer

Liefert eine Instanz einer Universal-Zeitschaltuhr (UZSU) zurück.

Example

var ca = conn.getUniversalTimer("TI@MyTimer", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel der Zeitschaltuhr

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und beim Ändern der Zeitschaltuhr aufgerufen.

Returns

HomeServerConnector._UniversalTimer 

getVacationCalendar(key[, subscriptionCallback]) → HomeServerConnector._VacationCalendar

Liefert eine Instanz eines Urlaubskalenders zurück.

Example

var vc = conn.getVacationCalendar("VC@MyCalendar", function(err, data) {});

Parameters

Name Type Optional Description

key

String

 

Schlüssel des Urlaubskalenders

subscriptionCallback

function()

Yes

Die Callback-Methode wird beim Abonnieren und beim Ändern des Urlaubskalenders aufgerufen.

Returns

HomeServerConnector._VacationCalendar 

reset()

Bereinigt alle aktiven HS-Objekte und hebt die entsprechenden Abonnements auf.
Alle über diese Verbindung erzeugten HS-Objekte können nach dem Aufruf nicht mehr verwendet werden.

select(options[, Callback])

Liefert eine Liste von Objekt-Schlüsseln mit Bezeichnungen, optional zusätzlich die Meta-Daten der Objekte.
Übergeben wird das Objekt options.

Example

Liefert maximal 1000 K-Objekte mit Tag "BM" (basement) oder "Light" und keine Meta-Daten

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
function mySelectResponse(error, result, context) {
  ...
}
...
conn.select({"objectKey": "CO@*", "tags": ["BM", "Light"], "meta": False, "context": "test002"}, mySelectResponse)

Parameters

Name Type Optional Description

options

Object

 

Optionen (siehe 'Properties')

Callback

function()

Yes

Die Callback-Methode, die die Rückgabe-Werte liefert.

Properties

Name Type Optional Description

options.objectKey

String

 

[Filter] Objekt-Typ: (siehe object_types).

options.tags

String

Yes

[Filter] Liste von Tags. Ein angegebenes Tag muss mit dem im Experte definierten Tag vollständig übereinstimmen.

options.search

String

Yes

[Filter] Liste von Such-Wörtern. Gefunden werden alle Objekte in deren Bezeichnung oder Beschreibung ein beliebiges Wort mit dem angegeben Such-Wort beginnt.

options.from

Number

Yes

Position als laufende Nummer, beginnend bei '0'.

Defaults to 0.

options.count

Number

Yes

Maximale Anzahl der zurückgelieferten Objekt-Schlüssel. (Maximal-Wert: 1000)

Defaults to 1000.

options.meta

Boolean

Yes

true: Meta-Daten der ausgwählten Objekte werden zusätzlich mit zurückgeliefert.

Defaults to false.

options.context

Object

Yes

Die Callback-Methode liefert dieses Objekt unbearbeitet zurück.

setReconnectInterval([interval])

Reconnect-Versuch-Intervall setzen. Angabe in Sekunden.

Example

Setzt das Reconnect-Versuch-Intervall auf 30 Sekunden

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
conn.setReconnectInterval(30);

Parameter

Name Type Optional Description

interval

Number

Yes

Definiert das Intervall.

Defaults to 60.

Abstract types

inner

getCameraArchiveCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren)

undefined

Struktur (Bei Hinzufügen eines Eintrags)

{
  "first":  Number,
  "last":   Number,
  "count":  Number,
  "pic_id": Number
}

Erklärung

  • first - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des ältesten Eintrags im Archiv.
  • last - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des jüngsten Eintrags im Archiv.
  • count - Anzahl der Einträge im Archiv.
  • pic_id - ID des Bilds. Wird für einen Abruf mittels getPicture() benötigt.
inner

getCommunicationObjectCallback(err, data, isInit)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren und bei Wertänderung)

{
  "value": Number|String
}

Erklärung

  • value - Wert des K-Objekts

isInit

Boolean

 

true: Beim Abonnieren - false: Bei Wertänderung

inner

getDataArchiveCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren)

null

Struktur (Bei Hinzufügen eines Eintrags)

{
  "first": Number,
  "last":  Number,
  "count": Number
}

Erklärung

  • first - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des ältesten Eintrags im Archiv.
  • last - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des jüngsten Eintrags im Archiv.
  • count - Anzahl der Einträge im Archiv.
inner

getMessageArchiveCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren)

null

Struktur (Bei Hinzufügen eines Eintrags)

{
  "first": Number,
  "last":  Number,
  "count": Number,
  "token": String,
  "text":  String
}

Erklärung

  • first - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des ältesten Eintrags im Archiv.
  • last - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) des jüngsten Eintrags im Archiv.
  • count - Anzahl der Einträge im Archiv.
  • token - Im Experte definiertes Kürzel des Eintrags.
  • text - Im Experte definierter Text des Eintrags.
inner

getSceneCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren)

null

Struktur (Beim neu Einlernen)

{
  "ts":       Number,
  "modified": Boolean

ÿ ኘ

Erklärung

  • ts - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert).
  • modified - true: Die Szene wurde neu eingelernt.
inner

getSequenceCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren)

null

Struktur (Bei Start, Stopp oder Ablauf)

{
  "ts":      Number,
  "running": Boolean
}

Erklärung

  • ts - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert).
  • running - true: Die Sequenz läuft.
inner

getUniversalTimerCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren)

undefined

Struktur (Bei Änderung der Zeitschaltuhr)

{
  ts:       Number,
  active:   Boolean,
  modified: Boolean
}

Erklärung

  • ts - Unix-Zeitstempel (in Sekunden, Millisekunden als Kommawert) der Änderung.
  • active - true: die Zeitschaltuhr ist aktiv.
  • modified - true: die Zeitschaltuhr wurde verändert (Ereignis angelegt, geändert oder gelöscht).
inner

getVacationCalendarCallback(err, data)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

data

Object

 

Meta-Informationen

Struktur (Beim Abonnieren) und bei Änderung des Urlaubskalenders

 {
  "active": Boolean,
  "from":   Date,
  "to":     Date
}

Erklärung

  • active - true: der Urlaubskalender ist aktiv.
  • from - Datum-Objekt. Start des Zeitraums.
  • to - Datum-Objekt. Ende des Zeitraums.
inner

onConnectCallback()

Example

Verbindung wurde hergestellt

function myConnectResponse() {
  ...
}
...
conn.onConnect = myConnectResponse;
inner

onDisconnectCallback(cause)

Example

Verbindung wurde getrennt

function myDisconnectResponse(cause) {
  ...
}
...
conn.onDisconnect = myDisonnectResponse;

Parameter

Name Type Optional Description

cause

Number

 

Websocket Status code. Grund für die Trennung.

inner

onErrorCallback(err)

Example

Fehler tritt auf

function myErrorResponse(err) {
  ...
}
...
conn.onError = myErrorResponse;

Parameter

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt

inner

onProjectInfoCallback(projectID)

Parameter

Name Type Optional Description

projectID

String

 

ID des Projekts, z.B. "20160331114440548".

inner

onStateChangedCallback(oldState, newState[, error])

Example

Verbindungs-Status hat sich geändert

function myStChgResponse(oldState, newState, error) {
  ...
}
...
conn.onStateChanged = myStChgResponse;

Parameters

Name Type Optional Description

oldState

Number

 

Status-Wert vor der Änderung.

newState

Number

 

Status-Wert nach der Änderung.

error

Object

Yes

Fehler-Objekt.

inner

selectCallback(err, result, context)

Callback-Methode von HomeServerConnector._Connection.select().

Example

Liefert maximal 1000 K-Objekte mit Tag "BM" (basement) oder "Light" und keine Meta-Daten

var conn = HomeServerConnector.createConnection("user1", "pw1");
...
function mySelectResponse(error, result, context) {
  ...
}
...
conn.select({"objectKey": "CO@*", "tags": ["BM", "Light"], "meta": False, "context": "test002"}, mySelectResponse)

Parameters

Name Type Optional Description

err

(Object or undefined)

 

Fehler-Objekt.
Folgende Fehler können auftreten: "no connection", "connection lost", "server error", "too many selects".

result

Object

 

Liste von Objekt-Schlüsseln und Bezeichnungen, optional mit Meta-Daten.

context

Object

 

Der unmodifizierte beim Aufruf angegebene Kontext.