Photo Screensaver
Relevant source files
The following files were used as context for generating this wiki page:
The Photo Screensaver displays images on a Wall display when the device is idle. It primarily sources photos from an Immich integration but utilizes a fallback mechanism for local images.
Sources: GLOSSARY.md:4, 114-116
Display Modes and Hardware Interaction
The screensaver operates on a Wall display, which is a device switched into an always-on dashboard mode. Unlike standard browsing devices, a Wall display activates the screensaver when idle and supports specific power-saving and wake behaviors.
Night Mode and Wake Behavior
During set hours defined by the Household, the Wall display enters Night mode. In this state, the screen shows a black background or a dim clock instead of the screensaver. The system supports camera-based motion wake to transition from Night mode or an idle state back to the active dashboard.
Sources: GLOSSARY.md:114-124, README.md:50-52
Technical Requirements
Certain hardware-level features like Screen Wake Lock and camera motion-wake require a secure context. These features remain disabled unless GoCasa is accessed via HTTPS.
Sources: README.md:50-52
Data Storage and Caching
The screensaver manages image data within the application's data directory. GoCasa maintains separate locations for cached integration photos and local fallback images.
| Directory | Purpose |
|---|---|
/data/photo-cache/ | Stores temporary copies of photos retrieved from integrations like Immich. |
/data/photos/ | Contains the Household's own images used for the fallback folder. |
Sources: README.md:16-18
Logic and Flow
The screensaver follows a hierarchical selection process for displaying images. It prioritizes the external Immich integration and reverts to local storage if the primary source is unavailable.
Image Selection Process
- Check Primary Source: The system attempts to fetch photos from the Immich integration.
- Evaluate Availability: If Immich has no photos to show or is unreachable, the system activates the fallback mechanism.
- Display Fallback: The screensaver shows images from the Fallback folder.
Sources: GLOSSARY.md:126-128
The diagram shows the logic flow from an idle state to image display or power-saving modes.
Sources: GLOSSARY.md:118-128
Summary
The Photo Screensaver serves as the visual idle state for GoCasa Wall displays. It integrates with external photo hosting services while maintaining a local fallback system to ensure the display remains functional without an active external connection. Its behavior is tightly coupled with Household settings like Night mode and hardware capabilities like camera-based waking.
Sources: GLOSSARY.md:114-128