SlideShare a Scribd company logo
1 of 28
Download to read offline
Situation Scripting Beispiel Fragen




             Simulation von Ger¨ten
                               a
Oder: Wie binde ich IP-Ger¨te in digitalSTROM ein
                          a


                          Patrick St¨hlin
                                    a

                             futureLAB AG


                              27.01.2011
Situation Scripting Beispiel Fragen

Situation




     Viele Ger¨te wurden in den letzten Jahren IP f¨hig
              a                                    a
     digitalSTROM in Version 1.0 nur mit Licht
     Der digitalSTROM Server (dSS) ist erweiterbar
Situation Scripting Beispiel Fragen

Situation




     Viele Ger¨te wurden in den letzten Jahren IP f¨hig
              a                                    a
     digitalSTROM in Version 1.0 nur mit Licht
     Der digitalSTROM Server (dSS) ist erweiterbar
Situation Scripting Beispiel Fragen

Situation




     Viele Ger¨te wurden in den letzten Jahren IP f¨hig
              a                                    a
     digitalSTROM in Version 1.0 nur mit Licht
     Der digitalSTROM Server (dSS) ist erweiterbar
Situation Scripting Beispiel Fragen

Situation




   Durch die Scriptbarkeit des dSS k¨ nnen nicht digitalSTROM
                                    o
            Ger¨te transparent eingebunden werden.
               a
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

JavaScript im dSS I




     SpiderMonkey JavaScript-Engine
     Aufgerufen durch
          Events
          Beim Start (Simulation)
          Details im Wiki [dT]
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

JavaScript im dSS II




  M¨ glichkeiten
   o
      Events
      Property-Tree
      TCP client/server
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Properties




     Baumstruktur
     Speicherbar
     Zugriff von aussen
          JSON
          SOAP
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Properties




     Baumstruktur
     Speicherbar
     Zugriff von aussen
          JSON
          SOAP
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Properties




     Baumstruktur
     Speicherbar
     Zugriff von aussen
          JSON
          SOAP
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Events




     Name
     Parameter
     Quelle
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Konstanten




     Scene.User1 . . . Scene.User4
     Scene.Bell
     usw. . .
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Simulations API




     callScene(sceneNumber)
     getConsumption
     get/setConfigParameter
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Simulation




     Bekannt machen in der Simulation: config.xml
     Instanzierung sim.xml
     Ansprechen
          JSON/SOAP
          digitalSTROM
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Simulation




     Bekannt machen in der Simulation: config.xml
     Instanzierung sim.xml
     Ansprechen
          JSON/SOAP
          digitalSTROM
Situation Scripting Beispiel Fragen   JS im Server Scripting API Sim-API

Simulation




     Bekannt machen in der Simulation: config.xml
     Instanzierung sim.xml
     Ansprechen
          JSON/SOAP
          digitalSTROM
Situation Scripting Beispiel Fragen   Simples Ger¨t VLC Player
                                                        a

Code




   function SimpleDevice () {
     this . callScene = function ( sceneNumber ) {
       print ( ’ SimpleDevice . callScene ’ , sceneNumber ) ;
     }
   }
   new SimpleDevice () ;
Situation Scripting Beispiel Fragen   Simples Ger¨t VLC Player
                                                        a

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 Ger¨t VLC Player
                                                           a

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 Ger¨t VLC Player
                                                        a

VLC Player




     OpenSource Medienplayer
     Dokumentiertes, telnet basiertes Protokoll
Situation Scripting Beispiel Fragen   Simples Ger¨t VLC Player
                                                        a

VLC Player




     OpenSource Medienplayer
     Dokumentiertes, telnet basiertes Protokoll
Situation Scripting Beispiel Fragen   Simples Ger¨t VLC Player
                                                       a

Kommandos




    Track: play, stop, prev, next
    Lautst¨rke: volup, voldown
          a
    Jeweils mit LF (n) terminiert
Situation Scripting Beispiel Fragen   Simples Ger¨t VLC Player
                                                        a

Medienger¨te in digitalSTROM
         a




     Volume: Scene.Inc/Scene.Dec
     On: Scene.Off - Scene.User1
     Next: Scene.User1 - Scene.User2 - Scene.User3 -
     Scene.User1
     Previous: Scene.User4 - Scene.User3 - Scene.User2 -
     Scene.User1
Situation Scripting Beispiel Fragen   Simples Ger¨t VLC Player
                                                        a

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 Ger¨t VLC Player
                                                           a

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 Ger¨t VLC Player
                                                        a

Testaufbau




     VLC mit rc-interface vlc -I rc
     --lua-config="rc=host=’localhost:4212’"
     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/.

More Related Content

What's hot

Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit JujuFrank Müller
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeFrank Müller
 
Spaß an der Nebenläufigkeit
Spaß an der NebenläufigkeitSpaß an der Nebenläufigkeit
Spaß an der NebenläufigkeitFrank Müller
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionGerrit Beine
 
SNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMPSNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMPGerrit Beine
 
Sicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPSicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPGerrit Beine
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
PowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichernPowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichernAttila Krick
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...inovex GmbH
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Containerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony DayContainerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony DayTobias Schneck
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easyinovex GmbH
 

What's hot (20)

Cloud Provisioning mit Juju
Cloud Provisioning mit JujuCloud Provisioning mit Juju
Cloud Provisioning mit Juju
 
JavaScript Performance
JavaScript PerformanceJavaScript Performance
JavaScript Performance
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Go - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare SystemeGo - Googles Sprache für skalierbare Systeme
Go - Googles Sprache für skalierbare Systeme
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Spaß an der Nebenläufigkeit
Spaß an der NebenläufigkeitSpaß an der Nebenläufigkeit
Spaß an der Nebenläufigkeit
 
Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - KurzversionSicheres Anwendungs-Monitoring mit SNMP - Kurzversion
Sicheres Anwendungs-Monitoring mit SNMP - Kurzversion
 
JavaScript Performance
JavaScript PerformanceJavaScript Performance
JavaScript Performance
 
SNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMPSNMP Applied - Sicheres Monitoring mit SNMP
SNMP Applied - Sicheres Monitoring mit SNMP
 
Sicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMPSicheres Anwendungs-Monitoring mit SNMP
Sicheres Anwendungs-Monitoring mit SNMP
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
01 sqlplus
01 sqlplus01 sqlplus
01 sqlplus
 
PowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichernPowerShell Sicherheit in 6 Schritten produktiv absichern
PowerShell Sicherheit in 6 Schritten produktiv absichern
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Containerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony DayContainerized End-2-End Testing - JUG Saxony Day
Containerized End-2-End Testing - JUG Saxony Day
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
systemd & Docker
systemd & Dockersystemd & Docker
systemd & Docker
 

Similar to digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten ein - zum Beispiel den VLC-Player

Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Torsten Kleiber
 
Gebäudeautomation mit Java und OpenRemote
 Gebäudeautomation mit Java und OpenRemote Gebäudeautomation mit Java und OpenRemote
Gebäudeautomation mit Java und OpenRemotegedoplan
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013Oliver Zeigermann
 
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- EntwicklersJAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklerscamunda services GmbH
 
Presentation bp7 - citrix xen desktop
Presentation   bp7 - citrix xen desktopPresentation   bp7 - citrix xen desktop
Presentation bp7 - citrix xen desktopxKinAnx
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenHendrik Lösch
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleCarolineAuerMarcher
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
 
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsDWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsMarc Müller
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenAndré Goliath
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsMarc Müller
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetRobin Sedlaczek
 

Similar to digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten ein - zum Beispiel den VLC-Player (20)

camunda BPM launch party - 04.2013
camunda BPM launch party - 04.2013camunda BPM launch party - 04.2013
camunda BPM launch party - 04.2013
 
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
Das dreckige Dutzend - ADF Migration nach 12c in der IKB - DOAG 2014.
 
Gebäudeautomation mit Java und OpenRemote
 Gebäudeautomation mit Java und OpenRemote Gebäudeautomation mit Java und OpenRemote
Gebäudeautomation mit Java und OpenRemote
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013JavaScript für Java-Entwickler W-JAX 2013
JavaScript für Java-Entwickler W-JAX 2013
 
SignalR
SignalRSignalR
SignalR
 
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- EntwicklersJAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
JAX 2013: BPMN 2.0 gehört in den Werkzeugkasten JEDES Java- Entwicklers
 
Presentation bp7 - citrix xen desktop
Presentation   bp7 - citrix xen desktopPresentation   bp7 - citrix xen desktop
Presentation bp7 - citrix xen desktop
 
Ionic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf SteroidenIonic 2 - Hybridapps auf Steroiden
Ionic 2 - Hybridapps auf Steroiden
 
ANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat AnsibleANEO | Automatisierung mit RedHat Ansible
ANEO | Automatisierung mit RedHat Ansible
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 
Offline Arbeiten
Offline ArbeitenOffline Arbeiten
Offline Arbeiten
 
Serverless: The Missing Manual
Serverless: The Missing ManualServerless: The Missing Manual
Serverless: The Missing Manual
 
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsDWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Production-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 WochenProduction-ready Infrastruktur in 3 Wochen
Production-ready Infrastruktur in 3 Wochen
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsBASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
BASTA Spring 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Developer Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der RealitaetDeveloper Week 2019: Identity & Access Management in der Realitaet
Developer Week 2019: Identity & Access Management in der Realitaet
 
Helm introduction
Helm introductionHelm introduction
Helm introduction
 

More from digitalSTROM.org

digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IIdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IIdigitalSTROM.org
 
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IdigitalSTROM.org
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM.org
 
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM.org
 
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM.org
 
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-ServerdigitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-ServerdigitalSTROM.org
 
digitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger HovestadtdigitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger HovestadtdigitalSTROM.org
 
digitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design ConceptsdigitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design ConceptsdigitalSTROM.org
 
digitalSTROM Server Development
digitalSTROM Server DevelopmentdigitalSTROM Server Development
digitalSTROM Server DevelopmentdigitalSTROM.org
 
Contributing to dSS development
Contributing to dSS developmentContributing to dSS development
Contributing to dSS developmentdigitalSTROM.org
 

More from digitalSTROM.org (12)

digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IIdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt II
 
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt IdigitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
digitalSTROM Developer Day 2011: Wie digitalSTROM auf das iPhone kommt I
 
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-AppsdigitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
digitalSTROM Developer Day 2011: digitalSTROM-Server-Apps
 
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
digitalSTROM Developer Day 2011: Wie Heimelektronik und digitalSTROM zusammen...
 
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
 
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-ServerdigitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
digitalSTROM Developer Day 2011: Neue Möglichkeiten mit dem digitalSTROM-Server
 
digitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger HovestadtdigitalSTROM Developer Day 2011: Referat Ludger Hovestadt
digitalSTROM Developer Day 2011: Referat Ludger Hovestadt
 
digitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design ConceptsdigitalSTROM Interaction Design Concepts
digitalSTROM Interaction Design Concepts
 
digitalSTROM Server Development
digitalSTROM Server DevelopmentdigitalSTROM Server Development
digitalSTROM Server Development
 
UPnP and digitalSTROM
UPnP and digitalSTROMUPnP and digitalSTROM
UPnP and digitalSTROM
 
dSS API by example
dSS API by exampledSS API by example
dSS API by example
 
Contributing to dSS development
Contributing to dSS developmentContributing to dSS development
Contributing to dSS development
 

digitalSTROM Developer Day 2011: digitalSTROM bindet auch externe Komponenten ein - zum Beispiel den VLC-Player

  • 1. Situation Scripting Beispiel Fragen Simulation von Ger¨ten a Oder: Wie binde ich IP-Ger¨te in digitalSTROM ein a Patrick St¨hlin a futureLAB AG 27.01.2011
  • 2. Situation Scripting Beispiel Fragen Situation Viele Ger¨te wurden in den letzten Jahren IP f¨hig a a digitalSTROM in Version 1.0 nur mit Licht Der digitalSTROM Server (dSS) ist erweiterbar
  • 3. Situation Scripting Beispiel Fragen Situation Viele Ger¨te wurden in den letzten Jahren IP f¨hig a a digitalSTROM in Version 1.0 nur mit Licht Der digitalSTROM Server (dSS) ist erweiterbar
  • 4. Situation Scripting Beispiel Fragen Situation Viele Ger¨te wurden in den letzten Jahren IP f¨hig a a digitalSTROM in Version 1.0 nur mit Licht Der digitalSTROM Server (dSS) ist erweiterbar
  • 5. Situation Scripting Beispiel Fragen Situation Durch die Scriptbarkeit des dSS k¨ nnen nicht digitalSTROM o Ger¨te transparent eingebunden werden. a
  • 6. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API JavaScript im dSS I SpiderMonkey JavaScript-Engine Aufgerufen durch Events Beim Start (Simulation) Details im Wiki [dT]
  • 7. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API JavaScript im dSS II M¨ glichkeiten o Events Property-Tree TCP client/server
  • 8. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Properties Baumstruktur Speicherbar Zugriff von aussen JSON SOAP
  • 9. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Properties Baumstruktur Speicherbar Zugriff von aussen JSON SOAP
  • 10. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Properties Baumstruktur Speicherbar Zugriff von aussen JSON SOAP
  • 11. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Events Name Parameter Quelle
  • 12. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Konstanten Scene.User1 . . . Scene.User4 Scene.Bell usw. . .
  • 13. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Simulations API callScene(sceneNumber) getConsumption get/setConfigParameter
  • 14. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Simulation Bekannt machen in der Simulation: config.xml Instanzierung sim.xml Ansprechen JSON/SOAP digitalSTROM
  • 15. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Simulation Bekannt machen in der Simulation: config.xml Instanzierung sim.xml Ansprechen JSON/SOAP digitalSTROM
  • 16. Situation Scripting Beispiel Fragen JS im Server Scripting API Sim-API Simulation Bekannt machen in der Simulation: config.xml Instanzierung sim.xml Ansprechen JSON/SOAP digitalSTROM
  • 17. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a Code function SimpleDevice () { this . callScene = function ( sceneNumber ) { print ( ’ SimpleDevice . callScene ’ , sceneNumber ) ; } } new SimpleDevice () ;
  • 18. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a 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 > [...]
  • 19. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a 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 >
  • 20. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a VLC Player OpenSource Medienplayer Dokumentiertes, telnet basiertes Protokoll
  • 21. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a VLC Player OpenSource Medienplayer Dokumentiertes, telnet basiertes Protokoll
  • 22. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a Kommandos Track: play, stop, prev, next Lautst¨rke: volup, voldown a Jeweils mit LF (n) terminiert
  • 23. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a Medienger¨te in digitalSTROM a Volume: Scene.Inc/Scene.Dec On: Scene.Off - Scene.User1 Next: Scene.User1 - Scene.User2 - Scene.User3 - Scene.User1 Previous: Scene.User4 - Scene.User3 - Scene.User2 - Scene.User1
  • 24. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a 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 > [...]
  • 25. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a 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 >
  • 26. Situation Scripting Beispiel Fragen Simples Ger¨t VLC Player a Testaufbau VLC mit rc-interface vlc -I rc --lua-config="rc=host=’localhost:4212’" dSS lokal installiert
  • 27. Situation Scripting Beispiel Fragen Fragen Fragen?
  • 28. References References I dSS Team. digitalstrom server wiki. http://developer.digitalstrom.org/redmine/ projects/dss/wiki/.