Skip to content

A simple Android app that displays a designated webpage in a minimalist browser, while also streaming the device's camera to the local network on a chosen port. Designed for Home Assistant dashboar…

License

Notifications You must be signed in to change notification settings

paschalla/wallboi-dash

Repository files navigation

Wallboi Dashboard

Turn your Android tablet into a wall-mounted Home Assistant dashboard with built-in camera streaming

Wallboi Dashboard is an open-source Android app that combines a full-screen web browser for displaying dashboards (like Home Assistant) with a built-in camera streaming service. Perfect for wall-mounted tablets that serve dual purposes: displaying your smart home controls and acting as a security camera.

Features

🖥️ Dashboard Display

  • Full-screen WebView optimized for Home Assistant and web-based dashboards
  • Modern Chromium-based rendering with full JavaScript/CSS support
  • Configurable dashboard URL
  • Auto-reloads on app resume

📷 Camera Streaming

  • Front camera MJPEG streaming over HTTP
  • Configurable port (8080-8090)
  • WiFi accessible from any device on your network
  • Camera2 API for modern Android compatibility
  • Runs as foreground service for 24/7 operation

⚙️ Configuration

  • Swipe-down-from-top gesture to access settings
  • Configurable dashboard URL and camera port
  • Optional 4-digit PIN protection for settings
  • Camera preview in settings
  • "Close App" button for intentional exit

🔒 Kiosk Features

  • Keeps screen on while powered
  • Minimal interface (no navigation bars needed)
  • Back button navigates within WebView, doesn't exit app
  • Designed for always-on, wall-mounted use

Screenshots

(Coming soon - feel free to contribute!)

Installation

Quick Start

  1. Download the latest APK from Releases
  2. Enable "Unknown Sources" on your Android tablet
  3. Install the APK
  4. Grant camera and notification permissions
  5. Configure your dashboard URL and camera port
  6. Mount your tablet on the wall!

Building from Source

See BUILDING.md for detailed build instructions.

Usage

First Launch

  1. Launch Wallboi Dashboard
  2. Grant camera permission when prompted
  3. The app will show the settings screen on first run
  4. Enter your Home Assistant dashboard URL (e.g., http://192.168.1.223:8123/lovelace/0)
  5. Choose a camera streaming port (default: 8080)
  6. Optional: Set a 4-digit PIN to protect settings
  7. Tap "Save Settings"

Accessing Settings

  • Swipe down from the very top of the screen
  • A gear icon will appear for 5 seconds
  • Tap the gear icon
  • Enter your PIN if configured
  • Adjust settings as needed

Viewing the Camera Stream

The camera stream is accessible at:

http://[tablet-ip-address]:[port]

For example:

http://192.168.1.100:8080

You can view this in:

  • Any web browser
  • VLC Media Player
  • OBS Studio
  • Home Assistant (as a generic camera)

Adding to Home Assistant

Add to your configuration.yaml:

camera:
  - platform: mjpeg
    name: "Wallboi Camera"
    mjpeg_url: "http://192.168.1.100:8080"

Replace the IP address with your tablet's IP.

Architecture

Wallboi Dashboard is built with a modular architecture:

  • Camera Module: Camera2 API, MJPEG server (NanoHTTPD), JPEG encoding
  • WebView Module: Chromium-based WebView with HA optimizations
  • Settings Module: Configuration UI, PIN protection, preview
  • Gestures Module: Swipe detection for settings access
  • Utils: Preferences, network, permissions management

See ARCHITECTURE.md for detailed technical documentation.

Configuration

Developer Settings (Android)

For best results, enable these Android developer settings:

  1. Stay Awake: Settings → Developer Options → Stay awake

    • Keeps screen on while charging
  2. Disable Auto-Lock: Settings → Display → Screen timeout → Never

    • Prevents screen from turning off

Network Configuration

The app requires WiFi to stream the camera. Make sure:

  • Tablet is connected to the same network as devices that will view the stream
  • Your router allows local network communication
  • Firewall/router doesn't block the camera port

Troubleshooting

Camera stream not accessible

  • Check the IP address shown in settings matches your tablet
  • Verify the port isn't blocked by firewall
  • Try accessing from a browser: http://[tablet-ip]:[port]
  • Check that the camera service is running (notification should be visible)

Dashboard not loading

  • Verify the URL is correct and accessible from the tablet's browser
  • Check that WiFi is connected
  • Try loading the URL in Chrome on the tablet first

Settings won't open

  • Make sure you're swiping from the very top edge of the screen
  • Check if PIN is set and you're entering it correctly
  • Try restarting the app

Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

Areas for Contribution

  • Icon/logo design
  • UI/UX improvements
  • Additional camera features (resolution selection, back camera, etc.)
  • Landscape/portrait orientation handling
  • Translations
  • Documentation improvements
  • Bug fixes and testing

License

MIT License - see LICENSE for details.

Acknowledgments

Authors

paschalla.dev

Development Assistance

  • Claude Sonnet 4.5 (Anthropic) - AI pair programming assistant

Support


Made with ❤️ for the smart home community

About

A simple Android app that displays a designated webpage in a minimalist browser, while also streaming the device's camera to the local network on a chosen port. Designed for Home Assistant dashboar…

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages