SUBSCRIPTIONS


จะเป็น Function ที่ทำงานแบบ WebSockets คือ เป็นการ On Event รอรับการส่งข้อมูล (Push) จาก Platform คล้าย ๆ กับการ Subscribe ใน MQTT ซึ่งจะทำให้ได้รับข้อมูลแบบ Real Time เมื่อมีการเปลี่ยนของข้อมูลตามละเหตุการรณ์ที่ผู้ใช้งานสนใจและมีการเรียก Subscription Function รอไว้ ประกอบด้วย


DeviceStatusChanged

สำหรับรอรับข้อมูลการเปลี่ยนแปลงสถานะการเชื่อมต่อ Platform (Online/Offline) ของ Device ด้วย Device ID รายละเอียดดังนี้

deviceStatusChanged ( deviceid ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : DeviceStatus

เมื่อสถานะการเชื่อมต่อ Platform ของ Device มีการเปลี่ยน จาก Online เป็น Offline หรือ Offline เป็น Online จะมีกาารตอบกลับเป็น Object Type DeviceStatus ประกอบด้วย

  • deviceid: String คือ รหัสของ Device

  • groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้

  • projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้

  • status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (1 Online, 0 Offilne)

  • enabled: Boolean คือ สถานะการเปิดใช้งาน Device (true เปิดการใช้งาน, false ปิดการใช้งาน)

ตัวอย่างการใช้งานฟังก์ชัน ดังรูปด้านล่าง

_images/gql2_sub_devicestatuschanged.png

DeviceStatusChangedByGroup

สำหรับรอรับข้อมูลการเปลี่ยนแปลงสถานะการเชื่อมต่อ Platform (Online/Offline) ของทุก Devices ที่อยู่ภายใต้ Group ID รายละเอียดดังนี้

deviceStatusChangedByGroup ( groupid ):

Arguments

  • groupid: String คือ รหัสของ Group ที่สนใจ (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Device

เมื่อสถานะการเชื่อมต่อ Platform ของ Devices ที่อยู่ภายในใต้ Group มีการเปลี่ยน จาก Online เป็น Offline หรือ Offline เป็น Online จะมีกาารตอบกลับเป็น Object Type Device ประกอบด้วย

  • alias: String คือ ชื่อของ Device

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Device

  • credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย

    secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication

  • description: String คือ คำอธิบาย Device

  • deviceid: String คือ รหัสของ Device

  • devicesecret: String คือ รหัสลับของ Device

  • groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้

  • groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้

  • projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้

  • status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0 offline, 1 online)

  • tag: String คือ แท็กของ Device แบบค่าเดียว

  • hashtag: [String] คือ แท็กของ Device แบบหลายค่า

  • tags: Json คือ แท็กของ Device ในรูปแบบ Key Value

  • enabled: Boolean คือ สถานะการเปิดใช้งาน Device (true เปิดการใช้งาน, false ปิดการใช้งาน)

  • banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (true ถูกรระงับใช้งาน, false ไม่ถูกรระงับใช้งาน)

ตัวอย่างการใช้งานฟังก์ชัน ดังรูปด้านล่าง

_images/gql2_sub_devicestatuschangedbygroup.png

DeviceStatusChangedByProject

สำหรับรอรับข้อมูลการเปลี่ยนแปลงสถานะการเชื่อมต่อ Platform (Online/Offline) ของทุก Devices ที่อยู่ภายใต้ Project ID รายละเอียดดังนี้

deviceStatusChangedByGroup ( projectid ):

Arguments

  • projectid: String คือ รหัสของ Project ที่สนใจ (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Device

เมื่อสถานะการเชื่อมต่อ Platform ของ Devices ที่อยู่ภายในใต้ Project มีการเปลี่ยน จาก Online เป็น Offline หรือ Offline เป็น Online จะมีกาารตอบกลับเป็น Object Type Device ประกอบด้วย

  • alias: String คือ ชื่อของ Device

  • createdtime: Timestamp คือ วันเวลาที่สร้าง Device

  • credential: Credential คือ ข้อมูลสำหรับยืนยันตัวตน Object Type credential ประกอบด้วย

    secret: String คือ รหัสลับของ Device สำหรับใช้ Authentication

  • description: String คือ คำอธิบาย Device

  • deviceid: String คือ รหัสของ Device

  • devicesecret: String คือ รหัสลับของ Device

  • groupid: String คือ รหัสของ Group ที่ Device อยู่ภายใต้

  • groupname: String คือ ชื่อของ Group ที่ Device อยู่ภายใต้

  • projectid: String คือ รหัสของ Project ที่ Device อยู่ภายใต้

  • status: Int คือ สถานะการเชื่อมต่อ Platform ของ Device (0 offline, 1 online)

  • tag: String คือ แท็กของ Device แบบค่าเดียว

  • hashtag: [String] คือ แท็กของ Device แบบหลายค่า

  • tags: Json คือ แท็กของ Device ในรูปแบบ Key Value

  • enabled: Boolean คือ สถานะการเปิดใช้งาน Device (true เปิดการใช้งาน, false ปิดการใช้งาน)

  • banned: Boolean คือ สถานะถูกระงับใช้งานจากระบบ (true ถูกรระงับใช้งาน, false ไม่ถูกรระงับใช้งาน)

ตัวอย่างการใช้งานฟังก์ชัน ดังรูปด้านล่าง

_images/gql2_sub_devicestatuschangedbyproject.png

FeedUpdated

สำหรับรอรับข้อมูลการเปลี่ยนแปลง Shadow ของ Device ด้วย Device ID รายละเอียดดังนี้

feedUpdated ( deviceid ):

Arguments

  • feedid: String คือ รหัสของ Feed ซึ่งใช้ค่าเดียวกับ deviceid (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Shadow

เมื่อ Shadow ของ Device มีการเปลี่ยนแปลง จะมีกาารตอบกลับเป็น Object Type Shadow ประกอบด้วย

  • feedid: String คือ รหัสของ Feed

  • data: JSON คือ ข้อมูลในแต่ละฟิลด์

  • timestamp: Timestamp คือ วันเวลาที่เกิดข้อมูลข้อมูลล่าสุด

ตัวอย่างการใช้งานฟังก์ชัน ดังรูปด้านล่าง

_images/gql2_feedupdated.png

ShadowUpdated

สำหรับรอรับข้อมูลการเปลี่ยนแปลง Shadow ของ Device ด้วย Device ID รายละเอียดดังนี้

shadowUpdated ( deviceid ):

Arguments

  • deviceid: String คือ รหัสของ Device (ต้องระบุค่า)

Query Variables

Authorization: User Token

Response Type : Shadow

เมื่อ Shadow ของ Device มีการเปลี่ยนแปลง จะมีกาารตอบกลับเป็น Object Type Shadow ประกอบด้วย

  • deviceid: String คือ รหัสของ Device

  • data: JSON คือ Shadow ที่กำหนดไว้ ซึ่งจะอยู่ในรูปแบบ JSON

  • rev: Int คือ เลขที่ Revision

  • modified: Timestamp คือ วันเวลาที่มีการแก้ไขข้อมูลล่าสุด

ตัวอย่างการใช้งานฟังก์ชัน ดังรูปด้านล่าง

_images/gql2_sub_shadowUpdated.png