HomeServerConnector. _Connection
Properties
Methods
Abstract types
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": 80, "protocol": "http"});
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@MeinKoNr2", function(err, value, isInit) {});
var ko_3 = conn.getCommunicationObject("CO@TEST_KO_3", function(err, value, isInit) {});
var ko_4 = conn.getCommunicationObject("CO:31", function(err, value, isInit) {});
var arch = conn.getDataArchive("DA@Test-Daten", 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.
Defaults to |
- 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@KameraArchiv", 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. |
getCameraPicture(key) → HomeServerConnector._CameraPicture
Liefert ein Kamerabild zurück.
Example
var cp = conn.getCameraPicture("CP@KameraBild");
Parameter
Name | Type | Optional | Description |
---|---|---|---|
key |
String |
|
Schlüssel der Kamera |
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. |
getDataArchive(key[, subscriptionCallback]) → HomeServerConnector._DataArchive
Liefert eine Instanz eines Datenarchivs zurück.
Example
var da = conn.getDataArchive("DA@DatenArchiv", 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
getMessageArchive(key[, subscriptionCallback]) → HomeServerConnector._MessageArchive
Liefert eine Instanz eines Meldungsarchivs zurück.
Example
var ma = conn.getMessageArchive("MA@MeldungsArchiv", 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. |
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@Szene", 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
getSequence(key[, subscriptionCallback]) → HomeServerConnector._Sequence
Liefert eine Instanz einer Sequenz zurück.
Example
var sq = conn.getSequence("SQ@Sequenz", 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
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@UZSU", 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. |
getVacationCalendar(key[, subscriptionCallback]) → HomeServerConnector._VacationCalendar
Liefert eine Instanz eines Urlaubskalenders zurück.
Example
var vc = conn.getVacationCalendar("VC@MeinKalender", 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. |
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 "EG" oder "OG" und keine Meta-Daten
var conn = HomeServerConnector.createConnection("user1", "pw1");
...
function mySelectResponse(error, result, context) {
...
}
...
conn.select({"objectKey": "CO@*", "tags": ["EG", "Licht"], "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 |
options.count |
Number |
Yes |
Maximale Anzahl der zurückgelieferten Objekt-Schlüssel. (Maximal-Wert: 1000) Defaults to |
options.meta |
Boolean |
Yes |
true: Meta-Daten der ausgwählten Objekte werden zusätzlich mit zurückgeliefert. Defaults to |
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 |
Abstract types
getCameraArchiveCallback(err, data)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
data |
Object |
|
Meta-Informationen
Struktur (Beim Abonnieren)
Struktur (Bei Hinzufügen eines Eintrags)
Erklärung
|
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)
Erklärung
|
isInit |
Boolean |
|
true: Beim Abonnieren - false: Bei Wertänderung
|
getDataArchiveCallback(err, data)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
data |
Object |
|
Meta-Informationen
Struktur (Beim Abonnieren)
Struktur (Bei Hinzufügen eines Eintrags)
Erklärung
|
getMessageArchiveCallback(err, data)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
data |
Object |
|
Meta-Informationen
Struktur (Beim Abonnieren)
Struktur (Bei Hinzufügen eines Eintrags)
Erklärung
|
getSceneCallback(err, data)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
data |
Object |
|
Meta-Informationen
Struktur (Beim Abonnieren)
Struktur (Beim neu Einlernen)
Erklärung
|
getSequenceCallback(err, data)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
data |
Object |
|
Meta-Informationen
Struktur (Beim Abonnieren)
Struktur (Bei Start, Stopp oder Ablauf)
Erklärung
|
getUniversalTimerCallback(err, data)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
data |
Object |
|
Meta-Informationen
Struktur (Beim Abonnieren)
Struktur (Bei Änderung der Zeitschaltuhr)
Erklärung
|
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
Erklärung
|
onConnectCallback()
Example
Verbindung wurde hergestellt
function myConnectResponse() {
...
}
...
conn.onConnect = myConnectResponse;
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. |
onErrorCallback(err)
Example
Fehler tritt auf
function myErrorResponse(err) {
...
}
...
conn.onError = myErrorResponse;
Parameter
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt |
onProjectInfoCallback(projectID)
Parameter
Name | Type | Optional | Description |
---|---|---|---|
projectID |
String |
|
ID des Projekts, z.B. "20160331114440548". |
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. |
selectCallback(err, result, context)
Callback-Methode von HomeServerConnector._Connection.select().
Example
Liefert maximal 1000 K-Objekte mit Tag "EG" oder "OG" und keine Meta-Daten
var conn = HomeServerConnector.createConnection("user1", "pw1");
...
function mySelectResponse(error, result, context) {
...
}
...
conn.select({"objectKey": "CO@*", "tags": ["EG", "Licht"], "meta": False, "context": "test002"}, mySelectResponse)
Parameters
Name | Type | Optional | Description |
---|---|---|---|
err |
(Object or undefined) |
|
Fehler-Objekt.
|
result |
Object |
|
Liste von Objekt-Schlüsseln und Bezeichnungen, optional mit Meta-Daten. |
context |
Object |
|
Der unmodifizierte beim Aufruf angegebene Kontext. |