Skip to content
 
 

Repository files navigation

Prism Desktop

A Home Assistant PC App for Windows & Linux

Prism Desktop brings Home Assistant to your PC with a modern, lightweight desktop experience.
It features a sleek dashboard with smooth animations, build in notifications, intuitive drag-and-drop customization, and deep integration with Home Assistant entities.

image

Features

  • System Tray Integration: The app stays tucked away in your tray until you need it.
  • PC notifications: Send notifications to your PC
  • Resizeable dashboard: adjust the size of your dashboard according to your needs.
  • Morphing Controls: Click and hold widgets to expand them into granular controls like dimmers or thermostats.
  • Drag & Drop Customization: Rearrange your dashboard grid simply by dragging icons around.
  • Real-time Sync: Uses Home Assistant's WebSocket API for instant state updates.
  • Customizable Appearance: Choose from different border effects (like Rainbow or Aurora) and customize button colors.
  • Keyboard Shortcuts: Create custom shortcuts for your button tiles

Supported Entity Types

  • Automation
  • Camera
  • Climate
  • Curtain / Cover
  • Fan
  • Light / Switch
  • Lawn Mower
  • Media Controller
  • Scene
  • Sun
  • Script
  • Sensor
  • Vacuum
  • Weather

3D printer tile

  • Camera
  • Nozzle Temperature
  • Nozzle Target Temperature
  • Bed Temperature
  • Bed Target Temperature
  • State

Keyboard Shortcuts

  • Open / Close App: Use the shortcut defined in Settings under 'App toggle'.
  • Custom Shortcuts: Define custom shortcuts for any button via the Add/Edit menu.

Adjustable grid

gif-grid

Widget overlays

gif-overlay

Installation

Windows Installer

Download the latest PrismDesktopSetup.exe from the Releases page. This will install the app and optionally set it to start with Windows.

Linux Installer

Download the latest .AppImage from the Releases page.

  1. Make it executable:
    chmod +x PrismDesktop-x86_64.AppImage
  2. Run it:
    ./PrismDesktop-x86_64.AppImage

Note: Some distributions (e.g. Ubuntu 22.04+) require libfuse2 for AppImages to run:

sudo apt install libfuse2

GNOME:

  • Install AppIndicator and KStatusNotifierItem Support through Extension Manager for system tray support.
  • Wayland: GNOME has limited global shortcut support. As a workaround, you can bind the following command to a custom keyboard shortcut in your system settings to toggle the app:
    /path/to/PrismDesktop-x86_64.AppImage --toggle
    Binding shortcuts to individual entities is not supported.

KDE:

  • System tray works out of the box.
  • The app-toggle shortcut works via org.freedesktop.portal.GlobalShortcuts.
  • Binding shortcuts to individual entities is not supported on KDE.

Manual / Portable

You can also download the standalone .exe if you prefer not to install anything. Just run it, and it will create a configuration file in the same directory.

Running from Source

If you want to modify the code or run it manually:

  1. Clone this repository.
    pip install -r requirements.txt
  2. Run the application:
    python main.py

Configuration

Upon first launch, you will be asked for your Home Assistant URL and a Long-Lived Access Token. You can generate this token in your Home Assistant profile settings.

image

Building

Windows

To build the executable yourself, run the included build script:

python build_exe.py

This will run PyInstaller and generate a single-file executable in the dist folder.

To build the installer, open setup.iss with Inno Setup and compile it.

Linux (AppImage)

  1. Download appimagetool-x86_64.AppImage from the appimagetool releases and place it in the project folder.
  2. Run the build script:
python3 build_linux.py

This will build the binary, create an AppDir, and package it into an AppImage.

Troubleshooting

Reverse proxy users: If you see WS Error: 400, message="Duplicate 'Server' header found.", your proxy is adding a duplicate Server header. In Caddy, add header_up -Server to your reverse_proxy block. Other proxies may have a similar setting.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A customizable desktop dashboard for Home Assistant.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages