Skip to content

Commit dc5e617

Browse files
committed
Update docs, version, and Now Playing Card UI for v1.1.1
1 parent a0d3aa1 commit dc5e617

File tree

12 files changed

+1560
-1215
lines changed

12 files changed

+1560
-1215
lines changed

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,21 @@ All notable changes to JellyHA will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [1.1.1] - 2026-02-22
9+
10+
### Added
11+
- **Now Playing Card Updates**:
12+
- Added elapsed/remaining time display.
13+
- Added user name information and client details formatting.
14+
- Added specific Artist and Series name support for Music and TV shows.
15+
- Added Shuffle and Repeat buttons for music playback directly in the UI.
16+
- Added visual `-10s` rewind and `+30s` fast-forward controls for video media.
17+
- Added stop-pulse animation and haptic vibration feedback for mobile.
18+
- **Refresh Interval Update**: Configurable API refresh interval added to integration options.
19+
20+
### Changed
21+
- Improved Now Playing card visuals with dot separators, dynamic colors extracted from posters, glassmorphic progress bar, and refined spacing.
22+
823
## [1.1.0] - 2026-02-15
924

1025
### Added

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ Jellyfin for Home Assistant
1818

1919
- 🎬 Display movies and TV shows from your library
2020
- 📺 Cast media directly to Chromecast (Gen 1 supported)
21-
- ⏯️ Full playback control: Play, Pause, Stop, Seek, Next/Previous Track
21+
- ⏯️ Full playback control: Play, Pause, Stop, Seek, Next/Previous Track, Shuffle, Repeat
22+
- ⏳ Accurate playback tracking: Elapsed/remaining time, +30s/-10s skip controls
2223
- 🎮 **Per-user media players** with transport and volume controls
2324
- ⏭️ "Next Up" support to resume TV shows
2425
- 🎨 Three layouts: Carousel, Grid, List
@@ -34,6 +35,7 @@ Jellyfin for Home Assistant
3435
- ⚡ Instant loading via WebSocket
3536
- 🌍 7 languages: English, German, French, Spanish, Italian, Dutch, Slovenian
3637
- 🎛️ Graphical card editor (no YAML required)
38+
- ⏱️ Configurable API Refresh Interval (Integration options)
3739

3840
## Installation
3941

@@ -189,7 +191,10 @@ show_background: true
189191
| `title` | string | `Jellyfin` | Optional title header |
190192
| `show_background` | boolean | `true` | Show blurred backdrop fanart as background |
191193
| `show_title` | boolean | `true` | Show media title text |
194+
| `show_subtitle` | boolean | `true` | Show artist/series subtitle |
192195
| `show_client` | boolean | `true` | Show client device name (e.g. "Chrome") |
196+
| `show_user` | boolean | `true` | Show user name in client info |
197+
| `show_time` | boolean | `false` | Show elapsed / remaining time |
193198
| `show_media_type_badge` | boolean | `true` | Show badge (MOVIE, SERIES, EPISODE) |
194199
| `show_genres` | boolean | `true` | Show genres list |
195200
| `show_ratings` | boolean | `true` | Show community rating |

custom_components/jellyha/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@
1717
"aiohttp>=3.8.0",
1818
"pychromecast"
1919
],
20-
"version": "1.1.0"
20+
"version": "1.1.1"
2121
}

custom_components/jellyha/sensor.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,13 @@ def extra_state_attributes(self) -> dict[str, Any]:
451451
attributes["season"] = item.get("ParentIndexNumber")
452452
attributes["episode"] = item.get("IndexNumber")
453453
attributes["series_image_url"] = session.get("jellyha_series_poster_url")
454+
elif item_type == "Audio":
455+
attributes["title"] = item.get("Name")
456+
# Extract artist name from AlbumArtist or Artists array
457+
album_artist = item.get("AlbumArtist")
458+
artists = item.get("Artists", [])
459+
attributes["artist_name"] = album_artist or (artists[0] if artists else None)
460+
attributes["year"] = item.get("ProductionYear")
454461
else:
455462
# Movie, etc.
456463
attributes["title"] = item.get("Name")

custom_components/jellyha/services.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ def _get_coordinator(hass: HomeAssistant, config_entry_id: str | None = None):
7272
SESSION_CONTROL_SCHEMA = vol.Schema(
7373
{
7474
vol.Required("session_id"): cv.string,
75-
vol.Required("command"): vol.In(["Pause", "Unpause", "TogglePause", "Stop"]),
75+
vol.Required("command"): vol.In(["Pause", "Unpause", "TogglePause", "Stop", "NextTrack", "PreviousTrack", "Shuffle", "SetRepeatMode"]),
7676
vol.Optional("config_entry_id"): cv.string,
7777
}
7878
)

custom_components/jellyha/services.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ session_control:
9090
value: TogglePause
9191
- label: Stop
9292
value: Stop
93+
- label: Next Track
94+
value: NextTrack
95+
- label: Previous Track
96+
value: PreviousTrack
97+
- label: Shuffle
98+
value: Shuffle
99+
- label: Set Repeat Mode
100+
value: SetRepeatMode
93101

94102
session_seek:
95103
name: Session Seek

0 commit comments

Comments
 (0)