Guten Morgen,
so nun bin ich einen Schritt weitergekommen, die Anbindung der Event habe ich
via Long-Polling Requests gelöst und die scheint zu funktionieren.
self.dssRequest('/event/subscribe?subscriptionID=42&name=callScene',
function () {
var longPoll = function () {
self.log.debug("dSS - Event next poll");
self.dssRequest('/event/get?subscriptionID=42&timeout=60000',
function (events) {
events.events.forEach(function (event) {
self.log.debug("dSS - Event recieved: '%s' dsid: %s",
event.name, event.source.dsid);
self.emit(event.name, event);
});
longPoll();
});
}
longPoll();
})
Nun sind folgende Fragen aufgetaucht:
1. Event - Name:
Nachdem ich mir die Namens-Konvetionen des subscribe näher angeschaut hatte,
ist mir aufgefallen, dass sie den Event-Namen des Files:
https://git.digitalstrom.org/dss/dss-mainline/blob/master/data/subscriptions.xml
<https://git.digitalstrom.org/dss/dss-mainline/blob/master/data/subscriptions.xml>
entsprechen. Ist das richtig und wenn ja, gibt es eine Beschreibung der
einzelnen Event’s ? (Die unter
http://redmine.digitalstrom.org/projects/dss/wiki/Standard_events
<http://redmine.digitalstrom.org/projects/dss/wiki/Standard_events> ist "es
bizeli mikrig“ :)
2. Event - (generell):
Gibt es einen (Master)Event der immer ausgelöst wird, damit könnte man/ich die
Selektion (event-name) in meiner App machen….
(siehe Code > self.emit())
3. Event - callScene: originDSUID fehlt
Ich habe mit dem Event: callScene wie bei deinem Beispiel vom 4.Okt.2016
getestet (Deckenleuchte 1 > auf max), dabei ist mir aufgefallen, dass im
Response die originDSUID fehlt (properties:{originToken: "", callOrigin: "2",
sceneID: "14“}). Eine Idee ?
BDW: Ich habe festgestellt, dass Ihr ein neues Produkt (dSS-IP) habt, gibt es
von diesem eine Doku und könnten man eigene Applikationen/Interfaces darauf
installieren, denn ich arbeitete zurzeit an einer node.js basierenden
digitalSTROM - Apple Homekit integration.
Gruss Chris
> Am 20.12.2016 um 16:17 schrieb Hofmann, Christoph
> <[email protected]>:
>
> Alternativ kann man für einzelne Aktionen sich auch einen Scene-Responder
> programmieren. Man definiert dort den Auslöser (z.B.
> Raumzustand->Wohnzimmer->Licht ist eingeschaltet) und als auszuführende
> Aktivität dann einen URL-Aufruf, welcher eine Aktion auf einem anderen System
> auslösen kann.
Gruss
Chris Gross
—————————————————
Software Engineer
Dietlikon, Switzerland
[email protected]
https://github.com/cgHome
_______________________________________________
dss-developer mailing list
[email protected]
http://forum.digitalstrom.org/cgi-bin/mailman/listinfo/dss-developer