Commit Graph

12 Commits

Author SHA1 Message Date
root
3b38a78295 Person detection via direct MQTT instead of HA entities
- Electron main process subscribes to Frigate's MQTT topics
  (frigate/<camera>/person and frigate/events) directly via mqtt.js,
  bypassing the broken HA MQTT integration
- Watched cameras: Front_Porch, FPE, Porch_Downstairs, Driveway_door
- On person detection, exits photo-frame idle and shows full-screen
  camera feed for 30 seconds
- Removed HA entity-based person detection code (entityToCameraName,
  personDetectionEntities config dependency)
- Deleted unused useFrigateDetection HTTP polling hook (superseded)
2026-04-16 21:46:28 -05:00
root
55dd117520 Suppress photo-frame idle while Media overlay is open
Jellyfin runs in a cross-origin iframe so we can't observe the video
element's play state directly — using overlay-open as the proxy. Any
user activity still resets the timer, and Controls / Cameras / Settings
overlays still fall to idle as before.
2026-04-16 06:40:53 -05:00
root
9315374944 Swap calendar coloring to per-person keyword match; teal UI accent
- Events now color by name match in the summary: Becca=teal, Chris=green,
  Arabella=pink. Anything without a match gets a neutral slate. Replaces
  the hash-to-Google-palette logic.
- Main accent swapped from blue to pastel teal (#14b8a6) so the UI feels
  cohesive with the event palette.
2026-04-15 08:06:09 -05:00
root
7b36551c32 Cool-light theme, Google event colors, photo frame contain+lower-right clock
- Main app swapped from warm cream/sage to cool slate light theme with
  blue accent; dark-* tokens and text-white/gray overrides remapped in
  tailwind.config.js and index.css
- Calendar events now render in Google's 11-color palette (Tomato through
  Graphite), deterministically hashed from the event summary so the same
  event always gets the same color
- PhotoFrame uses object-contain (whole photo shown, letterboxed) instead
  of object-cover; clock + date moved to lower-right, same white color,
  text-shadow for readability over any photo
- EMAIL_UPLOAD.md / PHOTO_FRAME.md / iCloud sync script and systemd timer
  remain unchanged
2026-04-15 02:18:43 -05:00
root
d0db8c55b3 Tighten Home calendar/todo split to 80/20 2026-04-14 19:28:33 -05:00
root
a5803f70e3 Add localhost screenshot endpoint and email-upload guide
- Electron main now exposes http://127.0.0.1:9990/screenshot that returns
  a PNG via CDP Page.captureScreenshot (GNOME Wayland blocks external
  capture, and webContents.capturePage() hangs on this compositor). The
  endpoint is localhost-only.
- EMAIL_UPLOAD.md documents the n8n IMAP -> Samba share workflow for
  Skylight-style email-to-photo-frame uploads.
2026-04-14 18:59:24 -05:00
root
cede430dc9 Keep monitor always on and switch Home layout to horizontal 90/10
- Removed ScreenManager idle sleep entirely (constructor no longer starts
  the idle monitor, setIdleTimeout is now a no-op, unused fields and the
  private startIdleMonitor method removed). Display never sleeps; the
  photo frame provides the idle visual instead.
- DashboardContent now uses flex-row: calendar 90% wide, todo 10% wide.
2026-04-14 16:29:58 -05:00
root
7886e72f38 Add Controls tab with lights, locks, alarm, thermostats overlay
The five-tab nav now includes a Controls tab between Home and Media.
Opens a full-screen overlay with the alarm panel, each configured
thermostat, lights, and locks tiled in a responsive 2-column grid.
2026-04-14 14:06:13 -05:00
root
1dd32c6afe Simplify home view and drop motion detection
- Top nav tabs (Home/Media/Cameras/Settings) replace the right-side button cluster
- Home view now shows calendar 90% / todo 10% vertically; lights, locks,
  alarm, thermostats removed from the dashboard since the photo frame now
  owns the idle space and the nav covers the remaining sections
- Motion detection deleted: the go2rtc-based Kitchen_Panel poll was only
  there to wake the screen before idle timeout, which photo-frame exit on
  touch replaces
2026-04-14 13:27:20 -05:00
root
5fe7bc71ef Add photo frame idle mode and switch to Skylight-style theme
- After 5 min of no touch/motion, dashboard hides behind a fullscreen
  photo slideshow with centered time and date overlay
- Photos loaded from PHOTOS_PATH env var (defaults to ~/Pictures/dashboard)
  via IPC + file:// URLs; traversal-guarded, recursive up to 2 levels
- Motion or touch exits idle back to dashboard
- Theme repainted warm cream / sage / stone ink with Nunito font and
  rounded cards; dark tokens kept so component classes still resolve
- Adds PHOTO_FRAME.md with Samba cifs mount + systemd env instructions
2026-04-14 10:44:51 -05:00
root
58ebd3e239 Fix camera feed freezing and person detection alerts
- Add WebRTC auto-reconnect with exponential backoff when streams
  disconnect or fail, preventing permanent freezes in grid view
- Replace hard-coded Front Porch person alert with generic system
  that monitors all configured personDetectionEntities
- Map Frigate person_occupancy entities to cameras dynamically
- Show correct camera name and feed in alert overlay
- Bump config version to refresh detection entity defaults
2026-02-26 15:33:25 -06:00
root
97a7912eae Initial commit: Electron + React touchscreen kiosk dashboard for Home Assistant 2026-02-25 23:01:20 -06:00