A desktop application for planning smoke detector installations on floor plans — load floor plans, place detectors, configure addresses and ranges, and export layouts to PDF. 🔧🗺️
- Load and view floor plans
- Add, move, and configure smoke detectors (model, range, bus, address, serial)
- Draw connections between detectors
- Save projects and export detector layouts to PDF
- If you have the Windows installer, run it to install Smoke Detector Planner.
- If running from source:
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
python src/main.py- Create & activate virtualenv (see above).
- Install dev/test dependencies:
pip install -r requirements.txt- Run the app from source:
python src/main.py- Run the application:
python src/main.py-
Use the File menu to:
- Create a new project
- Open an existing project
- Save your project
- Export to PDF
-
In the main window:
- Left-click to add smoke detectors
- Click and drag detectors to move them
- Right-click detectors to edit their properties
- Use Ctrl + Mouse wheel to zoom
- Click and drag to pan the view
src/main.py- Application entry pointsrc/views/- GUI componentssrc/models/- Data modelssrc/controllers/- Application logicsrc/utils/- Helper functionsresources/- Application resourcestests/- Unit tests
- PyInstaller spec file is
SmokeSignal.spec— used to build the bundled executable. - Windows installer files: see
installer/SmokeSignal.issandtools/build_windows_installer.ps1. - Typical build steps:
- Create build with PyInstaller:
pyinstaller SmokeSignal.spec - Run the PowerShell packaging script:
.\tools\build_windows_installer.ps1
- Create build with PyInstaller:
To run tests:
pytest tests/- Fork the repo, create a branch, implement changes, and open a PR with a description and tests.
- Please keep changes small and focused.
- Add your license text here (e.g., MIT).
- Contact: add maintainer email or GitHub handle.