लोकल फ़ुलफ़िलमेंट पाथ तब बनाया जाता है, जब Google, स्थानीय रूप से कंट्रोल किए जा सकने वाले डिवाइस को, क्लाउड फ़ुलफ़िलमेंट से SYNC
रिस्पॉन्स में लौटाए गए डिवाइस से मैच करता है.
Google को लोकल नेटवर्क पर आपका डिवाइस खोजने की सुविधा देने और लोकल फ़ुलफ़िलमेंट पाथ बनाने के लिए, आपको Actions कंसोल में, खोज की जानकारी जोड़नी होगी.
आपको क्लाउड फ़ुलफ़िलमेंट से मिले SYNC
रिस्पॉन्स को भी अपडेट करना होगा,
ताकि Google को स्थानीय रूप से कंट्रोल किए जा सकने वाले डिवाइस के बारे में पता चल सके.
स्कैन कॉन्फ़िगरेशन की जानकारी सेट अप करें
खोज की जानकारी तय करने के लिए, यह तरीका अपनाएं:
- अपना स्मार्ट होम प्रोजेक्ट Actions कंसोल में खोलें.
- बाईं ओर मौजूद नेविगेशन में, कार्रवाइयां पर क्लिक करें.
- लोकल होम SDK टूल कॉन्फ़िगर करें (ज़रूरी नहीं) > डिवाइस स्कैन कॉन्फ़िगरेशन जोड़ें में जाकर, नया स्कैन कॉन्फ़िगरेशन पर क्लिक करें.
- ड्रॉप-डाउन से स्कैन से मेल खाने वाला प्रोटोकॉल टाइप चुनें और Google के लिए, स्कैन करने के लिए वैल्यू डालें.
नीचे दिए गए टेबल में वे एट्रिब्यूट दिखाए गए हैं जिन्हें जोड़ा जा सकता है. ये एट्रिब्यूट उन प्रोटोकॉल के आधार पर जोड़े जा सकते हैं जिनका इस्तेमाल Google से आपके डिवाइस को स्कैन करने के लिए करवाना है:
एट्रिब्यूट | ब्यौरा | उदाहरण वैल्यू |
---|---|---|
सेवा का नाम |
ज़रूरी है. डिवाइस ने service.domain फ़ॉर्मैट में सेवा का नाम पब्लिश किया है.
|
_http._tcp.local |
नाम |
ज़रूरी है. |
my-device-[0-9]{4}\._http\._tcp\.local |
एट्रिब्यूट | ब्यौरा | उदाहरण वैल्यू |
---|---|---|
सेवा प्रकार |
ज़रूरी है. domain:service:type:version फ़ॉर्मैट में, UPnP सेवा का पूरी तरह क्वालिफ़ाइड आइडेंटिफ़ायर.
|
schemas-upnp-org:service:SwitchPower:1 |
ओयूआई |
ज़रूरी नहीं. संगठन का यूनीक आइडेंटिफ़ायर. 24-बिट वैल्यू, जिससे डिवाइस बनाने वाली कंपनी की पहचान होती है. आम तौर पर, डिवाइस के MAC पते के पहले तीन ऑक्टेट. |
1A:2B:3C |
एट्रिब्यूट | ब्यौरा | उदाहरण वैल्यू |
---|---|---|
ब्रॉडकास्ट का पता | ज़रूरी है. यूडीपी ब्रॉडकास्ट के लिए डेस्टिनेशन का आईपी पता. | 255.255.255.255 |
ब्रॉडकास्ट पोर्ट | ज़रूरी है. UDP ब्रॉडकास्ट के लिए डेस्टिनेशन पोर्ट. | 5555 |
लिसन पोर्ट | ज़रूरी है. यूडीपी डिस्कवरी रिस्पॉन्स के लिए पोर्ट को सुनें. | 5556 |
डिस्कवरी पैकेट | ज़रूरी है. UDP ब्रॉडकास्ट में भेजने के लिए पेलोड. इसे हेक्साडेसिमल कोड वाली बाइट की स्ट्रिंग के तौर पर फ़ॉर्मैट किया गया है. |
48454C4C4F |
क्लाउड फ़ुलफ़िलमेंट में सिंक के जवाब को अपडेट करें
Assistant को SYNC
इंटेंट के ज़रिए रिपोर्ट दी जाती है कि
उपयोगकर्ता किन डिवाइसों को कंट्रोल करता है और उनकी क्षमताएं क्या हैं.
लोकल होम प्लैटफ़ॉर्म, स्थानीय तौर पर कार्रवाई करने के लिए, आपके स्मार्ट होम ऐक्शन के क्लाउड फ़ुलफ़िलमेंट से SYNC
रिस्पॉन्स की जांच करता है. साथ ही, otherDeviceIds
फ़ील्ड में मौजूद डिवाइस आईडी को, IDENTIFY
हैंडलर से मिले पुष्टि आईडी से मैच करने की कोशिश करता है. बिना otherDeviceIds
फ़ील्ड वाली डिवाइस एंट्री को स्थानीय तौर पर, वाहन बेचने के तरीकों की सूची से बाहर रखा जाता है.
SYNC
रिस्पॉन्स के otherDeviceIds
फ़ील्ड में, आपको उन स्मार्ट होम डिवाइसों के डिवाइस आईडी सेट करने होंगे जिन्हें लोकल तौर पर कंट्रोल किया जा सकता है. रिस्पॉन्स में फ़ील्ड, device
लेवल पर दिखता है. Google, दिए गए आईडी वाले किसी भी डिवाइस पर स्थानीय ऑर्डर पूरा करने का पाथ बना सकता है.
Google को किसी स्टैंडअलोन डिवाइस से कनेक्ट करने के लिए, ज़रूरत से ज़्यादा डेटा के बारे में बताने के लिए customData
फ़ील्ड का इस्तेमाल करें. इसके अलावा, हब की मदद से असली डिवाइसों को टारगेट करने के लिए, customData
फ़ील्ड का इस्तेमाल करें. जैसे, पोर्ट नंबर और प्रोटोकॉल से जुड़ी दूसरी खास जानकारी.
उदाहरण
नीचे दिया गया स्निपेट दिखाता है कि आप अपना SYNC
हैंडलर कैसे बना सकते हैं.
{ "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", "payload": { "agentUserId": "1836.15267389", "devices": [{ "id": "123", "type": "action.devices.types.OUTLET", "traits": [ "action.devices.traits.OnOff" ], "name": { "name": "Night light" }, "willReportState": false, "otherDeviceIds": [{ "deviceId": "local-device-id" }], "customData": { "port": 5555, "authToken": "..." } }] } }