deviceconfig.md 34 KB

设备配置数据格式说明文档

版本: 1.0 

发布日期: 2024-11-18 

历史记录

修订日期 版本 作者 说明
2024-11-18 V1.0 alva.huang 初始版本

[toc]

前言

概述

本文档旨在说明爱智居设备配置的数据格式,帮助开发人员如何使用api获取配置数据,和解析数据格式,包含API的功能,调用方式,返回结果和错误码。数据格式定义,数据结构,字段说明等。

范围说明

此开发文档只针对智能家居面板,门禁,网关等设备。

设备配置数据格式

GET 请求URL: https://dev.izhiju.cn/device

请求头参数: Content-Type: application/json Authorization: Bearer {{token}}

HTTP返回状态码说明

200-299 请求成功 400-499 请求失败,客户端参数或信息错误 500-599 请求失败,服务端错误

状态码 说明
200 请求成功
201 新增成功
204 删除成功/更新成功
401 请求失败,无权限,没有登陆认证或认证token错误
403 请求失败,无权限
404 请求失败,资源不存在
405 请求失败,请求方法不支持
406 请求失败,参数错误
400 请求失败,参数错误
408 请求失败,请求超时
415 请求失败,不支持的媒体类型
500 请求失败,服务端内部错误

获取设备配置列表数据

GET请求URL

{{api_url}}/config?{{query_params}}

查寻参数

参数名 参数类型 说明
package string cn.izhiju.android.xxx 获取配置的应用包名,必须字段如:cn.izhiju.android.panela
key string 平台相关的密钥 应用获取升级的密钥,必须字段
deviceId string ac:bc:cd:ee:11:22 设备ID或MAC地址,必须字段,后台添加限制时保持一致即可,智能家居应用目前定为大写MAC去冒号
type string device 获取哪些配置 all和不传为所有,device为设备配置

返回结果

  1. 成功,状态码200,返回设备配置列表数据
  2. 失败,状态码401,授权失败
  3. 具体返回状态码和http标准状态码一致,具体请查看HTTP状态码

所有设备具有的配置属性返回数据格式示例

[
    //第一个模板为所有配置,包含必选配置和可选配置,不同设备类型的配置都有说明
    {
        "id":    1,  //设备配置id
        "pid":    1,  //设备父级id,0为顶级
        "areaId":    "区域id",
        "area":    "区域名称",
        "name":    "0001", //设备名称,设备唯一名称
        "displayName":    "设备显示名称",
        "type":    "设备类型",  //entrance_guard 门禁,light ,switch,aircon,curtain,fan,airrefresh
        "subtype":    "设备子类型",
        "channels":[{//缓存的设备状态,或初始默认值,可选,不传时为空,具体项看设备控制协议定义
                "name": "action",
                "type": "STRING",
                "mode": "READ_WRITE",
                "value": "off"
                }],
        "description":    "设备描述",//可选,可为空
        "config":  //所有设备整体配置
        {
            "address": "12345678", //地址
            "ports": [1,2,3,4,5], //多端口 当为继电器窗帘时,继电器按顺序排列1为开,2为关端口,当为空调时,按数组顺序 1,2,3为一二三档对应的继电器端口,4为制冷,5为制热端口,当为风扇或新风时,1,2,3为一二三档对应的继电器端口,当为浴霸时,1,2为灯光,3,4为取暖,5,6为排风
            "broadcast":    false,//跨网关是否广播  false为不广播,true为广播
            "sub_address":[22,33,44],  //如485协议窗帘,第一个即窗帘485地址,当为空调时,第一个为空调外机地址,第二个为内机地址,433协议窗帘时为遥控器id,433设备对应的遥控码,3字节16进制字符串格式, 取值范围 0-16777215(小端在后比如20:000014)
            "device_control":"protocol", //protocol(协议),central(继电器)
            "control_type":    2,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
            "keep_time": 5, //--门锁为单信号时,控制延时上锁时间,默认值为5秒,范围(1到30秒)如门禁开后5秒后自动上锁
            "icons":["internal://array_light","http://www.abc.com/img/light.png"],//设备图标列表,默认数组第一个下标图标
            "order":    1,//排序,值越小越靠前,相同的值按设备先后顺序
            "temp": 30,//默认温度
            "humidity":    50,//默认湿度
            "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高
            "modes": ["","","",""],//支持模式列表 fan,cool,heat,auto,saving,dehumidify,sleeping,fan_inner(内循环),fan_side(旁通)/heat_exchange(热交换)
            "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
            "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
                          [{"name":"humiture1","calibration":10},
                                     {"name":"humiture2", //关联传感器2,设备唯一的名称
                                             "calibration":5,  //校正温度度数
                                             "alarm_temp":45//报警温度
                                             }],
            "associated_scene": //-设备关联的场景,一般是输入类型设备,如干节点输入,按键,传感器等,场景数组中每次只出发一个场景
                    [
                      {"name":"scene1",//场景名称
                       "expression":"order",//场景执行条件,表达式为真执行,order为执行顺序和下标一致时执行,其他为表达式判断为真时执行
                      },
                      {
                        "name":"scene2",
                         "expression":"value=10",//value为设备属性的某个键,取值后和具体数字或字符串比较,为真时执行
                      }
                     ],
            "card_format":1,//卡数据格式 0为无,1为10位10进制,2为10位10进制反向输出,3为8位16进制,4为8位16进制反向输出,5为8位10进制(id后3字节转换),6为00+8位10进制,7为8位10进制(id后4字节转换),8为5位10进制
            "associated_lock":["lock1","lock1"],    //关联的锁,如门锁,窗锁,门禁等唯一名称
            //智能控制面板配置 panel
            "display_device":    //面板上要显示的设备列表
                [{
                    "name":    "0001", 
                    "lock":    false  //是否锁定
                }, {
                    "name":    "0003",
                    "lock":    false
                }],
            "display_scene":    //面板上要显示的场景列表
                [{
                    "name":    "1009",
                    "lock":    false
                }, {
                    "name":    "100A",
                    "lock":    false
                }, {
                    "name":    "100B",
                    "lock":    false
                }],
            "lock_weekday":    [1, 2, 3, 4, 5], //一周中哪些天需要锁定
            "lock_start_time":    "12:00:00",  //一天中锁定的开始时间,格式为24小时制
            "lock_end_time":    "23:59:59",  //一天中锁定的结束时间,格式为24小时制
            //门禁面板配置 entrance_guard
            "camera_type": "IR",// 门禁摄像头类型,IR红外,RGB为全彩,RGB_IR为红外+彩
            "brightness":    100,//亮度
            "screen_off":    2,//屏幕关闭时间,单位为分钟,0为不关闭,和系统的熄屏列表对应
            "volume":    50,//音量设置
            "mute":    false,//是否静音
            "fill_light":    false,//是否开启补光灯
            "live_detection":    false,//是否开启活体检测
            "face_valve":0.55,//人脸阀值 0-1
            "mask_detection":    false,//是否开启口罩检测
            "background":["internal://background1","http://www.abc.com/img/background.png"] //背景图列表,本地没有指定时显示默认第一个下标背景图,网关或面板要下载的背景图列表
        }
    },
    // 继电器灯光配置,
    {
        "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
        "type":    "light",
        "subtype":    "light_common",
        "config":  
        {
            "address": "12345678", //地址
            "ports": [1],  //端口,只用一个端口的设备取数组第一个值
            "broadcast":    false //跨网关是否广播  false为不广播,true为广播,废弃状态
        }
    }]

温湿度传感器配置数据示例

[
   {
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
    "type":    "humiture",
    "subtype":    "humiture_common", //humiture_common,默认值,通用温湿度
    "config":  
    {
        "address": "A5", //地址
        "ports": [1],  //端口,只用一个端口的设备取数组第一个值
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
        "temp": 30,//默认温度
        "humidity":    50//默认湿度
    }
  },
  {
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
    "type":    "humiture",
    "subtype":    "humiture_common", //humiture_common,默认值,通用温湿度
    "config":  
    {
        "address": "A5A812344545", //地址蓝牙设备mac地址
        "ports": [1],  //端口,只用一个端口的设备取数组第一个值,保留,暂时没有使用
        "bus":"bluetooth",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
        "temp": 30,//默认温度
        "humidity":    50//默认湿度
    }
  }
  
]

灯光开关设备配置数据示例

[
   {//通用灯光开关配置
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
    "type":    "light",
    "subtype":    "light_common", //subtype为子类型,light_common为普通灯光,默认值
    "config":  
    {
        "address": "A5", //地址
        "ports": [1],  //端口,只用一个端口的设备取数组第一个值
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
    }
  },
  {
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
    "type":    "lightdim",//调光灯,
    "subtype":    "dimming_single", //"dimming_single", "单路调光灯"/"dimming_color_temp", "调亮度调色温灯"
    "config":  
    {
        "address": "F012345678FF", //地址
        "ports": [1],  //端口,只用一个端口的设备取数组第一个值
        "bus":"bluetooth",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
    }
  },
  {
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
    "type":    "lightrgb",//彩光灯,
    "subtype":    "lightrgb_common", // "lightrgb_common", "彩灯"/"lightrgb_rgbw", "带白光彩灯"
    "config":  
    {
        "address": "F012345678FF", //地址
        "ports": [1],  //端口,只用一个端口的设备取数组第一个值
        "bus":"bluetooth",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
    }
  }
]

窗帘设备配置数据示例

[
   {//继电器窗帘
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "窗帘",
    "type":    "curtain",
    //curtain_horizontal 横窗帘  curtain_horizontal_double 双层横窗帘 curtain_vertical 卷帘 curtain_shutter 百页窗
    //curtain_position_horizontal 可定位置开合帘  curtain_position_vertical 可定位置升降帘
    "subtype":    "curtain_horizontal", //subtype为子类型,light_common为普通灯光,默认值
    "config":  
    {
        "address": "A5", //地址继电器地址或协议转换器地址
        "ports": [1,2],  //继电器按顺序排列1为开,2为关端口,can协议转换窗帘为协议转换器端口
        "control_type":    2,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
    }
  },
  {//协议窗帘
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "窗帘",
    "type":    "curtain",
    //curtain_horizontal 横窗帘  curtain_horizontal_double 双层横窗帘 curtain_vertical 卷帘 curtain_shutter 百页窗
    //curtain_position_horizontal 可定位置开合帘  curtain_position_vertical 可定位置升降帘
    "subtype":    "curtain_horizontal", //subtype为子类型,light_common为普通灯光,默认值
    "config":  
    {
        "address": "A5", //地址继电器地址或协议转换器地址
        "ports": [1,2],  //继电器按顺序排列1为开,2为关端口,can协议转换窗帘为协议转换器端口
        "sub_address":[225533],  //如485协议窗帘,第一个即窗帘485地址,或433窗帘的遥控器id,433设备对应的遥控码,3字节16进制字符串格式, 取值范围 0-16777215(小端在后比如0x112233)
        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
    }
  },
]

暖通设备,空调新风地暖配置数据示例

[
   {//继电器空调
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "aircon",
    //aircon_common 默认类型 aircon_fcu 风机盘管 aircon_daikin 大金空调 aircon_haier 海尔空调
    //aircon_gree 格力空调 aircon_hisense 海信空调 aircon_midea 美的空调 aircon_hitachi 日立空调
    "subtype":    "aircon_common", //subtype为子类型,aircon_common为默认值,通用空调
    "config":  
    {
        "address": "A5", //canbus总线时,地址为继电器地址或协议转换器地址,网络总线时,地址为网络设备mac地址
        "ports": [1,2,3,4,5],  //按数组顺序 1,2,3为一二三档对应的继电器端口,4为制冷,5为制热端口
        "control_type":    1,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
        "temp": 30,//默认温度
        "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高,取值1-6
        "modes": ["fan","cool","heat",""],//支持模式列表 fan,cool,heat,auto,saving,dehumidify,sleeping
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
        [{"name":"humiture1","calibration":10},
         {"name":"humiture2", //关联传感器2,设备唯一的名称
                                             "calibration":5  //校正温度度数
                                             }],
    }
  },
  {//协议空调
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "aircon",
    //aircon_common 默认类型 aircon_fcu 风机盘管 aircon_daikin 大金空调 aircon_haier 海尔空调
    //aircon_gree 格力空调 aircon_hisense 海信空调 aircon_midea 美的空调 aircon_hitachi 日立空调
    "subtype":    "aircon_common", //subtype为子类型,aircon_common为默认值,通用空调
    "config":  
    {
        "address": "A5", //canbus总线时,地址为继电器地址或协议转换器地址,网络总线时,地址为网络设备mac地址
        "ports": [1],  //按数组顺序 1为对应的协议转换器端口,取值范围1-4
        "sub_address":[22,33],  //第一个为空调外机地址,第二个为内机地址
        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
        "temp": 30,//默认温度
        "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高,取值1-6
        "modes": ["fan","cool","heat",""],//支持模式列表 fan,cool,heat,auto,saving,dehumidify,sleeping
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
        [{"name":"humiture2", //关联传感器,设备唯一的名称
          "calibration":5,  //校正温度度数 
          }],
    }
  },
  {//继电器地暖
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "heater",
    //aircon_common 默认类型 aircon_fcu 风机盘管 aircon_daikin 大金空调 aircon_haier 海尔空调
    //aircon_gree 格力空调 aircon_hisense 海信空调 aircon_midea 美的空调 aircon_hitachi 日立空调
    "subtype":    "heater_floor", //subtype为子类型,aircon_common为默认值,通用空调
    "config":  
    {
        "address": "A5", //canbus总线时,地址为继电器地址或协议转换器地址,网络总线时,地址为网络设备mac地址
        "ports": [1,2,3,4,5],  //按数组顺序 1,2,3为一二三档对应的继电器端口,4为制冷,5为制热端口
        "control_type":    1,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
        "temp": 30,//默认温度
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
        [{"name":"humiture1","calibration":10},
         {"name":"humiture2", //关联传感器2,设备唯一的名称
          "calibration":5,  //校正温度度数
          "alarm_temp":45  //报警温度度数
          }],
    }
  },
  {//新风
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "airfresh", //airfresh_common 默认类型 airfresh_home 新风家用 airfresh_work 新风大楼用
       //airfresh_daikin 大金新风 airfresh_net_relay 网络面板继电器新风 airfresh_can_relay canbus继电器新风
    "subtype":    "airfresh_common", //airfresh_common为默认值,通用新风
    "config":  
    {
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
        "address": "A5", //canbus总线时,地址为继电器地址或协议转换器地址,网络总线时,地址为网络设备mac地址
        "ports": [1,2,3,4],  //按数组顺序 1为对应的协议转换器端口,取值范围1-4,当为继电器新风时,1,2,3分别为1,2,3档对应继电器端口
        "sub_address":[22,33],  //第一个为新风外机地址,第二个为新风内机地址,继电器新风不存在子地址
        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "temp": 30,//默认温度
        "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高,取值1-6
        "modes": ["fan","cool","heat",""],//模式列表 fan,cool,heat,auto,saving,dehumidify,sleeping,fan_inner(内循环),fan_side(旁通)/heat_exchange(热交换)
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
        [{"name":"humiture2", //关联传感器,设备唯一的名称
          "calibration":5,  //校正温度度数 
          }],
    }
  },
  {//空调外机
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "aircon-outside",
    //airconout_common 默认类型 airconout_onoff 状态外机,只线时外机状态 airconout_home 家用外机 airconout_work 大楼外机
    "subtype":    "airconout_common", //subtype为子类型,aircon_common为默认值,通用空调
    "config":  
    {
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "address": "A5", //canbus总线时,地址为继电器地址或协议转换器地址,网络总线时,地址为网络设备mac地址
        "ports": [1],  //按数组顺序 1为对应的协议转换器端口,取值范围1-4
        "sub_address":[22,33],  //第一个为空调外机地址,第二个为内机地址
        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
        "temp": 30,//默认温度
        "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高,取值1-6
        "modes": ["fan","cool","heat",""],//支持模式列表 fan,cool,heat,auto
        "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
        [{"name":"humiture2", //关联传感器,设备唯一的名称
          "calibration":5,  //校正温度度数 
          }],
    }
  },
]

控制面板设备配置数据格式

[
{//触摸控制面板
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "panel",
    "subtype":    "panel_common", //panel_common为默认值,canbus/serial/network/network_gpio/dry_contact
    "config":  
    {
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "address": "A51234F85667", //地址为网络设备mac地址
        "ports": [1],  //端口为canbus或485本机地址,纯网络面板,端口保留
        "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
        [{"name":"humiture2", //关联传感器,设备唯一的名称
          "calibration":5,  //校正温度度数 
          }],
        //智能控制面板配置 panel
        "display_device":    //面板上要显示的设备列表
                [{
                    "name":    "0001", 
                    "lock":    false  //是否锁定
                }, {
                    "name":    "0003",
                    "lock":    false
                }],
        "display_scene":    //面板上要显示的场景列表
                [{
                    "name":    "1009",
                    "lock":    false
                }, {
                    "name":    "100A",
                    "lock":    false
                }, {
                    "name":    "100B",
                    "lock":    false
                }],
        "lock_weekday":    [1, 2, 3, 4, 5], //一周中哪些天需要锁定
        "lock_start_time":    "12:00:00",  //一天中锁定的开始时间,格式为24小时制
        "lock_end_time":    "23:59:59",  //一天中锁定的结束时间,格式为24小时制
        //门禁面板配置 entrance_guard
        "camera_type": "IR",// 门禁摄像头类型,IR红外,RGB为全彩,RGB_IR为红外+彩
        "brightness":    100,//亮度
        "screen_off":    2,//屏幕关闭时间,单位为分钟,0为不关闭,和系统的熄屏列表对应
        "volume":    50,//音量设置
        "mute":    false,//是否静音
    }
  },
]

门禁面板设备配置数据格式

[
{
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "entrance_guard",
    "subtype":    "guard_face", //guard_face(人脸)/guard_face_card(人脸+刷卡)/guard_face_keypad(人脸+键盘)/guard_face_card_keypad
    "config":  
    {
        "bus":"network",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
        "address": "A51234F85667", //地址为网络设备mac地址
        "ports": [1],  //端口为canbus或485本机地址,纯网络面板,端口保留
        //门禁面板配置 entrance_guard
        "camera_type": "IR",// 门禁摄像头类型,IR红外,RGB为全彩,RGB_IR为红外+彩
        "brightness":    100,//亮度
        "screen_off":    2,//屏幕关闭时间,单位为分钟,0为不关闭,和系统的熄屏列表对应
        "volume":    50,//音量设置
        "mute":    false,//是否静音
        "associated_scene": //-设备关联的场景,一般是输入类型设备,如干节点输入,按键,传感器等,场景数组中每次只出发一个场景
                    [
                      {"name":"scene1",//场景名称
                       "expression":"order",//场景执行条件,表达式为真执行,order为执行顺序和下标一致时执行,其他为表达式判断为真时执行
                      },
                      {
                        "name":"scene2",
                        "expression":"value=10",//value为设备属性的某个键,取值后和具体数字或字符串比较,为真时执行
                      }
                     ],
        "card_format":1,//卡数据格式 0为无,1为10位10进制,2为10位10进制反向输出,3为8位16进制,4为8位16进制反向输出,5为8位10进制(id后3字节转换),6为00+8位10进制,7为8位10进制(id后4字节转换),8为5位10进制
        "associated_lock":["lock1","lock1"],    //关联的锁,如门锁,窗锁,门禁等唯一名称
        "camera_type": "IR",// 门禁摄像头类型,IR红外,RGB为全彩,RGB_IR为红外+彩
        "fill_light":    false,//是否开启补光灯
        "live_detection":    false,//是否开启活体检测
        "face_valve":0.55,//人脸阀值 0-1
        "mask_detection":    false,//是否开启口罩检测
    }
  },
]

网关设备配置数据格式

[
{
    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
    "type":    "gateway",
    "subtype":    "YG001", //YG001为默认值,第一代网关,YG003为第二代网关
    "config":  
    {
        "address": "A51234F85667", //地址为网络设备mac地址
        "ports": [1],  //端口为canbus或485本机地址,纯网络面板,端口保留,或为网关本地id,跨网关时使用
        "background":["http://192.168.0.1/bg.jpg", "http://192.168.0.1/bg.jpg"],//要下载同步缓存的背景图片,数组
        "city":{
        "Location_ID": "101010800",
        "Location_Name_EN": "Yanqing",
        "Location_Name_ZH": "延庆",
        "ISO_3166_1": "CN",
        "Country_Region_EN": "China",
        "Country_Region_ZH": "中国",
        "Adm1_Name_EN": "Beijing",
        "Adm1_Name_ZH": "北京市",
        "Adm2_Name_EN": "Beijing",
        "Adm2_Name_ZH": "北京市",
        "Timezone": "Asia/Shanghai",
        "Latitude": "40.465324",
        "Longitude": "115.985008",
        "Adcode": "110119"
      },
      "season":"common", //summer/winter/common(不区分时令),或者时令只能本地配置

    }
  },
]

组合配置数据格式实例

 {
  "version": "1.0",
  "devices":[
    {
      "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "灯光",
      "type":    "light",
      "subtype":    "light_common", //subtype为子类型,light_common为普通灯光,默认值
      "config":  
      {
        "address": "A5", //地址
        "ports": [1],  //端口,只用一个端口的设备取数组第一个值
        "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
      }
    },
    {
        "id":    1,
        "pid":    1,
        "areaId":    "CAN区域",
        "area":    "区域名称",
        "name":    "0001",
        "displayName":    "灯光",
        "type":    "light",
        "subtype":    "light_plat",
        "config":  
        {
            "address": "12345678", //地址
            "ports": [1],  //端口
        }
    }],

    "scenes":[
        {
        "id":    1,
        "pid":    1,
        "areaId":    "区域id",
        "area":    "区域名称",
        "name":    "0001",
        "displayName":    "设备显示名称",
        "type":    "scene",
        "subtype":    "work",
        "actions":  //场景动作执行项
        {
            "common":[
                {
                   "name": "0001",
                   "channels":[{
                       "value": "off",
                        "name": "action",
                        "type": "STRING"}]
                },
                {
                    "name": "0002",
                    "channels": [{
                        "value": "off",
                        "name": "action",
                        "type": "STRING"}]
                }
            ],  //场景默认配置,不区分时令,一般处理非温控类设备,不管哪个季节都执行
            "summer":[],//夏季配置,处理温控类设备,夏季要执行的场景
            "winter":[],//冬季配置,处理温控类设备,冬季要执行的场景
        }
      }
    ],
    
    "areas":[
        {
            "id":"1",
            "pid":"1",
            "name":"区域名称",
            "groupable":true,//是否可分组显示,可分组为分类目录,不可分组为叶目录
        },
        {
            "id":"2",
            "pid":"1",
            "name":"区域名称",
            "groupable":false,//是否可分组显示,可分组为分类目录,不可分组为叶目录
        }
    ]
}

配置中的各字段数据库定义json表达

[
            {
              "id":"123",
              "name":"address",
              "type":"String", // 值类型  * STRING * LONG * DOUBLE * FLOAT * INTEGER * BYTE * CHAR * BOOLEAN * SHORT * PASSWORD
              "value":"aabbccdd", // 值或数组值数组中,以英文逗号分隔,如:["1","2","3"]
              "label":"地址",
              "min":2,//整数最小值,字符串长度最小值
              "max":8,//整数最大值,字符串长度最大值
              "isRequired": true,//是否必填
              "description":"CAN ID", // 配置项描述
              "default":0, // 默认值
              "option": // 配置项可选值,只针对单选框、下拉框等类型
               [
                {
                "label": "java-ntp",
                "value": "java-ntp"
               },
              {
                "label": "ntpd",
                "value": "ntpd"
              },
              {
                "label": "chrony-advanced",
                "value": "chrony-advanced"
              }
            ],
              },
        ]  

各设备类型支持的配置项

[
    {
        "type":"light",
        "label":"灯光",
        "subtypes":[
            {"subtype":"switch","label":"开关型","configs":["address","port"]},
            {"subtype":"rgb","label":"彩灯","configs":["address","port"]},
            {"subtype":"dimmer","label":"可调光灯","configs":["address","port"]}
        ]
    }
    
]