Expose session/last-used user and device IP on player rows. Filter retrieve_player_list by users, merge GET /Devices when include_offline is set, and resolve spoken names to HA media_player entities via player_links (device_id or IP). PlayNow still requires a live session.
5.2 KiB
5.2 KiB
Changelog
1.0.16
- Player rows include
user_id,user_name,online, and keepdevice_ip_address(Emby sessionRemoteEndPoint, host only) retrieve_player_listacceptsusers(comma-separated include-list) andinclude_offline(mergeGET /Deviceslast-used owners)- Add-on options
player_usersandplayer_linksfeed a default include-list and HA entity map (ha_entity,ha_source,device_ip,emby_device_id) - New tool
resolve_media_playerfor "play on the lounge": returns HA entity/source plussession_idwhen live, orwake_required - Conversation Functions YAML and system prompt updated in DOCS.md
Potential breaking change
- Player JSON grows
user_id,user_name, andonline. Re-paste the DOCS.md Functions block to pick upemby_list_playersparameters andemby_resolve_player. Existing PlayNow calls are unchanged. - Empty
player_usersmeans no default filter (same listing as 1.0.15, plus owner fields). Non-emptyplayer_usershides other accounts even when the model omitsusers.
1.0.15
- Restore
premiere_dateon item-shaped results (search, episode/season lists, next-episode, playlist items, play queue). Emby'sPremiereDateis the first air date for episodes/series and the release date for movies; it is emitted asYYYY-MM-DDand omitted when metadata is empty - Request
PremiereDateagain in upstreamFields - Conversation-agent system prompt in DOCS.md now tells the model to read
premiere_datefor airdate questions
Potential breaking change
- Item JSON grows a
premiere_datekey versus the 1.0.11 slim shape. Home Assistant function parameters are unchanged (value_templatestill returnsvalue_json.result). Re-paste the DOCS.md system prompt so the agent looks forpremiere_date; the Functions YAML block does not need to be replaced unless you also want the updated prompt text nearby. Clients that reject unknown item keys must allowpremiere_date.
1.0.14
control_media_playerPlayNow now honourstime_millisecondsas a start position (StartPositionTicks), so "play X from 4:06" works- README conversation-agent functions:
emby_playback_controldeclares and forwardstime_milliseconds(previously hardcoded to 0, so Seek always jumped to the beginning); addedemby_episode_list/emby_season_list
1.0.13
lyrics_or_descriptionis now optional in thesearch_for_itemschema — calls that omit it are accepted too (1.0.12 required it, breaking updated clients that stopped sending the key)
1.0.12
- REST bridge filters undeclared tool arguments against the cached
tools/listschema and reports them asdropped_arguments— stale keys from older clients no longer fail the whole call search_for_itemre-acceptslyrics_or_descriptionas a deprecated, ignored parameter for backward compatibility
1.0.11
- Slim tool responses: omit empty fields and drop
overview,lyrics,file_path,creation_date,premiere_date,bitratefrom item-shaped results (production_yearretained) - Absent numeric/percent fields now omit the key instead of emitting
"" - Player sessions report now-playing times as
hh:mm:ssonly (*_millisecondsfields removed) - Playlists drop
overview/date_created; playlist and queue items match the trimmed item shape - Remove the
lyrics_or_descriptionsearch parameter fromsearch_for_item - Slim upstream
Fieldsrequests to match the reduced output
1.0.10
- Do not truncate Emby response bodies before JSON decode (DEBUG logging caused unexpected EOF on large episode lists)
- Stop requesting MediaSources on item search; keep episode/season fields
1.0.9
- Move per-layer debug flags into an optional
debugoptions section
1.0.8
- Log level option: DEBUG, INFO, WARN
- DEBUG-only layer flags: REST (
/call,/tools), MCP (/mcp), Emby API - Request/response bodies logged per selected layer (secrets redacted)
1.0.7
- Re-authenticate with stored Emby username/password on HTTP 401
- Stop revoking the Emby access token when the 15-minute auth cache expires
- REST bridge retries MCP JSON-RPC errors that look like expired tokens
1.0.6
- Log every HTTP request (method, path, peer, status)
1.0.5
- Allow Home Assistant Core and add-on network (172.30.32.0/23, 172.30.33.0/24) as well as loopback when restrict_to_localhost is on
- Leave the container on the Supervisor network so
c5cb4244-emby-mcpresolves - Do not publish port 8085 on the host LAN
- Stop binding only 127.0.0.1 (that blocked Assist)
1.0.4
- Set add-on hostname to
local-emby-mcp-bridge
1.0.3
- Add-on icon and logo
1.0.2
- Default listen port is 8085
1.0.1
- Add-on options for Emby username, password, API key and user id
restrict_to_localhostswitch (default on): bind 127.0.0.1, reject non-loopback peers, apply stored credentials only for local callershost_networkso the loopback bind is the Home Assistant host
1.0.0
- First Home Assistant add-on release
- In-process Go REST bridge (
/call/{tool},/tools,/health) - Session init failures are no longer swallowed
- Retries on HTTP 400/401/404 with a fresh MCP session
- Per-request Authorization header forwarded to
/mcp