Jelajahi Sumber

device 设备配置定义优化

miricy 2 tahun lalu
induk
melakukan
03c0d6e31a
2 mengubah file dengan 137 tambahan dan 77 penghapusan
  1. 42 0
      lock.json
  2. 95 77
      yeker/device.json

+ 42 - 0
lock.json

@@ -0,0 +1,42 @@
+[
+    {
+        "id": 1234,
+        "lock_weekday": [
+            1,
+            2,
+            3,
+            4,
+            5
+        ],
+        "lock_start_time": {
+            "hour": "00",
+            "minute": "00",
+            "second": "00"
+        },
+        "lock_end_time": {
+            "hour": "23",
+            "minute": "59",
+            "second": "59"
+        }
+    },
+    {
+        "id": 5678,
+        "lock_weekday": [
+            1,
+            2,
+            3,
+            4,
+            5
+        ],
+        "lock_start_time": {
+            "hour": "00",
+            "minute": "00",
+            "second": "00"
+        },
+        "lock_end_time": {
+            "hour": "23",
+            "minute": "59",
+            "second": "59"
+        }
+    }
+]

+ 95 - 77
yeker/device.json

@@ -8,8 +8,7 @@
 		"displayName": "条形灯1", //设备显示名称
 		"areaId": 1, //设备所属区域id
 		"description": "", //设备描述
-		"attachType": "", //设备附加类型,设备协议
-		"channels": [ //设备包含的各属性和值
+		"channels": [ //设备包含的各属性和值,设备状态,设备写入值
 			{
 				"name": "action",
 				"type": "STRING",
@@ -17,83 +16,102 @@
 				"value": "off"
 			}
 		],
-		"config": [ //设备配置
-			{
-				"name": "broadcast", //是否为广播设备
-				"value": false,
-				"type": "BOOL"
-			},
-			{
-				"name": "device_addr", //设备地址
-				"value": 65,
-				"type": "INTEGER"
-			},
-			{
-				"name": "device_port", //设备端口
-				"value": 1,
-				"type": "INTEGER"
-			},
-			{
-				"name": "device_control",//protocol(协议空调),central(继电器)
-				"value": "central",
-				"type": "STRING"
-			},
-			{
-				"value": "",
-				"name": "control_type",// //控制类型  锁的时候值为 single 和 keep。窗帘的值为 protocol//协议窗帘
-				//断信号窗帘 byte OFF_SIGNAL = 0x01;
-				//单信号窗帘 byte SINGLE_SIGNAL = 0x02;
-				//双信号窗帘) click干节点 byte DUAL_SIGNAL = 0x03;
-				"type": "STRING"
-			},
-			{
-				"name": "control_channel",//控制通道(协议空调为外机地址,继电器空调为风力2档3档通道)
-				"value": 7,				
-				"type": "STRING"
-			},
-			{
-				"value": 136,
-				"name": "control_addr",//协议窗帘或空调的设备地址(空调是内机地址,窗帘为电机地址,继电器空调为制冷制热通道)
-				"type": "INTEGER"
-			},
-			{
-				"value": "",
-				"name": "associated_sensor",//新版本未使用,作废
-				"type": "STRING"
-			},
-			{
-				"value": "",
-				"name": "associated_sensor_sn",//关联温湿度传感器name 暖通类设备,显示类设备
-				"type": "STRING"
-			},
-			{
-				"value": 0,
-				"name": "calibration",//温度校正
-				"type": "INTEGER"
-			},
-			{
-				"value": 0,
-				"name": "temp", //默认温度
-				"type": "INTEGER"
-			},
-			{
-				"value": 60,
-				"name": "humidity",//默认湿度
-				"type": "INTEGER"
-			},
-			{
-				"value": "RS485",
-				"name": "attach_device",
-				"type": "STRING"
+		"config": { //设备配置
+			"communication": "ip", //通讯接口 ipv4/ipv6/ip/rs485/canbus/zigbee/bluetooth/ 支持多个,中间用逗号分隔
+			"protocol": "yeker", //设备协议 yeker/modbus/matter/raw
+			"address": 6, //设备地址 0-255 地址不存在或空时,忽略此设备
+			"port": 5, ////设备端口 1-16 地址不存在或空时,忽略此设备
+			"lock": 1111, //采用的锁定设置,锁的起始时间设定
+			"broadcast": false, //是否为广播设备 不存在时默认为false
+			//空调设备:protocol(协议),relay(继电器) 默认为继电器 relay	原device_control
+			//窗帘的值为 protocol协议窗帘 break断信号窗帘 single 单信号窗帘 dual双信号窗帘 click 干节点 原有的control_type字段
+			//控制类型  锁的时候值为 single单次开 和 keep 保持开
+			"controlType": "relay",
+			"controlAddr": 11, //协议窗帘或空调的设备地址(空调是内机地址,窗帘为电机地址,继电器空调为制冷制热通道即冷热水阀的继电器通道),原control_addr字段
+			"controlChannel": 7, //控制通道(协议空调为外机地址,继电器空调为风力2档3档通道)原control_channel
+			"associatedSensor": "id/name", //关联的温湿度传感器 关联温湿度传感器name 暖通类设备,显示类设备
+			"calibration": 0, //温度校正 默认值为0
+			"defaultTemp": 0, //默认温度 默认值为26
+			"defaultHumidity": 60, //默认湿度
+			"associatedScene": [
+				14,
+				16
+			], //干节点或键盘事件关联的场景
+			"lock": { //操作时的密码锁,锁定状态需要密码授权后才能操作,这个属性只针对显示设备,例如面板,手机
+				"weekday": [
+					1,
+					2,
+					3,
+					4,
+					5
+				],
+				"startTime": 0, //时间,一天中的24小时换算成秒 锁定开始时间,默认为0,当起始时间大于结束时间时,为跨天时间段					
+				"endTime": 11223 //时间,一天中的24小时换算成秒 锁定的结束时间,默认为24*3600
 			},
+			"display": { //显示配置,只针对可显示的面板设备
+				"all": { //所有区域的设备显示配置,默认为显示所有场景和设备
+					"scene": [
+						{
+							"name": "scene1", //唯一的场景名
+							"lock": false, //是否锁定
+							"page": 1, //所在页面,一个页面相同类型的设备最多智能一块,排一起
+							"order": 2 //所在页面的块中的顺序
+						}
+					],
+					"device": [
+						{
+							"name": "device1", //唯一的场景名
+							"lock": false, //是否锁定
+							"page": 1, //所在页面,一个页面相同类型的设备最多智能一块,排一起
+							"order": 2 //所在页面的块中的顺序
+						}
+					]
+				}, //场景
+				"0001": { //某个区域的设备显示配置,默认为显示所有场景和设备,区域过滤时使用,没有配置默认显示当前区域的所有设备
+					"scene": [],
+					"device": []
+				}
+			}
+		}
+	},
+	{
+		"id": 1, //设备id 全局唯一
+		"pid": 0, //设备父级id 隶属于哪个网关或面板
+		"name": "0001", //当前父级唯一
+		"type": "light", //设备类型
+		"subtype": "light_bar", //设备子类型
+		"displayName": "条形灯1", //设备显示名称
+		"areaId": 1, //设备所属区域id
+		"description": "", //设备描述
+		"channels": [ //设备包含的各属性和值,设备状态,设备写入值
 			{
-				"name": "associated_scene", //干节点或键盘事件关联的场景
-				"value": [
-					14,
-					15
-				],
-				"type": "OBJECT"
+				"name": "action",
+				"type": "STRING",
+				"mode": "READ_WRITE",
+				"value": "off"
 			}
-		]
+		],
+		"config": { //设备配置
+			"communication": "ip", //通讯接口 ipv4/ipv6/ip/rs485/canbus/zigbee/bluetooth/ 支持多个,中间用逗号分隔
+			"protocol": "yeker", //设备协议 yeker/modbus/matter/raw
+			"address": 6, //设备地址 0-255 地址不存在或空时,忽略此设备
+			"port": 5, ////设备端口 1-16 地址不存在或空时,忽略此设备
+			"lock": 1111, //采用的锁定设置,锁的起始时间设定
+			"broadcast": false, //是否为广播设备 不存在时默认为false
+			//空调设备:protocol(协议),relay(继电器) 默认为继电器 relay	原device_control
+			//窗帘的值为 protocol协议窗帘 break断信号窗帘 single 单信号窗帘 dual双信号窗帘 click 干节点 原有的control_type字段
+			//控制类型  锁的时候值为 single单次开 和 keep 保持开
+			"controlType": "relay",
+			"controlAddr": 11, //协议窗帘或空调的设备地址(空调是内机地址,窗帘为电机地址,继电器空调为制冷制热通道即冷热水阀的继电器通道),原control_addr字段
+			"controlChannel": 7, //控制通道(协议空调为外机地址,继电器空调为风力2档3档通道)原control_channel
+			"associatedSensor": "id/name", //关联的温湿度传感器 关联温湿度传感器name 暖通类设备,显示类设备
+			"calibration": 0, //温度校正 默认值为0
+			"defaultTemp": 0, //默认温度 默认值为26
+			"defaultHumidity": 60, //默认湿度
+			"associatedScene": [
+				"0014",
+				"0016"
+			] //干节点或键盘事件关联的场景,原associated_scene
+		}
 	}
 ]