跳至主要內容

属性类型

约 757 字大约 3 分钟

属性类型

在 ThingsCloud 设备类型的功能定义中添加属性定义时,您需要选择属性类型

属性类型用来定义属性在设备端和云平台之间的流动方向,确保设备和云平台的通信保持规范化和一致性。云平台会自动检查属性消息是否符合属性类型,并过滤掉不符合定义的属性消息。

以下列出不同的属性类型允许的属性消息:

属性上报消息属性下发消息云端属性更新消息
未定义类型
设备上报类型
云端下发类型
设备云端共享类型
云端私有类型

设备上报类型

设备上报类型属性只能由设备上报到云平台。

例如 温度湿度GPS 位置 这样的数据来自设备自身的探测和感知,只能由设备上报给云平台,而不允许云平台下发到设备。

设备上报属性的常见例子:

  • 温度属性上报
{
    "temperature": 28.4
}
  • 温度和湿度属性上报
{
    "temperature": 28.4,
    "humidity": 54.2
}
  • 开关状态上报
{
    "DI1": true,
    "DI2": false,
    "DI3": false,
    "DI4": true,
    "DI5": true,
    "DI6": false
}
  • 固件当前版本上报
{
    "version": "1.3.2"
}
  • GPS 坐标上报
{
    "location": {
        "lat": 38.8721,
        "lng": 139.1647
    }
}

云端下发类型

云端下发类型属性只能由云平台下发到设备。

例如 温度告警阈值设备工作模式 是由用户或智能应用来确定,通过云平台下发给设备。

云端下发属性的常见例子:

  • 下发温度阈值上下限
{
    "temp_max": 35,
    "temp_min": 5
}
  • 电源开关控制
{
    "power": false
}
  • 模式切换
{
    "mode": "semi-auto"
}

设备云端共享类型

设备云端共享类型属性既可以由设备上报到云平台,也可以由云平台下发到设备,也就是可以同时被设备和云平台改写。

例如 继电器开关 通常由云端下发到设备,实现照明、电机、水泵、风扇等负载的开关,同时当设备本地改变继电器状态后,也可以上报给云平台来更新状态,在控制台或 App 中展示最新的状态。

设备云端共享属性的常见例子:

  • 灯泡开关状态
{
    "light": false
}

云端私有类型

云端私有类型属性只能在云平台更新,不会下发到设备,也无法由设备上报到云平台。

云端私有属性的常见例子:

  • 定义在云端的温度阈值属性,例如:
{
    "temp_max": 38
}
  • 定义在云端的定时开关时间,可由用户编辑。例如:
{
    "auto_time": "08:30:00"
}

云端私有属性通常用在消息规则任务的处理逻辑中,通过内置函数可以读取设备当前所有属性,也包括云端私有属性,实现更多丰富的应用场景。