IotHub TALQ
  1. Device Class
IotHub TALQ
  • API
    • Guia
      • Vendor
        • Create a Guia Vendor
        • List Guia Vendors
        • Modify a Guia Vendor
        • Modify a Guia Photo Vendor
      • Devices
        • List Guia Devices
        • Get a Guia Device
        • Get a Guia Device Attribute History
        • List Guia Gateways
        • Modify devices
        • Modify device
        • Modify device function
        • Modify device - Set External Id
        • Modify device function attribute
        • Modify a Guia Change Asset Device
        • Create a Guia Device From Identified Material
        • Create a Guia Device Multiple From Identified Material
      • Device classes
        • List Guia Device Classes
        • Get a Guia Device Class
        • List Guia Device Class Functions
      • Functions
        • List Guia Functions
        • List Guia Function Attributes
        • List Guia Function Types
      • Attributes
        • List Guia Attributes get
        • List Guia Function Attributes
      • Groups
        • Create a Guia Group
        • List Guia Groups
        • Get a Guia Group
        • Get Count
        • Get a Guia Group Member Count
        • Update Groups
        • Update a Guia Group
        • Update a Guia Group Member
        • Delete a Guia Group
        • Delete a Guia Group Member
    • TALQ
      • Device Class
        • Create a Talq Device Class
          POST
        • Update Talq Device Class
          PUT
        • Delete a Talq Device Class
          DELETE
        • Update a Talq Device Class
          PUT
      • Device
        • Create a Talq Device
        • List Talq Devices
        • Modify a Talq Device
        • Update Talq Devices
        • Delete a Talq Device
        • Get a Talq Device
        • Modify a Talq Device patch
        • Update a Talq Device
        • Get a Talq Device Function
        • Get a Talq Device Attribute
      • Services
        • Create a Talq Service
      • Group
        • List Talq Groups
        • Get a Talq Group
    • Google Pub
      • Sub
        • List Pubsub Failed Messages
        • Get a Pubsub Failed Message
        • Delete a Pubsub Failed Message
        • Create a Pubsub Guia Device Multiple Devices Partial Update
        • Create a Pubsub Guia Device Partial Device Update
        • Create a Pubsub Guia Device Attribute Value Update
        • Create a Pubsub Guia Device Function Update
        • Create a Pubsub Guia Device Set External Id
        • Create a Pubsub Vendor Dispatcher Dispatch
    • Clients
      • Create a Client
      • Modify a Client Synchronize
    • Vendors
      • Create a Vendor
      • List Vendors
      • Create a Vendor Client Service Cod
      • Get a Vendor Client Service Cod
      • Delete a Vendor Client Service Cod
    • Health Check
      • List Health
  • Docs TALQ
    • Visão Geral do Projeto
    • Processo de Inicialização - Bootstrap Process
    • API TALQ
    • API GUIA
    • Tratamento de Erros
    • Configurações da instância
    • Sobreposição de comandos
  1. Device Class

Update Talq Device Class

PUT
/talq/device-classes
Update device classes supported by the gateway. Although this is a PUT operation, a device class cannot have its scope reduced, so this operation updates or adds functions/attributes

Request

Query Params

Body Params application/json

Example
[
    {
        "name": "cls:AllAttributes",
        "functions": [
            {
                "functionId": "fBasicFunction",
                "type": "BasicFunction",
                "vendorAttributes":
                [
                    {"scope":"configuration", "type": "AttributeBinary", "name": "Binary"},
                    {"scope":"configuration", "type": "AttributeBoolean", "name": "Boolean"},
                    {"scope":"configuration", "type": "AttributeBooleanState", "name": "BooleanState"},
                    {"scope":"configuration", "type": "AttributeCabinetActuatingType", "name": "CabinetActuatingType"},
                    {"scope":"configuration", "type": "AttributeCabinetSegmentsConfiguration", "name": "CabinetSegmentsConfiguration"},
                    {"scope":"configuration", "type": "AttributeCCTColorState", "name": "CCTColorState"},
                    {"scope":"configuration", "type": "AttributeCommand", "name": "Command"},
                    {"scope":"configuration", "type": "AttributeContentsType", "name": "ContentsType"},
                    {"scope":"configuration", "type": "AttributeDateTime", "name": "DateTime"},
                    {"scope":"configuration", "type": "AttributeFactorSense", "name": "FactorSense"},
                    {"scope":"configuration", "type": "AttributeFloat", "name": "Float"},
                    {"scope":"configuration", "type": "AttributeFloatKVPArray", "name": "FloatKVPArray"},
                    {"scope":"configuration", "type": "AttributeFloatState", "name": "FloatState"},
                    {"scope":"configuration", "type": "AttributeGasName", "name": "GasName"},
                    {"scope":"configuration", "type": "AttributeInteger", "name": "Integer"},
                    {"scope":"configuration", "type": "AttributeIntegerState", "name": "IntegerState"},
                    {"scope":"configuration", "type": "AttributeLevelAndCCTColorState", "name": "LevelAndCCTColorState"},
                    {"scope":"configuration", "type": "AttributeLevelAndRGBWAFColorState", "name": "LevelAndRGBWAFColorState"},
                    {"scope":"configuration", "type": "AttributeLevelAndXYColorState", "name": "LevelAndXYColorState"},
                    {"scope":"configuration", "type": "AttributeLevelState", "name": "LevelState"},
                    {"scope":"configuration", "type": "AttributeLocalOverride", "name": "LocalOverride"},
                    {"scope":"configuration", "type": "AttributeLocation", "name": "Location"},
                    {"scope":"configuration", "type": "AttributeLuminaireConnectionType", "name": "LuminaireConnectionType"},
                    {"scope":"configuration", "type": "AttributeMountingOption", "name": "MountingOption"},
                    {"scope":"configuration", "type": "AttributeOrientation", "name": "Orientation"},
                    {"scope":"configuration", "type": "AttributeParkingSlotDataArray", "name": "ParkingSlotDataArray"},
                    {"scope":"configuration", "type": "AttributeParkingSlotOccupancyStatus", "name": "ParkingSlotOccupancyStatus"},
                    {"scope":"configuration", "type": "AttributePercent", "name": "Percent"},
                    {"scope":"configuration", "type": "AttributePositionedTextState", "name": "PositionedTextState"},
                    {"scope":"configuration", "type": "AttributePowerSource", "name": "PowerSource"},
                    {"scope":"configuration", "type": "AttributeRGBState", "name": "RGBState"},
                    {"scope":"configuration", "type": "AttributeRGBWAFColorState", "name": "RGBWAFColorState"},
                    {"scope":"configuration", "type": "AttributeRoadUser", "name": "RoadUser"},
                    {"scope":"configuration", "type": "AttributeString", "name": "String"},
                    {"scope":"configuration", "type": "AttributeStringArray", "name": "StringArray"},
                    {"scope":"configuration", "type": "AttributeSupplyType", "name": "SupplyType"},
                    {"scope":"configuration", "type": "AttributeTextState", "name": "TextState"},
                    {"scope":"configuration", "type": "AttributeTrafficDirection", "name": "TrafficDirection"},
                    {"scope":"configuration", "type": "AttributeUri", "name": "Uri"},
                    {"scope":"configuration", "type": "AttributeVelocity", "name": "Velocity"},
                    {"scope":"configuration", "type": "AttributeWindDirection", "name": "WindDirection"},
                    {"scope":"configuration", "type": "AttributeXYColorState", "name": "XYColorState"}
                ]
            }
        ]
    }
]

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request PUT 'https://iot.exati.com.br/talq/device-classes?clientAddress={{gateway-uuid}}' \
--header 'Content-Type: application/json' \
--data-raw '[
    {
        "name": "cls:AllAttributes",
        "functions": [
            {
                "functionId": "fBasicFunction",
                "type": "BasicFunction",
                "vendorAttributes":
                [
                    {"scope":"configuration", "type": "AttributeBinary", "name": "Binary"},
                    {"scope":"configuration", "type": "AttributeBoolean", "name": "Boolean"},
                    {"scope":"configuration", "type": "AttributeBooleanState", "name": "BooleanState"},
                    {"scope":"configuration", "type": "AttributeCabinetActuatingType", "name": "CabinetActuatingType"},
                    {"scope":"configuration", "type": "AttributeCabinetSegmentsConfiguration", "name": "CabinetSegmentsConfiguration"},
                    {"scope":"configuration", "type": "AttributeCCTColorState", "name": "CCTColorState"},
                    {"scope":"configuration", "type": "AttributeCommand", "name": "Command"},
                    {"scope":"configuration", "type": "AttributeContentsType", "name": "ContentsType"},
                    {"scope":"configuration", "type": "AttributeDateTime", "name": "DateTime"},
                    {"scope":"configuration", "type": "AttributeFactorSense", "name": "FactorSense"},
                    {"scope":"configuration", "type": "AttributeFloat", "name": "Float"},
                    {"scope":"configuration", "type": "AttributeFloatKVPArray", "name": "FloatKVPArray"},
                    {"scope":"configuration", "type": "AttributeFloatState", "name": "FloatState"},
                    {"scope":"configuration", "type": "AttributeGasName", "name": "GasName"},
                    {"scope":"configuration", "type": "AttributeInteger", "name": "Integer"},
                    {"scope":"configuration", "type": "AttributeIntegerState", "name": "IntegerState"},
                    {"scope":"configuration", "type": "AttributeLevelAndCCTColorState", "name": "LevelAndCCTColorState"},
                    {"scope":"configuration", "type": "AttributeLevelAndRGBWAFColorState", "name": "LevelAndRGBWAFColorState"},
                    {"scope":"configuration", "type": "AttributeLevelAndXYColorState", "name": "LevelAndXYColorState"},
                    {"scope":"configuration", "type": "AttributeLevelState", "name": "LevelState"},
                    {"scope":"configuration", "type": "AttributeLocalOverride", "name": "LocalOverride"},
                    {"scope":"configuration", "type": "AttributeLocation", "name": "Location"},
                    {"scope":"configuration", "type": "AttributeLuminaireConnectionType", "name": "LuminaireConnectionType"},
                    {"scope":"configuration", "type": "AttributeMountingOption", "name": "MountingOption"},
                    {"scope":"configuration", "type": "AttributeOrientation", "name": "Orientation"},
                    {"scope":"configuration", "type": "AttributeParkingSlotDataArray", "name": "ParkingSlotDataArray"},
                    {"scope":"configuration", "type": "AttributeParkingSlotOccupancyStatus", "name": "ParkingSlotOccupancyStatus"},
                    {"scope":"configuration", "type": "AttributePercent", "name": "Percent"},
                    {"scope":"configuration", "type": "AttributePositionedTextState", "name": "PositionedTextState"},
                    {"scope":"configuration", "type": "AttributePowerSource", "name": "PowerSource"},
                    {"scope":"configuration", "type": "AttributeRGBState", "name": "RGBState"},
                    {"scope":"configuration", "type": "AttributeRGBWAFColorState", "name": "RGBWAFColorState"},
                    {"scope":"configuration", "type": "AttributeRoadUser", "name": "RoadUser"},
                    {"scope":"configuration", "type": "AttributeString", "name": "String"},
                    {"scope":"configuration", "type": "AttributeStringArray", "name": "StringArray"},
                    {"scope":"configuration", "type": "AttributeSupplyType", "name": "SupplyType"},
                    {"scope":"configuration", "type": "AttributeTextState", "name": "TextState"},
                    {"scope":"configuration", "type": "AttributeTrafficDirection", "name": "TrafficDirection"},
                    {"scope":"configuration", "type": "AttributeUri", "name": "Uri"},
                    {"scope":"configuration", "type": "AttributeVelocity", "name": "Velocity"},
                    {"scope":"configuration", "type": "AttributeWindDirection", "name": "WindDirection"},
                    {"scope":"configuration", "type": "AttributeXYColorState", "name": "XYColorState"}
                ]
            }
        ]
    }
]'

Responses

🟢200OK
application/json
The list of device classes that has been updated
Body

Example
[
    {
        "name": "string",
        "functions": [
            {
                "functionId": "BasicFunction02",
                "type": "BasicFunction",
                "vendorAttributes": [
                    {
                        "name": "string",
                        "description": "string",
                        "minValue": 0,
                        "maxValue": 0,
                        "regex": "string",
                        "readOnly": true,
                        "enumValues": [
                            "string"
                        ],
                        "unit": "string",
                        "vendorUuid": "string",
                        "scope": "measurement",
                        "type": "AttributeBinary",
                        "commands": {},
                        "types": {}
                    }
                ],
                "attributes": [
                    {
                        "name": "string",
                        "description": "string",
                        "minValue": 0,
                        "maxValue": 0,
                        "regEx": "string",
                        "readOnly": true,
                        "enumValues": [
                            "string"
                        ],
                        "unit": "string",
                        "commands": {
                            "scope": "default",
                            "attributes": "reason",
                            "states": {},
                            "levels": {}
                        },
                        "types": {
                            "address": "string",
                            "name": "LuminaireType",
                            "properties": [
                                {
                                    "name": "string",
                                    "description": "string",
                                    "minValue": 0,
                                    "maxValue": 0,
                                    "regEx": "string",
                                    "readOnly": true,
                                    "enumValues": [
                                        "string"
                                    ],
                                    "unit": "string"
                                }
                            ]
                        }
                    }
                ],
                "events": [
                    {
                        "name": "string",
                        "description": "string",
                        "uuid": "string",
                        "functionUuid": "string",
                        "type": "string"
                    }
                ]
            }
        ]
    }
]
🟠400Bad Request
🟠403Forbidden
🟠404Record Not Found
🟠409409
🟠422Parameter Error
Modified at 2025-07-30 17:06:35
Previous
Create a Talq Device Class
Next
Delete a Talq Device Class