@fastybird/smart-panel-backend 0.1.0-alpha.5 → 0.1.0-alpha.7

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 (219) hide show
  1. package/dist/app.module.js +5 -0
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/migrations/1000000000000-InitialSetup.js +23 -13
  4. package/dist/migrations/1000000000000-InitialSetup.js.map +1 -1
  5. package/dist/migrations/1000000000001-AddSceneIcon.d.ts +6 -0
  6. package/dist/migrations/1000000000001-AddSceneIcon.js +22 -0
  7. package/dist/migrations/1000000000001-AddSceneIcon.js.map +1 -0
  8. package/dist/modules/auth/auth.module.js +1 -1
  9. package/dist/modules/auth/auth.module.js.map +1 -1
  10. package/dist/modules/dashboard/dashboard.module.js +1 -1
  11. package/dist/modules/dashboard/dashboard.module.js.map +1 -1
  12. package/dist/modules/devices/services/devices-type-mapper.service.d.ts +1 -1
  13. package/dist/modules/devices/services/devices.service.d.ts +1 -0
  14. package/dist/modules/devices/services/devices.service.js +22 -23
  15. package/dist/modules/devices/services/devices.service.js.map +1 -1
  16. package/dist/modules/scenes/dto/create-scene.dto.d.ts +1 -0
  17. package/dist/modules/scenes/dto/create-scene.dto.js +13 -0
  18. package/dist/modules/scenes/dto/create-scene.dto.js.map +1 -1
  19. package/dist/modules/scenes/dto/update-scene.dto.d.ts +1 -0
  20. package/dist/modules/scenes/dto/update-scene.dto.js +13 -0
  21. package/dist/modules/scenes/dto/update-scene.dto.js.map +1 -1
  22. package/dist/modules/scenes/entities/scenes.entity.d.ts +1 -0
  23. package/dist/modules/scenes/entities/scenes.entity.js +13 -0
  24. package/dist/modules/scenes/entities/scenes.entity.js.map +1 -1
  25. package/dist/modules/storage/models/config.model.js +2 -4
  26. package/dist/modules/storage/models/config.model.js.map +1 -1
  27. package/dist/modules/storage/storage.constants.d.ts +2 -0
  28. package/dist/modules/storage/storage.constants.js +3 -1
  29. package/dist/modules/storage/storage.constants.js.map +1 -1
  30. package/dist/modules/storage/storage.module.js +1 -3
  31. package/dist/modules/storage/storage.module.js.map +1 -1
  32. package/dist/modules/system/commands/update-panel.command.js +7 -12
  33. package/dist/modules/system/commands/update-panel.command.js.map +1 -1
  34. package/dist/modules/system/services/update.service.d.ts +2 -0
  35. package/dist/modules/system/services/update.service.js +37 -17
  36. package/dist/modules/system/services/update.service.js.map +1 -1
  37. package/dist/plugins/data-sources-device-channel/data-sources-device-channel.plugin.js +1 -1
  38. package/dist/plugins/data-sources-device-channel/data-sources-device-channel.plugin.js.map +1 -1
  39. package/dist/plugins/data-sources-weather/data-sources-weather.plugin.js +1 -1
  40. package/dist/plugins/data-sources-weather/data-sources-weather.plugin.js.map +1 -1
  41. package/dist/plugins/devices-home-assistant/devices-home-assistant.openapi.d.ts +2 -2
  42. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +3 -1
  43. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
  44. package/dist/plugins/devices-home-assistant/dto/helper-mapping-preview.dto.d.ts +1 -0
  45. package/dist/plugins/devices-home-assistant/dto/helper-mapping-preview.dto.js +14 -0
  46. package/dist/plugins/devices-home-assistant/dto/helper-mapping-preview.dto.js.map +1 -1
  47. package/dist/plugins/devices-home-assistant/models/config.model.d.ts +1 -0
  48. package/dist/plugins/devices-home-assistant/models/config.model.js +12 -0
  49. package/dist/plugins/devices-home-assistant/models/config.model.js.map +1 -1
  50. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.d.ts +3 -1
  51. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js +14 -2
  52. package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js.map +1 -1
  53. package/dist/plugins/devices-home-assistant/services/device-adoption.service.js +2 -2
  54. package/dist/plugins/devices-home-assistant/services/device-adoption.service.js.map +1 -1
  55. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.d.ts +10 -0
  56. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js +47 -0
  57. package/dist/plugins/devices-home-assistant/services/ha-supervisor.service.js.map +1 -0
  58. package/dist/plugins/devices-home-assistant/services/helper-adoption.service.js +1 -7
  59. package/dist/plugins/devices-home-assistant/services/helper-adoption.service.js.map +1 -1
  60. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.d.ts +3 -1
  61. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js +9 -3
  62. package/dist/plugins/devices-home-assistant/services/home-assistant-config-validator.service.js.map +1 -1
  63. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.d.ts +3 -1
  64. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js +19 -7
  65. package/dist/plugins/devices-home-assistant/services/home-assistant.http.service.js.map +1 -1
  66. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +3 -1
  67. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +18 -3
  68. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  69. package/dist/plugins/devices-reterminal/devices-reterminal.plugin.js +1 -1
  70. package/dist/plugins/devices-reterminal/devices-reterminal.plugin.js.map +1 -1
  71. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +11 -1
  72. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +226 -49
  73. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  74. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.d.ts +5 -0
  75. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +10 -1
  76. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
  77. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.d.ts +5 -1
  78. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +23 -4
  79. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
  80. package/dist/plugins/devices-shelly-ng/dto/create-device.dto.d.ts +1 -1
  81. package/dist/plugins/devices-shelly-ng/dto/create-device.dto.js +11 -12
  82. package/dist/plugins/devices-shelly-ng/dto/create-device.dto.js.map +1 -1
  83. package/dist/plugins/devices-shelly-ng/dto/update-device.dto.d.ts +2 -1
  84. package/dist/plugins/devices-shelly-ng/dto/update-device.dto.js +19 -4
  85. package/dist/plugins/devices-shelly-ng/dto/update-device.dto.js.map +1 -1
  86. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.d.ts +6 -1
  87. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js +38 -6
  88. package/dist/plugins/devices-shelly-ng/entities/devices-shelly-ng.entity.js.map +1 -1
  89. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.d.ts +10 -0
  90. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js +69 -0
  91. package/dist/plugins/devices-shelly-ng/entities/shelly-ng-device-address.entity.js.map +1 -0
  92. package/dist/plugins/devices-shelly-ng/services/database-discoverer.service.d.ts +3 -1
  93. package/dist/plugins/devices-shelly-ng/services/database-discoverer.service.js +19 -7
  94. package/dist/plugins/devices-shelly-ng/services/database-discoverer.service.js.map +1 -1
  95. package/dist/plugins/devices-shelly-ng/services/device-address.service.d.ts +22 -0
  96. package/dist/plugins/devices-shelly-ng/services/device-address.service.js +149 -0
  97. package/dist/plugins/devices-shelly-ng/services/device-address.service.js.map +1 -0
  98. package/dist/plugins/devices-shelly-ng/services/device-manager.service.d.ts +3 -1
  99. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +20 -7
  100. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
  101. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +18 -3
  102. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  103. package/dist/plugins/devices-shelly-ng/subscribers/device-entity.subscriber.d.ts +6 -2
  104. package/dist/plugins/devices-shelly-ng/subscribers/device-entity.subscriber.js +75 -6
  105. package/dist/plugins/devices-shelly-ng/subscribers/device-entity.subscriber.js.map +1 -1
  106. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js +1 -1
  107. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js.map +1 -1
  108. package/dist/plugins/devices-third-party/devices-third-party.plugin.js +1 -1
  109. package/dist/plugins/devices-third-party/devices-third-party.plugin.js.map +1 -1
  110. package/dist/plugins/devices-wled/devices-wled.plugin.js +1 -1
  111. package/dist/plugins/devices-wled/devices-wled.plugin.js.map +1 -1
  112. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.d.ts +4 -0
  113. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js +5 -1
  114. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js.map +1 -1
  115. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.openapi.d.ts +2 -2
  116. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.openapi.js +2 -0
  117. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.openapi.js.map +1 -1
  118. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.plugin.js +12 -7
  119. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.plugin.js.map +1 -1
  120. package/dist/plugins/devices-zigbee2mqtt/dto/update-config.dto.d.ts +10 -0
  121. package/dist/plugins/devices-zigbee2mqtt/dto/update-config.dto.js +117 -3
  122. package/dist/plugins/devices-zigbee2mqtt/dto/update-config.dto.js.map +1 -1
  123. package/dist/plugins/devices-zigbee2mqtt/interfaces/zigbee2mqtt.interface.d.ts +8 -0
  124. package/dist/plugins/devices-zigbee2mqtt/mappings/definitions/covers.yaml +5 -4
  125. package/dist/plugins/devices-zigbee2mqtt/models/config.model.d.ts +10 -0
  126. package/dist/plugins/devices-zigbee2mqtt/models/config.model.js +108 -3
  127. package/dist/plugins/devices-zigbee2mqtt/models/config.model.js.map +1 -1
  128. package/dist/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.d.ts +3 -4
  129. package/dist/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.js +11 -22
  130. package/dist/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.js.map +1 -1
  131. package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.d.ts +35 -0
  132. package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js +265 -0
  133. package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js.map +1 -0
  134. package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js +6 -5
  135. package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js.map +1 -1
  136. package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.d.ts +4 -26
  137. package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js +16 -265
  138. package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js.map +1 -1
  139. package/dist/plugins/devices-zigbee2mqtt/services/virtual-property.types.js +0 -16
  140. package/dist/plugins/devices-zigbee2mqtt/services/virtual-property.types.js.map +1 -1
  141. package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.d.ts +14 -0
  142. package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.js +199 -0
  143. package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.js.map +1 -0
  144. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt-config-validator.service.d.ts +2 -0
  145. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt-config-validator.service.js +69 -0
  146. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt-config-validator.service.js.map +1 -1
  147. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +8 -1
  148. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +86 -32
  149. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
  150. package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.d.ts → plugins/influx-v1/dto/update-config.dto.d.ts} +1 -1
  151. package/dist/{modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js → plugins/influx-v1/dto/update-config.dto.js} +3 -3
  152. package/dist/plugins/influx-v1/dto/update-config.dto.js.map +1 -0
  153. package/dist/plugins/influx-v1/influx-v1.constants.js.map +1 -0
  154. package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.openapi.d.ts +1 -1
  155. package/dist/plugins/influx-v1/influx-v1.openapi.js +7 -0
  156. package/dist/plugins/influx-v1/influx-v1.openapi.js.map +1 -0
  157. package/dist/{modules/storage/plugins/influx-v1/influx-v1.module.d.ts → plugins/influx-v1/influx-v1.plugin.d.ts} +6 -6
  158. package/dist/{modules/storage/plugins/influx-v1/influx-v1.module.js → plugins/influx-v1/influx-v1.plugin.js} +22 -22
  159. package/dist/plugins/influx-v1/influx-v1.plugin.js.map +1 -0
  160. package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.d.ts → plugins/influx-v1/models/config.model.d.ts} +1 -1
  161. package/dist/{modules/storage/plugins/influx-v1/influx-v1.config.model.js → plugins/influx-v1/models/config.model.js} +3 -3
  162. package/dist/plugins/influx-v1/models/config.model.js.map +1 -0
  163. package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.d.ts → plugins/influx-v1/services/influx-v1.storage.d.ts} +3 -3
  164. package/dist/{modules/storage/plugins/influx-v1/influx-v1.plugin.js → plugins/influx-v1/services/influx-v1.storage.js} +9 -9
  165. package/dist/plugins/influx-v1/services/influx-v1.storage.js.map +1 -0
  166. package/dist/{modules/storage/plugins/memory/memory.update-config.dto.d.ts → plugins/memory-storage/dto/update-config.dto.d.ts} +1 -1
  167. package/dist/{modules/storage/plugins/memory/memory.update-config.dto.js → plugins/memory-storage/dto/update-config.dto.js} +5 -5
  168. package/dist/plugins/memory-storage/dto/update-config.dto.js.map +1 -0
  169. package/dist/{modules/storage/plugins/memory/memory.constants.js → plugins/memory-storage/memory-storage.constants.js} +1 -1
  170. package/dist/plugins/memory-storage/memory-storage.constants.js.map +1 -0
  171. package/dist/{modules/storage/plugins/memory/memory.openapi.d.ts → plugins/memory-storage/memory-storage.openapi.d.ts} +1 -1
  172. package/dist/plugins/memory-storage/memory-storage.openapi.js +7 -0
  173. package/dist/plugins/memory-storage/memory-storage.openapi.js.map +1 -0
  174. package/dist/plugins/memory-storage/memory-storage.plugin.d.ts +13 -0
  175. package/dist/{modules/storage/plugins/memory/memory.module.js → plugins/memory-storage/memory-storage.plugin.js} +24 -24
  176. package/dist/plugins/memory-storage/memory-storage.plugin.js.map +1 -0
  177. package/dist/{modules/storage/plugins/memory/memory.config.model.d.ts → plugins/memory-storage/models/config.model.d.ts} +1 -1
  178. package/dist/{modules/storage/plugins/memory/memory.config.model.js → plugins/memory-storage/models/config.model.js} +5 -5
  179. package/dist/plugins/memory-storage/models/config.model.js.map +1 -0
  180. package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.d.ts +1 -1
  181. package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/in-memory-timeseries.store.js +3 -3
  182. package/dist/plugins/memory-storage/services/in-memory-timeseries.store.js.map +1 -0
  183. package/dist/plugins/memory-storage/services/influxql-parser.js.map +1 -0
  184. package/dist/{modules/storage/plugins/memory/memory.plugin.d.ts → plugins/memory-storage/services/memory-storage.storage.d.ts} +3 -3
  185. package/dist/{modules/storage/plugins/memory/memory.plugin.js → plugins/memory-storage/services/memory-storage.storage.js} +8 -8
  186. package/dist/plugins/memory-storage/services/memory-storage.storage.js.map +1 -0
  187. package/dist/plugins/simulator/simulator.plugin.js +4 -4
  188. package/dist/plugins/simulator/simulator.plugin.js.map +1 -1
  189. package/dist/plugins/tiles-device-preview/tiles-device-preview.plugin.js +1 -1
  190. package/dist/plugins/tiles-device-preview/tiles-device-preview.plugin.js.map +1 -1
  191. package/dist/plugins/tiles-scene/tiles-scene.plugin.js +1 -1
  192. package/dist/plugins/tiles-scene/tiles-scene.plugin.js.map +1 -1
  193. package/dist/plugins/tiles-time/tiles-time.plugin.js +1 -1
  194. package/dist/plugins/weather-openweathermap-onecall/weather-openweathermap-onecall.plugin.js +1 -1
  195. package/dist/plugins/weather-openweathermap-onecall/weather-openweathermap-onecall.plugin.js.map +1 -1
  196. package/dist/tsconfig.build.tsbuildinfo +1 -1
  197. package/package.json +2 -2
  198. package/dist/modules/storage/plugins/influx-v1/influx-v1.config.model.js.map +0 -1
  199. package/dist/modules/storage/plugins/influx-v1/influx-v1.constants.js.map +0 -1
  200. package/dist/modules/storage/plugins/influx-v1/influx-v1.module.js.map +0 -1
  201. package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js +0 -7
  202. package/dist/modules/storage/plugins/influx-v1/influx-v1.openapi.js.map +0 -1
  203. package/dist/modules/storage/plugins/influx-v1/influx-v1.plugin.js.map +0 -1
  204. package/dist/modules/storage/plugins/influx-v1/influx-v1.update-config.dto.js.map +0 -1
  205. package/dist/modules/storage/plugins/memory/in-memory-timeseries.store.js.map +0 -1
  206. package/dist/modules/storage/plugins/memory/influxql-parser.js.map +0 -1
  207. package/dist/modules/storage/plugins/memory/memory.config.model.js.map +0 -1
  208. package/dist/modules/storage/plugins/memory/memory.constants.js.map +0 -1
  209. package/dist/modules/storage/plugins/memory/memory.module.d.ts +0 -13
  210. package/dist/modules/storage/plugins/memory/memory.module.js.map +0 -1
  211. package/dist/modules/storage/plugins/memory/memory.openapi.js +0 -7
  212. package/dist/modules/storage/plugins/memory/memory.openapi.js.map +0 -1
  213. package/dist/modules/storage/plugins/memory/memory.plugin.js.map +0 -1
  214. package/dist/modules/storage/plugins/memory/memory.update-config.dto.js.map +0 -1
  215. /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.d.ts +0 -0
  216. /package/dist/{modules/storage/plugins → plugins}/influx-v1/influx-v1.constants.js +0 -0
  217. /package/dist/{modules/storage/plugins/memory/memory.constants.d.ts → plugins/memory-storage/memory-storage.constants.d.ts} +0 -0
  218. /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.d.ts +0 -0
  219. /package/dist/{modules/storage/plugins/memory → plugins/memory-storage/services}/influxql-parser.js +0 -0
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Zigbee2mqttConfigModel = exports.Z2mDiscoveryConfigModel = exports.Z2mTlsConfigModel = exports.Z2mMqttConfigModel = void 0;
12
+ exports.Zigbee2mqttConfigModel = exports.Z2mWsConfigModel = exports.Z2mDiscoveryConfigModel = exports.Z2mTlsConfigModel = exports.Z2mMqttConfigModel = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const swagger_1 = require("@nestjs/swagger");
@@ -43,10 +43,12 @@ __decorate([
43
43
  (0, class_transformer_1.Expose)(),
44
44
  (0, class_validator_1.IsInt)(),
45
45
  (0, class_validator_1.Min)(1),
46
+ (0, class_validator_1.Max)(65535),
46
47
  (0, swagger_1.ApiProperty)({
47
48
  description: 'MQTT broker port',
48
49
  example: devices_zigbee2mqtt_constants_1.DEFAULT_MQTT_PORT,
49
50
  minimum: 1,
51
+ maximum: 65535,
50
52
  }),
51
53
  __metadata("design:type", Number)
52
54
  ], Z2mMqttConfigModel.prototype, "port", void 0);
@@ -237,11 +239,92 @@ __decorate([
237
239
  exports.Z2mDiscoveryConfigModel = Z2mDiscoveryConfigModel = __decorate([
238
240
  (0, swagger_1.ApiSchema)({ name: 'DevicesZigbee2mqttPluginDataDiscoveryConfig' })
239
241
  ], Z2mDiscoveryConfigModel);
242
+ let Z2mWsConfigModel = class Z2mWsConfigModel {
243
+ constructor() {
244
+ this.host = 'localhost';
245
+ this.port = devices_zigbee2mqtt_constants_1.DEFAULT_WS_PORT;
246
+ this.baseTopic = devices_zigbee2mqtt_constants_1.DEFAULT_MQTT_BASE_TOPIC;
247
+ this.secure = false;
248
+ this.connectTimeout = devices_zigbee2mqtt_constants_1.DEFAULT_WS_CONNECT_TIMEOUT;
249
+ this.reconnectInterval = devices_zigbee2mqtt_constants_1.DEFAULT_WS_RECONNECT_INTERVAL;
250
+ }
251
+ };
252
+ exports.Z2mWsConfigModel = Z2mWsConfigModel;
253
+ __decorate([
254
+ (0, class_transformer_1.Expose)(),
255
+ (0, class_validator_1.IsString)(),
256
+ (0, swagger_1.ApiProperty)({
257
+ description: 'Zigbee2MQTT frontend hostname or IP address',
258
+ example: 'localhost',
259
+ }),
260
+ __metadata("design:type", String)
261
+ ], Z2mWsConfigModel.prototype, "host", void 0);
262
+ __decorate([
263
+ (0, class_transformer_1.Expose)(),
264
+ (0, class_validator_1.IsInt)(),
265
+ (0, class_validator_1.Min)(1),
266
+ (0, class_validator_1.Max)(65535),
267
+ (0, swagger_1.ApiProperty)({
268
+ description: 'Zigbee2MQTT frontend port',
269
+ example: devices_zigbee2mqtt_constants_1.DEFAULT_WS_PORT,
270
+ minimum: 1,
271
+ maximum: 65535,
272
+ }),
273
+ __metadata("design:type", Number)
274
+ ], Z2mWsConfigModel.prototype, "port", void 0);
275
+ __decorate([
276
+ (0, class_transformer_1.Expose)({ name: 'base_topic' }),
277
+ (0, class_validator_1.IsString)(),
278
+ (0, swagger_1.ApiProperty)({
279
+ name: 'base_topic',
280
+ description: 'Zigbee2MQTT base topic (used for message routing)',
281
+ example: devices_zigbee2mqtt_constants_1.DEFAULT_MQTT_BASE_TOPIC,
282
+ }),
283
+ __metadata("design:type", String)
284
+ ], Z2mWsConfigModel.prototype, "baseTopic", void 0);
285
+ __decorate([
286
+ (0, class_transformer_1.Expose)(),
287
+ (0, class_validator_1.IsBoolean)(),
288
+ (0, swagger_1.ApiProperty)({
289
+ description: 'Use secure WebSocket (wss://)',
290
+ example: false,
291
+ }),
292
+ __metadata("design:type", Boolean)
293
+ ], Z2mWsConfigModel.prototype, "secure", void 0);
294
+ __decorate([
295
+ (0, class_transformer_1.Expose)({ name: 'connect_timeout' }),
296
+ (0, class_validator_1.IsInt)(),
297
+ (0, class_validator_1.Min)(1000),
298
+ (0, swagger_1.ApiProperty)({
299
+ name: 'connect_timeout',
300
+ description: 'Connection timeout in milliseconds',
301
+ example: devices_zigbee2mqtt_constants_1.DEFAULT_WS_CONNECT_TIMEOUT,
302
+ minimum: 1000,
303
+ }),
304
+ __metadata("design:type", Number)
305
+ ], Z2mWsConfigModel.prototype, "connectTimeout", void 0);
306
+ __decorate([
307
+ (0, class_transformer_1.Expose)({ name: 'reconnect_interval' }),
308
+ (0, class_validator_1.IsInt)(),
309
+ (0, class_validator_1.Min)(1000),
310
+ (0, swagger_1.ApiProperty)({
311
+ name: 'reconnect_interval',
312
+ description: 'Reconnection interval in milliseconds',
313
+ example: devices_zigbee2mqtt_constants_1.DEFAULT_WS_RECONNECT_INTERVAL,
314
+ minimum: 1000,
315
+ }),
316
+ __metadata("design:type", Number)
317
+ ], Z2mWsConfigModel.prototype, "reconnectInterval", void 0);
318
+ exports.Z2mWsConfigModel = Z2mWsConfigModel = __decorate([
319
+ (0, swagger_1.ApiSchema)({ name: 'DevicesZigbee2mqttPluginDataWsConfig' })
320
+ ], Z2mWsConfigModel);
240
321
  let Zigbee2mqttConfigModel = class Zigbee2mqttConfigModel extends config_model_1.PluginConfigModel {
241
322
  constructor() {
242
323
  super(...arguments);
243
324
  this.type = devices_zigbee2mqtt_constants_1.DEVICES_ZIGBEE2MQTT_PLUGIN_NAME;
325
+ this.connectionType = devices_zigbee2mqtt_constants_1.DEFAULT_CONNECTION_TYPE;
244
326
  this.mqtt = new Z2mMqttConfigModel();
327
+ this.ws = new Z2mWsConfigModel();
245
328
  this.tls = new Z2mTlsConfigModel();
246
329
  this.discovery = new Z2mDiscoveryConfigModel();
247
330
  }
@@ -256,22 +339,44 @@ __decorate([
256
339
  }),
257
340
  __metadata("design:type", String)
258
341
  ], Zigbee2mqttConfigModel.prototype, "type", void 0);
342
+ __decorate([
343
+ (0, class_transformer_1.Expose)({ name: 'connection_type' }),
344
+ (0, class_validator_1.IsString)(),
345
+ (0, class_validator_1.IsIn)(['mqtt', 'ws']),
346
+ (0, swagger_1.ApiProperty)({
347
+ name: 'connection_type',
348
+ description: 'Connection type: "mqtt" for MQTT broker or "ws" for direct WebSocket to Zigbee2MQTT frontend',
349
+ example: devices_zigbee2mqtt_constants_1.DEFAULT_CONNECTION_TYPE,
350
+ enum: ['mqtt', 'ws'],
351
+ }),
352
+ __metadata("design:type", String)
353
+ ], Zigbee2mqttConfigModel.prototype, "connectionType", void 0);
259
354
  __decorate([
260
355
  (0, class_transformer_1.Expose)(),
261
356
  (0, class_validator_1.ValidateNested)(),
262
357
  (0, class_transformer_1.Type)(() => Z2mMqttConfigModel),
263
358
  (0, swagger_1.ApiProperty)({
264
- description: 'MQTT connection configuration',
359
+ description: 'MQTT connection configuration (used when connection_type is "mqtt")',
265
360
  type: () => Z2mMqttConfigModel,
266
361
  }),
267
362
  __metadata("design:type", Z2mMqttConfigModel)
268
363
  ], Zigbee2mqttConfigModel.prototype, "mqtt", void 0);
364
+ __decorate([
365
+ (0, class_transformer_1.Expose)(),
366
+ (0, class_validator_1.ValidateNested)(),
367
+ (0, class_transformer_1.Type)(() => Z2mWsConfigModel),
368
+ (0, swagger_1.ApiProperty)({
369
+ description: 'WebSocket connection configuration (used when connection_type is "ws")',
370
+ type: () => Z2mWsConfigModel,
371
+ }),
372
+ __metadata("design:type", Z2mWsConfigModel)
373
+ ], Zigbee2mqttConfigModel.prototype, "ws", void 0);
269
374
  __decorate([
270
375
  (0, class_transformer_1.Expose)(),
271
376
  (0, class_validator_1.ValidateNested)(),
272
377
  (0, class_transformer_1.Type)(() => Z2mTlsConfigModel),
273
378
  (0, swagger_1.ApiProperty)({
274
- description: 'TLS/SSL configuration',
379
+ description: 'TLS/SSL configuration (used when connection_type is "mqtt")',
275
380
  type: () => Z2mTlsConfigModel,
276
381
  }),
277
382
  __metadata("design:type", Z2mTlsConfigModel)
@@ -1 +1 @@
1
- {"version":3,"file":"config.model.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/models/config.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.model.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/models/config.model.ts"],"names":[],"mappings":"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"}
@@ -2,24 +2,23 @@ import { IDevicePlatform, IDevicePropertyData } from '../../../modules/devices/p
2
2
  import { Zigbee2mqttChannelEntity, Zigbee2mqttChannelPropertyEntity, Zigbee2mqttDeviceEntity } from '../entities/devices-zigbee2mqtt.entity';
3
3
  import { ConfigDrivenConverter } from '../mappings/config-driven.converter';
4
4
  import { Z2mDeviceMapperService } from '../services/device-mapper.service';
5
- import { Z2mMqttClientAdapterService } from '../services/mqtt-client-adapter.service';
6
5
  import { Z2mVirtualPropertyService } from '../services/virtual-property.service';
6
+ import { Zigbee2mqttService } from '../services/zigbee2mqtt.service';
7
7
  export type IZigbee2mqttDevicePropertyData = IDevicePropertyData & {
8
8
  device: Zigbee2mqttDeviceEntity;
9
9
  channel: Zigbee2mqttChannelEntity;
10
10
  property: Zigbee2mqttChannelPropertyEntity;
11
11
  };
12
12
  export declare class Zigbee2mqttDevicePlatform implements IDevicePlatform {
13
- private readonly mqttAdapter;
13
+ private readonly zigbee2mqttService;
14
14
  private readonly virtualPropertyService;
15
15
  private readonly configDrivenConverter;
16
16
  private readonly deviceMapper;
17
17
  private readonly logger;
18
- constructor(mqttAdapter: Z2mMqttClientAdapterService, virtualPropertyService: Z2mVirtualPropertyService, configDrivenConverter: ConfigDrivenConverter, deviceMapper: Z2mDeviceMapperService);
18
+ constructor(zigbee2mqttService: Zigbee2mqttService, virtualPropertyService: Z2mVirtualPropertyService, configDrivenConverter: ConfigDrivenConverter, deviceMapper: Z2mDeviceMapperService);
19
19
  getType(): string;
20
20
  process({ device, channel, property, value }: IZigbee2mqttDevicePropertyData): Promise<boolean>;
21
21
  processBatch(updates: Array<IZigbee2mqttDevicePropertyData>): Promise<boolean>;
22
22
  private executeCommand;
23
- private coerceBoolean;
24
23
  private coerceNumber;
25
24
  }
@@ -17,11 +17,11 @@ const devices_zigbee2mqtt_constants_1 = require("../devices-zigbee2mqtt.constant
17
17
  const devices_zigbee2mqtt_entity_1 = require("../entities/devices-zigbee2mqtt.entity");
18
18
  const config_driven_converter_1 = require("../mappings/config-driven.converter");
19
19
  const device_mapper_service_1 = require("../services/device-mapper.service");
20
- const mqtt_client_adapter_service_1 = require("../services/mqtt-client-adapter.service");
21
20
  const virtual_property_service_1 = require("../services/virtual-property.service");
21
+ const zigbee2mqtt_service_1 = require("../services/zigbee2mqtt.service");
22
22
  let Zigbee2mqttDevicePlatform = class Zigbee2mqttDevicePlatform {
23
- constructor(mqttAdapter, virtualPropertyService, configDrivenConverter, deviceMapper) {
24
- this.mqttAdapter = mqttAdapter;
23
+ constructor(zigbee2mqttService, virtualPropertyService, configDrivenConverter, deviceMapper) {
24
+ this.zigbee2mqttService = zigbee2mqttService;
25
25
  this.virtualPropertyService = virtualPropertyService;
26
26
  this.configDrivenConverter = configDrivenConverter;
27
27
  this.deviceMapper = deviceMapper;
@@ -37,8 +37,9 @@ let Zigbee2mqttDevicePlatform = class Zigbee2mqttDevicePlatform {
37
37
  if (updates.length === 0) {
38
38
  return true;
39
39
  }
40
- if (!this.mqttAdapter.isConnected()) {
41
- this.logger.warn('MQTT not connected, cannot send command');
40
+ const adapter = this.zigbee2mqttService.getActiveAdapter();
41
+ if (!adapter.isConnected()) {
42
+ this.logger.warn('Not connected to Zigbee2MQTT, cannot send command');
42
43
  return false;
43
44
  }
44
45
  const byDevice = new Map();
@@ -77,7 +78,7 @@ let Zigbee2mqttDevicePlatform = class Zigbee2mqttDevicePlatform {
77
78
  const friendlyName = device.identifier;
78
79
  for (const { channel, props } of channels.values()) {
79
80
  try {
80
- const success = await this.executeCommand(device, channel, Array.from(props.values()), friendlyName);
81
+ const success = await this.executeCommand(adapter, device, channel, Array.from(props.values()), friendlyName);
81
82
  results.push(success);
82
83
  }
83
84
  catch (error) {
@@ -90,7 +91,7 @@ let Zigbee2mqttDevicePlatform = class Zigbee2mqttDevicePlatform {
90
91
  }
91
92
  return results.length > 0 && results.every((r) => r === true);
92
93
  }
93
- async executeCommand(device, channel, propertyUpdates, friendlyName) {
94
+ async executeCommand(adapter, device, channel, propertyUpdates, friendlyName) {
94
95
  const payload = {};
95
96
  let colorHue;
96
97
  let colorSaturation;
@@ -160,24 +161,12 @@ let Zigbee2mqttDevicePlatform = class Zigbee2mqttDevicePlatform {
160
161
  return false;
161
162
  }
162
163
  this.logger.log(`Sending command to ${friendlyName}: ${JSON.stringify(payload)}`);
163
- const success = await this.mqttAdapter.publishCommand(friendlyName, payload);
164
- if (success) {
165
- }
166
- else {
164
+ const success = await adapter.publishCommand(friendlyName, payload);
165
+ if (!success) {
167
166
  this.logger.warn(`Failed to send command to ${friendlyName}`);
168
167
  }
169
168
  return success;
170
169
  }
171
- coerceBoolean(value) {
172
- if (typeof value === 'boolean') {
173
- return value;
174
- }
175
- if (typeof value === 'number') {
176
- return value !== 0;
177
- }
178
- const strValue = String(value).toLowerCase();
179
- return strValue === 'true' || strValue === '1' || strValue === 'on';
180
- }
181
170
  coerceNumber(value, min, max) {
182
171
  let numValue;
183
172
  if (typeof value === 'number') {
@@ -198,7 +187,7 @@ let Zigbee2mqttDevicePlatform = class Zigbee2mqttDevicePlatform {
198
187
  exports.Zigbee2mqttDevicePlatform = Zigbee2mqttDevicePlatform;
199
188
  exports.Zigbee2mqttDevicePlatform = Zigbee2mqttDevicePlatform = __decorate([
200
189
  (0, common_1.Injectable)(),
201
- __metadata("design:paramtypes", [mqtt_client_adapter_service_1.Z2mMqttClientAdapterService,
190
+ __metadata("design:paramtypes", [zigbee2mqtt_service_1.Zigbee2mqttService,
202
191
  virtual_property_service_1.Z2mVirtualPropertyService,
203
192
  config_driven_converter_1.ConfigDrivenConverter,
204
193
  device_mapper_service_1.Z2mDeviceMapperService])
@@ -1 +1 @@
1
- {"version":3,"file":"zigbee2mqtt.device.platform.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zigbee2mqtt.device.platform.js","sourceRoot":"","sources":["../../../../src/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { ExtensionLoggerService } from '../../../common/logger';
2
+ import { Z2mAdapterCallbacks, Z2mMqttConfig, Z2mRegisteredDevice, Z2mSetPayload, Z2mWsConfig } from '../interfaces/zigbee2mqtt.interface';
3
+ export declare abstract class Z2mBaseClientAdapter {
4
+ protected readonly logger: ExtensionLoggerService;
5
+ protected connected: boolean;
6
+ protected bridgeOnline: boolean;
7
+ protected reconnectTimer: NodeJS.Timeout | null;
8
+ protected configBaseTopic: string;
9
+ protected readonly deviceRegistry: Map<string, Z2mRegisteredDevice>;
10
+ protected readonly stateCache: Map<string, Record<string, unknown>>;
11
+ protected callbacks: Z2mAdapterCallbacks;
12
+ constructor(adapterName: string);
13
+ setCallbacks(callbacks: Z2mAdapterCallbacks): void;
14
+ get baseTopic(): string;
15
+ isConnected(): boolean;
16
+ isBridgeOnline(): boolean;
17
+ getRegisteredDevices(): Z2mRegisteredDevice[];
18
+ getDevice(friendlyName: string): Z2mRegisteredDevice | undefined;
19
+ getDeviceByIeeeAddress(ieeeAddress: string): Z2mRegisteredDevice | undefined;
20
+ getCachedState(friendlyName: string): Record<string, unknown>;
21
+ abstract connect(config: Z2mMqttConfig | Z2mWsConfig): Promise<void>;
22
+ abstract disconnect(): Promise<void>;
23
+ abstract publishCommand(friendlyName: string, payload: Z2mSetPayload): Promise<boolean>;
24
+ abstract requestState(friendlyName: string, properties?: string[]): Promise<boolean>;
25
+ protected handleMessage(topic: string, message: string, isRelative?: boolean): void;
26
+ protected handleBridgeMessage(subtopic: string | undefined, message: string): void;
27
+ protected handleBridgeStateMessage(message: string): void;
28
+ protected handleBridgeDevicesMessage(message: string): void;
29
+ protected requestMissingStates(): void;
30
+ protected handleBridgeEventMessage(message: string): void;
31
+ protected handleDeviceStateMessage(friendlyName: string, message: string): void;
32
+ protected handleDeviceAvailabilityMessage(friendlyName: string, message: string): void;
33
+ protected clearReconnectTimer(): void;
34
+ protected resetState(): void;
35
+ }
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Z2mBaseClientAdapter = void 0;
4
+ const logger_1 = require("../../../common/logger");
5
+ const devices_zigbee2mqtt_constants_1 = require("../devices-zigbee2mqtt.constants");
6
+ class Z2mBaseClientAdapter {
7
+ constructor(adapterName) {
8
+ this.connected = false;
9
+ this.bridgeOnline = false;
10
+ this.reconnectTimer = null;
11
+ this.configBaseTopic = devices_zigbee2mqtt_constants_1.DEFAULT_MQTT_BASE_TOPIC;
12
+ this.deviceRegistry = new Map();
13
+ this.stateCache = new Map();
14
+ this.callbacks = {};
15
+ this.logger = (0, logger_1.createExtensionLogger)(devices_zigbee2mqtt_constants_1.DEVICES_ZIGBEE2MQTT_PLUGIN_NAME, adapterName);
16
+ }
17
+ setCallbacks(callbacks) {
18
+ this.callbacks = callbacks;
19
+ }
20
+ get baseTopic() {
21
+ return this.configBaseTopic;
22
+ }
23
+ isConnected() {
24
+ return this.connected;
25
+ }
26
+ isBridgeOnline() {
27
+ return this.bridgeOnline;
28
+ }
29
+ getRegisteredDevices() {
30
+ return Array.from(this.deviceRegistry.values());
31
+ }
32
+ getDevice(friendlyName) {
33
+ return this.deviceRegistry.get(friendlyName);
34
+ }
35
+ getDeviceByIeeeAddress(ieeeAddress) {
36
+ for (const device of this.deviceRegistry.values()) {
37
+ if (device.ieeeAddress === ieeeAddress) {
38
+ return device;
39
+ }
40
+ }
41
+ return undefined;
42
+ }
43
+ getCachedState(friendlyName) {
44
+ return this.stateCache.get(friendlyName) ?? {};
45
+ }
46
+ handleMessage(topic, message, isRelative = false) {
47
+ try {
48
+ const relativePath = isRelative ? topic : topic.replace(`${this.baseTopic}/`, '');
49
+ if (!relativePath) {
50
+ return;
51
+ }
52
+ const topicParts = relativePath.split('/');
53
+ if (this.deviceRegistry.has(relativePath)) {
54
+ this.handleDeviceStateMessage(relativePath, message);
55
+ return;
56
+ }
57
+ if (topicParts[0] === 'bridge') {
58
+ this.handleBridgeMessage(topicParts[1], message);
59
+ return;
60
+ }
61
+ const lastPart = topicParts[topicParts.length - 1];
62
+ const pathWithoutSuffix = topicParts.slice(0, -1).join('/');
63
+ if (lastPart === 'availability' && pathWithoutSuffix) {
64
+ this.handleDeviceAvailabilityMessage(pathWithoutSuffix, message);
65
+ return;
66
+ }
67
+ if (lastPart === 'set' || lastPart === 'get') {
68
+ return;
69
+ }
70
+ this.handleDeviceStateMessage(relativePath, message);
71
+ }
72
+ catch (error) {
73
+ this.logger.warn(`Failed to handle message on topic ${topic}`, {
74
+ message: error instanceof Error ? error.message : String(error),
75
+ });
76
+ }
77
+ }
78
+ handleBridgeMessage(subtopic, message) {
79
+ switch (subtopic) {
80
+ case 'state':
81
+ this.handleBridgeStateMessage(message);
82
+ break;
83
+ case 'devices':
84
+ this.handleBridgeDevicesMessage(message);
85
+ break;
86
+ case 'event':
87
+ this.handleBridgeEventMessage(message);
88
+ break;
89
+ case 'groups':
90
+ this.logger.debug('Received bridge/groups message (not implemented)');
91
+ break;
92
+ }
93
+ }
94
+ handleBridgeStateMessage(message) {
95
+ try {
96
+ const state = JSON.parse(message);
97
+ const wasOnline = this.bridgeOnline;
98
+ this.bridgeOnline = state.state === 'online';
99
+ if (this.bridgeOnline && !wasOnline) {
100
+ this.logger.log('Zigbee2MQTT bridge is online');
101
+ void this.callbacks.onBridgeOnline?.();
102
+ }
103
+ else if (!this.bridgeOnline && wasOnline) {
104
+ this.logger.warn('Zigbee2MQTT bridge is offline');
105
+ void this.callbacks.onBridgeOffline?.();
106
+ }
107
+ }
108
+ catch (error) {
109
+ this.logger.warn('Failed to parse bridge/state message', {
110
+ message: error instanceof Error ? error.message : String(error),
111
+ });
112
+ }
113
+ }
114
+ handleBridgeDevicesMessage(message) {
115
+ try {
116
+ const devices = JSON.parse(message);
117
+ this.logger.log(`Received device registry with ${devices.length} devices`);
118
+ for (const device of devices) {
119
+ if (device.definition) {
120
+ this.logger.debug(`Device ${device.friendly_name}: ${device.definition.exposes?.length ?? 0} exposes, ` +
121
+ `types: ${device.definition.exposes?.map((e) => e.type).join(', ') ?? 'none'}`);
122
+ }
123
+ }
124
+ for (const device of devices) {
125
+ if (devices_zigbee2mqtt_constants_1.Z2M_IGNORED_DEVICE_TYPES.includes(device.type) ||
126
+ !device.supported ||
127
+ device.disabled) {
128
+ continue;
129
+ }
130
+ const existing = this.deviceRegistry.get(device.friendly_name);
131
+ const cachedState = this.stateCache.get(device.friendly_name) ?? {};
132
+ const registeredDevice = {
133
+ ieeeAddress: device.ieee_address,
134
+ friendlyName: device.friendly_name,
135
+ description: device.description,
136
+ type: device.type,
137
+ supported: device.supported,
138
+ disabled: device.disabled,
139
+ definition: device.definition,
140
+ powerSource: device.power_source,
141
+ modelId: device.model_id,
142
+ available: existing?.available ?? true,
143
+ lastSeen: existing?.lastSeen,
144
+ currentState: { ...(existing?.currentState ?? {}), ...cachedState },
145
+ };
146
+ this.deviceRegistry.set(device.friendly_name, registeredDevice);
147
+ if (Object.keys(cachedState).length > 0) {
148
+ this.logger.debug(`Applied cached state to "${device.friendly_name}": ${Object.keys(cachedState).join(', ')}`);
149
+ }
150
+ }
151
+ const currentFriendlyNames = new Set(devices.map((d) => d.friendly_name));
152
+ for (const friendlyName of this.deviceRegistry.keys()) {
153
+ if (!currentFriendlyNames.has(friendlyName)) {
154
+ this.deviceRegistry.delete(friendlyName);
155
+ }
156
+ }
157
+ this.requestMissingStates();
158
+ const filteredDevices = devices.filter((d) => !devices_zigbee2mqtt_constants_1.Z2M_IGNORED_DEVICE_TYPES.includes(d.type) &&
159
+ d.supported &&
160
+ !d.disabled);
161
+ void this.callbacks.onDevicesReceived?.(filteredDevices);
162
+ }
163
+ catch (error) {
164
+ this.logger.error('Failed to parse bridge/devices message', {
165
+ message: error instanceof Error ? error.message : String(error),
166
+ });
167
+ }
168
+ }
169
+ requestMissingStates() {
170
+ for (const [friendlyName, device] of this.deviceRegistry.entries()) {
171
+ if (Object.keys(device.currentState).length === 0) {
172
+ this.logger.debug(`Requesting state for device without current state: ${friendlyName}`);
173
+ this.requestState(friendlyName).catch(() => {
174
+ });
175
+ }
176
+ }
177
+ }
178
+ handleBridgeEventMessage(message) {
179
+ try {
180
+ const event = JSON.parse(message);
181
+ switch (event.type) {
182
+ case 'device_joined':
183
+ case 'device_announce':
184
+ this.logger.log(`Device joined: ${event.data.friendly_name}`);
185
+ void this.callbacks.onDeviceJoined?.(event.data.ieee_address ?? '', event.data.friendly_name ?? '');
186
+ break;
187
+ case 'device_leave':
188
+ this.logger.log(`Device left: ${event.data.friendly_name}`);
189
+ if (event.data.friendly_name) {
190
+ this.deviceRegistry.delete(event.data.friendly_name);
191
+ }
192
+ void this.callbacks.onDeviceLeft?.(event.data.ieee_address ?? '', event.data.friendly_name ?? '');
193
+ break;
194
+ case 'device_interview':
195
+ this.logger.debug(`Device interview: ${event.data.friendly_name} - ${event.data.status}`);
196
+ break;
197
+ }
198
+ }
199
+ catch (error) {
200
+ this.logger.warn('Failed to parse bridge/event message', {
201
+ message: error instanceof Error ? error.message : String(error),
202
+ });
203
+ }
204
+ }
205
+ handleDeviceStateMessage(friendlyName, message) {
206
+ try {
207
+ const state = JSON.parse(message);
208
+ this.logger.debug(`Received state for "${friendlyName}": ${Object.keys(state).join(', ')}`);
209
+ const existingCachedState = this.stateCache.get(friendlyName) ?? {};
210
+ this.stateCache.set(friendlyName, { ...existingCachedState, ...state });
211
+ const device = this.deviceRegistry.get(friendlyName);
212
+ if (device) {
213
+ device.currentState = { ...device.currentState, ...state };
214
+ device.lastSeen = new Date();
215
+ this.logger.debug(`Updated registry and cache for "${friendlyName}"`);
216
+ }
217
+ else {
218
+ this.logger.debug(`Updated cache for "${friendlyName}" (not yet in registry)`);
219
+ }
220
+ void this.callbacks.onDeviceStateChanged?.(friendlyName, state);
221
+ }
222
+ catch (error) {
223
+ this.logger.warn(`Failed to parse state for device ${friendlyName}`, {
224
+ message: error instanceof Error ? error.message : String(error),
225
+ });
226
+ }
227
+ }
228
+ handleDeviceAvailabilityMessage(friendlyName, message) {
229
+ this.logger.debug(`Received availability for "${friendlyName}": ${message}`);
230
+ try {
231
+ let available;
232
+ try {
233
+ const availability = JSON.parse(message);
234
+ available = availability.state === 'online';
235
+ }
236
+ catch {
237
+ available = message === 'online';
238
+ }
239
+ const device = this.deviceRegistry.get(friendlyName);
240
+ if (device) {
241
+ device.available = available;
242
+ }
243
+ void this.callbacks.onDeviceAvailabilityChanged?.(friendlyName, available);
244
+ }
245
+ catch (error) {
246
+ this.logger.warn(`Failed to parse availability for device ${friendlyName}`, {
247
+ message: error instanceof Error ? error.message : String(error),
248
+ });
249
+ }
250
+ }
251
+ clearReconnectTimer() {
252
+ if (this.reconnectTimer) {
253
+ clearTimeout(this.reconnectTimer);
254
+ this.reconnectTimer = null;
255
+ }
256
+ }
257
+ resetState() {
258
+ this.connected = false;
259
+ this.bridgeOnline = false;
260
+ this.deviceRegistry.clear();
261
+ this.stateCache.clear();
262
+ }
263
+ }
264
+ exports.Z2mBaseClientAdapter = Z2mBaseClientAdapter;
265
+ //# sourceMappingURL=base-client-adapter.js.map