homebridge-unifi-protect 6.21.1 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/README.md +29 -29
  2. package/config.schema.json +5 -15
  3. package/dist/devices/protect-camera-package.d.ts +0 -2
  4. package/dist/devices/protect-camera-package.js +4 -12
  5. package/dist/devices/protect-camera-package.js.map +1 -1
  6. package/dist/devices/protect-camera.d.ts +8 -9
  7. package/dist/devices/protect-camera.js +30 -119
  8. package/dist/devices/protect-camera.js.map +1 -1
  9. package/dist/devices/protect-chime.js +2 -6
  10. package/dist/devices/protect-chime.js.map +1 -1
  11. package/dist/devices/protect-device.d.ts +11 -5
  12. package/dist/devices/protect-device.js +17 -20
  13. package/dist/devices/protect-device.js.map +1 -1
  14. package/dist/devices/protect-doorbell.d.ts +0 -2
  15. package/dist/devices/protect-doorbell.js +39 -58
  16. package/dist/devices/protect-doorbell.js.map +1 -1
  17. package/dist/devices/protect-light.js +1 -3
  18. package/dist/devices/protect-light.js.map +1 -1
  19. package/dist/devices/protect-liveviews.js +2 -1
  20. package/dist/devices/protect-liveviews.js.map +1 -1
  21. package/dist/devices/protect-nvr-systeminfo.js +1 -1
  22. package/dist/devices/protect-nvr-systeminfo.js.map +1 -1
  23. package/dist/devices/protect-securitysystem.js +4 -4
  24. package/dist/devices/protect-securitysystem.js.map +1 -1
  25. package/dist/devices/protect-sensor.js +2 -6
  26. package/dist/devices/protect-sensor.js.map +1 -1
  27. package/dist/ffmpeg/protect-ffmpeg-codecs.js.map +1 -1
  28. package/dist/ffmpeg/protect-ffmpeg-exec.js.map +1 -1
  29. package/dist/ffmpeg/protect-ffmpeg-options.js +2 -20
  30. package/dist/ffmpeg/protect-ffmpeg-options.js.map +1 -1
  31. package/dist/ffmpeg/protect-ffmpeg-record.js +2 -1
  32. package/dist/ffmpeg/protect-ffmpeg-record.js.map +1 -1
  33. package/dist/ffmpeg/protect-ffmpeg-stream.js +14 -8
  34. package/dist/ffmpeg/protect-ffmpeg-stream.js.map +1 -1
  35. package/dist/ffmpeg/protect-ffmpeg.d.ts +2 -2
  36. package/dist/ffmpeg/protect-ffmpeg.js.map +1 -1
  37. package/dist/protect-events.d.ts +1 -1
  38. package/dist/protect-events.js +36 -33
  39. package/dist/protect-events.js.map +1 -1
  40. package/dist/protect-nvr.d.ts +7 -11
  41. package/dist/protect-nvr.js +14 -60
  42. package/dist/protect-nvr.js.map +1 -1
  43. package/dist/protect-options.d.ts +8 -23
  44. package/dist/protect-options.js +7 -129
  45. package/dist/protect-options.js.map +1 -1
  46. package/dist/protect-platform.d.ts +2 -4
  47. package/dist/protect-platform.js +3 -28
  48. package/dist/protect-platform.js.map +1 -1
  49. package/dist/protect-record.d.ts +2 -1
  50. package/dist/protect-record.js +21 -27
  51. package/dist/protect-record.js.map +1 -1
  52. package/dist/protect-snapshot.d.ts +2 -2
  53. package/dist/protect-snapshot.js +7 -3
  54. package/dist/protect-snapshot.js.map +1 -1
  55. package/dist/protect-stream.d.ts +3 -3
  56. package/dist/protect-stream.js +102 -93
  57. package/dist/protect-stream.js.map +1 -1
  58. package/dist/protect-timeshift.d.ts +9 -3
  59. package/dist/protect-timeshift.js +76 -24
  60. package/dist/protect-timeshift.js.map +1 -1
  61. package/dist/protect-types.d.ts +0 -7
  62. package/dist/protect-types.js +0 -1
  63. package/dist/protect-types.js.map +1 -1
  64. package/dist/settings.d.ts +4 -1
  65. package/dist/settings.js +8 -2
  66. package/dist/settings.js.map +1 -1
  67. package/homebridge-ui/public/index.html +43 -22
  68. package/homebridge-ui/public/lib/featureoptions.js +376 -0
  69. package/homebridge-ui/public/lib/featureoptions.js.map +1 -0
  70. package/homebridge-ui/public/lib/webUi-featureoptions.mjs +836 -0
  71. package/homebridge-ui/public/lib/webUi.mjs +184 -0
  72. package/homebridge-ui/public/ui.mjs +208 -124
  73. package/homebridge-ui/server.js +13 -39
  74. package/package.json +22 -21
  75. package/dist/protect-mqtt.d.ts +0 -20
  76. package/dist/protect-mqtt.js +0 -177
  77. package/dist/protect-mqtt.js.map +0 -1
  78. package/dist/protect-rtp.d.ts +0 -26
  79. package/dist/protect-rtp.js +0 -180
  80. package/dist/protect-rtp.js.map +0 -1
  81. package/homebridge-ui/public/lib/featureoptions.mjs +0 -201
  82. package/homebridge-ui/public/protect-featureoptions.mjs +0 -736
@@ -1 +1 @@
1
- {"version":3,"file":"protect-events.js","sourceRoot":"","sources":["../src/protect-events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-events.js","sourceRoot":"","sources":["../src/protect-events.ts"],"names":[],"mappings":"AAOA,OAAO,EAA4B,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,iCAAiC,EAAE,MAAM,eAAe,CAAC;AAIlE,MAAM,OAAO,aAAc,SAAQ,YAAY;IAErC,GAAG,CAAM;IACT,GAAG,CAAM;IACT,GAAG,CAA0B;IAC7B,oBAAoB,CAAU;IAC9B,GAAG,CAAa;IACP,WAAW,CAAsC;IAC1D,MAAM,CAAa;IACnB,cAAc,CAAgD;IAC9D,QAAQ,CAAkB;IAC1B,kBAAkB,CAA+B;IACjD,aAAa,CAAgD;IAC7D,iBAAiB,CAAiD;IAE1E,wDAAwD;IACxD,YAAY,GAAe;QAEzB,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC5B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACnB,IAAI,CAAC,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;QACpE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QACzB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC7B,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,kEAAkE;QAClE,IAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,mKAAmK;IACnK,4FAA4F;IAC5F,EAAE;IACF,+IAA+I;IACvI,SAAS,CAA6C,GAAe,EAAE,OAAgB;QAE7F,MAAM,SAAS,GAAG,CAAC,GAAG,OAAkC,EAA2B,EAAE;YAEnF,MAAM,MAAM,GAAG,EAA6B,CAAC;YAE7C,iEAAiE;YACjE,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;YAEhJ,yCAAyC;YACzC,KAAI,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAE5B,kKAAkK;gBAClK,8JAA8J;gBAC9J,WAAW;gBACX,KAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;oBAE/E,cAAc;oBACd,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAE7B,mJAAmJ;oBACnJ,IAAG,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAEjD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;wBAEjD,SAAS;oBACX,CAAC;oBAED,kDAAkD;oBAClD,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,cAAc;YACd,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,OAAO,SAAS,CAAC,GAAyC,EAAE,OAAkC,CAAe,CAAC;IAChH,CAAC;IAED,qCAAqC;IAC7B,UAAU,CAAC,MAA0B;QAE3C,IAAI,aAAmC,CAAC;QAExC,QAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAE9B,KAAK,KAAK;gBAER,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAE5D,MAAM;YAER;gBAEE,qBAAqB;gBACrB,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAExD,+BAA+B;gBAC/B,IAAG,CAAC,aAAa,EAAE,CAAC;oBAElB,MAAM;gBACR,CAAC;gBAED,2BAA2B;gBAC3B,aAAa,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;gBAEtE,sCAAsC;gBACtC,IAAI,MAAM,CAAC,OAAmC,CAAC,KAAK,EAAE,CAAC;oBAErD,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBAEnG,sJAAsJ;oBACtJ,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;wBACtG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;gBAC9G,CAAC;gBAED,sCAAsC;gBACtC,IAAI,MAAM,CAAC,OAAmC,CAAC,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAEpF,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,qHAAqH,CAAC,CAAC;oBAC9I,aAAa,CAAC,aAAa,EAAE,CAAC;gBAChC,CAAC;gBAED,MAAM;QACV,CAAC;QAED,wCAAwC;QACxC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IACrH,CAAC;IAED,4EAA4E;IACpE,aAAa,CAAC,MAA0B;QAE9C,MAAM,OAAO,GAAG,MAAM,CAAC,OAA0B,CAAC;QAElD,wCAAwC;QACxC,IAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,EAAE,CAAC;YAExH,OAAO;QACT,CAAC;QAED,gEAAgE;QAChE,IAAG,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,IAAK,OAAO,CAAC,QAAQ,CAAC,QAAoC,CAAC,EAAE,CAAC;YAE5G,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,MAAM,QAAQ,GAAI,OAAO,CAAC,QAAQ,CAAC,QAAoC,CAAC,IAAc,CAAC;QACvF,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAEtD,kBAAkB;QAClB,IAAG,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAEpC,IAAG,aAAa,EAAE,CAAC;gBAEjB,OAAO;YACT,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;YAEzD,OAAO;QACT,CAAC;QAED,oBAAoB;QACpB,IAAG,OAAO,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;YAEtC,oCAAoC;YACpC,IAAG,CAAC,aAAa,EAAE,CAAC;gBAElB,OAAO;YACT,CAAC;YAED,qBAAqB;YACrB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YAE5C,OAAO;QACT,CAAC;IACH,CAAC;IAED,mGAAmG;IAC3F,eAAe;QAErB,kFAAkF;QAClF,IAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEhD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,qEAAqE;QACrE,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzF,yBAAyB;QACzB,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhE,iJAAiJ;QACjJ,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,MAA0B,EAAQ,EAAE;YAElF,QAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;gBAE5B,KAAK,KAAK;oBAER,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBAE9B,IAAI,MAAM,CAAC,OAA2B,CAAC,MAAM,EAAE,CAAC;wBAE9C,IAAI,CAAC,IAAI,CAAC,WAAW,GAAI,MAAM,CAAC,OAA2B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAC9E,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAExD,MAAM;gBAER,KAAK,QAAQ;oBAEX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAE3D,MAAM;gBAER,KAAK,QAAQ;oBAEX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBACrD,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;oBAE3D,MAAM;gBAER;oBAEE,MAAM;YACV,CAAC;YAED,wFAAwF;YACxF,IAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAE7B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8CAA8C;IACvC,kBAAkB,CAAC,aAA4B,EAAE,kBAA4B,EAAE,EAAE,QAA+B;QAErH,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,OAAO;QACT,CAAC;QAED,mEAAmE;QACnE,MAAM,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAExF,IAAG,aAAa,EAAE,CAAC;YAEjB,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,oCAAoC;IAC5B,mBAAmB,CAAC,aAA4B,EAAE,aAAsB,EAAE,kBAA4B,EAAE,EAAE,QAA+B;QAE/I,IAAG,CAAC,aAAa,EAAE,CAAC;YAElB,OAAO;QACT,CAAC;QAED,sDAAsD;QACtD,IAAG,CAAC,cAAc,IAAI,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAExG,OAAO;QACT,CAAC;QAED,0DAA0D;QAC1D,IAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;YAEtC,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,aAA8B,CAAC;QAErD,uCAAuC;QACvC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QAEjF,4DAA4D;QAC5D,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEpK,mEAAmE;QACnE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAEhE,yCAAyC;QACzC,IAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;YAEjC,IAAI,UAAU,GAAG,EAAE,CAAC;YAEpB,gGAAgG;YAChG,IAAG,QAAQ,EAAE,YAAY,IAAI,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBAEpG,UAAU,GAAG,mBAAmB,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,eAAe,GAAG,eAAe,CAAC;YACjI,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EACzC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,eAAe,CAAC,MAAM;gBACpE,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,WAAW;oBACzC,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpK,CAAC;QAED,2DAA2D;QAC3D,KAAI,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAE5C,sDAAsD;YACtD,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,0BAA0B,GAAG,GAAG,GAAG,cAAc,CAAC;gBAC5I,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAE3E,yEAAyE;YACzE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC;YAExF,wDAAwD;YACxD,IAAG,QAAQ,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAExH,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,kCAAkC,GAAG,GAAG;oBAClI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAEpH,yEAAyE;gBACzE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,GAAG,cAAc,GAAG,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1H,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAEnD,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAElF,4DAA4D;YAC5D,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;gBACzG,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAE5D,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAEnD,kDAAkD;YAClD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAEjE,kDAAkD;YAClD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAE9C,sGAAsG;QACtG,IAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,mCAAmC,CAAC,EAAE,CAAC;YAE5E,8DAA8D;YAC9D,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,mCAAmC,CAAC,CAAC,CAAC;QACzF,CAAC;QAED,+DAA+D;QAC/D,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,mCAAmC,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAEzF,qDAAqD;YACrD,KAAI,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAE5C,yDAAyD;gBACzD,IAAG,QAAQ,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;oBAExH,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,kCAAkC,GAAG,GAAG;wBAClI,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACvH,CAAC;gBAED,wDAAwD;gBACxD,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,oBAAoB,CAAC,0BAA0B,GAAG,GAAG,GAAG,cAAc,CAAC;oBAC5I,EAAE,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBAE5E,yEAAyE;gBACzE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,GAAG,cAAc,EAAE,OAAO,CAAC,CAAC;gBAEzF,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAClE,CAAC;YAED,kDAAkD;YAClD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,mCAAmC,CAAC,CAAC;QAClF,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;QAE9C,4JAA4J;QAC5J,2BAA2B;QAC3B,IAAG,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAEtJ,qGAAqG;YACrG,MAAM,gBAAgB,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAE9F,IAAG,gBAAgB,EAAE,CAAC;gBAEpB,iCAAiC;gBACjC,IAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,yBAAyB,CAAC,EAAE,CAAC;oBAElE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,yBAAyB,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBAED,oEAAoE;gBACpE,IAAG,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;oBAEhG,0CAA0C;oBAC1C,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;oBAEvF,sEAAsE;oBACtE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;oBAEnE,yCAAyC;oBACzC,IAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAEjC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAC5C,aAAa,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1I,CAAC;gBACH,CAAC;gBAED,qDAAqD;gBACrD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,yBAAyB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;oBAE/E,8BAA8B;oBAC9B,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;oBAExF,kDAAkD;oBAClD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;oBAEpE,yCAAyC;oBACzC,IAAG,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;wBAEjC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;oBAC1D,CAAC;oBAED,kDAAkD;oBAClD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBAC5C,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,yEAAyE;IAClE,oBAAoB,CAAC,aAA4B,EAAE,QAAuB;QAE/E,IAAG,CAAC,aAAa,IAAI,CAAC,QAAQ,EAAE,CAAC;YAE/B,OAAO;QACT,CAAC;QAED,sFAAsF;QACtF,IAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,gBAAgB,CAAC,EAAE,CAAC;YAEzD,OAAO;QACT,CAAC;QAED,8CAA8C;QAC9C,MAAM,eAAe,GAAG,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEtF,IAAG,CAAC,eAAe,EAAE,CAAC;YAEpB,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC;YAChF,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAExF,qFAAqF;QACrF,MAAM,cAAc,GAAG,aAAa,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;QAErI,IAAG,cAAc,EAAE,CAAC;YAElB,mCAAmC;YACnC,IAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,wBAAwB,CAAC,EAAE,CAAC;gBAEjE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,wBAAwB,CAAC,CAAC,CAAC;gBAC5E,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,wBAAwB,CAAC,CAAC;YACvE,CAAC;YAED,2BAA2B;YAC3B,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC;YAE/B,mCAAmC;YACnC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAEtE,8BAA8B;YAC9B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,wBAAwB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;gBAE9E,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;gBAEhC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACvE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAEnD,kDAAkD;gBAClD,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,wBAAwB,CAAC,CAAC;YACvE,CAAC,EAAE,iCAAiC,CAAC,CAAC;QACxC,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAElE,IAAG,aAAa,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YAEnC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACpD,CAAC;QAED,gCAAgC;QAChC,IAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC;YAE9D,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC,CAAC;YACzE,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC;QACpE,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,qBAAqB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAE3E,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAEnE,2CAA2C;YAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,qBAAqB,CAAC,CAAC;QACpE,CAAC,EAAE,iCAAiC,CAAC,CAAC;QAEtC,wDAAwD;QACxD,IAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAEvC,OAAO;QACT,CAAC;QAED,4BAA4B;QAC5B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,gBAAgB,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE;YAEtE,2CAA2C;YAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC;QAC/D,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -1,10 +1,9 @@
1
- /// <reference types="node" />
1
+ import { HomebridgePluginLogging, MqttClient } from "homebridge-plugin-utils";
2
2
  import { ProtectApi, ProtectNvrConfig } from "unifi-protect";
3
3
  import { ProtectDevice, ProtectNvrSystemInfo } from "./devices/index.js";
4
- import { ProtectDeviceConfigTypes, ProtectDevices, ProtectLogging } from "./protect-types.js";
5
- import { ProtectNvrOptions } from "./protect-options.js";
4
+ import { ProtectDeviceConfigTypes, ProtectDevices } from "./protect-types.js";
6
5
  import { ProtectEvents } from "./protect-events.js";
7
- import { ProtectMqtt } from "./protect-mqtt.js";
6
+ import { ProtectNvrOptions } from "./protect-options.js";
8
7
  import { ProtectPlatform } from "./protect-platform.js";
9
8
  export declare class ProtectNvr {
10
9
  private api;
@@ -18,8 +17,8 @@ export declare class ProtectNvr {
18
17
  private hap;
19
18
  private liveviews;
20
19
  logApiErrors: boolean;
21
- readonly log: ProtectLogging;
22
- mqtt: ProtectMqtt | null;
20
+ readonly log: HomebridgePluginLogging;
21
+ mqtt: MqttClient | null;
23
22
  private name;
24
23
  nvrHksvErrors: number;
25
24
  platform: ProtectPlatform;
@@ -31,7 +30,6 @@ export declare class ProtectNvr {
31
30
  private bootstrapNvr;
32
31
  login(): Promise<void>;
33
32
  private configureNvr;
34
- private configureDefaultDoorbellMessage;
35
33
  private addProtectDevice;
36
34
  addHomeKitDevice(device: ProtectDeviceConfigTypes): ProtectDevice | null;
37
35
  private discoverAndSyncAccessories;
@@ -45,9 +43,7 @@ export declare class ProtectNvr {
45
43
  deviceLookup(deviceId: string): ProtectDevices | null;
46
44
  getFeatureFloat(option: string): number | undefined;
47
45
  getFeatureNumber(option: string): number | undefined;
48
- isNvrFeature(option: string, device?: ProtectDeviceConfigTypes | ProtectNvrConfig | null): boolean;
49
- hasFeature(option: string, device?: ProtectDeviceConfigTypes | ProtectNvrConfig | null): boolean;
46
+ isNvrFeature(option: string, device?: ProtectDeviceConfigTypes | ProtectNvrConfig): boolean;
47
+ hasFeature(option: string, device?: ProtectDeviceConfigTypes | ProtectNvrConfig): boolean;
50
48
  logFeature(option: string, message: string): void;
51
- sleep(sleepTimer: number): Promise<NodeJS.Timeout>;
52
- private retry;
53
49
  }
@@ -1,10 +1,9 @@
1
+ import { MqttClient, retry, sleep } from "homebridge-plugin-utils";
1
2
  import { PLATFORM_NAME, PLUGIN_NAME, PROTECT_CONTROLLER_REFRESH_INTERVAL, PROTECT_CONTROLLER_RETRY_INTERVAL, PROTECT_M3U_PLAYLIST_PORT } from "./settings.js";
2
3
  import { ProtectApi } from "unifi-protect";
3
4
  import { ProtectCamera, ProtectChime, ProtectDoorbell, ProtectLight, ProtectLiveviews, ProtectNvrSystemInfo, ProtectSensor, ProtectViewer } from "./devices/index.js";
4
5
  import { ProtectDeviceCategories } from "./protect-types.js";
5
- import { getOptionFloat, getOptionNumber, getOptionScope, getOptionValue, isOptionEnabled } from "./protect-options.js";
6
6
  import { ProtectEvents } from "./protect-events.js";
7
- import { ProtectMqtt } from "./protect-mqtt.js";
8
7
  import http from "node:http";
9
8
  import util from "node:util";
10
9
  export class ProtectNvr {
@@ -64,7 +63,7 @@ export class ProtectNvr {
64
63
  // Retrieve the bootstrap configuration from the Protect controller.
65
64
  async bootstrapNvr() {
66
65
  // Attempt to bootstrap the controller until we're successful.
67
- await this.retry(() => this.ufpApi.getBootstrap(), PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
66
+ await retry(() => this.ufpApi.getBootstrap(), PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
68
67
  }
69
68
  // Initialize our connection to the UniFi Protect controller.
70
69
  async login() {
@@ -88,7 +87,7 @@ export class ProtectNvr {
88
87
  this.ufpApi = new ProtectApi(ufpLog);
89
88
  // Attempt to login to the Protect controller, retrying at reasonable intervals. This accounts for cases where the Protect controller or the network connection
90
89
  // may not be fully available when we startup.
91
- await this.retry(() => this.ufpApi.login(this.config.address, this.config.username, this.config.password), PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
90
+ await retry(() => this.ufpApi.login(this.config.address, this.config.username, this.config.password), PROTECT_CONTROLLER_RETRY_INTERVAL * 1000);
92
91
  // Now, let's get the bootstrap configuration from the Protect controller.
93
92
  await this.bootstrapNvr();
94
93
  // Save the bootstrap to ease our device initialization below.
@@ -105,7 +104,7 @@ export class ProtectNvr {
105
104
  this.log.info("Disabling this UniFi Protect controller in HomeKit.");
106
105
  // Let's sleep for thirty seconds to give all the accessories a chance to load before disabling everything. Homebridge doesn't have a good mechanism to notify us
107
106
  // when all the cached accessories are loaded at startup.
108
- await this.sleep(30);
107
+ await sleep(30);
109
108
  // Unregister all the accessories for this controller from Homebridge that may have been restored already. Any additional ones will be automatically caught when
110
109
  // they are restored.
111
110
  this.removeHomeKitAccessories(this.platform.accessories.filter(x => x.context.nvr === this.ufp.mac));
@@ -114,14 +113,14 @@ export class ProtectNvr {
114
113
  // Initialize our UniFi Protect event handler.
115
114
  this.events = new ProtectEvents(this);
116
115
  // Configure any NVR-specific settings.
117
- void this.configureNvr();
116
+ this.configureNvr();
118
117
  // Initialize our liveviews.
119
118
  this.liveviews = new ProtectLiveviews(this);
120
119
  // Initialize our NVR system information.
121
120
  this.systemInfo = new ProtectNvrSystemInfo(this);
122
121
  // Initialize MQTT, if needed.
123
122
  if (!this.mqtt && this.config.mqttUrl) {
124
- this.mqtt = new ProtectMqtt(this);
123
+ this.mqtt = new MqttClient(this.config.mqttUrl, this.config.mqttTopic, this.log);
125
124
  }
126
125
  // Initialize our playlist service, if enabled.
127
126
  if (this.getFeatureNumber("Nvr.Service.Playlist") !== undefined) {
@@ -161,32 +160,7 @@ export class ProtectNvr {
161
160
  bootstrapRefresh();
162
161
  }
163
162
  // Configure NVR-specific settings.
164
- async configureNvr() {
165
- // Warn users if they're running versions of UniFi OS below 3.0.
166
- const firmwareVersion = this.ufp.firmwareVersion.split(".");
167
- if (parseInt(firmwareVersion[0]) < 3) {
168
- this.log.error("Warning: your Protect controller firmware version is less than UniFi OS 3.0. Some features may not work correctly.");
169
- }
170
- // Configure the default doorbell message on the NVR.
171
- await this.configureDefaultDoorbellMessage();
172
- return true;
173
- }
174
- // Configure a default doorbell message on the Protect doorbell.
175
- async configureDefaultDoorbellMessage() {
176
- // If we haven't configured a default doorbell message or we aren't an admin user, don't attempt to set the default doorbell message.
177
- if (!this.config.defaultDoorbellMessage || !this.ufpApi.isAdminUser) {
178
- return false;
179
- }
180
- // Set the default message.
181
- const newUfp = await this.ufpApi.updateDevice(this.ufp, { doorbellSettings: { defaultMessageText: this.config.defaultDoorbellMessage } });
182
- if (!newUfp) {
183
- this.log.error("Unable to set the default doorbell message. Please ensure this username has the Administrator role in UniFi Protect.");
184
- return false;
185
- }
186
- // Update our internal view of the NVR configuration.
187
- this.ufp = newUfp;
188
- // Inform the user.
189
- this.log.info("Default doorbell message set to: %s.", this.config.defaultDoorbellMessage);
163
+ configureNvr() {
190
164
  return true;
191
165
  }
192
166
  // Create instances of Protect device types in our plugin.
@@ -204,27 +178,22 @@ export class ProtectNvr {
204
178
  this.configuredDevices[accessory.UUID] = new ProtectCamera(this, device, accessory);
205
179
  }
206
180
  return true;
207
- break;
208
181
  case "chime":
209
182
  // We have a UniFi Protect chime.
210
183
  this.configuredDevices[accessory.UUID] = new ProtectChime(this, device, accessory);
211
184
  return true;
212
- break;
213
185
  case "light":
214
186
  // We have a UniFi Protect light.
215
187
  this.configuredDevices[accessory.UUID] = new ProtectLight(this, device, accessory);
216
188
  return true;
217
- break;
218
189
  case "sensor":
219
190
  // We have a UniFi Protect sensor.
220
191
  this.configuredDevices[accessory.UUID] = new ProtectSensor(this, device, accessory);
221
192
  return true;
222
- break;
223
193
  case "viewer":
224
194
  // We have a UniFi Protect viewer.
225
195
  this.configuredDevices[accessory.UUID] = new ProtectViewer(this, device, accessory);
226
196
  return true;
227
- break;
228
197
  default:
229
198
  this.log.error("Unknown device class %s detected for %s.", device.modelKey, device.name ?? device.marketName);
230
199
  return false;
@@ -539,7 +508,7 @@ export class ProtectNvr {
539
508
  await protectCamera.stream.hksv?.restartTimeshifting();
540
509
  // Put in a short delay between cameras, to alleviate potentially impacts to the Protect controller.
541
510
  // eslint-disable-next-line no-await-in-loop
542
- await this.sleep(1500);
511
+ await sleep(1500);
543
512
  }
544
513
  }
545
514
  // Return all configured devices.
@@ -558,19 +527,19 @@ export class ProtectNvr {
558
527
  }
559
528
  // Utility function to return a floating point configuration parameter on a device.
560
529
  getFeatureFloat(option) {
561
- return getOptionFloat(getOptionValue(this.platform.featureOptions, this.ufp, null, option));
530
+ return this.platform.featureOptions.getFloat(option, this.ufp.mac);
562
531
  }
563
532
  // Utility function to return an integer configuration parameter on a device.
564
533
  getFeatureNumber(option) {
565
- return getOptionNumber(getOptionValue(this.platform.featureOptions, this.ufp, null, option));
534
+ return this.platform.featureOptions.getInteger(option, this.ufp.mac);
566
535
  }
567
536
  // Utility for checking the scope of feature options on the NVR.
568
- isNvrFeature(option, device = null) {
569
- return ["global", "nvr"].includes(getOptionScope(this.platform.featureOptions, this.ufp, device, option, this.platform.featureOptionDefault(option)));
537
+ isNvrFeature(option, device) {
538
+ return ["global", "controller"].includes(this.platform.featureOptions.scope(option, device?.mac, this.ufp.mac));
570
539
  }
571
540
  // Utility for checking feature options on the NVR.
572
- hasFeature(option, device = null) {
573
- return isOptionEnabled(this.platform.featureOptions, this.ufp, device, option, this.platform.featureOptionDefault(option));
541
+ hasFeature(option, device) {
542
+ return this.platform.featureOptions.test(option, device?.mac, this.ufp.mac);
574
543
  }
575
544
  // Utility for logging feature option availability on the NVR.
576
545
  logFeature(option, message) {
@@ -582,20 +551,5 @@ export class ProtectNvr {
582
551
  this.featureLog[option] = true;
583
552
  this.log.info(message);
584
553
  }
585
- // Emulate a sleep function.
586
- sleep(sleepTimer) {
587
- return new Promise(resolve => setTimeout(resolve, sleepTimer));
588
- }
589
- // Retry an operation until we're successful.
590
- async retry(operation, retryInterval) {
591
- // Try the operation that was requested.
592
- if (!(await operation())) {
593
- // If the operation wasn't successful, let's sleep for the requested interval and try again.
594
- await this.sleep(retryInterval);
595
- return this.retry(operation, retryInterval);
596
- }
597
- // We were successful - we're done.
598
- return true;
599
- }
600
554
  }
601
555
  //# sourceMappingURL=protect-nvr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protect-nvr.js","sourceRoot":"","sources":["../src/protect-nvr.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { ProtectDeviceConfigTypes } from "./protect-types.js";
2
- import { ProtectNvrConfig } from "unifi-protect";
1
+ import { FeatureOptionEntry } from "homebridge-plugin-utils";
3
2
  export interface ProtectOptions {
4
3
  controllers: ProtectNvrOptions[];
5
4
  debugAll: boolean;
@@ -12,7 +11,6 @@ export interface ProtectOptions {
12
11
  }
13
12
  export interface ProtectNvrOptions {
14
13
  address: string;
15
- defaultDoorbellMessage: string;
16
14
  doorbellMessages: {
17
15
  duration: number;
18
16
  message: string;
@@ -24,31 +22,18 @@ export interface ProtectNvrOptions {
24
22
  username: string;
25
23
  password: string;
26
24
  }
25
+ interface ProtectFeatureOption extends FeatureOptionEntry {
26
+ hasFeature?: string[];
27
+ hasProperty?: string[];
28
+ hasSmartObjectType?: string[];
29
+ modelKey?: string[];
30
+ }
27
31
  export declare const featureOptionCategories: {
28
32
  description: string;
29
33
  modelKey: string[];
30
34
  name: string;
31
35
  }[];
32
36
  export declare const featureOptions: {
33
- [index: string]: FeatureOption[];
37
+ [index: string]: ProtectFeatureOption[];
34
38
  };
35
- export interface FeatureOption {
36
- default: boolean;
37
- defaultValue?: number | string;
38
- description: string;
39
- group?: string;
40
- hasFeature?: string[];
41
- hasProperty?: string[];
42
- hasSmartObjectType?: string[];
43
- modelKey?: string[];
44
- name: string;
45
- }
46
- type OptionScope = "device" | "global" | "nvr";
47
- type OptionNvrConfig = ProtectNvrConfig | null;
48
- type OptionDeviceConfig = OptionNvrConfig | ProtectDeviceConfigTypes;
49
- export declare function isOptionEnabled(configOptions: string[], nvrUfp: OptionNvrConfig, device: OptionDeviceConfig, option?: string, defaultReturnValue?: boolean): boolean;
50
- export declare function getOptionScope(configOptions: string[], nvrUfp: OptionNvrConfig, device: OptionDeviceConfig, option?: string, defaultReturnValue?: boolean): OptionScope;
51
- export declare function getOptionValue(configOptions: string[], nvrUfp: OptionNvrConfig, device: OptionDeviceConfig, option: string): string | undefined;
52
- export declare function getOptionFloat(optionValue: string | undefined): number | undefined;
53
- export declare function getOptionNumber(optionValue: string | undefined): number | undefined;
54
39
  export {};
@@ -2,7 +2,7 @@
2
2
  *
3
3
  * protect-options.ts: Feature option and type definitions for UniFi Protect.
4
4
  */
5
- import { PROTECT_DEVICE_REMOVAL_DELAY_INTERVAL, PROTECT_DOORBELL_CHIME_DURATION_DIGITAL, PROTECT_FFMPEG_AUDIO_FILTER_FFTNR, PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS, PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS, PROTECT_M3U_PLAYLIST_PORT, PROTECT_MOTION_DURATION, PROTECT_OCCUPANCY_DURATION } from "./settings.js";
5
+ import { PROTECT_DEVICE_REMOVAL_DELAY_INTERVAL, PROTECT_DOORBELL_CHIME_DURATION_DIGITAL, PROTECT_FFMPEG_AUDIO_FILTER_FFTNR, PROTECT_FFMPEG_AUDIO_FILTER_HIGHPASS, PROTECT_FFMPEG_AUDIO_FILTER_LOWPASS, PROTECT_M3U_PLAYLIST_PORT, PROTECT_MOTION_DURATION, PROTECT_OCCUPANCY_DURATION, PROTECT_TRANSCODE_BITRATE, PROTECT_TRANSCODE_HIGH_LATENCY_BITRATE } from "./settings.js";
6
6
  // Feature option categories.
7
7
  export const featureOptionCategories = [
8
8
  { description: "Audio feature options.", modelKey: ["camera"], name: "Audio" },
@@ -16,7 +16,6 @@ export const featureOptionCategories = [
16
16
  { description: "HomeKit Secure Video feature options.", modelKey: ["camera"], name: "Video.HKSV" }
17
17
  ];
18
18
  /* eslint-disable @stylistic/max-len */
19
- // Individual feature options, broken out by category.
20
19
  export const featureOptions = {
21
20
  // Audio options.
22
21
  "Audio": [
@@ -30,9 +29,9 @@ export const featureOptions = {
30
29
  // Device options.
31
30
  "Device": [
32
31
  { default: true, description: "Make this device available in HomeKit.", name: "" },
32
+ { default: false, description: "Enable the status LED for this device in HomeKit.", hasProperty: ["ledSettings"], name: "StatusLed" },
33
33
  { default: false, description: "Make this a standalone device in HomeKit that will need to be added to HomeKit through the Home app.", name: "Standalone" },
34
- { default: false, description: "Synchronize the UniFi Protect name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Protect to HomeKit.", name: "SyncName" },
35
- { default: false, description: "Enable the status LED for this device in HomeKit.", hasProperty: ["ledSettings"], name: "StatusLed" }
34
+ { default: false, description: "Synchronize the UniFi Protect name of this device with HomeKit. Synchronization is one-way only, syncing the device name from UniFi Protect to HomeKit.", name: "SyncName" }
36
35
  ],
37
36
  // Doorbell options.
38
37
  "Doorbell": [
@@ -80,13 +79,14 @@ export const featureOptions = {
80
79
  // Video options.
81
80
  "Video": [
82
81
  { default: false, description: "Use hardware-accelerated transcoding when available (Apple Macs, Intel Quick Sync Video-enabled CPUs, Raspberry Pi 4).", name: "Transcode.Hardware" },
82
+ { default: false, description: "Use the native Protect livestream API to view livestreams (Experimental).", name: "Stream.UseApi" },
83
83
  { default: false, description: "When streaming to local clients (e.g. at home), always transcode livestreams, instead of transmuxing them.", name: "Transcode" },
84
+ { default: false, defaultValue: PROTECT_TRANSCODE_BITRATE, description: "Bitrate, in kilobits per second, to use when transcoding to local clients, ignoring the bitrate HomeKit requests. HomeKit typically requests lower video quality than you may desire in your environment.", group: "Transcode", name: "Transcode.Bitrate" },
84
85
  { default: true, description: "When streaming to high-latency clients (e.g. cellular connections), transcode livestreams instead of transmuxing them.", name: "Transcode.HighLatency" },
86
+ { default: false, defaultValue: PROTECT_TRANSCODE_HIGH_LATENCY_BITRATE, description: "Bitrate, in kilobits per second, to use when transcoding to high-latency (e.g. cellular) clients, ignoring the bitrate HomeKit requests. HomeKit typically requests lower video quality than you may desire in your environment.", group: "Transcode.HighLatency", name: "Transcode.HighLatency.Bitrate" },
85
87
  { default: false, description: "When viewing livestreams, force the use of the high quality video stream from the Protect controller.", name: "Stream.Only.High" },
86
88
  { default: false, description: "When viewing livestreams, force the use of the medium quality video stream from the Protect controller.", name: "Stream.Only.Medium" },
87
89
  { default: false, description: "When viewing livestreams, force the use of the low quality video stream from the Protect controller.", name: "Stream.Only.Low" },
88
- { default: false, description: "Dynamically adjust the image quality of the camera directly on the UniFi Protect controller to accomodate HomeKit requests.", name: "DynamicBitrate" },
89
- { default: false, description: "Add a switch accessory to enable or disable dynamic bitrate support on the Protect controller.", name: "DynamicBitrate.Switch" },
90
90
  { default: false, description: "Crop the camera video stream. Enabling this option will also force transcoding of livestreams.", name: "Crop" },
91
91
  { default: false, defaultValue: 0, description: "Left offset of the crop window, as a percentage of the original image width.", group: "Crop", name: "Crop.X" },
92
92
  { default: false, defaultValue: 0, description: "Top offset of the crop window, as a percentage of the original image height.", group: "Crop", name: "Crop.Y" },
@@ -104,127 +104,5 @@ export const featureOptions = {
104
104
  { default: false, description: "When recording HomeKit Secure Video events, force the use of the low quality video stream from the Protect controller.", name: "Record.Only.Low" }
105
105
  ]
106
106
  };
107
- // Utility function to return the setting of a particular option and it's position in the scoping hierarchy.
108
- function getOptionInfo(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
109
- // There are a couple of ways to enable and disable options. The rules of the road are:
110
- //
111
- // 1. Explicitly disabling, or enabling an option on the NVR propogates to all the devices
112
- // that are managed by that NVR. Why might you want to do this? Because...
113
- //
114
- // 2. Explicitly disabling, or enabling an option on a device by its MAC address will always
115
- // override the above. This means that it's possible to disable an option for an NVR,
116
- // and all the devices that are managed by it, and then override that behavior on a single
117
- // device that it's managing.
118
- // Nothing configured - we assume the default return value.
119
- if (!configOptions.length) {
120
- return { scope: "global", value: defaultReturnValue };
121
- }
122
- const isOptionSet = (checkOption, checkMac = undefined) => {
123
- // This regular expression is a bit more intricate than you might think it should be due to the need to ensure we capture values at the very end of the option.
124
- const optionRegex = new RegExp("^(Enable|Disable)\\." + checkOption + (!checkMac ? "" : "\\." + checkMac) + "$", "gi");
125
- // Get the option value, if we have one.
126
- for (const entry of configOptions) {
127
- const regexMatch = optionRegex.exec(entry);
128
- if (regexMatch) {
129
- return regexMatch[1].toLowerCase() === "enable";
130
- }
131
- }
132
- return undefined;
133
- };
134
- // Escape out our option to ensure we have no inadvertent issues in matching the regular expression.
135
- option = option.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
136
- // Check to see if we have a device-level option first.
137
- if (device?.mac) {
138
- const value = isOptionSet(option, device.mac);
139
- if (value !== undefined) {
140
- return { scope: "device", value: value };
141
- }
142
- }
143
- // Now check to see if we have an NVR-level option.
144
- if (nvrUfp?.mac) {
145
- const value = isOptionSet(option, nvrUfp.mac);
146
- if (value !== undefined) {
147
- return { scope: "nvr", value: value };
148
- }
149
- }
150
- // Finally, we check for a global-level value.
151
- const value = isOptionSet(option);
152
- if (value !== undefined) {
153
- return { scope: "global", value: value };
154
- }
155
- // The option hasn't been set at any scope, return our default value.
156
- return { scope: "global", value: defaultReturnValue };
157
- }
158
- // Utility function to let us know whether a feature option should be enabled or not, traversing the scope hierarchy.
159
- export function isOptionEnabled(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
160
- return getOptionInfo(configOptions, nvrUfp, device, option, defaultReturnValue).value;
161
- }
162
- // Utility function to let us know where an option is within the scope heirarchy.
163
- export function getOptionScope(configOptions, nvrUfp, device, option = "", defaultReturnValue = true) {
164
- return getOptionInfo(configOptions, nvrUfp, device, option, defaultReturnValue).scope;
165
- }
166
- // Utility function to return a value-based feature option for a Protect device.
167
- export function getOptionValue(configOptions, nvrUfp, device, option) {
168
- // Nothing configured - we assume there's nothing.
169
- if (!configOptions.length || !option) {
170
- return undefined;
171
- }
172
- const getValue = (checkOption, checkMac = undefined) => {
173
- // This regular expression is a bit more intricate than you might think it should be due to the need to ensure we capture values at the very end of the option.
174
- const optionRegex = new RegExp("^Enable\\." + checkOption + (!checkMac ? "" : "\\." + checkMac) + "\\.([^\\.]+)$", "gi");
175
- // Get the option value, if we have one.
176
- for (const entry of configOptions) {
177
- const regexMatch = optionRegex.exec(entry);
178
- if (regexMatch) {
179
- return regexMatch[1];
180
- }
181
- }
182
- return undefined;
183
- };
184
- // Escape out our option to ensure we have no inadvertent issues in matching the regular expression.
185
- option = option.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
186
- // Check to see if we have a device-level value first.
187
- if (device?.mac) {
188
- const value = getValue(option, device.mac);
189
- if (value) {
190
- return value;
191
- }
192
- }
193
- // Now check to see if we have an NVR-level value.
194
- if (nvrUfp?.mac) {
195
- const value = getValue(option, nvrUfp.mac);
196
- if (value) {
197
- return value;
198
- }
199
- }
200
- // Finally, we check for a global-level value.
201
- return getValue(option);
202
- }
203
- // Utility function to parse and return a numeric configuration parameter.
204
- function parseOptionNumeric(optionValue, convert) {
205
- // We don't have the option configured -- we're done.
206
- if (optionValue === undefined) {
207
- return undefined;
208
- }
209
- // Convert it to a number, if needed.
210
- const convertedValue = convert(optionValue);
211
- // Let's validate to make sure it's really a number.
212
- if (isNaN(convertedValue) || (convertedValue < 0)) {
213
- return undefined;
214
- }
215
- // Return the value.
216
- return convertedValue;
217
- }
218
- // Utility function to return a floating point configuration parameter.
219
- export function getOptionFloat(optionValue) {
220
- return parseOptionNumeric(optionValue, (value) => {
221
- return parseFloat(value);
222
- });
223
- }
224
- // Utility function to return an integer configuration parameter on a device.
225
- export function getOptionNumber(optionValue) {
226
- return parseOptionNumeric(optionValue, (value) => {
227
- return parseInt(value);
228
- });
229
- }
107
+ /* eslint-enable @stylistic/max-len */
230
108
  //# sourceMappingURL=protect-options.js.map