diff --git a/package.json b/package.json
index 330ec65b58f1825b7e16bc254edd9fd46ca7e103..a7f9b2f40dcd38add716c53474227f2cbacc2057 100644
--- a/package.json
+++ b/package.json
@@ -33,8 +33,9 @@
     "self-check": "node src-electron/main-process/electron-main.js selfCheck -g ./test/gen-template/zigbee/gen-templates.json",
     "version-stamp": "node src-script/zap-versionstamp.js",
     "gen": "node src-script/zap-generate.js -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-templates.json -i ./test/resource/three-endpoint-device.zap -o ./tmp",
-    "analyze": "node src-script/zap-start.js analyze -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-templates.json ./test/resource/three-endpoint-device.zap -o ./tmp",
     "gen2": "node src-script/zap-generate.js -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-templates.json -i ./test/resource/generation-test-file-1.zap -o ./tmp",
+    "gen3": "node src-script/zap-generate.js -z ./zcl-builtin/dotdot/library.xml -g ./test/gen-template/zigbee/gen-templates.json -i ./test/resource/generation-test-file-1.zap -o ./tmp",
+    "analyze": "node src-script/zap-start.js analyze -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/zigbee/gen-templates.json ./test/resource/three-endpoint-device.zap -o ./tmp",
     "genchip": "node src-script/zap-generate.js -z ./zcl-builtin/silabs/zcl.json -g ./test/gen-template/chip/gen-test.json -i ./test/resource/chip/chip_test.zap -o ./tmp",
     "pack": "node src-script/build-spa.js && electron-builder --dir",
     "dist": "electron-builder",
diff --git a/src-electron/generator/helper-zap.js b/src-electron/generator/helper-zap.js
index e3d2819b2e0b4b525245f85da4068b68129a09ad..76036d86c158ba659429b81896dc6663c3a70a56 100644
--- a/src-electron/generator/helper-zap.js
+++ b/src-electron/generator/helper-zap.js
@@ -170,6 +170,7 @@ function toggle(condition, trueResult, falseResult) {
  * @returns A string with no leading and trailing spaces
  */
 function trim_string(str) {
+  if (str == null) return null
   var result = str.trim()
   return result
 }