1.24. Screen Service

The screen service provides acces to the (on/off) states of multiple screens in the apartment. This is solved using the corresponding machines enery management (dpms) and xset via ssh.

1.24.2. Screens

Currently the following screens are registered on the following root scopes.

Monitor Id (host) Root scope
Hallway Flobi (Entrance) /citec/csra/home/hallway/entrance/screen/
Kitchen Flobi (Assistance) /citec/csra/home/kitchen/assistance/screen/
Living room TV /citec/csra/home/living/hometheater/screen/
Living room Beamer /citec/csra/home/living/lounge/screen/
Living room Window /citec/csra/home/living/window/screen/
Control room Tv’s /citec/csra/control/introspection/screen/
Control room BCO /citec/csra/control/bco/screen/
Control room Vdemo /citec/csra/control/vdemo/screen/

1.24.3. Interfaces

All following scopes need to be apended to the screens root scope to access it.

The informers are used to publish the monitors state changes. Changes are published on:

Scope (Informer) Type
../status Screen

Local servers can be used to request or set the screens status. The PowerState method is provided to satisfy the api of homeautomation units.

Scope (Local Server) + Method Parameter Type Return Type
../ctrl/setPower() PowerState <Error>
../ctrl/getPower()   <Error>
../ctrl/setStandby() StandbyState  
../ctrl/getStandby()   StandbyState
../ctrl/requestStatus()   Screen

1.24.4. Examples

Check the status of the entrance screen:

 > $prefix/bin/rsb-toolscl call \
       -I $prefix/share/rst0.1*/proto/sandbox \
       -l $prefix/share/rst0.1*/proto/'**/Screen.proto'\
       'spread:/citec/csra/home/hallway/entrance/screen/ctrl/requestStatus("")'

     #<SCREEN {100D5850C3}>
     Id           : "mia"
     Power-State  : #<POWER-STATE {100D5DD343}>
     Value: ON
     Standby-State: #<STANDBY-STATE {100D6348B3}>
     Value: RUNNING
     Label        : "mia"