diff --git a/README.md b/README.md index 19c1505d..bbd9e277 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,72 @@ cp config/config.example.json config/config.json 2. Edit `config/config.json` with your preferences +### YouTube Display Configuration + +The YouTube display module shows channel statistics for a specified YouTube channel. To configure it: + +1. In `config/config.json`, add the following section: +```json +{ + "youtube": { + "enabled": true, + "update_interval": 300 // Update interval in seconds (default: 300) + } +} +``` + +2. In `config/config_secrets.json`, add your YouTube API credentials: +```json +{ + "youtube": { + "api_key": "YOUR_YOUTUBE_API_KEY", + "channel_id": "YOUR_CHANNEL_ID" + } +} +``` + +To get these credentials: +1. Go to the [Google Cloud Console](https://console.cloud.google.com/) +2. Create a new project or select an existing one +3. Enable the YouTube Data API v3 +4. Create credentials (API key) +5. For the channel ID, you can find it in your YouTube channel URL or use the YouTube Data API to look it up + +### Calendar Display Configuration + +The calendar display module shows upcoming events from your Google Calendar. To configure it: + +1. In `config/config.json`, add the following section: +```json +{ + "calendar": { + "enabled": true, + "update_interval": 300, // Update interval in seconds (default: 300) + "max_events": 3, // Maximum number of events to display + "calendars": ["primary"] // List of calendar IDs to display + } +} +``` + +2. Set up Google Calendar API access: + 1. Go to the [Google Cloud Console](https://console.cloud.google.com/) + 2. Create a new project or select an existing one + 3. Enable the Google Calendar API + 4. Create OAuth 2.0 credentials: + - Application type: Desktop app + - Download the credentials file as `credentials.json` + 5. Place the `credentials.json` file in your project root directory + +3. On first run, the application will: + - Open a browser window for Google authentication + - Request calendar read-only access + - Save the authentication token as `token.pickle` + +The calendar display will show: +- Event date and time +- Event title (wrapped to fit the display) +- Up to 3 upcoming events (configurable) + ## API Keys For sensitive settings like API keys: