STEEZUS // Smart Home Control System

An 80s-inspired smart home control panel built with Pygame and the Govee Developer API. Neon glow, VHS fonts, the aesthetics of 1985, commanding your modern smart lights.

Screenshot


Features

  • Retro 80s UI -- Dark purple palette with neon pink, cyan, and purple accents. CRT scanline overlay. VHS-style bitmap font.
  • Device Sidebar -- All detected Govee devices listed in a clickable left panel with selection highlighting and live on/off status dots.
  • Full Light Control -- Power on/off, brightness presets (10%-100%), 12 color presets, and 5 color temperature presets (2000K-6500K).
  • Live API Feedback -- Status bar at the bottom shows command results as they come back from the Govee API.
  • Secure Key Entry -- On launch you get a styled full-screen prompt to enter your Govee API key. The key is saved locally (never committed to git) and auto-loaded on subsequent runs.

Supported Devices

Currently tested with Govee smart lights (LED strips, bulbs, and string lights) via the Govee Developer API v1.

The goal is to expand support to as many smart devices as possible. If you have a Govee device (or other brand) that you'd like to see supported, open an issue or submit a PR -- contributions are very welcome.

Device Type Status
Govee LED Strip Lights Supported
Govee Smart Bulbs Supported
Govee String Lights Supported
Govee Outdoor Lights Untested -- should work
Other Govee Devices Untested -- help wanted

Getting Started

Prerequisites

Installation

git clone https://github.com/YOUR_USERNAME/Steezus2Boogaloo.git
cd Steezus2Boogaloo
python -m venv .venv

# Windows
.venv\Scripts\activate

# macOS / Linux
source .venv/bin/activate

pip install pygame-ce requests

Running

python main.py
  1. On first launch you'll see the API key entry screen. Paste or type your Govee API key and press Enter.
  2. The app fetches your devices from the Govee API and drops you into the control panel.
  3. Click a device in the left sidebar, then use the controls on the right to command it.

Your key is saved to .api_key (git-ignored) so you won't need to re-enter it next time.

Screenshots

Screenshot

Project Structure

Steezus2Boogaloo/
├── main.py          # Entry point -- key screen -> API fetch -> game loop
├── gui.py           # Pygame UI -- ApiKeyScreen, Game, Widgets, GUI
├── lights.py        # Govee API wrapper -- SmartDeviceAPI, DeviceMessenger, SmartDevice, DeviceFactory
├── assets/
│   └── fonts/
│       └── vhs-vcr-osd.ttf   # Retro VHS bitmap font
├── screenshots/               # App screenshots for README
├── .gitignore
└── README.md

How It Works

  1. ApiKeyScreen -- A full-screen Pygame text input with retro styling. Collects the Govee API key, saves it to .api_key, returns it to main.py.
  2. SmartDeviceAPI -- Hits the Govee /v1/devices endpoint to discover all devices on your account.
  3. DeviceFactory -- Parses the API response and constructs SmartDevice objects for every retrievable device.
  4. Game + GUI + Widgets -- Pygame render loop. Left 1/3 is the device sidebar, right 2/3 is the command panel. Clicks are dispatched through Widgets.handle_click() which calls the appropriate SmartDevice method (turn_on, set_color, set_brightness, etc.) via DeviceMessenger, which sends a PUT to the Govee /v1/devices/control endpoint.

Contributing

This project is open source with the intention of supporting as many smart home devices as possible. Here's how you can help:

  1. Test with your devices -- If you have Govee devices (or other brands), try the app and report what works / what doesn't.
  2. Add new device types -- Extend SmartDevice with commands specific to your hardware (scenes, music modes, segments, etc.).
  3. Add new APIs -- The architecture is designed so new API backends can slot in alongside SmartDeviceAPI. If you have Philips Hue, LIFX, Tuya, or other devices, adding a new API class + factory is the path.
  4. UI improvements -- More widgets, animations, themes, or layout enhancements are all welcome.

Steps to Contribute

# Fork the repo, then:
git checkout -b feature/my-device-support
# Make your changes
git commit -m "Add support for Govee humidifier"
git push origin feature/my-device-support
# Open a pull request

License

This project is open source. See LICENSE for details.


Built with Pygame-CE and the Govee Developer API.

Built With

Share this project:

Updates