客户端MQTT主题

说明:

json推送和接受数据格式

{
    "code":3001,
    "data":{
    // 内容
    }
}

a、code对应业务内容

code 业务内容 主题方式
3001 区域增删改 推送
3002 修改设备信息 推送
3003 修改场景名称 推送
3004 控制zigbee 推送
3005 区域增删改管理 订阅
3006 zigbee设备状态 订阅
3007 警告 订阅
3008 规则同步、删除 订阅
3009 场景新增、编辑、删除 订阅
3010 网关同步上云 订阅
3011 定时新增、编辑、删除、状态 订阅
3012 修改设备名称 订阅
3013 修改场景名称 订阅
3014 新增zigbee设备 订阅
3016 新增zigbee设备 订阅
0000 查询网关是否在线 推送

b、订阅主题

一、sys/fya/iot/from/${homeId}/${snCode}/device

主题内容:控制设备下发
数据类型:byte

二、sys/fya/iot/from/${homeId}/${snCode}/control

主题内容:控制群组下发
数据类型:byte

三、sys/fya/iot/from/${homeId}/${snCode}/scene

主题内容:控制场景下发
数据类型:byte

四、sys/fya/iot/from/${homeId}/${snCode}/deviceStatus

主题内容:设备在线离线下发
数据类型:byte

五、sys/fya/iot/from/${homeId}/${snCode}/deviceService

主题内容:设备服务下发
数据类型:byte

六、主题:sys/fya/iot/from/${homeId}/${snCode}/json

主题内容:参数里的code(int类型)字段区分业务
数据类型:json格式

1、3005-区域管理

返回值:

// 添加区域
{
    "code":3005,
    "data":{
        "code":200,
        "id":"",
        "name":"",
        "parentId":"",
        "type":"ADD",
        "sign":""
    }
}
// 修改区域
{
    "code":3005,
    "data":{
        "code":200,
        "id":"",
        "name":"",
        "type":"UPDATE",
        "sign":""
    }
}
// 删除区域
{
{
    "code":3005,
    "data":{
        "code":200,
        "id":"",
        "type":"DELETE",
        "sign":""
    }
}

2、3006-zigbee设备状态

返回值:

// zigbee设备状态
{
    "code":3006,
    "data":{
        "id":"588E81FFFE34F721",
        "body":{
            "2":{
                "content":{
                    "State":"1"
                }
            }
        },
        "sign":"18689E239895EE696E971026DDBF621B"
    }
}

3、3007-警告

返回值:

{
    "code":3007,
    "data":{
        "id":"",// 设备编号
        "source":"",// DEVICE、CONTROL、SCENE
        "body":{
            "endpointId":"1", // 通道(按键)编号
            "type":"03A5",// 类型
            "event":"" // 根据zigbee中的事件参数返回
        },
        "sign":""
    }
}

4、3008-规则同步、删除

返回值:

// 同步规则
{
    "code":3008,
    "data":{
        "id":"",
        "type":"STATUS",
        "status":false,
        "sign":""
    }
}
// 删除规则
{
    "code":3008,
    "data":{
        "id":"",
        "type":"DELETE",
        "sign":""
    }
}

5、3009-场景新增、编辑、删除

返回值:

{
    "code":3009,
    "data":{
        "id":"",
        "name":"",
        "snCode":"",
        "orderWeight":0,
        "onIcon":"",
        "onImage":"",
        "onIconSource":0,
        "onImageSource":0,
        "status":0,
        "change":false,
        "disablePush":false,
        "type":"", // ADD 新增,UPDATE 修改,DELETE 删除
        "sign":""
    }
}

6、3010-网关同步上云

返回值:

{
    "code":3010,
    "data":{
        "type":9,
        "body":null,
        "sign":""
    }
}

7、3011-定时新增、编辑、删除、状态

返回值:

{
    "code":3011,
    "data":{
        "type":"ADD",// 新增:ADD,删除:DEL,状态:STATUS,修改:UPDATE
        "data":{
            "sourceId":"",
            "source":"",
            "id":""
        },
        "sign":""
    }
}

8、3012-修改设备名称

返回值:

{
    "code":3012,
    "data":{
        "id":"",
        "name":"",
        "areaId":"",
        "labelId":"",
        "nameMap":{
            "key":"name"
        }, 
        "groupingMap":{
            1:""
        },
        "sign":""
    }
}

9、3013-修改场景名称

返回值:

{
    "code":3013,
    "data":{
        "id":"",
        "name":"",
        "type":"UPDATE",
        "sign":""
    }
}

10、3014-新增zigbee设备

返回值:

{
    "code":3014,
    "data":{
            "id":"",
            "name":"",
            "grouping":"",
            "modularId":"",
            "modularTypeId":"ZIGBEE",
            "productId":"",
            "hide":false,
            "state":0,
            "orderWeight":0
    }
}

c、推送主题

一、sys/fya/iot/to/${homeId}/${snCode}/device

主题内容:控制设备
数据类型:byte

二、sys/fya/iot/to/${homeId}/${snCode}/control

主题内容:控制群组
数据类型:byte

三、sys/fya/iot/to/${homeId}/${snCode}/scene

主题内容:控制场景
数据类型:byte

四、sys/fya/iot/to/${homeId}/${snCode}/json

主题内容:根据返回数据的code(int类型)字段区分
数据类型:json格式

1、3001-区域增删改

参数:

// 新增区域
{
    "code":3001,
    "data":{
        "name":"",
        "parentId":"",
        "type":"ADD",
        "sign":""
    }
}
// 修改区域
{
    "code":3001,
    "data":{
        "id":"",
        "name":"",
        "type":"UPDATE",
        "sign":""
    }
}
// 删除区域
{
    "code":3001,
    "data":{
        "id":"",
        "type":"DELETE",
        "sign":""
    }
}

2、3002-修改设备信息

参数:

{
    "code":3002,
    "data":{
        "id":"",
        "name":"",
        "areaId":"",
        "labelId":"",
        "nameMap":{
        "key":"name"
        },
        "groupingMap":{
            1:"" // 修改groupingMap时 ,key是int的
        },
        "sign":""
    }
}

3、3003-修改场景名称

参数:

{
    "code":3003,
    "data":{
        "id":"",
        "name":"",
        "type":"UPDATE",
        "sign":""
    }
}

3、3004-控制zigbee

参数:

{
    "code":3004,
    "data":{
        "id":"588E81FFFE34F721",
        "endpointId":"1",
        "command":"0105",
        "body":{
            "State":"1"
        },
        "token":"",
        "sign":""
    }
}

4、3015-发现zigbee设备

参数:

{
    "code":3016,
    "data":{
        "deviceType":"ACCESS",
        "sign":"" // 使用homeId 签名
    }
}

5、0000-查询网关是否在线

主题:sys/fya/iot/home/${homeId}/json
参数:

{
    "code":0000
}

6、返回网关在线(上送)

主题:sys/fya/gateway/online/${snCode}

{
    "roomNumber":"1901",
    "macIp":"{\"00:30:1B:00:00:8D\":\"192.168.1.248\"}",
    "version":"1.0.1-20220606-112149"
}

7、中转上送网关状态(推送到云)

主题:sys/fya/iot/system/online/${homeId}

{
    "snCode1":true,
    "snCode2":false,
}

8、网关在线离线(上送)

主题:sys/fya/gateway/status/${snCode}
离线:

{
    "time":1654502060,
    "name":"iot-client",
    "type":"stop",
    "macIp":"{\"00:30:1B:00:00:8D\":\"192.168.1.248\"}",
    "sign":""
}

在线:

{
    "time":1654502060,
    "name":"iot-client",
    "type":"start",
    "duration":0,
    "roomNumber":"1901",
    "macIp":"{\"00:30:1B:00:00:8D\":\"192.168.1.248\"}",
    "version":"1.0.1-20220606-112149",
    "snId":"6c6856e6f6db477bb545a60262d9000b",
    "sign":""
}
作者:许经广  创建时间:2022-04-20 09:22
最后编辑:许经广  更新时间:2022-06-13 15:07