जब ग्राहक को आपके क्लाउड फ़ुलफ़िलमेंट के दौरान SYNC
के जवाब के तौर पर दिखाया गया डिवाइस मिलता है, तब Google को लोकल फ़ुलफ़िलमेंट पाथ मिलता है.
स्थानीय नेटवर्क पर Google को आपका डिवाइस खोजने में मदद करने और कार्रवाई करने का स्थानीय तरीका
बनाने के लिए, आपको Actions कंसोल में खोज से जुड़ी जानकारी जोड़नी होगी.
आपको SYNC
क्लाउड से भेजे गए जवाब को भी अपडेट करना होगा, ताकि Google को स्थानीय रूप से कंट्रोल किए जा सकने वाले डिवाइस की जानकारी मिल सके.
स्कैन कॉन्फ़िगरेशन की जानकारी सेट अप करें
खोज से जुड़ी जानकारी देने के लिए, यह तरीका अपनाएं:
- Actions Console में अपना स्मार्ट होम प्रोजेक्ट खोलें.
- बाईं ओर मौजूद नेविगेशन में, कार्रवाइयां पर क्लिक करें.
- लोकल होम 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 |
ब्रॉडकास्ट पोर्ट | ज़रूरी है. यूडीपी ब्रॉडकास्ट के लिए डेस्टिनेशन पोर्ट. | 5555 |
पोर्ट सुनें | ज़रूरी है. यूडीपी डिस्कवरी रिस्पॉन्स के लिए पोर्ट सुनें. | 5556 |
डिस्कवरी पैकेट | ज़रूरी है. यूडीपी ब्रॉडकास्ट में भेजने के लिए पेलोड करें. इसे हेक्साडेसिमल एन्कोडेड स्ट्रिंग के रूप में फ़ॉर्मैट किया गया है. |
48454C4C4F |
क्लाउड फ़ुलफ़िल में SYNC जवाब अपडेट करें
SYNC
इंटेंट से, Assistant को पता चलता है कि उपयोगकर्ता किन डिवाइसों को कंट्रोल करता है और उनकी क्षमताएं क्या हैं.
स्थानीय नियमों का पालन करते समय, लोकल होम प्लैटफ़ॉर्म आपके स्मार्ट होम ऐक्शन के क्लाउड से मिले जवाब और SYNC
के रिस्पॉन्स की जांच करता है. साथ ही, otherDeviceIds
फ़ील्ड में मौजूद डिवाइस आईडी और IDENTIFY
हैंडलर के दिए गए 'पुष्टि करने के लिए आईडी' का मिलान भी करता है. otherDeviceIds
फ़ील्ड के बिना, डिवाइस के अनुरोधों को लोकल 'पूरा करने की सुविधा' में शामिल नहीं किया जाता.
SYNC
रिस्पॉन्स के
otherDeviceIds
फ़ील्ड में, आपको उन स्मार्ट होम डिवाइसों के डिवाइस आईडी सेट करने होंगे
जिन्हें स्थानीय तौर पर कंट्रोल किया जा सकता है. फ़ील्ड, रिस्पॉन्स में device
लेवल पर दिखता है. Google किसी भी डिवाइस पर दिए गए आईडी से, लोकल फ़ुलफ़िलमेंट पाथ बना सकता है.
customData
फ़ील्ड का इस्तेमाल करके, वह सारा डेटा तय करें जो Google को स्टैंडअलोन डिवाइस से कनेक्ट करने या हब के ज़रिए डिवाइसों को टारगेट करने के लिए ज़रूरी है. जैसे, पोर्ट नंबर और प्रोटोकॉल से जुड़ी दूसरी जानकारी.
उदाहरण
नीचे दिए गए स्निपेट में 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": "..." } }] } }