Custom component for Home Assistant to fetch song lyrics from Genius by tracking media player entities. Component allows service calls for custom automations.
- Open HACS Settings and add this repository (https://github.com/robert-alfaro/genius-lyrics) as a Custom Repository (use Integration as the category).
- The
Genius Lyrics
page should automatically load (or find it in the HACS Store). - Click
Install
Copy the genius_lyrics
directory from custom_components
in this repository, and place inside your
Home Assistant installation's custom_components
directory.
-
Install this integration via HACS or manually and reboot Home Assistant.
-
Configure
Genius Lyrics
via integrations page or press the blue button below. -
Create markdown card in lovelace. All created sensors are named after the media player and appended with
_lyrics
.Below, media player
foobar
is just an example. Replace it with your media player's entity name.type: vertical-stack cards: - type: media-control entity: media_player.foobar - type: conditional conditions: - entity: sensor.foobar_lyrics state: "on" card: type: markdown content: >- ![image]({{ states.sensor.foobar_lyrics.attributes.media_image }}) ## {{ states.sensor.foobar_lyrics.attributes.media_artist }} - {{ states.sensor.foobar_lyrics.attributes.media_title }} {{ states.sensor.foobar_lyrics.attributes.media_lyrics }}
The above lovelace card groups the media player and lyrics sensor together. The conditional portion will hide the lyrics sensor when the media player is off.
Service optionally accepts entity_id
. Returns response when omitted, otherwise updates sensor entity attributes.
{
"media_artist": "Protoje",
"media_title": "Mind of a King",
"entity_id": "sensor.foobar_lyrics"
}
media_artist: "Protoje"
media_title: "Mind of a King"
entity_id: sensor.foobar_lyrics
Thanks to
- @johnwmillr for
lyricsgenius
python package!