Situation Scripting Beispiel Fragen Simulation von Ger¨ aten Oder: Wie binde ich IP-Ger¨ ate in digitalSTROM ein Patrick St¨ ahlin futureLAB AG 27.01.2011
Jul 02, 2015
Situation Scripting Beispiel Fragen
Simulation von GeratenOder: Wie binde ich IP-Gerate in digitalSTROM ein
Patrick Stahlin
futureLAB AG
27.01.2011
Situation Scripting Beispiel Fragen
Situation
I Viele Gerate wurden in den letzten Jahren IP fahig
I digitalSTROM in Version 1.0 nur mit Licht
I Der digitalSTROM Server (dSS) ist erweiterbar
Situation Scripting Beispiel Fragen
Situation
I Viele Gerate wurden in den letzten Jahren IP fahig
I digitalSTROM in Version 1.0 nur mit Licht
I Der digitalSTROM Server (dSS) ist erweiterbar
Situation Scripting Beispiel Fragen
Situation
I Viele Gerate wurden in den letzten Jahren IP fahig
I digitalSTROM in Version 1.0 nur mit Licht
I Der digitalSTROM Server (dSS) ist erweiterbar
Situation Scripting Beispiel Fragen
Situation
Durch die Scriptbarkeit des dSS konnen nicht digitalSTROMGerate transparent eingebunden werden.
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
JavaScript im dSS I
I SpiderMonkey JavaScript-EngineI Aufgerufen durch
I EventsI Beim Start (Simulation)I Details im Wiki [dT]
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
JavaScript im dSS II
Moglichkeiten
I Events
I Property-Tree
I TCP client/server
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Properties
I Baumstruktur
I SpeicherbarI Zugriff von aussen
I JSONI SOAP
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Properties
I Baumstruktur
I SpeicherbarI Zugriff von aussen
I JSONI SOAP
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Properties
I Baumstruktur
I SpeicherbarI Zugriff von aussen
I JSONI SOAP
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Events
I Name
I Parameter
I Quelle
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Konstanten
I Scene.User1 . . . Scene.User4
I Scene.Bell
I usw. . .
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Simulations API
I callScene(sceneNumber)
I getConsumption
I get/setConfigParameter
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Simulation
I Bekannt machen in der Simulation: config.xml
I Instanzierung sim.xml
I AnsprechenI JSON/SOAPI digitalSTROM
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Simulation
I Bekannt machen in der Simulation: config.xml
I Instanzierung sim.xml
I AnsprechenI JSON/SOAPI digitalSTROM
Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API
Simulation
I Bekannt machen in der Simulation: config.xml
I Instanzierung sim.xml
I AnsprechenI JSON/SOAPI digitalSTROM
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
Code
function SimpleDevice () {
this.callScene = function(sceneNumber) {
print(’SimpleDevice.callScene ’, sceneNumber);
}
}
new SimpleDevice ();
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
config.xml
[...]
<property name="simple_device">
<property name="script -file [0]" type="string">
<value >../ jslib/dsid.js </value >
</property >
<property name="script -file [1]" type="string">
<value >some/where/simple_device.js </value >
</property >
<property name="id" type="string">
<value >example.simple_device </value >
</property >
</property >
[...]
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
sim.xml
<?xml version="1.0"?>
<simulation version="1">
<modulator busid="70" dsid="10">
<device dsid="4" busid="4" type="example.
simple_device" />
<zone id="1">
<group id="1">
<device busid="4" />
</group >
</zone >
</modulator >
</simulation >
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
VLC Player
I OpenSource Medienplayer
I Dokumentiertes, telnet basiertes Protokoll
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
VLC Player
I OpenSource Medienplayer
I Dokumentiertes, telnet basiertes Protokoll
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
Kommandos
I Track: play, stop, prev, next
I Lautstarke: volup, voldown
I Jeweils mit LF (\n) terminiert
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
Mediengerate in digitalSTROM
I Volume: Scene.Inc/Scene.Dec
I On: Scene.Off - Scene.User1
I Next: Scene.User1 - Scene.User2 - Scene.User3 -Scene.User1
I Previous: Scene.User4 - Scene.User3 - Scene.User2 -Scene.User1
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
config.xml
[...]
<property name="vlc_player">
<property name="script -file [0]" type="string">
<value >../ jslib/dsid.js </value >
</property >
<property name="script -file [1]" type="string">
<value >../ examples/plugins/js/vlc.js </value >
</property >
<property name="id" type="string">
<value >example.vlc_player </value >
</property >
</property >
[...]
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
sim.xml
<?xml version="1.0"?>
<simulation version="1">
<modulator busid="70" dsid="10">
<device dsid="4" busid="4" type="example.
vlc_player" />
<zone id="1">
<group id="4">
<device busid="4" />
</group >
</zone >
</modulator >
</simulation >
Situation Scripting Beispiel Fragen Simples Gerat VLC Player
Testaufbau
I VLC mit rc-interface vlc -I rc
--lua-config="rc=host=’localhost:4212’"
I dSS lokal installiert
Situation Scripting Beispiel Fragen
Fragen
Fragen?
References
References I
dSS Team.digitalstrom server wiki.http://developer.digitalstrom.org/redmine/
projects/dss/wiki/.