{"id":25195799,"url":"https://github.com/bushvin/hass-integrations","last_synced_at":"2025-07-23T01:33:43.621Z","repository":{"id":43351849,"uuid":"327951654","full_name":"bushvin/hass-integrations","owner":"bushvin","description":"My custom Home Assistant integrations","archived":false,"fork":false,"pushed_at":"2025-02-06T17:52:52.000Z","size":258,"stargazers_count":66,"open_issues_count":5,"forks_count":12,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-07-14T05:13:30.575Z","etag":null,"topics":["hacs","hacs-integration","home-assistant","mopidy"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bushvin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"bushvin","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2021-01-08T16:15:05.000Z","updated_at":"2025-04-13T12:06:58.000Z","dependencies_parsed_at":"2023-12-12T09:23:21.892Z","dependency_job_id":"16fabf63-60be-4d48-bd30-aa141dc2d851","html_url":"https://github.com/bushvin/hass-integrations","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/bushvin/hass-integrations","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bushvin%2Fhass-integrations","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bushvin%2Fhass-integrations/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bushvin%2Fhass-integrations/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bushvin%2Fhass-integrations/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bushvin","download_url":"https://codeload.github.com/bushvin/hass-integrations/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bushvin%2Fhass-integrations/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266602818,"owners_count":23954696,"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-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["hacs","hacs-integration","home-assistant","mopidy"],"created_at":"2025-02-10T01:38:29.549Z","updated_at":"2025-07-23T01:33:43.601Z","avatar_url":"https://github.com/bushvin.png","language":"Python","funding_links":["https://ko-fi.com/bushvin"],"categories":[],"sub_categories":[],"readme":"# Home Assitant integrations\n\nAdditional integrations for [Home Assistant](https://www.home-assistant.io/)\n\n![badge_mastodon]\n\n## Mopidy\n\n![badge_version] ![badge_issues] ![badge_hacs_pipeline]\n\nThis is a platform integration for [Mopidy Music Servers](https://mopidy.com/)\n\n### Installation\n\nPlease look at the [Mopidy installation \u0026 configuration instructions](https://docs.mopidy.com/en/latest/installation/) to set up a Mopidy Server.\n\n#### HACS\n\n1. Install [HACS](https://hacs.xyz)\n1. Go to any of the sections (integrations, frontend, automation).\n1. Click on the 3 dots in the top right corner.\n1. Select \"Custom repositories\"\n1. Add the URL to the repository.\n1. Select the correct category.\n1. Click the \"ADD\" button.\n1. Go to Home Assistant settings -\u003e Integrations and add Mopidy\n1. Restart HA\n\n#### Manual\n\n1. Clone this repository\n2. Copy `custom_components/mopidy` to your Home Assistant instance on `\u003cconfig dir\u003e/custom_components/`\n\n### Setup\n\n#### zeroconf\n\nYour Mopidy Servers can be detected and added to Home Assistant through zeroconf.\n\n#### GUI\n\n1. Go to the *Integrations* page and click **+ ADD INTEGRATION**\n1. Select *Mopidy* in the list of integrations\n1. Fill out the requested information. Make sure to enter your correct FQDN or IP address. Using `localhost`, `127.0.0.1`, `::1` or any other loopback address will disable Mopidy-Local artwork.\n1. Click Submit.\n\nRepeat the above steps to add more Mopidy Server instances.\n\n#### Manual Configuration\n\n1. add a media player to your home assistant configuration (`\u003cconfig dir\u003e/configuration.yaml`):\n\n```yaml\nmedia_player:\n- name: \u003cmopidy identifier\u003e\n  host: \u003cFQDN or IP address\u003e\n  port: \u003cport if different from 6680\u003e\n  platform: mopidy\n```\n\n2. Restart your Home assistant to make changes take effect.\n\n### Configuration\n\n```yaml\n- name: \u003cmopidy name\u003e      # The name of your Mopidy server.\n  host: \u003cfqdn/ip address\u003e  # The FQDN or IP address of your Mopidy Server, do not use ::1, localhost or 127.0.0.1\n  port: \u003cport number\u003e      # The port number of the Mopidy Server, default: 6680\n  platform: mopidy         # specify mopidy platform\n```\n\n### Services\n\n#### Service mopidy.get_search_result\n\n*This service was originally developed by [Daniele Ricci](https://github.com/daniele-athome)*\n\nSearch media based on keywords and return them for use in a script or automation.\n\n**Note:** One of the keyword fields **must** be used: `keyword`, `keyword_album`, `keyword_artist`, `keyword_genre` or `keyword_track_name`\n\n|Service data attribute|Optional|Description|Example|\n|-|-|-|-|\n|`entity_id`|no|String or list of `entity_id`s to search and return the result to.| |\n|`exact`|yes|String. Should the search be an exact match|false|\n|`keyword`|yes|String. The keywords to search for. Will search all track fields.|Everlong|\n|`keyword_album`|yes|String. The keywords to search for in album titles.|From Mars to Sirius|\n|`keyword_artist`|yes|String. The keywords to search for in artists.|Queens of the Stoneage|\n|`keyword_genre`|yes|String. The keywords to search for in genres.|rock|\n|`keyword_track_name`|yes|String. The keywords to search for in track names.|Lazarus|\n|`source`|yes|String. URI sources to search. `local`, `spotify` and `tunein` are the only supported options. Make sure to have these extensions enabled on your Mopidy Server! Separate multiple sources with a comma (,).|local,spotify|\n\n##### Example\n\nThe service is to be used as a normal service returning some data into a variable. The result is actually a dictionary\nwith keys corresponding to the media player entities used as targets in the service call. Every item has in turn a\n`result` attribute containing the list of actual media IDs matching the search parameters.\n\n```yaml\nscript:\n  search_and_play_music:\n    fields:\n      [...]\n    sequence:\n      - action: mopidy.get_search_result\n        data:\n          keyword_artist: \"Some music artist\"\n          keyword_track_name: \"Some song title\"\n          source: local\n        target:\n          entity_id: \"media_player.music\"\n        response_variable: music_tracks # result will be returned into this variable\n      - if: \"{{ music_tracks['media_player.music'].result|length \u003e 0 }}\"\n        then:\n          - action: media_player.play_media\n            data:\n              media_content_id: \"{{ music_tracks['media_player.music'].result[0] }}\"\n              media_content_type: music\n            target:\n              entity_id: \"media_player.music\"\n```\n\n#### Service media_player.play_media\n\nThe `media_content_id` needs to be formatted according to the Mopidy URI scheme. These can be easily found using the *Developer tools*.\n\nWhen using the `play_media` service, the Mopidy Media Player platform will attempt to discover your URL when not properly formatted.\nCurrently supported for:\n\n- Youtube\n\n#### Service mopidy.restore\n\nRestore a previously taken snapshot of one or more Mopidy Servers\n\nThe playing queue is snapshotted\n\n|Service data attribute|Optional|Description|\n|-|-|-|\n|`entity_id`|no|String or list of `entity_id`s that should have their snapshot restored.|\n\n#### Service mopidy.search\n\nSearch media based on keywords and add them to the queue. This service does not replace the queue, nor does it start playing the queue. This can be achieved through the use of [media\\_player.clear\\_playlist](https://www.home-assistant.io/integrations/media_player/) and [media\\_player.media\\_play](https://www.home-assistant.io/integrations/media_player/)\n\n**Note:** One of the keyword fields **must** be used: `keyword`, `keyword_album`, `keyword_artist`, `keyword_genre` or `keyword_track_name`\n\n|Service data attribute|Optional|Description|Example|\n|-|-|-|-|\n|`entity_id`|no|String or list of `entity_id`s to search and return the result to.| |\n|`exact`|yes|String. Should the search be an exact match|false|\n|`keyword`|yes|String. The keywords to search for. Will search all track fields.|Everlong|\n|`keyword_album`|yes|String. The keywords to search for in album titles.|From Mars to Sirius|\n|`keyword_artist`|yes|String. The keywords to search for in artists.|Queens of the Stoneage|\n|`keyword_genre`|yes|String. The keywords to search for in genres.|rock|\n|`keyword_track_name`|yes|String. The keywords to search for in track names.|Lazarus|\n|`source`|yes|String. URI sources to search. `local`, `spotify` and `tunein` are the only supported options. Make sure to have these extensions enabled on your Mopidy Server! Separate multiple sources with a comma (,).|local,spotify|\n\n#### Service mopidy.set_consume_mode\n\nSet the mopidy consume mode for the specified entity\n\n|Service data attribute|Optional|Description|\n|-|-|-|\n|`entity_id`|no|String or list of `entity_id`s to set the consume mode of.|\n|`consume_mode`|no|`True` to enable consume mode, `False` to disable |\n\n#### Service mopidy.snapshot\n\nTake a snapshot of what is currently playing on one or more Mopidy Servers. This service, and the following one, are useful if you want to play a doorbell or notification sound and resume playback afterwards.\n\n**Warning:** *This service is controlled by the platform, this is not a built-in function of Mopidy Server! Restarting Home Assistant will cause the snapshot to be lost.*\n\n|Service data attribute|Optional|Description|\n|-|-|-|\n|`entity_id`|no|String or list of `entity_id`s ito take a snapshot of.|\n\n### Notes\n\nDue to the nature of the way Mopidy provides thumbnails of the media,\nproxying them through Home Assistant is very resource intensive,\ncausing delays. Therefore, I have decided to not proxy the art when\nusing the Media Library for the time being.\n\n## Testers\n\n- [Jan Gutowski](https://github.com/Switch123456789)\n\n[badge_version]: https://img.shields.io/github/v/tag/bushvin/hass-integrations?label=Version\u0026style=flat-square\u0026color=2577a1\n[badge_issues]: https://img.shields.io/github/issues/bushvin/hass-integrations?style=flat-square\n[badge_mastodon]: https://img.shields.io/mastodon/follow/1084764?domain=https%3A%2F%2Fmastodon.social\u0026logo=mastodon\u0026logoColor=white\u0026style=flat-square\u0026label=%40bushvin%40mastodon.social\n[badge_hacs_pipeline]: https://img.shields.io/github/actions/workflow/status/bushvin/hass-integrations/validate.yml?label=HACS%20build%20validation\u0026style=flat-square\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbushvin%2Fhass-integrations","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbushvin%2Fhass-integrations","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbushvin%2Fhass-integrations/lists"}