CameraEventImage स्कीमा

Nest Cam (legacy) Nest Hub Max Nest Doorbell (legacy) 

sdm.devices.traits.CameraEventImage

यह ट्रेट, ऐसे किसी भी डिवाइस से जुड़ी होती है जो इवेंट से इमेज जनरेट करने की सुविधा देता है.

फ़ील्ड

इस ट्रेट के लिए कोई फ़ील्ड उपलब्ध नहीं है.

निर्देश

GenerateImage

इस कुकी से, कैमरा इमेज डाउनलोड करने के लिए यूआरएल मिलता है.

यह कमांड इन इवेंट के साथ काम करती है:

टाइप एलिमेंट ब्यौरा
इवेंट CameraMotion trait का Motion इवेंट कैमरे ने हलचल का पता लगाया है.
इवेंट CameraPerson trait की Person इवेंट कैमरे ने किसी व्यक्ति की पहचान की है.
इवेंट CameraSound trait का Sound इवेंट कैमरे ने आवाज़ की पहचान की है.
इवेंट DoorbellChime trait का Chime इवेंट दरवाज़े की घंटी बजाई गई है.
कमांड के अनुरोध में, उस इवेंट के eventId का इस्तेमाल करें जिसके लिए यह सुविधा काम करती है. इससे आपको उस इवेंट से जुड़ी कैमरे की इमेज का डाउनलोड यूआरएल मिलेगा.

GenerateImage अनुरोध और जवाब

अनुरोध

POST /enterprises/project-id/devices/device-id:executeCommand
{
  "command" : "sdm.devices.commands.CameraEventImage.GenerateImage",
  "params" : {
    "eventId" : "Z5F5uAKjOLCHumjqPhz3JaihCv..."
  }
}

जवाब

{
  "results" : {
    "url" : "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...",
    "token" : "g.0.eventToken"
  }
}

GenerateImage अनुरोध फ़ील्ड

फ़ील्ड ब्यौरा डेटा टाइप
eventId उस इवेंट का आईडी जिसके लिए, कैमरे से ली गई इमेज का अनुरोध करना है. string
उदाहरण: "Z5F5uAKjOLCHumjqPhz3JaihCv..."

GenerateImage रिस्पॉन्स फ़ील्ड

फ़ील्ड ब्यौरा डेटा टाइप
url कैमरे की इमेज डाउनलोड करने का यूआरएल. string
उदाहरण: "https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1..."
token इमेज डाउनलोड करते समय, एचटीटीपी ऑथराइज़ेशन हेडर में इस्तेमाल किया जाने वाला टोकन. string
उदाहरण: "g.0.eventToken"

कैमरे से ली गई इमेज डाउनलोड करना

कैमरे की इमेज डाउनलोड करने के लिए, url को GET कॉल करें. इसके लिए, GenerateImage कमांड के जवाब में मिले token का इस्तेमाल करें. यह token, एचटीटीपी ऑथराइज़ेशन हेडर में बेसिक ऑथराइज़ेशन के साथ मौजूद होता है:

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...

डाउनलोड की गई इमेज के रिज़ॉल्यूशन को पसंद के मुताबिक बनाने के लिए, width या height क्वेरी पैरामीटर का इस्तेमाल करें. इनमें से सिर्फ़ एक पैरामीटर की वैल्यू देनी होती है. कैमरे के आसपेक्ट रेशियो के हिसाब से, दूसरा पैरामीटर अपने-आप स्केल हो जाता है.

उदाहरण के लिए, अगर कैमरे का आसपेक्ट रेशियो 4:3 है, तो कैमरे की इमेज को 480 x 360 के रिज़ॉल्यूशन में डाउनलोड करने के लिए, चौड़ाई या ऊंचाई में से किसी एक को तय करें:

चौड़ाई

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?width=480

ऊंचाई

curl -H "Authorization: Basic g.0.eventToken" \
      https://domain/sdm_event_snapshot/dGNUlTU2CjY5Y3VKaTZwR3o4Y1...?height=360

डाउनलोड यूआरएल पर ये पाबंदियां भी लागू होती हैं:

  • अगर यूआरएल में दोनों पैरामीटर दिए गए हैं, तो width का इस्तेमाल किया जाता है और height को अनदेखा कर दिया जाता है.
  • अगर यूआरएल में दोनों पैरामीटर नहीं दिए गए हैं, तो width के लिए डिफ़ॉल्ट वैल्यू 480 चुनी जाती है.

इमेज प्रॉपर्टी के बारे में जानने के लिए, CameraImage trait देखें.

गड़बड़ियां

इस एट्रिब्यूट के लिए, ये गड़बड़ी कोड दिखाए जा सकते हैं:

गड़बड़ी का मैसेज RPC समस्या का हल
कैमरे की इमेज अब डाउनलोड नहीं की जा सकती. DEADLINE_EXCEEDED इवेंट की इमेज, इवेंट पब्लिश होने के 30 सेकंड बाद हट जाती हैं. पक्का करें कि इमेज की समयसीमा खत्म होने से पहले, उसे डाउनलोड कर लिया गया हो.
इवेंट आईडी, कैमरे से जुड़ा नहीं है. FAILED_PRECONDITION कैमरे के इवेंट से मिले सही eventID का इस्तेमाल करें.

एपीआई वाली गड़बड़ियों के कोड की पूरी सूची देखने के लिए, एपीआई वाली गड़बड़ियों के कोड का रेफ़रंस देखें.