{"id":26198483,"url":"https://github.com/philips/homeassistant-nfc-chromecast","last_synced_at":"2025-07-28T23:08:16.716Z","repository":{"id":270045741,"uuid":"895192700","full_name":"philips/homeassistant-nfc-chromecast","owner":"philips","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-30T17:52:11.000Z","size":1772,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-30T08:50:41.819Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/philips.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-27T18:18:27.000Z","updated_at":"2025-05-07T04:19:18.000Z","dependencies_parsed_at":"2024-12-28T01:18:41.644Z","dependency_job_id":"b9849531-cfd9-4ece-b5b0-b12707524863","html_url":"https://github.com/philips/homeassistant-nfc-chromecast","commit_stats":null,"previous_names":["philips/homeassistant-nfc-chromecast"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/philips/homeassistant-nfc-chromecast","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fhomeassistant-nfc-chromecast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fhomeassistant-nfc-chromecast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fhomeassistant-nfc-chromecast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fhomeassistant-nfc-chromecast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/philips","download_url":"https://codeload.github.com/philips/homeassistant-nfc-chromecast/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/philips%2Fhomeassistant-nfc-chromecast/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267600250,"owners_count":24113742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-12T02:52:29.157Z","updated_at":"2025-07-28T23:08:16.699Z","avatar_url":"https://github.com/philips.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Inspired by [How I Built an NFC Movie Library for my Kids](https://simplyexplained.com/blog/how-i-built-an-nfc-movie-library-for-my-kids/)([HN](https://news.ycombinator.com/item?id=41479141)) with some modifications to use Chromecast and Jellyfin instead of Plex and Apple TV.\n\n\n# Install esphome\n\nCreate a virutal env and activate it. Then install the esphome requirements.\n\n```\npython3 -m venv .venv --prompt homeassistant-nfc-chromecast\nsource .venv/bin/activate\npip install -r requirements.txt\n```\n\n# Flash esphome\n\nCopy `secrets-example.yaml` to `secrets.yaml` and set the WiFi password and API password. Then connect the ESP32 microcontroller to USB and run:\n\n```\nesphome run configuration.yaml\n```\n\n# Configure Home Assistant\n\nCreate an Automation for Home Assistant after editing `automation.yaml` to use the shows from your Jellyfin library. \n\nTo get the Jellyfin ids open the Jellyfin web interface and extract it from the URL. For example this show will have the ID `c972a911b238ff4e4e864431a559b1c6`:\n\n```\nhttp://jellyfin.example.com:8096/web/#/details?id=c972a911b238ff4e4e864431a559b1c6\n```\n\nTo get the tag ID use Home Assistant -\u003e Developer Tools -\u003e Events and listen to the `tag_scanned` event. Scan a tag and it will dump the tag id like 8D-B5-18-03.\n\n# Getting a List of Jellyfin IDs\n\nTo have a tag select a random episode from a playlist you need to get all of the show's IDs. This is tedious to do manually so I wrote a script.\n\nThe most annoying bit is getting the Library ID. The only way I can figure out how to find it is via a broswer inspection of the Library and seeing the 'data-id' field for the Library card. Please let me know if there is a better way.\n\n```\npython jellyfin-dump-ids.py \\\n  --base-url http://jellyfin.example.com:8096 \\ \n  --library-id FIND_VIA_DEV_CONSOLE_ON_LIBRARY_DASHBOARD \\ \n  --api-key GENERATE_IN_JELLYFIN_DASHBOARD \\ \n  --show-name \"Game Novel\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilips%2Fhomeassistant-nfc-chromecast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphilips%2Fhomeassistant-nfc-chromecast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphilips%2Fhomeassistant-nfc-chromecast/lists"}