Có thể bật và tắt đèn bằng giọng nói của bạn là một trong những điều tuyệt vời nhất khi có một ngôi nhà thông minh. Tuy nhiên, nếu bạn không có Amazon Echo hoặc Google Home — hoặc chỉ thích dùng phím tắt — bạn có thể sử dụng tập lệnh AutoHotkey để điều khiển đèn Philips Hue từ máy tính của mình.
LIÊN QUAN: Hướng dẫn cho người mới bắt đầu sử dụng tập lệnh AutoHotkey
Đối với hướng dẫn này, chúng tôi sẽ sử dụng AutoHotkey, một chương trình nhỏ tuyệt vời cho phép bạn viết các tập lệnh tự động hóa tùy chỉnh và thậm chí chỉnh sửa các phím trên bàn phím của mình. Nếu bạn không quen với AutoHotkey hoặc cần tải nó xuống máy Windows của mình, hãy xem hướng dẫn dành cho người mới bắt đầu của chúng tôi tại đây.
Những gì bạn cần
Chúng tôi sẽ chỉ cho bạn một tập lệnh cơ bản mà bạn có thể sử dụng để bật và tắt một bộ đèn (bạn có thể tùy chỉnh sau). Trước khi chúng tôi làm điều đó, bạn sẽ cần một vài thứ.
- Máy Windows đã cài đặt AutoHotkey: Nếu bạn chưa có, bạn có thể tải xuống AutoHotkey tại đây. Thật không may, nó chỉ có sẵn cho các máy Windows. Ứng dụng sẽ chạy ở chế độ nền và diễn giải các tập lệnh bạn tạo (thường là trong một chương trình như Notepad).
- Địa chỉ IP Philips Hue Bridge của bạn: Bạn sẽ cần nhập địa chỉ IP của Bridge vào tập lệnh để nó hoạt động. Chúng tôi sẽ hướng dẫn bạn cách tìm thông tin này bên dưới.
- Tên người dùng API nhà phát triển Philips Hue: Tập lệnh chúng tôi đang sử dụng cũng sử dụng API nhà phát triển. Để sử dụng nó, bạn cần phải có tài khoản và biết tên người dùng API nhà phát triển của mình. Một lần nữa, chúng tôi sẽ hướng dẫn bạn cách tạo tài khoản và tìm ID của bạn bên dưới.
-
Tập lệnh AutoHotkey: Trong phần lớn tiếp theo bên dưới, chúng tôi sẽ có tập lệnh mà chúng tôi dựa trên hướng dẫn này. Người dùng Reddit đã tạo ra một mẫu mà chúng tôi sẽ dựa trên cơ sở của chúng tôi ở đây nếu bạn muốn tìm hiểu sâu hơn một chút. Tuy nhiên, chúng tôi đã chỉnh sửa tập lệnh này để đơn giản hóa nó. Sao chép tập lệnh từ phần bên dưới, dán vào tài liệu Notepad trống, sau đó lưu với tên như
hueshortcut.ahk
.
Nếu bạn đã biết địa chỉ IP cầu nối và tên người dùng API, thì bạn có thể bỏ qua.
Cách tìm địa chỉ IP cầu nối của bạn
Địa chỉ IP cầu nối của bạn tương đối đơn giản để tìm. Truy cập liên kết này và đăng nhập vào tài khoản Philips Hue của bạn.
Dọc theo đầu trang, nhấp vào Cầu.
Nhấp vào nút “Hiển thị thêm chi tiết cầu”.
Ghi lại Địa chỉ IP Nội bộ của bạn. Bạn sẽ cần nó sau.
Hãy chờ đợi điều này cho phần tiếp theo.
Cách tạo tài khoản API nhà phát triển Huế
Nếu bạn chưa có tài khoản Nhà phát triển Huế hoặc nếu bạn quên tên người dùng API của mình, bạn cần phải có một tài khoản ngay bây giờ. Phần này phức tạp hơn một chút, nhưng nếu bạn cảm thấy thoải mái khi sử dụng một vài lệnh văn bản, nó sẽ đơn giản. Bắt đầu bằng cách vào đây và tạo tài khoản nhà phát triển mới với Hue.
Bạn sẽ nhận được một email yêu cầu bạn xác nhận tài khoản của mình và tạo mật khẩu. Sau khi hoàn tất, hãy truy cập URL sau, thay thế <địa chỉ ip cầu nối> bằng địa chỉ IP mà bạn đã lấy từ phần trước.
http://<bridge ip address>/debug/clip.html
Tại đây, bạn sẽ thấy một công cụ cho phép bạn gửi lệnh theo cách thủ công đến cầu Huế của bạn. Nếu bạn không hiểu mọi thứ trên trang này, không sao cả. Bạn chỉ cần sử dụng công cụ này để lấy tên người dùng API của mình. Để làm điều đó, hãy nhập /api/
trong hộp URL. Trong Nội dung Thư, hãy nhập {"devicetype":"my_hue_app#iphone peter"}
thay thế iphone peter
với bất kỳ bộ mô tả nào bạn muốn, tốt nhất là bộ mô tả mô tả thiết bị bạn đang sử dụng.
Khi bạn đã nhập tất cả thông tin, hãy nhấn vào nút liên kết trên cầu Huế của bạn. Đây là một bước bảo mật để đảm bảo rằng chỉ bạn hoặc ai đó trong nhà mới có thể tạo ứng dụng để điều khiển đèn của bạn. Khi bạn đã nhấn nút liên kết trên cầu nối của mình, hãy nhấp vào ĐĂNG.
Trong hộp Command Response, bạn sẽ thấy kết quả giống như bên dưới (tự nhiên trừ đi phần mờ của bộ kiểm duyệt). Bạn sẽ được cấp một tên người dùng ngẫu nhiên, dài. Sao chép nó xuống một nơi nào đó và lưu nó. Bạn sẽ cần nó cho tập lệnh sau này.
Bây giờ bạn đã có hai phần thông tin đó, bạn đã sẵn sàng thiết lập tập lệnh của mình!
Cách thiết lập tập lệnh AutoHotkey
Như tôi đã đề cập trước đó, đối với hướng dẫn này, chúng tôi đang sử dụng phiên bản sửa đổi của tập lệnh này từ redditor tar xói. Chúng tôi đã tinh chỉnh nó để thêm các phím tắt để bạn có thể bật và tắt một nhóm đèn cùng một lúc thay vì mỗi đèn trong nhà của bạn. Dưới đây là các phím nóng sau mà bạn có thể sử dụng với tập lệnh này:
- Ctrl + Alt + L: Bật hoặc tắt tất cả các đèn của bạn.
- Ctrl + Alt + I: Tắt tất cả các đèn.
- Ctrl + Alt + O: Bật nhóm đèn hiện tại.
- Ctrl + Alt + I: Tắt nhóm đèn hiện tại.
- Ctrl + Alt + 1: Chuyển sang Nhóm 1.
- Ctrl + Alt + 2: Chuyển sang Nhóm 2.
- Ctrl + Alt + Lên: Tăng độ ấm của nhóm đèn hiện tại (yêu cầu bóng đèn Màu hoặc Môi trường xung quanh).
- Ctrl + Alt + Xuống: Giảm độ ấm của nhóm đèn hiện tại (yêu cầu bóng đèn Màu hoặc Môi trường xung quanh).
- Ctrl + Alt + Left: Tăng độ sáng của nhóm đèn hiện tại.
- Ctrl + Alt + Phải: Giảm độ sáng của nhóm đèn hiện tại.
Bạn có thể tạo hoặc sửa đổi nhiều nhóm đèn tùy ý. Đối với ví dụ này, tôi đã tạo hai nhóm, mỗi nhóm hai đèn: một cho văn phòng và một cho phòng khách. Bạn có thể thay đổi tên của những thứ này khi bạn thấy phù hợp. Bạn cũng có thể cần thay đổi các giá trị của từng nhóm tùy thuộc vào số lượng đèn bạn có.
Đầu tiên, hãy sao chép tập lệnh bên dưới vào tài liệu Notepad và lưu nó dưới dạng “huelights.ahk” để đảm bảo thay thế phần mở rộng .txt bằng .ahk. Nếu không có điều đó, Notepad sẽ lưu nó dưới dạng tệp .txt và AutoHotkey sẽ không thể chạy nó.
WinHTTP := ComObjCreate("WinHTTP.WinHttpRequest.5.1")
lightsOn := 1
office := [1,2]
livingroom := [3,4]
curgroup := office
lightoff(light, ByRef WinHTTP) { WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/lights/" . light . "/state", 0) bodytext = {"on" : false} WinHTTP.Send(bodytext) return } lighton(light, ByRef WinHTTP) { WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/lights/" . light . "/state", 0) bodytext = {"on" : true} WinHTTP.Send(bodytext) return } setlightct(light, newct, ByRef WinHTTP) { WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/lights/" . light . "/state", 0) bodytext = {"ct" : %newct%} WinHTTP.Send(bodytext) } modifylightct(light, amount, ByRef WinHTTP) { WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/lights/" . light . "/state", 0) bodytext = {"ct_inc" : %amount%, "transitiontime" : 2} WinHTTP.Send(bodytext) } modifylightbrightness(light, amount, ByRef WinHTTP) { WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/lights/" . light . "/state", 0) bodytext = {"bri_inc" : %amount%, "transitiontime" : 2} WinHTTP.Send(bodytext) } ;ctrl-alt-1: change to group 1 ^!1:: curgroup := office return ;ctrl-alt-2: change to group 2 ^!2:: curgroup := livingroom return ;ctrl-alt-o: turn group lights on ^!o:: for _, light in curgroup lighton(light, WinHTTP) return ;ctrl-alt-i: turn group lights off ^!i:: for _, light in curgroup lightoff(light, WinHTTP) return ;ctrl-alt-l: toggle all lights ^!l:: WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/groups/0/action", 0) if lightsOn > 0 bodytext = {"on" : false} else bodytext = {"on" : true} WinHTTP.Send(bodytext) lightsOn := 1 - lightsOn return ; ctrl-alt-k : all lights off ^!k:: WinHTTP.Open("PUT", "http://<your-bridge-IP-address>/api/<your-api-username>/groups/0/action", 0) bodytext = {"on" : false} WinHTTP.Send(bodytext) lightsOn := 0 return ;ctrl-alt-Up: increase warmth of current light group ^!Up:: for _, light in curgroup modifylightct(light, 43, WinHTTP) return ;ctrl-alt-Down: decrease warmth of current light group ^!Down:: for _, light in curgroup modifylightct(light, -43, WinHTTP) return ;ctrl-alt-Left: increase brightness of light group ^!Left:: for _, light in curgroup modifylightbrightness(light, -32, WinHTTP) return ;ctrl-alt-Right: decrease brightness of light group ^!Right:: for _, light in curgroup modifylightbrightness(light, 32, WinHTTP) return
Bây giờ, bạn sẽ cần thực hiện một vài điều chỉnh. Đầu tiên, trong script, hãy thay đổi mọi phiên bản của <your-bridge-ip-address>
đến địa chỉ IP bạn đã nhận được từ cầu nối của mình trước đó. Tiếp theo, thay thế <your-api-username>
với tên người dùng API Huế của bạn. Nên có bảy trường hợp của mỗi trường hợp trong tập lệnh trên.
Tiếp theo, bạn sẽ thấy một phần ở trên cùng xác định các nhóm mà bạn có thể kiểm soát. Phần đó trông như thế này:
office := [1,2] livingroom := [3,4]
Hai dòng đầu tiên xác định các nhóm đèn của bạn. Mỗi bóng đèn được gán một số, mặc dù không phải lúc nào cũng rõ ràng mỗi bóng đèn của bạn tương ứng với số nào. Cách dễ nhất để kiểm tra là mở ứng dụng Hue của bạn và chạm vào Cài đặt, sau đó chạm vào Thiết lập ánh sáng.
Tại đây, bạn sẽ thấy danh sách tất cả các đèn của mình. Đếm ngược từng cái một để tìm ra số đèn của bạn. Ví dụ: hai đèn trong văn phòng của tôi ở trên cùng, vì vậy chúng sẽ là 1 và 2. Dưới đây là đèn phòng khách của tôi, vì vậy chúng phải là 3 và 4. Nếu bạn đã xóa và thêm đèn mới từ thiết lập của mình , những con số này có thể thay đổi một chút, vì vậy hãy kiểm tra các tập lệnh của bạn và sử dụng một thử nghiệm và lỗi nhỏ để đảm bảo rằng bạn đang sử dụng đúng đèn.
Khi bạn đã tìm thấy các số tương ứng với đèn của mình, hãy thay đổi chúng ở hai dòng trên. Bạn cũng có thể thay đổi tên của từng nhóm nếu bạn muốn. Chỉ cần đảm bảo thay đổi mọi trường hợp của tên nhóm đó trong tập lệnh. Nếu bạn muốn thêm nhóm thứ ba (hoặc nhiều hơn), hãy tạo một dòng mới bên dưới hai dòng đầu tiên bằng cách sử dụng định dạng sau, thay thế X, Y bằng số đèn bạn muốn thêm vào nhóm đó:
roomname := [X, Y]
Bạn cũng sẽ cần thêm một phím tắt khác để có thể chuyển sang nhóm thứ ba. Chọn khối văn bản sau trong tập lệnh ở trên và tạo một bản sao của nó bên dưới khối văn bản này, thay đổi tất cả 2s thành 3s và thay đổi “phòng khách” (hoặc bất kỳ tên nào bạn đã đặt cho nhóm thứ hai của mình) thành tên của nhóm thứ ba:
;ctrl-alt-2: change to group 2 ^!2:: curgroup := livingroom return
Nếu đã quen với AutoHotkey, bạn có thể tinh chỉnh tập lệnh này nhiều hơn nữa để thêm các phím tắt mới hoặc điều khiển đèn của mình theo các cách khác nhau. Kiểm tra tài liệu AutoHotkey nếu bạn cần trợ giúp. Bạn cũng có thể xem API Philips Hue tại đây để biết thêm các lệnh mà bạn có thể tích hợp vào tập lệnh của mình.