Image default
Máy Tính

Tự động hóa trải nghiệm chơi game: Thiết lập “Chế độ Game” với Home Assistant

Là một người thường xuyên sử dụng Home Assistant, một trong những khía cạnh thử thách (nhưng cũng rất thú vị) của nền tảng phần mềm này là tìm cách tích hợp nó vào các dịch vụ phần cứng và phần mềm hiện có của mình. Khi khám phá sâu hơn, tôi đã tìm thấy những cách ngày càng độc đáo và hấp dẫn để biến nó thành hiện thực, và một trong những tính năng yêu thích của tôi là triển khai “chế độ chơi game”. Có hai cách riêng biệt để thực hiện điều này, và tôi đã kết hợp cả hai để làm việc với cả game Steam và game không phải Steam.

Tích hợp đầu tiên là tích hợp Steam. Điều này yêu cầu một API key để lấy dữ liệu từ máy chủ Steam, giúp xác định trạng thái trực tuyến của người chơi và trò chơi họ đang chạy. API Web của Steam cho phép 100.000 yêu cầu mỗi ngày, vì vậy nó có lẽ là quá đủ cho bất kỳ mục đích sử dụng cơ bản nào như thế này. Cách thứ hai sử dụng HASS.Agent 2, và nó có thể báo cáo cửa sổ đang mở trên PC của bạn. Nếu tên cửa sổ khớp với một trò chơi không phải Steam, chúng ta cũng có thể kích hoạt chế độ chơi game. Bài viết này sẽ giả định bạn đã thiết lập sẵn các thành phần đó.

Tạo cảm biến hỗ trợ “Chế độ Game” của bạn

Theo dõi trạng thái chơi game của bạn

Home Assistant theo dõi trạng thái game Steam qua tích hợpHome Assistant theo dõi trạng thái game Steam qua tích hợp

Trước hết, chúng ta cần xem xét hai cách để xác định rằng một trò chơi đã được khởi chạy và đang chạy. Steam dễ dàng tập trung hơn, vì nếu bạn thoát khỏi trò chơi trong vài giây để kiểm tra thứ gì đó, bạn vẫn sẽ được coi là “đang trong game” theo cảm biến của chúng ta, ngay cả khi trò chơi không ở chế độ nền trước. Điều đó không xảy ra với HASS.Agent, và tôi vẫn chưa tìm ra cách khắc phục cho vấn đề này. Chúng ta có thể sử dụng tích hợp Steam để theo dõi liệu chúng ta đang trực tuyến hay ngoại tuyến, và khi chúng ta khởi chạy một trò chơi, cảm biến sẽ cập nhật thêm các thuộc tính.

Việc bổ sung các thuộc tính này cực kỳ hữu ích, vì nó có nghĩa là chúng ta không cần phải thăm dò bất cứ điều gì cụ thể. Tất cả những gì chúng ta cần khẳng định là liệu thuộc tính “game” có tồn tại hay không. Nếu có, điều đó có nghĩa là chúng ta đã khởi chạy một trò chơi, và chúng ta có thể sử dụng điều đó để bật công tắc của mình. Ngược lại, chúng ta biết rằng mình không đang chơi game, vì vậy chúng ta có thể giữ chế độ chơi game tắt. Điều này sẽ không hoạt động nếu trạng thái trò chơi trên Steam không được hiển thị công khai, nhưng đối với hầu hết mọi người, nó sẽ hiệu quả.

Cấu hình cảm biến nhị phân chế độ chơi game trong Home AssistantCấu hình cảm biến nhị phân chế độ chơi game trong Home Assistant

{{ (state_attr('sensor.adam_steam', 'game') is not none) or (states('sensor.desktop_73d9nef_activewindow') == 'VALORANT') }}

Vì vậy, hiện tại, chúng ta đã thiết kế một cảm biến nhị phân đơn giản định nghĩa liệu chế độ chơi game có được bật hay tắt. Chúng ta đọc xem thuộc tính “game” có tồn tại trong cảm biến Steam hay không, và chúng ta cũng đã thêm một cấu hình ví dụ cho một trò chơi không phải Steam, Valorant. Với điều này, chúng ta đã có thể kích hoạt một quy trình tự động hóa dựa trên trạng thái hiện tại của cảm biến chế độ chơi game của chúng ta.

Xây dựng quy trình tự động hóa của bạn

Triển khai một minh chứng khái niệm

Giờ đây, chúng ta đã có thể nhận biết khi nào chúng ta đang chơi game, đã đến lúc quyết định phải làm gì với nó. Tôi đã liên kết GoXLR của mình với Home Assistant, và tôi cũng đã liên kết đèn và điện thoại của mình. Điều đầu tiên và rõ ràng nhất là đặt điện thoại của tôi vào chế độ không làm phiền, điều này có thể dễ dàng thực hiện với Home Assistant. Về cơ bản, bạn gửi một thông báo đến thiết bị client với thông điệp “command_dnd”, và dữ liệu là “command: total_silence”. Điều này làm cho ứng dụng Home Assistant thay đổi điện thoại của bạn sang chế độ hoàn toàn im lặng, để bạn không bị quấy rầy khi chơi game. Đây là một tính năng tích hợp khá tiện lợi của Home Assistant, và nó hoạt động như sau:

actions: - action: notify.mobile_app_cph2671 data: message: command_dnd data: command: total_silence

Tiếp theo, chúng ta thêm một phần “building block”. Building blocks là một tính năng nâng cao hơn của khả năng tự động hóa của Home Assistant, cho phép các tác vụ như chờ một template được đánh giá, thực hiện một chuỗi sự kiện, hoặc có một khối if-then lồng nhau bên trong các hành động của bạn. Trong trường hợp này, chúng ta kiểm tra xem đèn trong văn phòng của tôi (nơi có PC của tôi) đã bật hay chưa. Nếu đã bật, chúng ta giảm độ sáng và đặt màu sang đỏ. Điều này cũng khá đơn giản trong YAML, và trông như thế này:

 - if: - condition: state entity_id: light.office_light state: "on" then: - action: light.turn_on metadata: {} data: brightness_pct: 5 rgb_color: - 237 - 44 - 44 target: device_id: 7443cc0d215861e4624f05e2ea6c3fb5

Cuối cùng, nhờ tích hợp GoXLR, chúng ta tăng âm lượng “Game” lên 100% và giảm âm lượng nhạc. Điều này cho phép chúng ta nghe game tốt hơn và ngăn nhạc làm nhiễu âm thanh nếu tôi đang nghe nhạc vào thời điểm đó. Bạn có thể tùy chọn đặt tính năng này để tạm dừng trình phát nhạc Spotify thay vì giảm kênh nhạc, giả sử bạn đang sử dụng Spotify.

Vậy là xong! Mặc dù khá sơ khai, nó minh họa chính xác cách bạn có thể triển khai một thứ như thế này. Để đảo ngược quá trình này và lưu trạng thái của các thiết bị trước khi nó được khởi tạo, bạn sẽ có trình kích hoạt phát hiện bất kỳ thay đổi trạng thái nào, và tạo các biến hỗ trợ (như input_text) để lưu dữ liệu vào trong một chuỗi trước khi thực hiện nó. Sau đó, với mỗi hành động, bạn sẽ kiểm tra xem trình kích hoạt có phải là chế độ chơi game đang được bật hay không. Nếu nó được bật, bạn sẽ lưu trạng thái hiện tại vào biến hỗ trợ liền kề, sau đó thực hiện hành động. Nếu bạn muốn đảo ngược, bạn sẽ kiểm tra xem nó có thay đổi từ bật sang tắt hay không, và nếu có, bạn sẽ đặt giá trị của mỗi thiết bị trở lại giá trị được định nghĩa trong biến hỗ trợ của bạn.

Đây chỉ là một minh họa về cách bạn có thể xây dựng các quy trình tự động hóa mạnh mẽ trong Home Assistant để kiểm soát toàn bộ ngôi nhà của mình. Bạn có thể làm bất cứ điều gì bạn muốn miễn là phần mềm được tích hợp, và bạn có thể thu thập dữ liệu từ tất cả các loại nơi để tác động cụ thể đến một thiết bị hoàn toàn không liên quan. Khởi chạy một trò chơi trên PC của tôi có thể tự động chuyển điện thoại của tôi sang chế độ không làm phiền, mà không cần phải chạm vào điện thoại. Nó thậm chí còn không liên quan đến quá trình này, nhưng Home Assistant đã biến điều đó thành hiện thực. Kể từ đó, tôi đã mở rộng đáng kể điều này, và nó đã trở thành một phần quan trọng trong trải nghiệm nhà thông minh của tôi. Bước tiếp theo của tôi là thay đổi những gì được viết trên màn hình ePaper bên cạnh khi tôi chơi, để tôi có thể thực sự thư giãn và tập trung vào trò chơi.


Kết luận:

Việc thiết lập “chế độ chơi game” với Home Assistant là một minh chứng rõ ràng cho tiềm năng tự động hóa vượt trội của nền tảng nhà thông minh này. Từ việc theo dõi trạng thái chơi game qua Steam và HASS.Agent đến việc tự động điều chỉnh ánh sáng, âm lượng và chế độ thông báo trên điện thoại, Home Assistant mang đến một trải nghiệm chơi game liền mạch và không bị gián đoạn. Khả năng tùy chỉnh linh hoạt cho phép bạn tinh chỉnh mọi khía cạnh của môi trường chơi game, biến những ý tưởng phức tạp thành hiện thực chỉ với vài dòng mã YAML.

Hy vọng bài viết này đã cung cấp cho bạn cái nhìn sâu sắc và những bước cơ bản để bắt đầu xây dựng chế độ chơi game thông minh của riêng mình. Hãy bắt đầu khám phá và chia sẻ cách bạn tự động hóa trải nghiệm chơi game với Home Assistant trong phần bình luận bên dưới!

Related posts

Thiết Kế Liquid Glass Mới Của Apple: Lột Xác Giao Diện Các Hệ Điều Hành

Administrator

Có Nên Tự Lưu Trữ Trình Quản Lý Mật Khẩu? 5 Lý Do Bạn Cần Cân Nhắc

Administrator

Những Rào Cản Khiến Tôi Chưa Thể Chuyển Hoàn Toàn Sang Linux Làm Hệ Điều Hành Chính

Administrator

Dấu Hiệu Cho Thấy Đã Đến Lúc Nâng Cấp Từ Nền Tảng AMD AM4

Administrator

Nushell: Công cụ dòng lệnh thế hệ mới – Liệu có vượt trội hơn PowerShell?

Administrator

Tối ưu trải nghiệm: Mẹo sử dụng nhiều PC Windows hiệu quả

Administrator