1.20.1. Automatic Recording¶
The automatic recording component is a state-machine based process that triggers the Record Server component based on activity found in the Situation Recognition by the following rules: If there is (human) movement, the recording is started. Only if no movement can be observed anymore, a cooldown phase of 15 minutes is started where the recording is still active. After cooldown, the recording process is stopped. This way, the recording starts as soon as someone enters the apartment keeps running at least 15 minutes after the last movement has been observed.
Automatic recording can be suspended, i.e. prevented from starting and paused if running by using buttons in the apartment (Button Control Interface) or via rsb (RSB Control Interface).
The current state of the recording is displayed via an Ambient Status Interface and Verbal Output in the control room.
1.20.1.2. Ambient Status Interface¶
The current recording status is displayed in two locations in the apartment: The control room ambient light, and the first light bulb of the living room lamp next to the 4k screen at the sports door. If nothing is being recorded at the moment, the light is switched off accordingly. Otherwise, a red color indicates recording and shades of blue/purple an suspended state.
Recording active | Suspended (with movement) | Suspended (no movement) |
---|---|---|
Control room | ||
Living room | ||
1.20.1.3. Verbal Output¶
Verbal feedback is given via the Speech Synthesis in the control room.
For that purpose, the automatic recording component sends TaskState objects
to the scope /home/control/saytask/SAY
everytime the recording process is
(re-)started, stopped, or suspended.
1.20.1.4. Button Control Interface¶
You can press the two topmost buttons right next to the living room’s Ambient Status Interface to suspend or resume the recording process (at the sports door).
1.20.1.5. RSB Control Interface¶
As the automatic recording listens to the following scopes, you can also send rsb events to suspend or resume the recording process:
Scope (Listener) | Type |
---|---|
/state/recording/suspend |
void |
/state/recording/resume |
void |
1.20.1.6. RSB Output Interface¶
The recording component triggers the Record Server with all of the following methods:
Scope (Local Server) + Method | Argument Type | Return Type |
---|---|---|
/logger/rsbag/all/open() |
String: filename | void |
/logger/rsbag/all/start() |
void | void |
/logger/rsbag/all/isstarted() |
void | bool: recording? |
/logger/rsbag/all/stop() |
void | void |
/logger/rsbag/all/close() |
void | void |
1.20.1.7. Examples¶
Suspend and resume recording via command line:
tools0.12 send '""' /state/recording/suspend
# discuss secret things
tools0.12 send '""' /state/recording/resume
or simply:
rsb-send /state/recording/suspend
# discuss secret things
rsb-send /state/recording/resume