Skip to content

Commit 61d328c

Browse files
authored
Revert multi protocol (#1298)
* Revert "Fixing the theme based on the zcl package chosen (#1295)" This reverts commit 5cc7614. * Revert "Using getAllSessionPartitionInfoForSession instead of getSessionPartitionInfo for more stability (#1294)" This reverts commit c9ca9f7. * Revert "Fixing the ZAP GUI for blank configurations and opening category based configurations (#1289)" This reverts commit fba7659. * Revert "ZAP: Multi-protocol Configurator Integration (#1276)" This reverts commit 06d1428.
1 parent 5cc7614 commit 61d328c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

62 files changed

+2653
-9279
lines changed

apack.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "Graphical configuration tool for application and libraries based on Zigbee Cluster Library.",
55
"path": [".", "node_modules/.bin/", "ZAP.app/Contents/MacOS"],
66
"requiredFeatureLevel": "apack.core:9",
7-
"featureLevel": 101,
7+
"featureLevel": 100,
88
"uc.triggerExtension": "zap",
99
"executable": {
1010
"zap:win32.x86_64": {

docs/zap-schema.svg

+2,193-1,969
Loading

package.json

-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@
5858
"package-metadata": "node src-script/zap-package-metadata.js",
5959
"zap": "node src-script/zap-start.js --logToStdout --gen ./test/gen-template/zigbee/gen-templates.json",
6060
"zapall": "node src-script/zap-start.js --logToStdout --zcl ./test/resource/meta/zcl.json --zcl ./zcl-builtin/silabs/zcl.json --zcl ./zcl-builtin/matter/zcl.json --gen ./test/gen-template/zigbee/gen-templates.json --gen ./test/gen-template/matter/gen-test.json --gen ./test/resource/meta/gen-test.json",
61-
"zapmultiprotocol": "node src-script/zap-start.js --logToStdout --zcl ./zcl-builtin/silabs/zcl.json --zcl ./zcl-builtin/matter/zcl-with-test-extensions.json --gen ./test/gen-template/zigbee/gen-templates.json --gen ./test/gen-template/matter/gen-test.json",
6261
"zapzigbee": "node src-script/zap-start.js --logToStdout --zcl ./zcl-builtin/silabs/zcl.json --gen ./test/gen-template/zigbee/gen-templates.json",
6362
"zapmatter": "node src-script/zap-start.js --logToStdoutc --zcl ./zcl-builtin/matter/zcl.json --gen ./test/gen-template/matter/gen-test.json",
6463
"zapmeta": "node src-script/zap-start.js --logToStdout --zcl ./test/resource/meta/zcl.json --gen ./test/resource/meta/gen-test.json --in ./test/resource/test-meta.zap",
@@ -67,7 +66,6 @@
6766
"zigbeezap-devserver": "node src-script/zap-start.js server --stateDirectory ~/.zap/zigbee-server/ --allowCors --logToStdout --gen ./test/gen-template/zigbee/gen-templates.json --reuseZapInstance",
6867
"matterzap-devserver": "node src-script/zap-start.js server --stateDirectory ~/.zap/matter-server/ --allowCors --logToStdout --zcl ./zcl-builtin/matter/zcl.json --gen ./test/resource/meta/gen-test.json --reuseZapInstance",
6968
"matterzap-devserver2": "node src-script/zap-start.js server --stateDirectory --zcl ./zcl-builtin/matter/zcl.json --allowCors --logToStdout --gen ./test/gen-template/matter3/t.json --reuseZapInstance",
70-
"zapall-devserver": "node src-script/zap-start.js server --stateDirectory --zcl ./zcl-builtin/silabs/zcl.json --zcl ./zcl-builtin/matter/zcl.json --allowCors --logToStdout --gen ./test/gen-template/zigbee/gen-templates.json --gen ./test/gen-template/matter/gen-test.json --gen --reuseZapInstance",
7169
"server": "node src-script/zap-start.js server --stateDirectory ~/.zap/server/ --allowCors --logToStdout --zcl ./zcl-builtin/silabs/zcl.json --zcl ./zcl-builtin/matter/zcl.json --gen ./test/gen-template/zigbee/gen-templates.json --gen ./test/gen-template/matter/gen-test.json ",
7270
"stop": "node src-script/zap-start.js stop --reuseZapInstance",
7371
"status": "node src-script/zap-start.js status --reuseZapInstance",

src-electron/db/db-mapping.js

-48
Original file line numberDiff line numberDiff line change
@@ -384,23 +384,6 @@ exports.map = {
384384
name: x.NAME,
385385
caption: x.DESCRIPTION,
386386
class: x.CLASS,
387-
packageRef: x.PACKAGE_REF,
388-
}
389-
},
390-
391-
deviceTypeExtended: (x) => {
392-
if (x == null) return undefined
393-
return {
394-
id: x.DEVICE_TYPE_ID,
395-
code: x.CODE,
396-
profileId: x.PROFILE_ID,
397-
domain: x.DOMAIN,
398-
label: x.NAME,
399-
name: x.NAME,
400-
caption: x.DESCRIPTION,
401-
class: x.CLASS,
402-
packageRef: x.PACKAGE_REF,
403-
category: x.CATEGORY,
404387
}
405388
},
406389

@@ -469,25 +452,6 @@ exports.map = {
469452
parentEndpointIdentifier: x.PARENT_ENDPOINT_IDENTIFIER,
470453
}
471454
},
472-
endpointExtended: (x) => {
473-
if (x == null) return undefined
474-
return {
475-
id: x.ENDPOINT_ID,
476-
endpointRef: x.ENDPOINT_ID,
477-
sessionRef: x.SESSION_REF,
478-
endpointIdentifier: x.ENDPOINT_IDENTIFIER,
479-
endpointId: x.ENDPOINT_IDENTIFIER,
480-
endpointTypeRef: x.ENDPOINT_TYPE_REF,
481-
profileId: x.PROFILE,
482-
networkId: x.NETWORK_IDENTIFIER,
483-
endpointVersion: x.DEVICE_VERSION, // Left for backwards compatibility
484-
deviceVersion: x.DEVICE_VERSION,
485-
deviceIdentifier: x.DEVICE_IDENTIFIER,
486-
parentRef: x.PARENT_ENDPOINT_REF,
487-
parentEndpointIdentifier: x.PARENT_ENDPOINT_IDENTIFIER,
488-
category: x.CATEGORY, // Category of the device type coming from the zcl package it belongs to.
489-
}
490-
},
491455
endpointType: (x) => {
492456
if (x == null) return undefined
493457
return {
@@ -679,8 +643,6 @@ exports.map = {
679643
sessionRef: x.SESSION_REF,
680644
required: x.REQUIRED,
681645
type: x.TYPE,
682-
sessionPartitionId: x.SESSION_PARTITION_ID,
683-
category: x.CATEGORY,
684646
}
685647
},
686648
sessionLog: (x) => {
@@ -702,16 +664,6 @@ exports.map = {
702664
newNotification: x.NEW_NOTIFICATION == 1,
703665
}
704666
},
705-
706-
sessionPartition: (x) => {
707-
if (x == null) return undefined
708-
return {
709-
sessionPartitionId: x.SESSION_PARTITION_ID,
710-
sessionRef: x.SESSION_REF,
711-
sessionPartitionNumber: x.SESSION_PARTITION_NUMBER,
712-
}
713-
},
714-
715667
user: (x) => {
716668
if (x == null) return undefined
717669
return {

src-electron/db/query-attribute.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -1102,12 +1102,8 @@ INNER JOIN
11021102
CLUSTER
11031103
ON
11041104
ENDPOINT_TYPE_CLUSTER.CLUSTER_REF = CLUSTER.CLUSTER_ID
1105-
INNER JOIN
1106-
SESSION_PARTITION
1107-
ON
1108-
ENDPOINT_TYPE.SESSION_PARTITION_REF = SESSION_PARTITION.SESSION_PARTITION_ID
11091105
WHERE
1110-
SESSION_PARTITION.SESSION_REF = ${sessionId}
1106+
ENDPOINT_TYPE.SESSION_REF = ${sessionId}
11111107
AND
11121108
ENDPOINT_TYPE_CLUSTER.ENABLED=1
11131109
AND

src-electron/db/query-cluster.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -218,12 +218,8 @@ async function selectAllUserClustersWithTokenAttributes(
218218
CLUSTER
219219
ON
220220
ENDPOINT_TYPE_CLUSTER.CLUSTER_REF = CLUSTER.CLUSTER_ID
221-
INNER JOIN
222-
SESSION_PARTITION
223-
ON
224-
ENDPOINT_TYPE.SESSION_PARTITION_REF = SESSION_PARTITION.SESSION_PARTITION_ID
225221
WHERE
226-
SESSION_PARTITION.SESSION_REF = ?
222+
ENDPOINT_TYPE.SESSION_REF = ?
227223
AND
228224
ENDPOINT_TYPE_CLUSTER.ENABLED=1
229225
AND

src-electron/db/query-config.js

+14-62
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ const dbEnum = require('../../src-shared/db-enum.js')
2727
const queryZcl = require('./query-zcl.js')
2828
const queryUpgrade = require('../sdk/matter.js')
2929
const queryDeviceType = require('./query-device-type')
30-
const querySession = require('./query-session')
3130
const queryCommand = require('./query-command.js')
3231
const restApi = require('../../src-shared/rest-api.js')
3332
const _ = require('lodash')
@@ -577,18 +576,16 @@ async function selectCountOfEndpointsWithGivenEndpointIdentifier(
577576
/**
578577
* Promises to add an endpoint type.
579578
*
579+
* @export
580580
* @param {*} db
581-
* @param {*} sessionPartitionInfo
581+
* @param {*} sessionId
582582
* @param {*} name
583583
* @param {*} deviceTypeRef
584-
* @param {*} deviceTypeIdentifier
585-
* @param {*} deviceTypeVersion
586-
* @param {*} doTransaction
587584
* @returns Promise to update endpoints.
588585
*/
589586
async function insertEndpointType(
590587
db,
591-
sessionPartitionInfo,
588+
sessionId,
592589
name,
593590
deviceTypeRef,
594591
deviceTypeIdentifier,
@@ -607,8 +604,8 @@ async function insertEndpointType(
607604
// Insert endpoint type
608605
let newEndpointTypeId = await dbApi.dbInsert(
609606
db,
610-
'INSERT OR REPLACE INTO ENDPOINT_TYPE ( SESSION_PARTITION_REF, NAME ) VALUES ( ?, ?)',
611-
[sessionPartitionInfo.sessionPartitionId, name]
607+
'INSERT OR REPLACE INTO ENDPOINT_TYPE ( SESSION_REF, NAME ) VALUES ( ?, ?)',
608+
[sessionId, name]
612609
)
613610

614611
// Creating endpoint type and device type ref combinations along with order of insertion
@@ -638,7 +635,7 @@ async function insertEndpointType(
638635
db,
639636
'ERROR',
640637
isErrorStringPresent ? err.split('Error:')[1] : err,
641-
sessionPartitionInfo.sessionRef,
638+
sessionId,
642639
1,
643640
1
644641
)
@@ -659,7 +656,7 @@ async function insertEndpointType(
659656
for (const dtRef of deviceTypeRefs) {
660657
await setEndpointDefaults(
661658
db,
662-
sessionPartitionInfo.sessionRef,
659+
sessionId,
663660
newEndpointTypeId,
664661
dtRef,
665662
doTransaction
@@ -682,8 +679,7 @@ async function duplicateEndpointType(db, endpointTypeId) {
682679
db,
683680
`
684681
SELECT
685-
SESSION_PARTITION.SESSION_REF,
686-
SESSION_PARTITION.SESSION_PARTITION_ID,
682+
ENDPOINT_TYPE.SESSION_REF,
687683
ENDPOINT_TYPE.NAME,
688684
ENDPOINT_TYPE_DEVICE.DEVICE_TYPE_REF,
689685
ENDPOINT_TYPE_DEVICE.DEVICE_IDENTIFIER,
@@ -694,10 +690,6 @@ async function duplicateEndpointType(db, endpointTypeId) {
694690
ENDPOINT_TYPE_DEVICE
695691
ON
696692
ENDPOINT_TYPE.ENDPOINT_TYPE_ID = ENDPOINT_TYPE_DEVICE.ENDPOINT_TYPE_REF
697-
INNER JOIN
698-
SESSION_PARTITION
699-
ON
700-
ENDPOINT_TYPE.SESSION_PARTITION_REF = SESSION_PARTITION.SESSION_PARTITION_ID
701693
WHERE
702694
ENDPOINT_TYPE_DEVICE.ENDPOINT_TYPE_REF = ?`,
703695
[endpointTypeId]
@@ -707,12 +699,9 @@ async function duplicateEndpointType(db, endpointTypeId) {
707699
// Enter into the endpoint_type table
708700
newEndpointTypeId = await dbApi.dbInsert(
709701
db,
710-
`INSERT INTO ENDPOINT_TYPE (SESSION_PARTITION_REF, NAME)
702+
`INSERT INTO ENDPOINT_TYPE (SESSION_REF, NAME)
711703
VALUES (?, ?)`,
712-
[
713-
endpointTypeDeviceInfo[0].SESSION_PARTITION_ID,
714-
endpointTypeDeviceInfo[0].NAME,
715-
]
704+
[endpointTypeDeviceInfo[0].SESSION_REF, endpointTypeDeviceInfo[0].NAME]
716705
)
717706

718707
// Enter into the endpoint_type_device table to establish the endpoint_type
@@ -769,12 +758,8 @@ async function updateEndpointType(db, sessionId, endpointTypeId, changesArray) {
769758
INNER JOIN
770759
ENDPOINT_TYPE_DEVICE
771760
ON ENDPOINT_TYPE.ENDPOINT_TYPE_ID = ENDPOINT_TYPE_DEVICE.ENDPOINT_TYPE_REF
772-
INNER JOIN
773-
SESSION_PARTITION
774-
ON
775-
ENDPOINT_TYPE.SESSION_PARTITION_REF = SESSION_PARTITION.SESSION_PARTITION_ID
776761
WHERE
777-
ENDPOINT_TYPE.ENDPOINT_TYPE_ID = ? AND SESSION_PARTITION.SESSION_REF = ?
762+
ENDPOINT_TYPE_ID = ? AND SESSION_REF = ?
778763
ORDER BY
779764
ENDPOINT_TYPE_DEVICE.DEVICE_TYPE_ORDER`,
780765
[endpointTypeId, sessionId]
@@ -888,10 +873,7 @@ async function updateEndpointType(db, sessionId, endpointTypeId, changesArray) {
888873
/**
889874
* Promise to set the default attributes and clusters for a endpoint type.
890875
* @param {*} db
891-
* @param {*} sessionId
892876
* @param {*} endpointTypeId
893-
* @param {*} deviceTypeRef
894-
* @param {*} doTransaction
895877
*/
896878
async function setEndpointDefaults(
897879
db,
@@ -911,20 +893,7 @@ async function setEndpointDefaults(
911893
if (pkgs == null || pkgs.length < 1)
912894
throw new Error('Could not locate package id for a given session.')
913895

914-
let deviceTypeInfo =
915-
await querySession.selectDeviceTypePackageInfoFromDeviceTypeId(
916-
db,
917-
deviceTypeRef
918-
)
919-
let endpointTypeCategory =
920-
deviceTypeInfo.length > 0 ? deviceTypeInfo[0].category : null
921896
let packageId = pkgs[0].id
922-
for (let i = 0; i < pkgs.length; i++) {
923-
if (pkgs[i].category == endpointTypeCategory) {
924-
packageId = pkgs[i].id
925-
break
926-
}
927-
}
928897
let clusters = await queryDeviceType.selectDeviceTypeClustersByDeviceTypeRef(
929898
db,
930899
deviceTypeRef
@@ -1247,16 +1216,7 @@ async function resolveNonOptionalAndReportableAttributes(
12471216
async function selectEndpointTypeCount(db, sessionId) {
12481217
let x = await dbApi.dbGet(
12491218
db,
1250-
`SELECT
1251-
COUNT(ENDPOINT_TYPE_ID) AS CNT
1252-
FROM
1253-
ENDPOINT_TYPE
1254-
INNER JOIN
1255-
SESSION_PARTITION
1256-
ON
1257-
SESSION_PARTITION.SESSION_PARTITION_ID = ENDPOINT_TYPE.SESSION_PARTITION_REF
1258-
WHERE
1259-
SESSION_PARTITION.SESSION_REF = ?`,
1219+
'SELECT COUNT(ENDPOINT_TYPE_ID) AS CNT FROM ENDPOINT_TYPE WHERE SESSION_REF = ?',
12601220
[sessionId]
12611221
)
12621222
return x['CNT']
@@ -1283,11 +1243,7 @@ SELECT
12831243
COUNT(ENDPOINT_TYPE_ID)
12841244
FROM
12851245
ENDPOINT_TYPE
1286-
INNER JOIN
1287-
SESSION_PARTITION
1288-
ON
1289-
SESSION_PARTITION.SESSION_PARTITION_ID = ENDPOINT_TYPE.SESSION_PARTITION_REF
1290-
WHERE SESSION_PARTITION.SESSION_REF = ?
1246+
WHERE SESSION_REF = ?
12911247
AND ENDPOINT_TYPE_ID IN
12921248
(SELECT ENDPOINT_TYPE_REF
12931249
FROM ENDPOINT_TYPE_CLUSTER
@@ -1448,12 +1404,8 @@ JOIN
14481404
ATTRIBUTE AS A ON ETA.ATTRIBUTE_REF = A.ATTRIBUTE_ID
14491405
JOIN
14501406
ENDPOINT_TYPE AS ET ON ETA.ENDPOINT_TYPE_REF = ET.ENDPOINT_TYPE_ID
1451-
INNER JOIN
1452-
SESSION_PARTITION
1453-
ON
1454-
ET.SESSION_PARTITION_REF = SESSION_PARTITION.SESSION_PARTITION_ID
14551407
WHERE
1456-
SESSION_PARTITION.SESSION_REF = ? AND ETA.INCLUDED = 1
1408+
ET.SESSION_REF = ? AND ETA.INCLUDED = 1
14571409
ORDER BY
14581410
CLUSTER_CODE, ATTRIBUTE_CODE
14591411
`,

src-electron/db/query-device-type.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ const dbMapping = require('./db-mapping')
2626
/**
2727
* Retrieves all the device types in the database.
2828
*
29+
* @export
2930
* @param {*} db
30-
* @param {*} packageId
3131
* @returns Promise that resolves with the rows of device types.
3232
*/
3333
async function selectAllDeviceTypes(db, packageId) {
3434
return dbApi
3535
.dbAll(
3636
db,
37-
'SELECT DEVICE_TYPE_ID, DOMAIN, CODE, PROFILE_ID, NAME, DESCRIPTION, CLASS, PACKAGE_REF FROM DEVICE_TYPE WHERE PACKAGE_REF = ? ORDER BY DOMAIN, CODE',
37+
'SELECT DEVICE_TYPE_ID, DOMAIN, CODE, PROFILE_ID, NAME, DESCRIPTION, CLASS FROM DEVICE_TYPE WHERE PACKAGE_REF = ? ORDER BY DOMAIN, CODE',
3838
[packageId]
3939
)
4040
.then((rows) => rows.map(dbMapping.map.deviceType))
@@ -51,7 +51,7 @@ async function selectDeviceTypeById(db, id) {
5151
return dbApi
5252
.dbGet(
5353
db,
54-
'SELECT DEVICE_TYPE_ID, DOMAIN, CODE, PROFILE_ID, NAME, DESCRIPTION, CLASS, PACKAGE_REF FROM DEVICE_TYPE WHERE DEVICE_TYPE_ID = ?',
54+
'SELECT DEVICE_TYPE_ID, DOMAIN, CODE, PROFILE_ID, NAME, DESCRIPTION, CLASS FROM DEVICE_TYPE WHERE DEVICE_TYPE_ID = ?',
5555
[id]
5656
)
5757
.then(dbMapping.map.deviceType)

0 commit comments

Comments
 (0)