smart-home-dashboard
โModern, highly customizable smart home wall panel optimized for tablets
5.0K
A modern, highly customizable smart home wall panel for tablets (optimized for a Lenovo Tab M10 FHD Plus (10.3", 1920ร1200, 16:10) in landscape mode). Designed for 24/7 continuous operation inside the Fully Kiosk Browser.
The fastest method to set up the dashboard. The installer automatically checks all dependencies (Node.js, Git, npm) on your system and installs any missing components.
Open PowerShell and run the following command:
irm https://raw.githubusercontent.com/Daddelgreis74/smart-home-dashboard/main/install.ps1 | iex
Missing dependencies (like Git or Node.js) are automatically installed using the Windows Package Manager (winget). A desktop shortcut can optionally be created.
Open your terminal and run the following command:
bash <(curl -fsSL https://raw.githubusercontent.com/Daddelgreis74/smart-home-dashboard/main/install.sh)
Performs a local host installation including automatic systemd service configuration for launching on boot.
.ics upload, upcoming pick-ups, colored trash bin icons, and calendar-day precise Today/Tomorrow display.You can switch the dashboard theme directly inside the settings gear menu (top right):
| Theme | Preview |
|---|---|
| Neo-Aurora Transparent frosted-glass cards with soft ambient auras and glowing widgets. | ![]() |
| Cyberpunk HUD Tactical high-tech look in orange/amber with sharp corners and grid background. | ![]() |
| Cozy Nordic Dark Calming, organic aesthetic with sage green accents and soft shadows. | ![]() |
| Retrowave Laser Synth Nostalgic 80s retro look in pink/cyan with a perspective laser floor grid. | ![]() |
If you prefer not to use the automated One-Liner scripts, you can set up the application manually:
start-dashboard.bat
npm install), opens the browser, and starts the server.git clone https://github.com/Daddelgreis74/smart-home-dashboard.git
cd smart-home-dashboard
npm install
npm start
http://localhost:8443 (or https://localhost:8443 with SSL).The application can be configured using the following environment variables:
| Variable | Default Value | Description |
|---|---|---|
PORT | 8443 | The primary port of the dashboard web server (HTTPS if SSL certificates exist, otherwise HTTP). |
HOST | 0.0.0.0 | The IP address interface the server binds to. |
DATA_DIR | (App directory) | Path to the directory where configs (tasmota.json, etc.) are saved. |
UPLOAD_DIR | DATA_DIR/uploads | Path to the directory where uploaded .ics files are saved. |
SSL_DIR | DATA_DIR/ssl | Path to the directory containing SSL/TLS certificates (key.pem and cert.pem). |
AUTO_SSL | false | Set to true to automatically generate a self-signed SSL/TLS certificate if missing in SSL_DIR. |
fritzbox.json and fritzbox_calls.json. These files are ignored by Git and never uploaded.#96*5* (and dial/call)#96*6*The sensor widget queries a local Tasmota endpoint:
GET /api/tasmota/sensor?ip=192.168.178.40
The IP can be configured in the Preferences menu (top right). The backend only accepts private IPv4 addresses.
All-day .ics events are compared using local calendar days. This ensures that tomorrow's pick-up is not incorrectly displayed as "Today" just because the current time is past 00:00.
The following files contain private configurations and are never uploaded to GitHub (protected via .gitignore):
appointments.json, data/, www/, radio.json, tasmota.json, fritzbox.json, fritzbox_calls.json, presence.json, uploads/, node_modules/, ssl/You can manually check the files for syntax errors using the following commands:
node --check server.js
node --check public/app.js
npm audit --omit=dev
Developed with ๐ป by Neo, the digital house ghost.
Content type
Image
Digest
sha256:c8be49064โฆ
Size
65.2 MB
Last updated
about 23 hours ago
docker pull daddelgreis74/smart-home-dashboard