The KMNR Ultimate Music Machine (KUMM) acts as a replacement for the old automation tool, SHTR. It implements features such as town and campus Text-To-Speech (TTS), weather TTS, improved web interface, playlist tracking, and automatic logging to KLAP.
- Python 3.7+
- pip 21.1.2+
- mpv
- (Optional, but highly recommended) Instantiate a virtual environment for the python installation.
- Run
pip install virtualenv
- Run
virtualenv venv
- Run
source venv/bin/activate
- Verify you are in the virtual environment -
(venv)
should appear at the start of the command line.
- Run
- Install all necessary packages by running
pip install -r requirements.txt
in the same directory as requirements.txt. - Update the settings file in your preferred editor.
- Ensure the OpenWeatherMap API key
owm_api_key
is up-to-date. - Ensure the news API key
news_api_key
is up-to-date.
- Ensure the OpenWeatherMap API key
- Update the supervisord configuration file in your preferred editor.
- Update the route to automation on line 83.
- This should point to the directory containing
main.py
.
- This should point to the directory containing
- Update the route to the automation error log on line 85.
- Make sure you have write permissions to this folder.
- Update the route to the crash handler on line 88.
- This should point to the directory containing
crash_handler.py
.
- This should point to the directory containing
- Update the route to the crash handler logging file on line 93.
- Make sure you have write permissions to this folder.
- (Optional) Enable the web interface for supervisor
- Uncomment lines 39-42.
- Change the default username and password (or don't, it's your funeral)
- If enabling the web interface, it's highly recommended you update file permissions so that other users are unable to read this file.
chmod 700 supervisord.conf
- Update the IP address:port specifier.
- Launch the supervisor daemon with
supervisord
. - Open the supervisor control console with
supervisorctl
.- Your terminal should now have
supervisorctl>
at the bottom.
- Your terminal should now have
- Run
status
in the supervisor console to validate automation and notifier started correctly.- Both processes should have the status
RUNNING
. If automation has the statusFATAL
, typeexit
to leave the supervisor console and check the automation error log. - Once the script has been fixed, re-open the supervisor console and run
start automation
to relaunch automation.
- Both processes should have the status
- Update the route to automation on line 83.
At this point, automation has been successfully started!