miricy 1 год назад
Родитель
Сommit
a0a67d549e
1 измененных файлов с 59 добавлено и 15 удалено
  1. 59 15
      product/deviceconfig.md

+ 59 - 15
product/deviceconfig.md

@@ -28,7 +28,7 @@
 
 ## 范围说明
 
-此开发文档只针对智能家居面板,门禁,网关等设备。
+此开发文档只针对智能家居面板,门禁,网关等设备。数据格式包含:设备配置列表数据,场景配置列表数据,区域列表数据等。
 
 # 设备配置数据获取接口说明
 
@@ -81,6 +81,9 @@ Authorization: Bearer {{token}}
 2. 失败,状态码401,授权失败
 3. 具体返回状态码和http标准状态码一致,具体请查看[HTTP状态码](https://www.runoob.com/http/http-status-codes.html)
 
+## 返回数据格式总体定义说明
+1. 数据格式为json,返回数据为数据列表,json中采用驼峰命名方式
+
 
 ### 所有设备具有的配置属性返回数据格式示例
 
@@ -89,7 +92,7 @@ Authorization: Bearer {{token}}
     //第一个模板为所有配置,包含必选配置和可选配置,不同设备类型的配置都有说明
     {
         "id":    1,  //设备配置id
-        "pid":    1,  //设备父级id,0为顶级
+        "pid":    1,  //设备父级id,0为顶级,父级id目前可以是网关id,也可以是面板id,面板下的gpio设备或ble,zigbee设备需要通过面板转发控制的设备,父id为面板id,即面板可以当网关用
         "areaId":    "区域id",
         "area":    "区域名称",
         "name":    "0001", //设备名称,设备唯一名称
@@ -114,9 +117,11 @@ Authorization: Bearer {{token}}
             "keep_time": 5, //--门锁为单信号时,控制延时上锁时间,默认值为5秒,范围(1到30秒)如门禁开后5秒后自动上锁
             "icons":["internal://array_light","http://www.abc.com/img/light.png"],//设备图标列表,默认数组第一个下标图标
             "order":    1,//排序,值越小越靠前,相同的值按设备先后顺序
-            "temp": 30,//默认温度
-            "humidity":    50,//默认湿度
+            "temp": 26,//默认温度
+            "humidity":    60,//默认湿度
             "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高
+            "main":    true,//网关设备使用,主网关为true,无或false时为从属网关
+            "func":[],//面板功能列表,如
             "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度
@@ -200,7 +205,7 @@ Authorization: Bearer {{token}}
         "address": "A5", //地址
         "ports": [1],  //端口,只用一个端口的设备取数组第一个值
         "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
-        "temp": 30,//默认温度
+        "temp": 26,//默认温度
         "humidity":    50//默认湿度
     }
   },
@@ -213,7 +218,7 @@ Authorization: Bearer {{token}}
         "address": "A5A812344545", //地址蓝牙设备mac地址
         "ports": [1],  //端口,只用一个端口的设备取数组第一个值,保留,暂时没有使用
         "bus":"bluetooth",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot,默认canbus
-        "temp": 30,//默认温度
+        "temp": 26,//默认温度
         "humidity":    50//默认湿度
     }
   }
@@ -362,8 +367,8 @@ Authorization: Bearer {{token}}
         "temp": 30,//默认温度
         "bus":"canbus",//设备接入总线或协议类型,canbus/network/serial/RS485/zigbee/bluetooth/dali/knx/plc-iot
         "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
-        [{"name":"humiture1","calibration":10},
-         {"name":"humiture2", //关联传感器2,设备唯一的名称
+        [{"name":"humiture1","calibration":10},//关联传感器,设备唯一的名称,代表关联的环境温湿度传感器
+         {"name":"humiture2", //关联传感器2,设备唯一的名称,代表关联的地暖地下环境温度传感器,安全控制用
           "calibration":5,  //校正温度度数
           "alarm_temp":45  //报警温度度数
           }],
@@ -386,7 +391,7 @@ Authorization: Bearer {{token}}
         "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", //关联传感器,设备唯一的名称
+        [{"name":"humiture2", //关联传感器,设备唯一的名称,代表关联的环境温湿度传感器
           "calibration":5,  //校正温度度数 
           }],
     }
@@ -402,12 +407,12 @@ Authorization: Bearer {{token}}
         "address": "A5", //canbus总线时,地址为继电器地址或协议转换器地址,网络总线时,地址为网络设备mac地址
         "ports": [1],  //按数组顺序 1为对应的协议转换器端口,取值范围1-4
         "sub_address":[22,33],  //第一个为空调外机地址,第二个为内机地址
-        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点
+        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点开关switch,5为干节点轻触touch
         "temp": 30,//默认温度
         "speed":3 ,//空调,风扇风力档位数量,默认为3档,低,中,高,取值1-6
         "modes": ["fan","cool","heat",""],//支持模式列表 fan,cool,heat,auto
         "associated_sensor":    //关联传感器,如温湿度传感器,第一个为环境温湿度传感器,当为地暖时,第二个为报警温度传感器,默认45度
-        [{"name":"humiture2", //关联传感器,设备唯一的名称
+        [{"name":"humiture2", //关联传感器,设备唯一的名称,代表关联的环境温湿度传感器
           "calibration":5,  //校正温度度数 
           }],
     }
@@ -415,7 +420,15 @@ Authorization: Bearer {{token}}
 ]
 ```
 
-### 控制面板设备配置数据格式
+### 控制面板设备配置数据格式和说明
+
+1. 选择面板后,遍历面板下设备所有协议通道,并同时打开所有协议通道
+2. 设备指定协议通道为can,面板支持can则直接走can通道。面板不支持can,则走mqtt通道。
+3. 设备指定协议通道不为can,如设备pid等于当前面板id,则走设备指定的协议通道。
+   如设备pid不等于当前面板id,则走mqtt协议通道。
+4. 如设备走zib/gpio/ble通道,则通过zib/gpio/ble通道直接控制设备,并同时通过mqtt广播状态。
+   收到mqtt消息需要控制该设备时,需要通过zib/gpio/ble通道直接控制设备,并同时通过mqtt广播状态。
+5. 如果一个设备指定的是can协议。加到can面板上通过面板can直接控制,如果加到一个网络面板上,通过网络访问网关mqtt控制。
 
 ```json
 [
@@ -506,6 +519,36 @@ Authorization: Bearer {{token}}
   },
 ]
 ```
+
+### 干节点面板设备配置数据格式
+
+```json
+[
+{
+    "id": 1, "pid": 1,"areaId": "CAN区域", "area": "区域名称", "name": "0001", "displayName": "空调",
+    "type":    "panel",
+    "subtype":    "dry_contact", 
+    "config":  
+    {
+        "bus":"gpio",//设备接入总线或协议类型,canbus/network/serial/gpio/RS485/zigbee/bluetooth/dali/knx/plc-iot
+        "address": "11", //地址为网络设备mac地址
+        "ports": [1],  //端口为canbus或485本机地址,纯网络面板,端口保留
+        "control_type":    0,  //控制类型 0协议类型,1为继电器,当为窗帘时1为单信号,2继电器断信号,3继电器双信号,4为干节点开关switch,5为干节点轻触touch
+        "associated_scene": //-设备关联的场景,一般是输入类型设备,如干节点输入,按键,传感器等,场景数组中每次只出发一个场景
+                    [
+                      {"name":"scene1",//场景名称
+                       "expression":"order",//场景执行条件,表达式为真执行,order为执行顺序和下标一致时执行,其他为表达式判断为真时执行
+                      },
+                      {
+                        "name":"scene2",
+                        "expression":"value=10",//value为设备属性的某个键,取值后和具体数字或字符串比较,为真时执行
+                      }
+                     ]
+    }
+  },
+]
+```
+
 ### 网关设备配置数据格式
 
 ```json
@@ -519,6 +562,7 @@ Authorization: Bearer {{token}}
         "address": "A51234F85667", //地址为网络设备mac地址
         "ports": [1],  //端口为canbus或485本机地址,纯网络面板,端口保留,或为网关本地id,跨网关时使用
         "background":["http://192.168.0.1/bg.jpg", "http://192.168.0.1/bg.jpg"],//要下载同步缓存的背景图片,数组
+        "main":true,//是否为主网关,主网关为true,其他网关为false,主网关可对各子网关进行转发,主网关包含mqtt本地服务
         "city":{
                 "Location_ID": "101010800",
                 "Location_Name_EN": "Yanqing",
@@ -725,9 +769,9 @@ Authorization: Bearer {{token}}
         "type":"light",
         "label":"灯光",
         "subtypes":[
-            {"subtype":"switch","label":"开关型","configs":["address","port"]},
-            {"subtype":"rgb","label":"彩灯","configs":["address","port"]},
-            {"subtype":"dimmer","label":"可调光灯","configs":["address","port"]}
+            {"subtype":"switch","label":"开关型","configs":["address","ports"]},
+            {"subtype":"rgb","label":"彩灯","configs":["address","ports"]},
+            {"subtype":"dimmer","label":"可调光灯","configs":["address","ports"]}
         ]
     }