home-dashboard  by kyleturman

Home dashboard server for e-ink displays

Created 3 months ago
278 stars

Top 93.5% on SourcePulse

GitHubView on GitHub
Project Summary

A modular, open-source home dashboard designed to display consolidated information like weather forecasts, calendar events, vehicle data, and AI insights on e-paper displays. It targets users with always-on local network computers (e.g., Raspberry Pi) and e-paper devices, offering a customizable and low-power display solution.

How It Works

The project utilizes a Node.js server that aggregates data from various APIs. This data is then rendered into HTML/CSS, converted into a 1-bit PNG image optimized for e-paper, and served over the local network. A microcontroller-powered e-paper display fetches this image periodically (every 10 minutes) and enters a sleep mode overnight to conserve power.

Quick Start & Requirements

  • Installation: Clone the repository, navigate into the directory, and run npm install.
  • Configuration: Copy .env.example to .env and set MAIN_LOCATION_ZIP and VISUAL_CROSSING_API_KEY.
  • Running: Start the server daemon using npm start (managed by PM2).
  • Prerequisites: Node.js (v16+), npm, and an always-on computer on the local network.
  • Auto-Start: Configure PM2 for boot-time startup using npx pm2 startup and npx pm2 save.
  • Access: Dashboard available at http://localhost:7272/dashboard, image at http://localhost:7272/dashboard/image, and admin panel at http://localhost:7272/admin.
  • API Keys: Requires Visual Crossing Weather API key; optional keys for Ambient Weather, Google Calendar, Smartcar API, and Anthropic Claude (LLM).

Highlighted Details

  • Modular service architecture allows easy addition or removal of data sources (weather, calendar, vehicle, LLM).
  • Generates 1-bit PNG images specifically for e-paper displays, with optimizations for low-power consumption.
  • Integrates with multiple third-party services including Visual Crossing Weather, Google Calendar, Smartcar, and Ambient Weather stations.
  • Features AI-generated daily insights and suggestions using Anthropic Claude.
  • Employs PM2 for robust process management, including automatic restarts on crashes and optional boot-time startup.

Maintenance & Community

This project is provided "as-is" and is not actively maintained, with no warranty or guarantee of support. No specific community channels (e.g., Discord, Slack) are listed.

Licensing & Compatibility

The project is released under the MIT License, permitting free use, modification, and distribution, including for commercial purposes, with no warranty.

Limitations & Caveats

The project is explicitly stated as not actively maintained and offered without warranty. The README notes that the code and CSS are "messier than I would like," and the 1-bit image conversion quality is not perfect, particularly with font hinting. The e-paper display functionality requires specific microcontroller hardware (Seeed XIAO ESP32 variants or reTerminal E Series) and the server needs a fixed local IP address for reliable display connectivity.

Health Check
Last Commit

3 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
1
Star History
111 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.