[HASS] Custom component cho Home Assistant, điều khiển kênh TV

em.ten.teo
15/3/2019 4:39Phản hồi: 36
[HASS] Custom component cho Home Assistant, điều khiển kênh TV
Tiếp tục series về HA, hôm nay mình giới thiệu các bạn 1 custom component do mình tự viết, có thể là chưa chuẩn nhưng hiện tại mình thấy chạy khá ok.

Để xài được component này trước nhất bạn cần có Broadlink RF Mini đã liên kết với HA và bạn đã setup xong Samba nha.

Việc đầu tiên bạn cần làm là download file này xuống. Sau đó vào thư mục \\hassio\config, tạo một thư mục với tên là custom_components, sau đó chép file tv_extra.py vào thư mục đó.

Tiếp theo bạn vào file configuration.yaml, thêm vào đoạn code sau
Code:
tv_extra:
  broadlink: "broadlink_send_packet_192_168_1_101"
  channels:
    - JgBMAAABKZMTEhQSEzYUEhQRFg8VERQRFDUUNhMSFDYTNxM3EzYWNBMSFREUERMSEzcTEhYPFRETNhQ2EzcTNhQSFTQUNhM3FQACpA0ADQUAAAAAAAAAAAAAAAA=
    - JgBIAAABKZQTEhQRFDYUERQRFBITEhQREzcTNxMSFDYTNhU1EzcTNhQ2ExIUEhMSEzcTEhQRFBITEhM3EzYTNxMSFDYTNxM2FAANBQ==
    - JgBIAAABKZMTEhQSEzYUEhMSExIUERQSEzYUNhMSFDYTNxM3EzYUNhMSFDYTEhQSEzYUEhMSExIUNhMSEzcTNhQSEzYUNhM3EwANBQ==
    - JgBIAAABKZMTEhUQFDYTEhQSFBETEhUREzYTNxMSEzcTNxM2FDQVNxM2FDYTEhQSEzYUEhQRFRATExQRFTUTNhQSEzYTNxM3EwANBQ==
    - JgBIAAABKZMTEhQRFDYTEhQSFBEVEBURFDUTNxMSEzcTNxM2FDYTNxMSExIUNhMSFDYTEhURFBETNxM2FBITNhQSEzYUNhM3EwANBQ==
    - JgBIAAABKJQTEhMSFTUTEhQSFBEVEBQRFDYTNxMSEzcTNxM2FTUTNxM2FBIUNRUREzYUEhQRFRAUEhM1FBMTNhMTEzYTNxM3EwANBQ==
    - JgBIAAABLJMTEhQSEzYUEhMSExIUEhMSEzcTNhQSEzYUNhM3EzYUNhQRFDYTNxUQEzcTEhMSFBITNhQSExITNxMSFDYTNhQ2EwANBQ==
    - JgBMAAABKZMTEhQSEzYUEhMSExIUEhMSEzUVNhMSFDYTNxM3FDUUNhM3EzYUNhMSFDYTEhQSExIUERMTExITNxMSEzcTNhM3EwACxwwADQUAAAAAAAAAAAAAAAA=
    - JgBIAAABMJMTEhQSEzYUEhMSExIUEhMSEzcTNhMTEzYTNxM3EzYUNhMSFBITEhQzFjYUEhMSExIUNhM3EzYUEhMSEzcTNhQ2EwANBQ==
    - JgBIAAABKZMTEhQRFDYTEhQSExITEhQSEzYVNRUQEzcTNxU0FDYVNRU0FBITEhQ2EzYUEhMSFBEUEhM2FDYUERQSEzYVNRU1EwANBQ==
  mapping:
    hbo: '209'
Code này hiện tại là dùng cho TV LG nhà mình, bạn nào xài TV khác thì phải setup lại nha. Mình xin giải thích một chút về config. Config sẽ gồm 3 phần
  • Broadlink: là tên command send packet của Broadlink RF mini 3 mà bạn đã connect với HA, bạn có thể tìm nó ở đây. Nhớ chỉ lấy đằng sau switch. thôi nha các bạn
    upload_2019-3-15_11-23-16.png
  • Channels: là command RF dưới dạng base64, gồm có 10 số từ 0 đến 9. Bạn có thể dùng tool mình đính kèm chung với component được tải ở trên để lấy những command này.
  • Mapping: dùng để map từ chữ sang số, ví dụ bạn không nhớ được kênh HBO nhà bạn số bao nhiêu, thì bạn nên tạo mapping sẳn, sau này chỉ việc bảo google assistant kênh HBO, nó sẽ tự mở số tương ứng mà bạn đã map.
Sau khi đã setup mọi thứ xong, bạn chỉ cần vào config và restart. Sau khi restart, bạn vào phần service sẽ thấy có tv_extra.change_channel như hình bên dưới, bạn có thể dùng nút call service để kiểm tra xem nó đã hoạt động hay chưa.
upload_2019-3-15_11-30-17.png
Nếu mọi thứ đã hoạt động ổn định, bạn có thể dùng IFTTT + Webhook để send command từ Google Assistant về HA để thay đổi kênh bằng giọng nói thay vì phải bấm call service kiểu thủ công. Nếu bạn chưa biết gì về IFTTT thì chờ bài sau của mình vậy, mình sẽ hướng dẫn các bạn liên kết IFTTT và điều khiển TV mở kênh bất kỳ thông qua Google Assistant

Chúc các bạn thành công trong việc cài đặt ^^.
36 bình luận
Chia sẻ

Xu hướng

AndyCafe
ĐẠI BÀNG
5 năm
TV nhà mình SS vẫn loay hoay vs em nó 😔(
em.ten.teo
ĐẠI BÀNG
5 năm
@AndyCafe Tivi nào cũng được bạn à, tốn công để cho cái RM mini nó học command rồi copy paste vào thôi
AndyCafe
ĐẠI BÀNG
5 năm
@em.ten.teo Configuration invalid
Component not found: tv_extra
Check config nó báo này là sao bạn nhỉ ?
Mình làm đúng như trên bạn, tải file + tạo theo thư mục rồi 😔
em.ten.teo
ĐẠI BÀNG
5 năm
@AndyCafe Bạn chụp thư mục config cho mình xem nào
AndyCafe
ĐẠI BÀNG
5 năm
@em.ten.teo của mình đây bạn
Screen Shot 2019-03-24 at 1.49.35 PM.png
em.ten.teo
ĐẠI BÀNG
5 năm
@AndyCafe Thấy cũng bình thường mà ta, sao lại không thấy. Bạn đã restart config chưa? Của mình cũng thế thôi

upload_2019-3-24_14-52-2.png
Thanhmaitn
ĐẠI BÀNG
5 năm
bài viết rất hay mình cũng đang loai hoay với cái này. hy vọng bài dùng IFTTT + Webhook để send command từ Google Assistant về HA để thay đổi kênh bằng giọng nói sẽ sớm có. à mình dùng settop box của viettel cũng chỉ cần chỉnh sửa qua một chút chắc cũng ok nhỉ.
đánh dấu tý về ngâm cưu
em.ten.teo
ĐẠI BÀNG
5 năm
@thanhyhoa Lát tối rảnh mình sẽ viết, định viết chung 1 bài mà sợ mọi người thấy dài quá nản :v
khoa8523
TÍCH CỰC
5 năm
@thanhyhoa Bác ơi có điều khiển nhập liệu bằng giọng nói được không? Em nhập tìm kiếm trong youtube nhấp từng ký tự vã quá 😕
Thanhmaitn
ĐẠI BÀNG
5 năm
Mình có sai chỗ nào sao call service không hiện kênh lên bạn nhỉ
2B4083E2-637A-4A89-8B50-FA7F2AA70FD9-8887-00000B5F878E5B8A.png
9E4B5138-7AD1-4FB4-8D14-26F5FE2CED85-8887-00000B5F87E9F253.png
em.ten.teo
ĐẠI BÀNG
5 năm
@thanhyhoa Bạn chưa set channel kìa, service data bạn gõ {"channel": "123"} rồi hãy bấm call
Thanhmaitn
ĐẠI BÀNG
5 năm
@em.ten.teo Ok rồi thanhk bạn hixx
em.ten.teo
ĐẠI BÀNG
5 năm
@thanhyhoa Phần mapping bạn có thể để nhiều kênh cũng được, cứ enter xuống hàng thôi :v
newelite
ĐẠI BÀNG
5 năm
Cảm ơn chia sẽ của bạn. Để dành ngâm cú
em.ten.teo
ĐẠI BÀNG
5 năm
Haha, mình phát hiện ra là chỉ cần nói channel xxx on yyy là tivi nó tự đổi kênh thôi, khỏi cần làm gì hết, cái broadlink nó support rồi 😁. xxx là channel, yyy là tên TV
lykhaphong
ĐẠI BÀNG
5 năm
@em.ten.teo Mình dùng Sony, nói như thế là RM 3 nó xử lý luôn. Vậy chắc RM3 đã support command sẵn rồi nhĩ 😃
em.ten.teo
ĐẠI BÀNG
5 năm
@lykhaphong Vâng, mặc dù trong IHC nó hiện chỉ support alexa nhưng ra lệnh bằng google home nó vẫn mở thôi
@em.ten.teo IHC có support GA mà bạn
em.ten.teo
ĐẠI BÀNG
5 năm
@TheShinichi Ý là trong giao diện lúc bấm vào cái phần voice của IHC, nó chỉ hiện alexa. Cái tivi mình nó bị thế, cái mày lạnh thì nó hiện cả google home và alexa

xedieu
CAO CẤP
5 năm
Có xài được cho rm pro+ không bác thớt?
em.ten.teo
ĐẠI BÀNG
5 năm
@xedieu Như nhau nha bạn
xedieu
CAO CẤP
5 năm
@em.ten.teo Cứ làm y hệt các bước là được à bác? TV nhà mình may cùng là LG
em.ten.teo
ĐẠI BÀNG
5 năm
@xedieu Đúng rồi bạn, có bị gì thì hú mình check
_Kenzi_
TÍCH CỰC
5 năm
Chơi mấy món này thì các thiết bị gia đình phải có chức năng kết nối wifi nhỉ
em.ten.teo
ĐẠI BÀNG
5 năm
@luckydayv4a Không cần bạn, chỉ cần cục broadlink rf mini kết nối wifi là được, nó sẽ điều khiển thiết bị hồng ngoại trong phòng. TV, máy lạnh, quạt máy chỉ cần có remote điều khiển là sẽ tích hợp được
piepadjob
TÍCH CỰC
5 năm
Smart tv của samsung có cách nào khi search cho nó hiểu tiếng việt không bác? Search giọng nói toàn phải dùng tiếng Anh
Đù, hay nè
neobb
ĐẠI BÀNG
5 năm
Bạn nào nghiên cứu khiển quan CEC-HDMI cho nhanh
JOY
ĐẠI BÀNG
5 năm
Dữ quá anh Tèo ơi. Không làm GL nữa à?
em.ten.teo
ĐẠI BÀNG
5 năm
@JOY Nghỉ sao được mà nghỉ =]] =]]
Sao mình làm , bấm call sẻvice thì nó báo lỗi:
upload_2019-5-8_19-53-54.png
bị lỗi vầy:

upload_2019-5-8_20-31-56.png
vhnl2003
ĐẠI BÀNG
5 năm
@em.ten.teo mình cấu hình con Broadlink RM Pro và con mini 3 vào hass xài bình thường mà sao vào services không tìm thấy tên của nó?
broadlink.png
hiepprocnt49
ĐẠI BÀNG
5 năm
@vhnl2003 @em.ten.teo em cũng bị như bác này, sao em đã add broad link vào rồi mà trong services không có như hình upload_2019-8-16_17-18-58.png

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019