วิธีการควบคุมไฟฮิวของ Philips ด้วยแป้นพิมพ์ลัด
ความสามารถในการเปิดและปิดไฟด้วยเสียงของคุณเป็นหนึ่งในสิ่งที่ดีที่สุดเกี่ยวกับการมีบ้านอัจฉริยะ หากคุณไม่มี Amazon Echo หรือ Google Home แต่ - หรือชอบทางลัดแป้นพิมพ์ - คุณสามารถใช้สคริปต์ AutoHotkey เพื่อควบคุมไฟ Philips Hue ของคุณจากคอมพิวเตอร์ของคุณ.
สำหรับคู่มือนี้เราจะใช้ AutoHotkey เป็นโปรแกรมเล็ก ๆ ที่น่าทึ่งที่ช่วยให้คุณเขียนสคริปต์การทำงานอัตโนมัติที่กำหนดเองและแม้กระทั่งการแมปปุ่มบนแป้นพิมพ์ของคุณ หากคุณไม่คุ้นเคยกับ AutoHotkey หรือต้องการดาวน์โหลดลงในเครื่อง Windows ของคุณดูคู่มือผู้เริ่มต้นใช้งานของเราที่นี่.
สิ่งที่คุณต้องการ
เราจะแสดงสคริปต์พื้นฐานที่คุณสามารถใช้เพื่อเปิดและปิดชุดไฟ (ซึ่งคุณสามารถปรับแต่งในภายหลัง) ก่อนที่เราจะทำเช่นนั้นคุณจะต้องมีบางสิ่ง.
- เครื่อง Windows ที่ติดตั้ง AutoHotkey: หากคุณยังไม่ได้ทำการดาวน์โหลด AutoHotkey ที่นี่ ขออภัยสำหรับเครื่อง Windows เท่านั้น แอปพลิเคชันจะทำงานในพื้นหลังและแปลสคริปต์ที่คุณสร้าง (โดยปกติจะอยู่ในโปรแกรมเช่น Notepad).
- ที่อยู่ IP Philips Hue Bridge ของคุณ: คุณจะต้องป้อนที่อยู่ IP ของบริดจ์ของคุณลงในสคริปต์เพื่อให้มันทำงานได้ เราจะแนะนำวิธีการค้นหาข้อมูลด้านล่างนี้.
- ชื่อผู้ใช้ API ของ Philips Hue Developer: สคริปต์ที่เราใช้ยังใช้ API ของนักพัฒนา ในการใช้ประโยชน์จากมันคุณจะต้องมีบัญชีและรู้ชื่อผู้ใช้ API สำหรับนักพัฒนาของคุณ อีกครั้งเราจะแสดงวิธีรับบัญชีและค้นหา ID ของคุณด้านล่าง.
- สคริปต์ AutoHotkey: ในส่วนใหญ่ถัดไปด้านล่างเราจะมีสคริปต์ที่เราจะอ้างอิงคู่มือนี้ออก การเรนเดอร์ผู้ใช้ Reddit สร้างเทมเพลตที่เราจะทำการอ้างอิงจากที่นี่ถ้าคุณต้องการดำน้ำลึก อย่างไรก็ตามเราได้ปรับแต่งสคริปต์นี้เพื่อให้ง่ายขึ้น คัดลอกสคริปต์จากส่วนด้านล่างวางไว้ในเอกสารแผ่นจดบันทึกเปล่าแล้วบันทึกด้วยชื่อเช่น
hueshortcut.ahk
.
หากคุณรู้ที่อยู่ IP และชื่อผู้ใช้ API ของบริดจ์อยู่แล้วคุณสามารถข้ามไปได้.
วิธีค้นหาที่อยู่ IP ของบริดจ์
ที่อยู่ IP บริดจ์ของคุณนั้นหาง่าย ไปที่ลิงค์นี้และลงชื่อเข้าใช้บัญชี Philips Hue ของคุณ.
ที่ด้านบนของหน้าให้คลิกสะพาน.
คลิกปุ่ม“ แสดงรายละเอียดบริดจ์เพิ่มเติม”.
จดบันทึกที่อยู่ IP ภายในของคุณ คุณจะต้องการมันในภายหลัง.
มาที่นี่เพื่อดูหัวข้อถัดไป.
วิธีรับบัญชี API สำหรับนักพัฒนาเว้
หากคุณยังไม่มีบัญชี Developer Hue หรือหากคุณลืมชื่อผู้ใช้ API ของคุณคุณจะต้องรับทันที ส่วนนี้ซับซ้อนกว่าเล็กน้อย แต่ถ้าคุณสะดวกที่จะใช้คำสั่งข้อความเพียงเล็กน้อยก็ควรจะตรงไปตรงมา เริ่มต้นด้วยหัวเรื่องที่นี่และสร้างบัญชีนักพัฒนาซอฟต์แวร์ใหม่ด้วย Hue.
คุณจะได้รับอีเมลขอให้คุณยืนยันบัญชีของคุณและสร้างรหัสผ่าน เมื่อเสร็จสิ้นแล้วไปที่ URL ต่อไปนี้แทนที่ด้วยที่อยู่ IP ที่คุณคว้ามาจากส่วนก่อนหน้า.
http: ///debug/clip.html
ที่นี่คุณจะเห็นเครื่องมือที่ให้คุณส่งคำสั่งไปยังสะพานเว้ของคุณด้วยตนเอง หากคุณไม่เข้าใจทุกอย่างในหน้านี้ก็ไม่เป็นไร คุณจะต้องใช้เครื่องมือนี้เพื่อรับชื่อผู้ใช้ API ของคุณ ในการทำเช่นนั้นให้ป้อน / API /
ในช่อง URL ใต้ Message Body ให้ป้อน "devicetype": "my_hue_app # iphone peter"
การแทนที่ ปีเตอร์ iPhone
ด้วยตัวให้คำอธิบายใด ๆ ก็ตามที่คุณต้องการโดยเฉพาะอย่างยิ่งอุปกรณ์ที่อธิบายอุปกรณ์ที่คุณใช้งานอยู่.
เมื่อคุณป้อนข้อมูลทั้งหมดแล้วให้แตะปุ่มลิงก์บนสะพานเว้ของคุณ นี่เป็นขั้นตอนความปลอดภัยเพื่อให้แน่ใจว่ามีเพียงคุณหรือคนในบ้านของคุณเท่านั้นที่สามารถสร้างแอปพลิเคชันเพื่อควบคุมไฟของคุณ เมื่อคุณกดปุ่มลิงก์บนบริดจ์ของคุณแล้วให้คลิก POST.
ในกล่องคำตอบการตอบสนองคุณควรเห็นผลลัพธ์ที่ดูเหมือนด้านล่าง (ลบเครื่องหมายเบลอตามธรรมชาติ) คุณจะได้รับชื่อผู้ใช้ที่ยาวและสุ่ม คัดลอกส่วนนี้ลงที่ใดที่หนึ่งแล้วบันทึก คุณจะต้องใช้สคริปต์ในภายหลัง.
เมื่อคุณมีข้อมูลสองส่วนแล้วคุณก็พร้อมที่จะตั้งค่าสคริปต์ของคุณแล้ว!
วิธีการตั้งค่าสคริปต์ AutoHotkey
ดังที่ฉันได้กล่าวถึงก่อนหน้านี้สำหรับคำแนะนำนี้เรากำลังใช้เวอร์ชันนี้ของสคริปต์นี้จาก tardioned ของ redditor เราได้ปรับแต่งมันเพื่อเพิ่มทางลัดเพื่อให้คุณสามารถเปิดและปิดกลุ่มไฟในคราวเดียวแทนแสงทุกดวงในบ้านของคุณ นี่คือปุ่มลัดต่อไปนี้ที่คุณสามารถใช้กับสคริปต์นี้:
- Ctrl + Alt + L: สลับเปิดหรือปิดไฟทั้งหมดของคุณ.
- Ctrl + Alt + I: ปิดไฟทั้งหมด.
- Ctrl + Alt + O: เปิดกลุ่มไฟปัจจุบัน.
- Ctrl + Alt + I: ปิดกลุ่มไฟปัจจุบัน.
- Ctrl + Alt + 1: เปลี่ยนเป็นกลุ่ม 1.
- Ctrl + Alt + 2: สลับเป็นกลุ่ม 2.
- Ctrl + Alt + ขึ้น: เพิ่มความอบอุ่นของกลุ่มไฟในปัจจุบัน (ต้องใช้หลอดไฟ Color หรือ Ambiance).
- Ctrl + Alt + ลง: ลดความอบอุ่นของกลุ่มไฟในปัจจุบัน (ต้องใช้หลอดไฟ Color หรือ Ambiance).
- Ctrl + Alt + ซ้าย: เพิ่มความสว่างของกลุ่มไฟปัจจุบัน.
- Ctrl + Alt + ขวา: ลดความสว่างของกลุ่มไฟปัจจุบัน.
คุณสามารถสร้างหรือแก้ไขกลุ่มไฟได้มากเท่าที่คุณต้องการ สำหรับตัวอย่างนี้ฉันได้สร้างสองกลุ่มของสองไฟแต่ละอัน: หนึ่งสำหรับสำนักงานและอีกหนึ่งสำหรับห้องนั่งเล่น คุณสามารถเปลี่ยนชื่อเหล่านี้ตามที่เห็นสมควร คุณอาจต้องเปลี่ยนค่าของแต่ละกลุ่มขึ้นอยู่กับจำนวนไฟที่คุณมี.
ก่อนอื่นให้คัดลอกสคริปต์ด้านล่างลงในเอกสารแผ่นจดบันทึกและบันทึกเป็นแบบ "huelights.ahk" ตรวจสอบให้แน่ใจว่าได้แทนที่ส่วนขยาย. txt ด้วย. ahk หากไม่มีสิ่งนั้น Notepad จะบันทึกเป็นไฟล์. txt และ AutoHotkey จะไม่สามารถเรียกใช้ได้.
WinHTTP: = ComObjCreate ("WinHTTP.WinHttpRequest.5.1") lightsOn: = 1 สำนักงาน: = [1,2] ห้องรับแขก: = [3,4] curgroup: = สำนักงาน
lightoff (ไฟ ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on": false WinHTTP.Send (bodytext) return lighton (light, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "on": true WinHTTP.Send (bodytext) return setlightct (light, newct, ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // ไฟ /". แสง "/ state", 0) bodytext = "ct":% newct% WinHTTP.Send (bodytext) modifylightct (แสงจำนวน ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /" light . "/ state", 0) bodytext = "ct_inc":% ปริมาณ%, "transitiontime": 2 WinHTTP.Send (bodytext) modifylightbrightness (แสงจำนวน ByRef WinHTTP) WinHTTP.Open ("PUT", "http: /// api // lights /". light. "/ state", 0) bodytext = "bri_inc":% จำนวน%%, "ช่วงการเปลี่ยนภาพ": 2 WinHTTP.Send (bodytext); ctrl-alt -1: เปลี่ยนเป็นกลุ่ม 1 ^! 1 :: curgroup: = office return; ctrl-alt-2: เปลี่ยนเป็นกลุ่ม 2 ^! 2 :: curgroup: = ส่งกลับห้องนั่งเล่น; ctr l-alt-o: เปิดไฟกลุ่มที่ ^! o :: สำหรับ _, แสงใน curgroup lighton (แสง, WinHTTP) กลับมา, ctrl-alt-i: ปิดกลุ่มแสง ^! i :: สำหรับ _, แสงใน curgroup lightoff (light, WinHTTP) ส่งคืน; ctrl-alt-l: สลับไฟทั้งหมด ^! l :: WinHTTP.Open ("PUT", "http: /// api // กลุ่ม / 0 / action", 0) ถ้า lightsOn > 0 bodytext = "on": false else bodytext = "on": true WinHTTP.Send (bodytext) lightsOn: = 1 - lightsOn return; ctrl-alt-k: ปิดไฟทั้งหมด ^! k :: WinHTTP.Open ("PUT", "http: /// api // กลุ่ม / 0 / การกระทำ", 0) bodytext = "on": false WinHTTP .Send (bodytext) lightsOn: = 0 return; ctrl-alt-Up: เพิ่มความอบอุ่นของกลุ่มแสงปัจจุบัน ^! Up :: for _, แสงใน curgroup modifylightct (light, 43, WinHTTP) return; ctrl-alt-Down: ลดความอบอุ่นของกลุ่มแสงปัจจุบัน ^! Down :: สำหรับ _, แสงใน curgroup modifylightct (แสง, -43, WinHTTP) กลับมา; ctrl-alt-Left: เพิ่มความสว่างของกลุ่มแสง ^! ซ้าย :: สำหรับ _, แสงใน curgroup ความสว่างสดใส (แสง -32, WinHTTP) กลับมา ctrl-alt- ขวา: ลดความสว่างของกลุ่มแสง ^! Right :: for _, แสงใน curgroup modifylightbrightness (แสง 32, WinHTTP)
ตอนนี้คุณจะต้องทำการปรับเปลี่ยนสองสามครั้ง ก่อนอื่นในสคริปต์ให้เปลี่ยนทุกตัวอย่างของ ไปยังที่อยู่ IP ที่คุณได้รับจากบริดจ์ก่อนหน้านี้ ถัดไปแทนที่
ด้วยชื่อผู้ใช้ Hue API ของคุณ ควรมีเจ็ดอินสแตนซ์ของแต่ละสคริปต์ในข้างต้น.
ถัดไปคุณจะเห็นส่วนที่ด้านบนที่กำหนดกลุ่มที่คุณสามารถควบคุมได้ ส่วนนั้นมีลักษณะดังนี้:
office: = [1,2] ห้องรับแขก: = [3,4]
สองบรรทัดแรกกำหนดกลุ่มของไฟ หลอดไฟแต่ละหลอดถูกกำหนดหมายเลขไว้ แต่ก็ไม่ชัดเจนเสมอไปว่าหลอดไฟแต่ละดวงของคุณตรงกับหมายเลขใด วิธีที่ง่ายที่สุดในการตรวจสอบคือเปิดแอพ Hue แล้วแตะการตั้งค่าจากนั้นแตะ Light Setup.
ที่นี่คุณจะเห็นรายการไฟทั้งหมดของคุณ นับแต่ละอันเพื่อคิดว่าไฟของคุณอยู่ที่ใด ตัวอย่างเช่นไฟสองดวงในสำนักงานของฉันอยู่ที่ด้านบนดังนั้นพวกเขาจะเป็น 1 และ 2 ด้านล่างนี้คือไฟในห้องนั่งเล่นของฉันดังนั้นควรเป็น 3 และ 4 หากคุณลบและเพิ่มไฟใหม่จากการตั้งค่าของคุณ ตัวเลขเหล่านี้อาจเปลี่ยนไปเล็กน้อยดังนั้นทดสอบสคริปต์ของคุณและใช้การลองผิดลองถูกเพื่อให้แน่ใจว่าคุณใช้ไฟที่เหมาะสม.
เมื่อคุณพบหมายเลขที่ตรงกับไฟของคุณให้เปลี่ยนในสองบรรทัดด้านบน คุณยังสามารถเปลี่ยนชื่อของแต่ละกลุ่มได้หากต้องการ เพียงให้แน่ใจว่าจะเปลี่ยน ทุกตัวอย่าง ของชื่อกลุ่มนั้นในสคริปต์ หากคุณต้องการเพิ่มกลุ่มที่สาม (หรือมากกว่า) ให้สร้างบรรทัดใหม่ด้านล่างสองกลุ่มแรกโดยใช้รูปแบบต่อไปนี้แทนที่ X, Y ด้วยจำนวนไฟที่คุณต้องการเพิ่มในกลุ่มนั้น:
roomname : = [X, Y]
คุณจะต้องเพิ่มทางลัดอื่นเพื่อให้สามารถเปลี่ยนเป็นกลุ่มที่สามได้ เลือกบล็อกข้อความต่อไปนี้ในสคริปต์ด้านบนและสร้างสำเนาไว้ใต้บล็อกข้อความนี้เปลี่ยนทั้ง 2s เป็น 3 และเปลี่ยน "ห้องรับแขก" (หรือชื่ออะไรก็ตามที่คุณให้กับกลุ่มที่สอง) เป็นชื่อของกลุ่มที่สาม:
; ctrl-alt-2: เปลี่ยนเป็นกลุ่ม 2 ^! 2 :: curgroup: = การส่งคืนห้องรับแขก
หากคุณคุ้นเคยกับ AutoHotkey คุณสามารถปรับแต่งสคริปต์นี้ได้มากขึ้นเพื่อเพิ่มทางลัดใหม่หรือควบคุมไฟของคุณในรูปแบบต่างๆ ตรวจสอบเอกสารของ AutoHotkey หากคุณต้องการความช่วยเหลือ คุณสามารถตรวจสอบ Philips Hue API ที่นี่เพื่อดูคำสั่งเพิ่มเติมที่คุณสามารถรวมเข้ากับสคริปต์ของคุณได้.