Home Assistant

Home Assistant: Spotify

Spotify Web Player

Tích hợp dịch vụ Spotify vào Home Assistant để điều khiển, chọn thiết bị phát hay nghe một số playlist và album yêu thích

20 phút để đọc hết nội dung

Nếu bạn thường nghe nhạc bằng Spotify, tích hợp Spotify vào Hass sẽ giúp bạn theo dõi được thiết bị nào đang mở nhạc từ Spotify và đang chơi bài hát gì. Ngoài ra, nếu đang sử dụng tài khoản Spotify Premium, bạn sẽ điều khiển được ứng dụng Spotify trên các thiết bị này bao gồm play, pause, stop, âm lượng và mở playlist – danh sách nhạc, chọn và chuyển giữa các thiết bị đang chơi Spotify (mà không cần phải đang kết nối vào cùng một mạng nội bộ).

https://www.spotify.com/vn-vi/about-us/contact/
Có hàng triệu bản nhạc và tập trên Spotify. Vì vậy, dù đang lái xe, tập thể dục, dự tiệc hoặc thư giãn, bạn luôn có thể dễ dàng chọn được nhạc hoặc podcast phù hợp. Chọn nội dung bạn muốn nghe hoặc tận hưởng điều ngạc nhiên từ Spotify.

! Spotify / Spotify Free / Spotify Premium

Spotify hiện là dịch vụ stream nhạc lớn nhất thế giới với hàng triệu người dùng và bộ sưu tập nhạc lên đến hơn 50 triệu bài hát, trong đó có rất nhiều bài hát Việt cả cũ và mới.
Spotify vào Việt Nam từ đầu năm 2018, nổi tiếng với chất lượng nhạc, tính năng gợi ý tuyệt vời và khả năng chuyển mượt mà giữa các thiết bị nghe nhạc ngay trong lúc đang nghe.

Spotify Free cho phép bạn nghe nhạc không giới hạn trên hầu như mọi thiết bị thông minh hiện có, kể cả loa Google Home (Mini). Tài khoản Free không được chọn bài hát để nghe (mà chỉ có thể nghe theo danh sách – playlist mặc dù có thể bỏ qua hoặc lùi lại) và thi thoảng sẽ có quảng cáo giữa 2 bài hát.

Spotify Premium có giá hiện tại là 59K (59,000VND) mỗi tháng, miễn phí trong 3 tháng đầu tiên cho phép bạn nghe mọi bài hát hay playlist, chất lượng tối đa là 320kbps (bitrate). Xem thêm tại đây: https://www.spotify.com/vn-vi/purchase/offer/2020-midyear-trial-3m/

Spotify Premium Ưu đãi
Ưu đãi 3 tháng miễn phí khi đăng ký Spotify Premium, bạn sẽ phải có Thẻ thanh toán quốc tế (Debit/Credit) để đăng ký

Tích hợp Spotify và Home Assistant

Trước tiên bạn cần tạo một ứng dụng Spotify, sử dụng tài khoản Spotify Developer Account – Tài khoản lập trình viên miễn phí.

Tạo ứng dụng Spotify

Bạn truy cập vào Spotify Developers rồi đăng nhập bằng tài khoản Spotify đang sử dụng hoặc tạo một tài khoản mới (không cần thông tin thanh toán).

Tạo app dùng cho Hass Spotify

Chọn Create An App để tạo một ứng dụng mới.
Trong ô tiếp theo, bạn nhập tên – name và mô tả – description bất kỳ cho ứng dụng này (ví dụ tên: Home Assistant, mô tả: Spotify on my Hass).
Bấm Next để sang bước kế tiếp.

Tạo ứng dụng Spotify

Tiếp theo bạn đọc và đồng ý với các điều khiển sử dụng rồi bấm Continue để tiếp tục.
Trong màn hình tiếp theo, chọn NON-COMMERCIAL – phi thương mại.

Tiếp sau, đánh dấu chọn vào cả 3 mục I understand… rồi ấn SUBMIT để hoàn tất tạo ứng dụng. Tiếp theo chọn SHOW CLIENT SECRET rồi copy hai thông tin Client IDClient Seret để sử dụng trong Hass ở bước sau.

Spotify ClientID and ClientSecret
Client ID và Client Secret

Lưu ý: thông tin Client ID và Client Secret có thể được sử dụng để truy cập thông tin cá nhân của bạn trên Spotify (bao gồm danh sách bài hát đã nghe, danh sách ưa thích, các thiết bị v.v..), bạn phải cất giữ các thông tin này cẩn thận.

Hass Spotify App Settings

Tiếp theo, bạn chọn EDIT SETTINGS để chỉnh sửa thiết lập của app này.

Nhập địa chỉ truy cập máy chủ Hass của bạn vào mục Redirect URIs như trong ảnh, theo sau bởi cụm /auth/external/callback.

Bạn có thể sử dụng cả giao thức HTTP và HTTPS tuỳ theo cấu hình của máy chủ Hass.
Bạn cũng có thể sử dụng địa chỉ ip nội bộ mà không cần phải cấu hình Hass để truy cập từ bên ngoài.

Ví dụ: http://ip_hass:8123/auth/external/callback

Điều duy nhất bạn cần chú ý là nếu bạn có cấu hình base_url: (đã được thay thế bởi tuỳ external_linkinternal_link) cho tích hợp http của Hass (có thể kiểm tra trong file cấu hình chính /config/configuration.yaml) thì bạn phải thêm địa chỉ trong base_url này vào mục Redirect URIs ở trên, theo đúng cú pháp. Địa chỉ này nên khớp với địa chỉ trên trình duyệt mà bạn đang truy cập giao diện Home Assistant.

Bấm SAVE để lưu lại thiết lập và chuyển sang cấu hình Spotify trong Hass.

Cấu hình Spotify trong Home Assistant

Cấu hình Spotify cực kỳ đơn giản như bên dưới, bạn copy cấu hình mẫu vào file cấu hình chính của Hass tại /config/configuration.yaml rồi thay các giá trị Client ID và Client Secret đã lấy ở bước trên vào tuỳ chọn tương ứng.

Sau khi cấu hình xong, bạn khởi động lại Hass để khởi tạo integration Spotify.

spotify:
  client_id: CLIENT_ID
  client_secret: CLIENT_SECRET
Hass-New-Devices-Discovered-Notification

Sau khi khởi động thành công, trên giao diện Hass, mục Notification – Thông báo, bạn sẽ thấy thông báo phát hiện thiết bị mới và đề nghị cấu hình Spotify qua UI. Bấm Check it out để cấu hình.
Hoặc bạn cũng có thể cấu hình bằng cách thêm Integration trong mục Configuration > Integrations.

Từ phiên bản 0.108, cấu hình các thiết bị và dịch vụ trên Hass sẽ chuyển dần sang hướng sử dụng giao diện thay vì cấu hình bằng ngôn ngữ YAML mà Spotify là một ví dụ.
Bạn quan tâm có thể xem thêm: Tương lai của YAML trong Home Assistant.

Hass Cấu hình Spotify
Chọn CONFIGURE để cấu hình Spotify

Hass sẽ yêu cầu bạn bấm nút để mở một trang mới, liên kết đến Spotify để xác thực. Có thể bạn sẽ được yêu cầu đăng nhập cùng tài khoản Spotify. Nếu trang kết quả trống trơn thì thường là xác thực thành công, bạn quay lại Hass.

Hass Cấu Hình Thành Công Spotify
Thông báo cấu hình thành công Spotify

Lưu ý: Nếu gặp lỗi INVALID_CLIENT: Invalid redirect URI khi xác thực, bạn cần kiểm tra lại các địa chỉ trong mục Redirect URIs trong bước cài đặt ứng dụng Spotify.

Spotify Media Player trong Hass

Sau khi cấu hình thành công, một thiết bị mới sẽ xuất hiện trong Hass, đại diện bởi entity_id: media_player.spotify_zzz có state và attributes như trong ảnh.

Bạn để ý attributes source sẽ cho biết thiết bị nào đang chơi Spotify.

Sử dụng Spotify trong Hass

Hiển thị trên giao diện

Spotify trong Home Assistant được đại diện bởi media player media_play.spotify_zzz (zzz tuỳ username của bạn). Bạn hoàn toàn có thể đưa media player này lên giao diện Lovelace để tiện điều khiển bằng bất cứ card Media Player nào, ví dụ như Media Control có sẵn của Hass.

Tuy nhiên để cho đẹp và tiện điều khiển hơn, ở bài này, ta sẽ sử dụng custom card mini-media-player của tác giả kalkih. Bạn có thể cài đặt custom card này sử dụng HACS hoặc tải trực tiếp từ repository của tác giả.

Hass_Lovelace Spotify Mini Media Card
Phía trên là custom card Mini Media Player, phía dưới là card Media Control

update 22/05/2020: HACS thay đổi giao diện từ phiên bản 1.0.0 (Hass 0.110), bạn chọn mục Frontend thay cho PLUGINS. Để thêm Integration, Lovelace card/module mới, bạn vào mục tương ứng, bấm biểu tượng Add icon rồi tìm – search bằng tên của card/module cần cài đặt.

Để cài đặt trên HACS, bạn vào trang quản lý của HACS, mục PLUGINS, tìm ‘mini media player’ rồi ấn INSTALL để cài đặt. Sau khi hoàn tất cài đặt, ấn ADD TO LOVELACE để thêm custom card này vào phần resources của Lovelace Dashboard.

Sau khi hoàn tất cài đặt, trong giao diện Lovelace, chọn Configure UI, thêm Add icon một card mới, chọn Manual Card rồi thay cấu hình có sẵn bằng cấu hình mẫu bên dưới.
Bạn nhớ thay thế giá trị tuỳ chọn entity: bằng media_player tương ứng với Spotify của bạn.

entity: media_player.spotify_konnected
artwork: cover
source: icon
info: scroll
type: 'custom:mini-media-player'
Lovelace Spotify Mini Media Player
Card Mini Media Player với các Source hiện có
! Lưu ý về Source và Điều khiển

Như ảnh trên ta có 3 source – là các thiết bị hiện đang trong chế độ kích hoạt Spotify, thông thường có nghĩa là ứng dụng Spotify đang được mở hoặc đang ở chế độ play/pause trên thiết bị.
Các thiết bị Google Cast như Google Home chỉ thể hiện trong source và chỉ có thể điều khiển (bao gồm cả chọn playlist) khi đang trong chế độ ‘Spotify active‘.
Các loa hay TV hỗ trợ Spotify khác có thể được điều khiển ngay mà không cần phải mở Spotify trước trên các thiết bị đó.

Bạn chỉ điều khiển được Spotify từ Hass khi sử dụng tài khoản Premium, dù các chức năng Next/Previous vốn có thể thực hiện được trên ứng dụng Spotify cho điện thoại với tài khoản Free. Hiển thị source không bị ảnh hưởng bởi loại tài khoản.

! Về sử dụng Spotify trên các loa Google Home (Mini)

Bạn có thể ra lệnh cho Google Assistant chơi nhạc từ Spotify trên các loa Google Home hay thiết bị Google Cast kể cả khi đang dùng tài khoản Free. Loa Google Home sẽ ở trạng thái ‘Spotify active’ nếu được ra lệnh chơi nhạc Spotify hoặc vừa tạm dừng – pause nhưng chưa phát nội dung khác (kể cả TTS) hoặc chưa chuyển sang trạng thái nghỉ – idle.

Link Spotify to Google Home

Để yêu cầu Google Assistant phát nhạc Spotify, bạn cần liên kết dịch vụ Spotify (Free hoặc Premium) vào tài khoản Google bằng cách:
Trong ứng dụng Google Home trên điện thoại/tablet, chọn mục tài khoản – profile > Assistant Settings > Services > Music. Bấm vào mục liên kết tài khoản Spotify. Khi này Google Home sẽ chuyển sang ứng dụng Spotify để bạn xác nhận liên kết.
Bạn phải cài đặt ứng dụng Spotify trước khi tiến hành liên kết.

Cấu hình Mini Media Player card với các playlist

Nếu bạn thường xuyên nghe một số các playlist (danh sách nhạc) hoặc album nào đó, do Spotify tạo sẵn, daily-mix – một tính năng rất hay của Spotify khi tự động chọn các bài hát cho là phù hợp với bạn, playlist tự tạo, bạn có thể thêm các playlist/album này vào card trên để tiện sử dụng.

Ví dụ ở đây mình thêm vào 7 playlist khác nhau, đại diện bởi các tên hoặc icon. Cấu hình mẫu như sau:

artwork: cover
entity: media_player.spotify_konnected
hide:
  power_state: false
icon: 'mdi:spotify'
source: icon
shortcuts:
  buttons:
    - icon: 'mdi:coffee-outline'
      type: playlist
      id: 'https://open.spotify.com/playlist/4wAG4IGtyo4cdD80zKKjoB?si=MdOkdzjhSwydJDpk6wZ1Dw'
    - icon: 'mdi:shower'
      type: playlist
      id: 'https://open.spotify.com/album/4FdNA8fZZzqSnvKXoX9XzC?si=fqFafACQTK-QUYPY6Jfw-w'
    - icon: 'mdi:palm-tree'
      type: playlist
      id: 'https://open.spotify.com/playlist/37i9dQZF1DX32oVqaQE8BM?si=CkcWDcFMQuy6v33WsKUzUw'
    - icon: 'mdi:white-balance-sunny'
      type: playlist
      id: 'https://open.spotify.com/playlist/37i9dQZF1DWWLToO3EeTtX?si=3iirw6pRTb6xVlmAE2sEGQ'
    - icon: 'mdi:weather-rainy'
      type: playlist
      id: 'https://open.spotify.com/playlist/37i9dQZF1DX3lnqcg5MsPa?si=JXi2iedtQ_-zAuoR7IjW1g'
    - name: Party
      type: playlist
      id: 'https://open.spotify.com/playlist/37i9dQZF1DX4sVHGDd3pW3?si=pVENliXTTLu6xfFI9x0zPA'
    - icon: 'mdi:heart-multiple-outline'
      type: playlist
      id: 'https://open.spotify.com/playlist/37i9dQZF1DX163rJoVPJH7?si=j1AEQ1yGRHySwn9XloCH2A'
  columns: 5
type: 'custom:mini-media-player'

Trong đó,

  • columns: số playlist hiển thị trên cùng một dòng
  • type: loại nội dung muốn phát, ở đây mình chọn playlist, nếu bạn phát một bài duy nhất thì chọn music
  • id: địa chỉ của playlist hay bài hát bạn muốn phát, địa chỉ/id này được copy từ ứng dụng nghe Spotify trên điện thoại hoặc web. Bạn xem cách lấy địa chỉ này bên dưới.
Lấy Spotify Playlist ID
Lấy ID của một Playlist trên Spotify

Kết quả ta có card Mini Media Player như sau:

Mini Media Player Card
Media Mini Player Card trong Home Assistant

Từ giờ bạn có thể chọn thiết bị phát rồi bấm vào các nút bên dưới khi muốn nghe playlist nào đó.

Bạn có thể thêm tuỳ ý số lượng playlist như playlist khi tập thể dục (tìm ‘workout’ trên Spotify), playlist thư giãn, playlist nhạc trẻ Việt mới nhất, playlist nhiều người nghe nhất tuần này v.v..

Bạn có thể sử dụng cùng các cấu hình này cho các thiết bị media_player khác, kể cả Google Home.
Mini Media Player còn nhiều tuỳ chọn khác, bạn có thể xem trực tiếp tại github.

Duyệt nội dung trong Spotify

Nếu máy chủ Home Assistant của bạn đang ở phiên bản 0.115 trở lên, bạn có thể duyệt và tìm các bài hát, playlist đang có trên Spotify ngay trên Hass. Mở entity media_player tương ứng với Spotify, chọn icon Thư mục để tìm các nội dung có sẵn.

Hass Spotify
Duyệt nội dung theo ca sĩ

Các dịch vụ Spotify khác trong Home Assistant

Bạn có thể tìm thấy các dịch vụ liên quan đến media_player trong danh sách service bằng cách vào Developer Tools > Services. Tuỳ theo các media_player mà các dịch vụ này được hỗ trợ khác nhau.
Với Spotify, bạn có thể sử dụng hầu hết các dịch vụ này để:

  • Phát một playlist hay bài hát bất kì
  • Lựa chọn thiết bị phát
  • Điều chỉnh volume, qua bài, trở lại bài trước
  • Tắt/mở
  • v.v..

Bạn cũng có thể tạo một số automation sử dụng các media_player như phát hiện một bài hát/playlist đang được chơi trên một thiết bị nhất định để thực hiện điều chỉnh độ sáng, màu sắc đèn, đóng mở rèm v.v..

Ví dụ, khi phát hiện loa phòng khách ở chế độ Party, Hass sẽ chuyển các đèn phòng khách sang chế độ Disco đồng thời mở rèm và quạt thông gió hết mức. Hoặc khi loa ở đang phát playlist Romance – lãng mạn thì đồng thời điều hoà không khí sẽ giảm bớt tốc độ gió và chuyển về mức 20 độ, các rèm sẽ được đóng bớt lại và đèn giảm dần độ sáng.

Áp dụng thế nào là do lựa chọn cá nhân nhưng những gì Home Assistant có thể làm rất phong phú và thú vị, mang lại tiện nghi tối đa cùng phong cách hiện đại cho không gian sống của bạn. Bạn hãy tự khám phá nhé!

Cảm ơn bạn đã xem bài viết này!

konnectED Team.

Lên Đầu
  • Đăng ký
Bạn quên mất mật khẩu? Vui lòng nhập tên đăng nhập và địa chỉ email đã đăng ký. Bạn sẽ nhận được liên kết tạo mật khẩu mới qua email (bạn nhớ kiểm tra hộp spam trong trường hợp email đi lạc).