ปลั๊กอิน Homebridge สำหรับ Philips Hue Sync Box
กล่องซิงค์สามารถเปิดเป็นหลอดไฟได้ รองรับคุณสมบัติต่อไปนี้:
เปิด/ปิด
ความสว่าง
กล่องซิงค์สามารถใช้เป็นสวิตช์ได้ รองรับคุณสมบัติต่อไปนี้:
เปิด/ปิด
คุณยังสามารถเปิดใช้งานอุปกรณ์เสริมทีวีเพิ่มเติมที่รองรับ:
การสลับอินพุต HDMI
การสลับโหมด
ความเข้มของการสลับ
สลับพื้นที่บันเทิง
อุปกรณ์เสริมทีวีเพิ่มเติมแต่ละชิ้นรองรับวิดเจ็ตรีโมท iOS:
ขึ้น/ลง: เปลี่ยนความสว่าง
ซ้าย/ขวา: เปลี่ยนความเข้ม
เลือก (ปุ่มกลาง): สลับโหมด
ปุ่มข้อมูล: สลับอินพุต HDMI
เล่น/หยุดชั่วคราว: สลับเปิด/ปิด
นอกจากนี้ อุปกรณ์เสริมทีวีแต่ละชิ้นยังมีหลอดไฟในตัวที่รองรับ:
เปิด/ปิด
ความสว่าง
สำคัญ : ต้องเพิ่มอุปกรณ์เสริมทีวีลงใน HomeKit ด้วยตนเอง บันทึกจะแสดงพินสำหรับเพิ่ม (ควรเป็นพินเดียวกันกับปลั๊กอิน)
ติดตั้งปลั๊กอินผ่าน npm:
npm ติดตั้ง homebridge-philips-hue-sync-box -g
คุณต้องสร้างข้อมูลรับรองใหม่เพื่อสื่อสารกับ Philips Hue Sync Box:
ตรวจสอบให้แน่ใจว่ากล่องซิงค์เปิดอยู่
ตรวจสอบให้แน่ใจว่าการซิงโครไนซ์หยุดแล้ว
ส่งคำขอ HTTP POST ไปที่ https://<SYNC-BOX-IP>/api/v1/registrations
เนื้อความของคำขอต้องเป็น JSON: { "appName": "homebridge", "appSecret": "MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge" }
การตอบกลับคำขอครั้งแรกจะเป็น { "code": 16, "message": "Invalid State" }
สิ่งสำคัญ: ตอนนี้ให้คลิกปุ่มของกล่องซิงค์ค้างไว้จนกระทั่งไฟ LED เปลี่ยนเป็นสีเขียว ปล่อยปุ่มทันทีที่ไฟ LED เป็นสีเขียว! มันจะเปลี่ยนเป็นสีขาวอีกครั้ง
ทำการร้องขออีกครั้งทันที
การตอบกลับมีสตริง accessToken
คำแนะนำ:
วิธีหนึ่งในการทำเช่นนี้คือการป้อนข้อมูลต่อไปนี้ลงใน Terminal: curl -H "Content-Type: application/json" -X POST -d '{"appName": "homebridge", "appSecret":"MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge"}' https://<SYNC-BOX-IP>/api/v1/registrations
, แทนที่ <SYNC-BOX-IP>
ด้วยที่อยู่ IP ของ Sync Box ของคุณ หากปัญหาเกิดขึ้นเนื่องจากข้อผิดพลาดของใบรับรอง ให้เพิ่มพารามิเตอร์ -k
ให้กับคำสั่ง cURL
อีกวิธีหนึ่งอาจเป็นการใช้เครื่องมือเช่น Postman ตั้งค่าวิธีการร้องขอเป็น POST
และป้อน https://<SYNC-BOX-IP>/api/v1/registrations
เป็น URL คำขอ (แทนที่ <SYNC-BOX-IP>
ด้วยที่อยู่ IP ของ Sync Box ของคุณ) จากนั้น เปิดแท็บ "เนื้อหา" ตั้งค่าประเภทเป็น "ดิบ" และเลือก "JSON" เป็นประเภทเนื้อหาในเมนูแบบเลื่อนลง จากนั้น ป้อน { "appName": "homebridge", "appSecret": "MDAwMTExMDAwMTExMDAwMTExMDAwMTExMDAwMTExMDA=", "instanceName": "homebridge" }
ลงในกล่องข้อความสำหรับเนื้อหา คลิกที่ปุ่ม "ส่ง" ที่ด้านบนขวาเพื่อส่งคำขอ หากเกิดปัญหาเนื่องจากข้อผิดพลาดของใบรับรอง คุณสามารถปิดใช้งานการตรวจสอบใบรับรองในบุรุษไปรษณีย์ได้ ไปที่การตั้งค่าส่วนกลาง เปิดแท็บ "ทั่วไป" และปิดใช้งานสวิตช์สลับสำหรับ "การตรวจสอบใบรับรอง SSL"
{"แพลตฟอร์ม": [ {"แพลตฟอร์ม": "PhilipsHueSyncBoxPlatform", "syncBoxIpAddress": "<SYNC-BOX-IP-ADDRESS>", "syncBoxApiAccessToken": "<ACCESS-TOKEN>", "defaultOnMode": "video", "defaultOffMode": " passthrough", "baseAccessory": "หลอดไฟ", "tvAccessory": false, "tvAccessoryType": "tv", "tvAccessoryLightbulb": false, "modeTvAccessory": false, "modeTvAccessoryType": "tv", "modeTvAccessoryLightbulb": false, "intensityTvAccessory": false, "intensityTvAccessoryType": "tv", "intensityTvAccessoryLightbulb": เท็จ, "entertainmentTvAccessory": false, "entertainmentTvAccessoryType": "tv", "ความบันเทิงTvAccessoryLightbulb": false, "isApiEnabled": false, "apiPort": 40220, "apiToken": "<โทเค็นของคุณ>"} - -
syncBoxIpAddress : ที่อยู่ IP ของ Philips Hue Sync Box ของคุณ
syncBoxApiAccessToken : โทเค็นการเข้าถึงที่คุณได้รับขณะลงทะเบียน
defaultOnMode (เป็นทางเลือก): โหมดที่ใช้เมื่อเปิดกล่องซิงค์ผ่าน HomeKit ค่าเริ่มต้นเป็น video
ค่าที่เป็นไปได้ ได้แก่ video
music
game
หรือ lastSyncMode
defaultOffMode (ทางเลือก): โหมดที่ใช้เมื่อปิดกล่องซิงค์ผ่าน HomeKit ค่าเริ่มต้นคือ passthrough
ค่าที่เป็นไปได้คือ powersave
หรือ passthrough
baseAccessory (อุปกรณ์เสริม): กำหนดประเภทของอุปกรณ์เสริมพื้นฐานสำหรับกล่องซิงค์ ค่าเริ่มต้นเป็น lightbulb
ค่าที่เป็นไปได้คือ lightbulb
switch
หรือ none
หาก none
การใช้งาน จะไม่มีการเปิดเผยอุปกรณ์เสริมฐานใดๆ
tvAccessory (อุปกรณ์เสริม): เปิดใช้งานอุปกรณ์เสริมทีวีเพื่อสลับอินพุตของกล่องซิงค์ ค่าเริ่มต้นเป็น false
tvAccessoryType (ไม่บังคับ): ประเภทของไอคอนที่แอพ Apple Home ควรแสดง ค่าที่เป็นไปได้ ได้แก่ tv
, settopbox
, tvstick
หรือ audioreceiver
ค่าเริ่มต้นเป็น tv
tvAccessoryLightbulb (อุปกรณ์เสริม): เปิดใช้งานหลอดไฟในตัวสำหรับอุปกรณ์เสริมทีวีเพื่อสลับอินพุต ค่าเริ่มต้นเป็น false
modeTvAccessory (อุปกรณ์เสริม): เปิดใช้งานอุปกรณ์เสริมทีวีเพื่อสลับโหมด ( video
music
game
) ของกล่องซิงค์ ค่าเริ่มต้นเป็น false
modeTvAccessoryType (ตัวเลือก): ประเภทของไอคอนที่แอพ Apple Home ควรแสดง ค่าที่เป็นไปได้ ได้แก่ tv
, settopbox
, tvstick
หรือ audioreceiver
ค่าเริ่มต้นเป็น tv
modeTvAccessoryLightbulb (อุปกรณ์เสริม): เปิดใช้งานหลอดไฟในตัวสำหรับอุปกรณ์เสริมทีวีเพื่อสลับโหมด ค่าเริ่มต้นเป็น false
IntensityTvAccessory (อุปกรณ์เสริม): เปิดใช้งานอุปกรณ์เสริมทีวีเพื่อเปลี่ยนความเข้ม ( subtle
moderate
high
intense
) ของกล่องซิงค์ ค่าเริ่มต้นเป็น false
IntensityTvAccessoryType (ไม่บังคับ): ประเภทของไอคอนที่แอพ Apple Home ควรแสดง ค่าที่เป็นไปได้ ได้แก่ tv
, settopbox
, tvstick
หรือ audioreceiver
ค่าเริ่มต้นเป็น tv
ความเข้มTvAccessoryLightbulb (อุปกรณ์เสริม): เปิดใช้งานหลอดไฟในตัวสำหรับอุปกรณ์เสริมทีวีเพื่อเปลี่ยนความเข้ม ค่าเริ่มต้นเป็น false
entertainmentTvAccessory (อุปกรณ์เสริม): เปิดใช้งานอุปกรณ์เสริมทีวีเพื่อสลับพื้นที่ความบันเทิงของกล่องซิงค์ ค่าเริ่มต้นเป็น false
entertainmentTvAccessoryType (ไม่บังคับ): ประเภทของไอคอนที่แอพ Apple Home ควรแสดง ค่าที่เป็นไปได้ ได้แก่ tv
, settopbox
, tvstick
หรือ audioreceiver
ค่าเริ่มต้นเป็น tv
ความบันเทิงTvAccessoryLightbulb (อุปกรณ์เสริม): เปิดใช้งานหลอดไฟในตัวสำหรับอุปกรณ์เสริมทีวีเพื่อสลับพื้นที่ความบันเทิง ค่าเริ่มต้นเป็น false
isApiEnabled (เป็นทางเลือก): เปิดใช้งาน HTTP API เพื่อควบคุมกล่องซิงค์ ค่าเริ่มต้นเป็น false
ดู API สำหรับข้อมูลเพิ่มเติม
apiPort (เป็นทางเลือก): พอร์ตที่ API (หากเปิดใช้งาน) ทำงานอยู่ ค่าเริ่มต้นเป็น 40220
โปรดเปลี่ยนการตั้งค่านี้ของพอร์ตที่ใช้งานอยู่แล้ว
apiToken (ไม่บังคับ): โทเค็นที่ต้องรวมไว้ในคำขอแต่ละรายการของ API จำเป็นหากเปิดใช้งาน API และไม่มีค่าเริ่มต้น
ปลั๊กอินนี้ยังให้ HTTP API เพื่อควบคุมคุณสมบัติบางอย่างของกล่องซิงค์ มันถูกสร้างขึ้นเพื่อให้คุณสามารถทำให้ระบบอัตโนมัติเพิ่มเติมด้วยทางลัด HomeKit ตั้งแต่ iOS 13 เป็นต้นไป คุณสามารถใช้ทางลัดสำหรับการทำงานอัตโนมัติของ HomeKit ได้ ระบบอัตโนมัติที่ดำเนินการบนตัวประสานงาน HomeKit (เช่น iPad, AppleTV หรือ HomePod) ยังรองรับคำขอ HTTP ซึ่งหมายความว่าคุณสามารถทำให้กล่องซิงค์ของคุณเป็นอัตโนมัติโดยไม่ต้องเปิดสวิตช์และปุ่มที่น่ารำคาญใน HomeKit
หากเปิดใช้งาน API จะสามารถเข้าถึงได้ที่พอร์ตที่ระบุบนโฮสต์ของปลั๊กอินนี้
http://<YOUR-HOST-IP-ADDRESS>:<apiPort>
ต้องระบุโทเค็นเป็นค่าของส่วนหัว Authorization
ในแต่ละคำขอ:
Authorization: <YOUR-TOKEN>
ใช้จุดสิ้นสุด state
เพื่อดึงข้อมูลสถานะของกล่องซิงค์ วิธีการ HTTP จะต้องเป็น GET
:
http://<YOUR-HOST-IP-ADDRESS>:<apiPort>/state
การตอบกลับคือการตอบกลับ JSON โดยมีคุณสมบัติดังต่อไปนี้:
{ groupId: '<group-number>', mode: 'passthrough|powersave|video|game|music', lastSyncMode: 'video|game|music', brightness: 0-100, hdmiSource: 'input1|input2|input3|input4', options: { video: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, game: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, music: { intensity: 'subtle|moderate|high|intense' } } }
ใช้จุดสิ้นสุด state
เพื่อตั้งค่าสถานะของกล่องซิงค์ วิธี HTTP จะต้องเป็น POST
:
http://<YOUR-HOST-IP-ADDRESS>:<apiPort>/state
เนื้อความของคำขอต้องเป็น JSON และสามารถมีค่าใดค่าหนึ่ง/บางส่วน/ทั้งหมดต่อไปนี้:
{ groupId: '<group-number>', mode: 'passthrough|powersave|video|game|music', brightness: 0-100, hdmiSource: 'input1|input2|input3|input4', options: { video: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, game: { intensity: 'subtle|moderate|high|intense', backgroundLighting: true|false }, music: { intensity: 'subtle|moderate|high|intense' } } }