@fastybird/smart-panel-backend 1.1.0-alpha.6 → 1.1.0-alpha.60

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 (494) hide show
  1. package/dist/app.module.js +2 -1
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/common/utils/cancellable-exec.utils.d.ts +5 -0
  4. package/dist/common/utils/cancellable-exec.utils.js +34 -0
  5. package/dist/common/utils/cancellable-exec.utils.js.map +1 -0
  6. package/dist/common/utils/remote-access-observation.utils.d.ts +11 -0
  7. package/dist/common/utils/remote-access-observation.utils.js +89 -0
  8. package/dist/common/utils/remote-access-observation.utils.js.map +1 -0
  9. package/dist/dataSource.js +1 -0
  10. package/dist/dataSource.js.map +1 -1
  11. package/dist/migrations/1000000000026-AddHardwareInputCategories.d.ts +7 -0
  12. package/dist/migrations/1000000000026-AddHardwareInputCategories.js +364 -0
  13. package/dist/migrations/1000000000026-AddHardwareInputCategories.js.map +1 -0
  14. package/dist/modules/auth/auth.module.js +4 -0
  15. package/dist/modules/auth/auth.module.js.map +1 -1
  16. package/dist/modules/auth/guards/auth.guard.js +8 -21
  17. package/dist/modules/auth/guards/auth.guard.js.map +1 -1
  18. package/dist/modules/auth/services/token-metadata.service.d.ts +42 -0
  19. package/dist/modules/auth/services/token-metadata.service.js +202 -0
  20. package/dist/modules/auth/services/token-metadata.service.js.map +1 -0
  21. package/dist/modules/auth/services/token-usage.service.d.ts +22 -0
  22. package/dist/modules/auth/services/token-usage.service.js +93 -0
  23. package/dist/modules/auth/services/token-usage.service.js.map +1 -0
  24. package/dist/modules/auth/services/tokens.service.d.ts +10 -3
  25. package/dist/modules/auth/services/tokens.service.js +26 -10
  26. package/dist/modules/auth/services/tokens.service.js.map +1 -1
  27. package/dist/modules/devices/controllers/channels.controller.d.ts +5 -1
  28. package/dist/modules/devices/controllers/channels.controller.js +34 -2
  29. package/dist/modules/devices/controllers/channels.controller.js.map +1 -1
  30. package/dist/modules/devices/controllers/channels.properties.controller.js +5 -0
  31. package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
  32. package/dist/modules/devices/controllers/devices.channels.controller.d.ts +5 -1
  33. package/dist/modules/devices/controllers/devices.channels.controller.js +38 -2
  34. package/dist/modules/devices/controllers/devices.channels.controller.js.map +1 -1
  35. package/dist/modules/devices/controllers/devices.channels.properties.controller.js +5 -0
  36. package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
  37. package/dist/modules/devices/devices.constants.d.ts +6 -0
  38. package/dist/modules/devices/devices.constants.js +6 -0
  39. package/dist/modules/devices/devices.constants.js.map +1 -1
  40. package/dist/modules/devices/devices.module.js +18 -0
  41. package/dist/modules/devices/devices.module.js.map +1 -1
  42. package/dist/modules/devices/devices.openapi.d.ts +3 -1
  43. package/dist/modules/devices/devices.openapi.js +7 -0
  44. package/dist/modules/devices/devices.openapi.js.map +1 -1
  45. package/dist/modules/devices/dto/channel-input-occurrence.dto.d.ts +10 -0
  46. package/dist/modules/devices/dto/channel-input-occurrence.dto.js +99 -0
  47. package/dist/modules/devices/dto/channel-input-occurrence.dto.js.map +1 -0
  48. package/dist/modules/devices/dto/property-command.dto.js +2 -8
  49. package/dist/modules/devices/dto/property-command.dto.js.map +1 -1
  50. package/dist/modules/devices/models/channel-input-capabilities.model.d.ts +20 -0
  51. package/dist/modules/devices/models/channel-input-capabilities.model.js +111 -0
  52. package/dist/modules/devices/models/channel-input-capabilities.model.js.map +1 -0
  53. package/dist/modules/devices/models/channel-input-occurrence.model.d.ts +22 -0
  54. package/dist/modules/devices/models/channel-input-occurrence.model.js +154 -0
  55. package/dist/modules/devices/models/channel-input-occurrence.model.js.map +1 -0
  56. package/dist/modules/devices/services/channel-input-deduplication.service.d.ts +17 -0
  57. package/dist/modules/devices/services/channel-input-deduplication.service.js +88 -0
  58. package/dist/modules/devices/services/channel-input-deduplication.service.js.map +1 -0
  59. package/dist/modules/devices/services/channel-input-occurrences.service.d.ts +21 -0
  60. package/dist/modules/devices/services/channel-input-occurrences.service.js +163 -0
  61. package/dist/modules/devices/services/channel-input-occurrences.service.js.map +1 -0
  62. package/dist/modules/devices/services/channels.properties.service.d.ts +10 -1
  63. package/dist/modules/devices/services/channels.properties.service.js +108 -44
  64. package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
  65. package/dist/modules/devices/services/channels.service.d.ts +1 -0
  66. package/dist/modules/devices/services/channels.service.js +10 -0
  67. package/dist/modules/devices/services/channels.service.js.map +1 -1
  68. package/dist/modules/devices/services/command-latency-trace-collector.service.d.ts +101 -0
  69. package/dist/modules/devices/services/command-latency-trace-collector.service.js +451 -0
  70. package/dist/modules/devices/services/command-latency-trace-collector.service.js.map +1 -0
  71. package/dist/modules/devices/services/device-command-graph.service.d.ts +18 -0
  72. package/dist/modules/devices/services/device-command-graph.service.js +92 -0
  73. package/dist/modules/devices/services/device-command-graph.service.js.map +1 -0
  74. package/dist/modules/devices/services/devices.service.d.ts +2 -0
  75. package/dist/modules/devices/services/devices.service.js +41 -31
  76. package/dist/modules/devices/services/devices.service.js.map +1 -1
  77. package/dist/modules/devices/services/platform.registry.service.d.ts +2 -2
  78. package/dist/modules/devices/services/platform.registry.service.js.map +1 -1
  79. package/dist/modules/devices/services/property-command-dispatch.service.d.ts +7 -3
  80. package/dist/modules/devices/services/property-command-dispatch.service.js +38 -25
  81. package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -1
  82. package/dist/modules/devices/services/property-command-window.service.d.ts +2 -1
  83. package/dist/modules/devices/services/property-command-window.service.js +6 -0
  84. package/dist/modules/devices/services/property-command-window.service.js.map +1 -1
  85. package/dist/modules/devices/services/property-command.service.d.ts +9 -5
  86. package/dist/modules/devices/services/property-command.service.js +54 -21
  87. package/dist/modules/devices/services/property-command.service.js.map +1 -1
  88. package/dist/modules/devices/services/property-metadata.service.d.ts +38 -0
  89. package/dist/modules/devices/services/property-metadata.service.js +210 -0
  90. package/dist/modules/devices/services/property-metadata.service.js.map +1 -0
  91. package/dist/modules/devices/services/property-value-lock.service.d.ts +4 -1
  92. package/dist/modules/devices/services/property-value-lock.service.js +16 -2
  93. package/dist/modules/devices/services/property-value-lock.service.js.map +1 -1
  94. package/dist/modules/devices/services/property-value.service.d.ts +2 -0
  95. package/dist/modules/devices/services/property-value.service.js +25 -5
  96. package/dist/modules/devices/services/property-value.service.js.map +1 -1
  97. package/dist/modules/devices/utils/device-graph-query.utils.d.ts +3 -0
  98. package/dist/modules/devices/utils/device-graph-query.utils.js +23 -0
  99. package/dist/modules/devices/utils/device-graph-query.utils.js.map +1 -0
  100. package/dist/modules/devices/utils/schema.utils.js +1 -1
  101. package/dist/modules/devices/utils/schema.utils.js.map +1 -1
  102. package/dist/modules/devices/validators/channel-exists-constraint.validator.d.ts +1 -3
  103. package/dist/modules/devices/validators/channel-exists-constraint.validator.js +3 -14
  104. package/dist/modules/devices/validators/channel-exists-constraint.validator.js.map +1 -1
  105. package/dist/modules/devices/validators/channel-property-exists-constraint.validator.d.ts +1 -3
  106. package/dist/modules/devices/validators/channel-property-exists-constraint.validator.js +3 -14
  107. package/dist/modules/devices/validators/channel-property-exists-constraint.validator.js.map +1 -1
  108. package/dist/modules/devices/validators/device-exists-constraint.validator.js +1 -2
  109. package/dist/modules/devices/validators/device-exists-constraint.validator.js.map +1 -1
  110. package/dist/modules/devices/validators/property-command-target-constraint.validator.d.ts +9 -0
  111. package/dist/modules/devices/validators/property-command-target-constraint.validator.js +58 -0
  112. package/dist/modules/devices/validators/property-command-target-constraint.validator.js.map +1 -0
  113. package/dist/modules/mdns/services/mdns.service.js +3 -1
  114. package/dist/modules/mdns/services/mdns.service.js.map +1 -1
  115. package/dist/modules/platform/platforms/abstract.platform.d.ts +2 -1
  116. package/dist/modules/platform/platforms/abstract.platform.js +2 -1
  117. package/dist/modules/platform/platforms/abstract.platform.js.map +1 -1
  118. package/dist/modules/platform/platforms/raspberry.platform.js +5 -10
  119. package/dist/modules/platform/platforms/raspberry.platform.js.map +1 -1
  120. package/dist/modules/platform/utils/linux-network-interface.utils.d.ts +3 -0
  121. package/dist/modules/platform/utils/linux-network-interface.utils.js +48 -0
  122. package/dist/modules/platform/utils/linux-network-interface.utils.js.map +1 -0
  123. package/dist/modules/remote-access/controllers/remote-access.controller.js +11 -6
  124. package/dist/modules/remote-access/controllers/remote-access.controller.js.map +1 -1
  125. package/dist/modules/remote-access/models/provider.model.d.ts +3 -0
  126. package/dist/modules/remote-access/models/provider.model.js +23 -0
  127. package/dist/modules/remote-access/models/provider.model.js.map +1 -1
  128. package/dist/modules/remote-access/models/status.model.d.ts +2 -0
  129. package/dist/modules/remote-access/models/status.model.js +18 -1
  130. package/dist/modules/remote-access/models/status.model.js.map +1 -1
  131. package/dist/modules/remote-access/models/urls.model.d.ts +2 -0
  132. package/dist/modules/remote-access/models/urls.model.js +17 -0
  133. package/dist/modules/remote-access/models/urls.model.js.map +1 -1
  134. package/dist/modules/remote-access/platforms/remote-access-provider.platform.d.ts +18 -1
  135. package/dist/modules/remote-access/remote-access.constants.d.ts +2 -1
  136. package/dist/modules/remote-access/remote-access.constants.js +2 -1
  137. package/dist/modules/remote-access/remote-access.constants.js.map +1 -1
  138. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.d.ts +1 -0
  139. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js +4 -1
  140. package/dist/modules/remote-access/services/remote-access-proxy-contribution.service.js.map +1 -1
  141. package/dist/modules/remote-access/services/remote-access-status.service.d.ts +40 -8
  142. package/dist/modules/remote-access/services/remote-access-status.service.js +314 -65
  143. package/dist/modules/remote-access/services/remote-access-status.service.js.map +1 -1
  144. package/dist/modules/remote-access/services/remote-access-url.service.d.ts +2 -2
  145. package/dist/modules/remote-access/services/remote-access-url.service.js +4 -2
  146. package/dist/modules/remote-access/services/remote-access-url.service.js.map +1 -1
  147. package/dist/modules/spaces/services/module-reset.service.d.ts +5 -1
  148. package/dist/modules/spaces/services/module-reset.service.js +10 -2
  149. package/dist/modules/spaces/services/module-reset.service.js.map +1 -1
  150. package/dist/modules/spaces/services/space-activity.service.d.ts +14 -0
  151. package/dist/modules/spaces/services/space-activity.service.js +56 -0
  152. package/dist/modules/spaces/services/space-activity.service.js.map +1 -0
  153. package/dist/modules/spaces/spaces.module.js +5 -0
  154. package/dist/modules/spaces/spaces.module.js.map +1 -1
  155. package/dist/modules/spaces/subscribers/space-activity.subscriber.d.ts +17 -0
  156. package/dist/modules/spaces/subscribers/space-activity.subscriber.js +89 -0
  157. package/dist/modules/spaces/subscribers/space-activity.subscriber.js.map +1 -0
  158. package/dist/modules/storage/services/storage-write-buffer.d.ts +17 -0
  159. package/dist/modules/storage/services/storage-write-buffer.js +67 -0
  160. package/dist/modules/storage/services/storage-write-buffer.js.map +1 -0
  161. package/dist/modules/storage/services/storage.service.d.ts +9 -2
  162. package/dist/modules/storage/services/storage.service.js +54 -1
  163. package/dist/modules/storage/services/storage.service.js.map +1 -1
  164. package/dist/modules/system/scripts/update-worker.sh +1168 -61
  165. package/dist/modules/system/services/privileged-worker.service.d.ts +10 -0
  166. package/dist/modules/system/services/privileged-worker.service.js +241 -32
  167. package/dist/modules/system/services/privileged-worker.service.js.map +1 -1
  168. package/dist/modules/system/services/system.service.d.ts +2 -0
  169. package/dist/modules/system/services/system.service.js +22 -1
  170. package/dist/modules/system/services/system.service.js.map +1 -1
  171. package/dist/modules/system/services/update-executor.service.d.ts +20 -2
  172. package/dist/modules/system/services/update-executor.service.js +272 -26
  173. package/dist/modules/system/services/update-executor.service.js.map +1 -1
  174. package/dist/modules/websocket/gateway/websocket.gateway.d.ts +4 -1
  175. package/dist/modules/websocket/gateway/websocket.gateway.js +29 -5
  176. package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
  177. package/dist/modules/websocket/services/command-acknowledgement-trace.service.d.ts +143 -0
  178. package/dist/modules/websocket/services/command-acknowledgement-trace.service.js +523 -0
  179. package/dist/modules/websocket/services/command-acknowledgement-trace.service.js.map +1 -0
  180. package/dist/modules/websocket/services/ws-auth.service.js +12 -35
  181. package/dist/modules/websocket/services/ws-auth.service.js.map +1 -1
  182. package/dist/modules/websocket/websocket.module.js +9 -1
  183. package/dist/modules/websocket/websocket.module.js.map +1 -1
  184. package/dist/plugins/devices-home-assistant/devices-home-assistant.openapi.d.ts +2 -2
  185. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.d.ts +6 -1
  186. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +16 -1
  187. package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
  188. package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.d.ts +1 -0
  189. package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.js +11 -0
  190. package/dist/plugins/devices-home-assistant/dto/mapping-preview.dto.js.map +1 -1
  191. package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.d.ts +19 -0
  192. package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.js +51 -0
  193. package/dist/plugins/devices-home-assistant/mappers/button.entity.mapper.service.js.map +1 -0
  194. package/dist/plugins/devices-home-assistant/mappings/definitions/entity-mappings.yaml +56 -7
  195. package/dist/plugins/devices-home-assistant/models/mapping-preview.model.d.ts +1 -0
  196. package/dist/plugins/devices-home-assistant/models/mapping-preview.model.js +11 -0
  197. package/dist/plugins/devices-home-assistant/models/mapping-preview.model.js.map +1 -1
  198. package/dist/plugins/devices-home-assistant/services/device-adoption.service.js +17 -0
  199. package/dist/plugins/devices-home-assistant/services/device-adoption.service.js.map +1 -1
  200. package/dist/plugins/devices-home-assistant/services/ha-mdns-discoverer.service.js +3 -1
  201. package/dist/plugins/devices-home-assistant/services/ha-mdns-discoverer.service.js.map +1 -1
  202. package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.d.ts +27 -0
  203. package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.js +271 -0
  204. package/dist/plugins/devices-home-assistant/services/home-assistant-raw-event.service.js.map +1 -0
  205. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +2 -2
  206. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +33 -14
  207. package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
  208. package/dist/plugins/devices-home-assistant/services/mapping-preview.service.js +24 -4
  209. package/dist/plugins/devices-home-assistant/services/mapping-preview.service.js.map +1 -1
  210. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.d.ts +4 -1
  211. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js +82 -2
  212. package/dist/plugins/devices-home-assistant/services/state-changed.event.service.js.map +1 -1
  213. package/dist/plugins/devices-home-assistant/services/wizard.service.js +1 -0
  214. package/dist/plugins/devices-home-assistant/services/wizard.service.js.map +1 -1
  215. package/dist/plugins/devices-home-assistant/utils/ha-event.utils.d.ts +2 -0
  216. package/dist/plugins/devices-home-assistant/utils/ha-event.utils.js +50 -0
  217. package/dist/plugins/devices-home-assistant/utils/ha-event.utils.js.map +1 -0
  218. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.d.ts +4 -1
  219. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +34 -4
  220. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
  221. package/dist/plugins/devices-homekit/mappers/base.mapper.js +3 -2
  222. package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
  223. package/dist/plugins/devices-homekit/mappers/button.mapper.d.ts +15 -0
  224. package/dist/plugins/devices-homekit/mappers/button.mapper.js +143 -0
  225. package/dist/plugins/devices-homekit/mappers/button.mapper.js.map +1 -0
  226. package/dist/plugins/devices-homekit/mappers/characteristic-write.d.ts +2 -0
  227. package/dist/plugins/devices-homekit/mappers/characteristic-write.js +17 -0
  228. package/dist/plugins/devices-homekit/mappers/characteristic-write.js.map +1 -0
  229. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +9 -1
  230. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +13 -12
  231. package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
  232. package/dist/plugins/devices-homekit/services/homekit-bridge.service.js +2 -0
  233. package/dist/plugins/devices-homekit/services/homekit-bridge.service.js.map +1 -1
  234. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.d.ts +5 -1
  235. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js +42 -0
  236. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js.map +1 -1
  237. package/dist/plugins/devices-homekit/utils/ciao-receive-guard.d.ts +1 -0
  238. package/dist/plugins/devices-homekit/utils/ciao-receive-guard.js +36 -0
  239. package/dist/plugins/devices-homekit/utils/ciao-receive-guard.js.map +1 -0
  240. package/dist/plugins/devices-homey/mappings/definitions/channels.yaml +50 -0
  241. package/dist/plugins/devices-homey/mappings/definitions/devices.yaml +18 -0
  242. package/dist/plugins/devices-homey/mappings/definitions/properties.yaml +55 -0
  243. package/dist/plugins/devices-homey/mappings/device-support.js +10 -0
  244. package/dist/plugins/devices-homey/mappings/device-support.js.map +1 -1
  245. package/dist/plugins/devices-homey/mappings/mapping-loader.service.d.ts +1 -0
  246. package/dist/plugins/devices-homey/mappings/mapping-loader.service.js +66 -8
  247. package/dist/plugins/devices-homey/mappings/mapping-loader.service.js.map +1 -1
  248. package/dist/plugins/devices-homey/models/inventory.model.d.ts +2 -1
  249. package/dist/plugins/devices-homey/models/inventory.model.js +1 -0
  250. package/dist/plugins/devices-homey/models/inventory.model.js.map +1 -1
  251. package/dist/plugins/devices-homey/models/mapping-preview.model.d.ts +1 -0
  252. package/dist/plugins/devices-homey/models/mapping-preview.model.js +1 -0
  253. package/dist/plugins/devices-homey/models/mapping-preview.model.js.map +1 -1
  254. package/dist/plugins/devices-homey/services/homey-mapping-preview.service.js +7 -0
  255. package/dist/plugins/devices-homey/services/homey-mapping-preview.service.js.map +1 -1
  256. package/dist/plugins/devices-homey/services/homey-synchronizer.service.d.ts +3 -1
  257. package/dist/plugins/devices-homey/services/homey-synchronizer.service.js +37 -6
  258. package/dist/plugins/devices-homey/services/homey-synchronizer.service.js.map +1 -1
  259. package/dist/plugins/devices-reterminal/services/reterminal-button.service.d.ts +7 -3
  260. package/dist/plugins/devices-reterminal/services/reterminal-button.service.js +63 -17
  261. package/dist/plugins/devices-reterminal/services/reterminal-button.service.js.map +1 -1
  262. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +25 -3
  263. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +607 -48
  264. package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
  265. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +6 -0
  266. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +51 -2
  267. package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
  268. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js +3 -2
  269. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.constants.js.map +1 -1
  270. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +2 -0
  271. package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
  272. package/dist/plugins/devices-shelly-ng/mappings/definitions/inputs.yaml +80 -0
  273. package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js +7 -1
  274. package/dist/plugins/devices-shelly-ng/mappings/mapping-loader.service.js.map +1 -1
  275. package/dist/plugins/devices-shelly-ng/mappings/mapping.types.d.ts +6 -3
  276. package/dist/plugins/devices-shelly-ng/mappings/schema/mapping-schema.json +5 -0
  277. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +153 -8
  278. package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
  279. package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.d.ts +51 -0
  280. package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js +549 -0
  281. package/dist/plugins/devices-shelly-ng/services/poll-placement-diagnostics.service.js.map +1 -0
  282. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +6 -1
  283. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +84 -14
  284. package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
  285. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js +3 -0
  286. package/dist/plugins/devices-shelly-ng/services/shelly-rpc-client.service.js.map +1 -1
  287. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.d.ts +1 -0
  288. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +13 -1
  289. package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
  290. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.d.ts +2 -0
  291. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.js +66 -4
  292. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.constants.js.map +1 -1
  293. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js +2 -0
  294. package/dist/plugins/devices-shelly-v1/devices-shelly-v1.plugin.js.map +1 -1
  295. package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js +7 -0
  296. package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js.map +1 -1
  297. package/dist/plugins/devices-shelly-v1/services/device-mapper.service.d.ts +3 -1
  298. package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js +20 -2
  299. package/dist/plugins/devices-shelly-v1/services/device-mapper.service.js.map +1 -1
  300. package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.d.ts +16 -0
  301. package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.js +107 -0
  302. package/dist/plugins/devices-shelly-v1/services/shelly-v1-input-tracker.service.js.map +1 -0
  303. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.d.ts +7 -1
  304. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js +98 -3
  305. package/dist/plugins/devices-shelly-v1/services/shelly-v1.service.js.map +1 -1
  306. package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.d.ts +17 -0
  307. package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js +205 -0
  308. package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js.map +1 -0
  309. package/dist/plugins/devices-third-party/devices-third-party.openapi.d.ts +1 -1
  310. package/dist/plugins/devices-third-party/devices-third-party.plugin.js +2 -1
  311. package/dist/plugins/devices-third-party/devices-third-party.plugin.js.map +1 -1
  312. package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.d.ts +5 -0
  313. package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js +50 -0
  314. package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js.map +1 -0
  315. package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.d.ts +8 -0
  316. package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js +81 -0
  317. package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js.map +1 -0
  318. package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js +19 -4
  319. package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js.map +1 -1
  320. package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.d.ts +2 -0
  321. package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js +57 -0
  322. package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js.map +1 -1
  323. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.d.ts +3 -8
  324. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js +6 -31
  325. package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js.map +1 -1
  326. package/dist/plugins/devices-wled/services/wled-mdns-discoverer.service.js +3 -1
  327. package/dist/plugins/devices-wled/services/wled-mdns-discoverer.service.js.map +1 -1
  328. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.d.ts +3 -0
  329. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js +41 -5
  330. package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.constants.js.map +1 -1
  331. package/dist/plugins/devices-zigbee2mqtt/interfaces/zigbee2mqtt.interface.d.ts +7 -1
  332. package/dist/plugins/devices-zigbee2mqtt/mappings/config-driven.converter.js +16 -15
  333. package/dist/plugins/devices-zigbee2mqtt/mappings/config-driven.converter.js.map +1 -1
  334. package/dist/plugins/devices-zigbee2mqtt/mappings/definitions/remotes.yaml +505 -74
  335. package/dist/plugins/devices-zigbee2mqtt/mappings/schema/mapping-schema.json +3 -3
  336. package/dist/plugins/devices-zigbee2mqtt/mappings/transformers/transformer.types.d.ts +1 -1
  337. package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.d.ts +8 -2
  338. package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js +6 -5
  339. package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js.map +1 -1
  340. package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js +18 -11
  341. package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js.map +1 -1
  342. package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.d.ts +9 -3
  343. package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js +166 -3
  344. package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js.map +1 -1
  345. package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js +5 -2
  346. package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js.map +1 -1
  347. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.d.ts +1 -0
  348. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +44 -4
  349. package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
  350. package/dist/plugins/influx-v1/services/influx-v1-managed.service.js +2 -2
  351. package/dist/plugins/influx-v1/services/influx-v1-managed.service.js.map +1 -1
  352. package/dist/plugins/influx-v2/services/influx-v2-managed.service.js +2 -2
  353. package/dist/plugins/influx-v2/services/influx-v2-managed.service.js.map +1 -1
  354. package/dist/plugins/memory-storage/services/memory-storage-managed.service.js +2 -2
  355. package/dist/plugins/memory-storage/services/memory-storage-managed.service.js.map +1 -1
  356. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.d.ts +6 -4
  357. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js +28 -16
  358. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/setup.controller.js.map +1 -1
  359. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.d.ts +4 -6
  360. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js +18 -17
  361. package/dist/plugins/remote-access-cloudflare-tunnel/controllers/status.controller.js.map +1 -1
  362. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.d.ts +2 -0
  363. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js +17 -0
  364. package/dist/plugins/remote-access-cloudflare-tunnel/models/status.model.js.map +1 -1
  365. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.d.ts +1 -0
  366. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js +2 -1
  367. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.constants.js.map +1 -1
  368. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js +1 -1
  369. package/dist/plugins/remote-access-cloudflare-tunnel/remote-access-cloudflare-tunnel.plugin.js.map +1 -1
  370. package/dist/plugins/remote-access-cloudflare-tunnel/scripts/cloudflared-setup.sh +1 -1
  371. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.d.ts +21 -2
  372. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js +132 -56
  373. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-managed.service.js.map +1 -1
  374. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.d.ts +13 -1
  375. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js +8 -2
  376. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-provider.service.js.map +1 -1
  377. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js +1 -0
  378. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflare-tunnel-setup.service.js.map +1 -1
  379. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.d.ts +1 -1
  380. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js +12 -24
  381. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-cli.service.js.map +1 -1
  382. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.d.ts +1 -1
  383. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js +5 -2
  384. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-metrics.service.js.map +1 -1
  385. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.d.ts +4 -3
  386. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js +109 -49
  387. package/dist/plugins/remote-access-cloudflare-tunnel/services/cloudflared-process.service.js.map +1 -1
  388. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.d.ts +11 -6
  389. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js +115 -25
  390. package/dist/plugins/remote-access-tailscale/controllers/setup.controller.js.map +1 -1
  391. package/dist/plugins/remote-access-tailscale/controllers/status.controller.d.ts +6 -5
  392. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js +26 -16
  393. package/dist/plugins/remote-access-tailscale/controllers/status.controller.js.map +1 -1
  394. package/dist/plugins/remote-access-tailscale/models/status.model.d.ts +16 -0
  395. package/dist/plugins/remote-access-tailscale/models/status.model.js +100 -1
  396. package/dist/plugins/remote-access-tailscale/models/status.model.js.map +1 -1
  397. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.d.ts +3 -0
  398. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js +4 -1
  399. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.constants.js.map +1 -1
  400. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.d.ts +17 -1
  401. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js +33 -1
  402. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.exceptions.js.map +1 -1
  403. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.d.ts +2 -2
  404. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js +1 -0
  405. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.openapi.js.map +1 -1
  406. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js +3 -1
  407. package/dist/plugins/remote-access-tailscale/remote-access-tailscale.plugin.js.map +1 -1
  408. package/dist/plugins/remote-access-tailscale/scripts/tailscale-setup.sh +37 -4
  409. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.d.ts +9 -4
  410. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js +63 -15
  411. package/dist/plugins/remote-access-tailscale/services/tailscale-cli.service.js.map +1 -1
  412. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.d.ts +8 -3
  413. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js +175 -151
  414. package/dist/plugins/remote-access-tailscale/services/tailscale-login.service.js.map +1 -1
  415. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.d.ts +55 -7
  416. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js +551 -109
  417. package/dist/plugins/remote-access-tailscale/services/tailscale-node-managed.service.js.map +1 -1
  418. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.d.ts +33 -0
  419. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js +167 -0
  420. package/dist/plugins/remote-access-tailscale/services/tailscale-operation-coordinator.service.js.map +1 -0
  421. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.d.ts +13 -1
  422. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js +8 -2
  423. package/dist/plugins/remote-access-tailscale/services/tailscale-provider.service.js.map +1 -1
  424. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.d.ts +1 -1
  425. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js +7 -6
  426. package/dist/plugins/remote-access-tailscale/services/tailscale-serve.service.js.map +1 -1
  427. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.d.ts +1 -3
  428. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js +11 -11
  429. package/dist/plugins/remote-access-tailscale/services/tailscale-setup.service.js.map +1 -1
  430. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.d.ts +5 -0
  431. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js +36 -0
  432. package/dist/plugins/remote-access-tailscale/utils/tailscale-control.utils.js.map +1 -0
  433. package/dist/plugins/simulator/controllers/simulator.controller.d.ts +8 -2
  434. package/dist/plugins/simulator/controllers/simulator.controller.js +102 -2
  435. package/dist/plugins/simulator/controllers/simulator.controller.js.map +1 -1
  436. package/dist/plugins/simulator/dto/simulate-occurrence.dto.d.ts +12 -0
  437. package/dist/plugins/simulator/dto/simulate-occurrence.dto.js +122 -0
  438. package/dist/plugins/simulator/dto/simulate-occurrence.dto.js.map +1 -0
  439. package/dist/plugins/simulator/models/simulator-response.model.d.ts +12 -0
  440. package/dist/plugins/simulator/models/simulator-response.model.js +84 -1
  441. package/dist/plugins/simulator/models/simulator-response.model.js.map +1 -1
  442. package/dist/plugins/simulator/scenarios/definitions/small-apartment.yaml +78 -0
  443. package/dist/plugins/simulator/services/scenario-executor.service.js +3 -1
  444. package/dist/plugins/simulator/services/scenario-executor.service.js.map +1 -1
  445. package/dist/plugins/simulator/services/simulation.service.js +10 -1
  446. package/dist/plugins/simulator/services/simulation.service.js.map +1 -1
  447. package/dist/plugins/simulator/simulator.openapi.d.ts +3 -2
  448. package/dist/plugins/simulator/simulator.openapi.js +5 -0
  449. package/dist/plugins/simulator/simulator.openapi.js.map +1 -1
  450. package/dist/plugins/simulator/simulators/device-simulator.interface.d.ts +2 -0
  451. package/dist/plugins/simulator/simulators/device-simulator.interface.js +83 -0
  452. package/dist/plugins/simulator/simulators/device-simulator.interface.js.map +1 -1
  453. package/dist/plugins/simulator/simulators/index.d.ts +1 -0
  454. package/dist/plugins/simulator/simulators/index.js +1 -0
  455. package/dist/plugins/simulator/simulators/index.js.map +1 -1
  456. package/dist/plugins/simulator/simulators/input-controller.simulator.d.ts +10 -0
  457. package/dist/plugins/simulator/simulators/input-controller.simulator.js +57 -0
  458. package/dist/plugins/simulator/simulators/input-controller.simulator.js.map +1 -0
  459. package/dist/plugins/simulator/simulators/lighting.simulator.js +1 -0
  460. package/dist/plugins/simulator/simulators/lighting.simulator.js.map +1 -1
  461. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.d.ts +6 -7
  462. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js +19 -44
  463. package/dist/plugins/spaces-home-control/listeners/space-activity.listener.js.map +1 -1
  464. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.d.ts +4 -4
  465. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js +9 -22
  466. package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js.map +1 -1
  467. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.d.ts +4 -4
  468. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js +9 -22
  469. package/dist/plugins/spaces-home-control/listeners/space-lighting-state.listener.js.map +1 -1
  470. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.d.ts +4 -4
  471. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js +9 -22
  472. package/dist/plugins/spaces-home-control/listeners/space-sensor-state.listener.js.map +1 -1
  473. package/dist/plugins/spaces-home-control/services/space-climate-state.service.d.ts +3 -5
  474. package/dist/plugins/spaces-home-control/services/space-climate-state.service.js +9 -12
  475. package/dist/plugins/spaces-home-control/services/space-climate-state.service.js.map +1 -1
  476. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.d.ts +3 -5
  477. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js +7 -10
  478. package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js.map +1 -1
  479. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.d.ts +3 -5
  480. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js +7 -10
  481. package/dist/plugins/spaces-home-control/services/space-sensor-state.service.js.map +1 -1
  482. package/dist/plugins/spaces-home-control/services/space-state-read.service.d.ts +47 -0
  483. package/dist/plugins/spaces-home-control/services/space-state-read.service.js +262 -0
  484. package/dist/plugins/spaces-home-control/services/space-state-read.service.js.map +1 -0
  485. package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js +4 -0
  486. package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js.map +1 -1
  487. package/dist/spec/channels.d.ts +51 -1
  488. package/dist/spec/channels.js +64 -1
  489. package/dist/spec/channels.js.map +1 -1
  490. package/dist/spec/devices.d.ts +155 -2
  491. package/dist/spec/devices.js +161 -2
  492. package/dist/spec/devices.js.map +1 -1
  493. package/dist/tsconfig.build.tsbuildinfo +1 -1
  494. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"wizard.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/services/wizard.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wizard.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/services/wizard.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mCAAoC;AAEpC,2CAA6D;AAE7D,kFAA6E;AAC7E,2GAAsG;AAetG,4EAA6E;AAE7E,uEAAkE;AAClE,uEAAkE;AAClE,qFAA+E;AAC/E,+EAAyE;AACzE,uEAAkE;AAsB3D,IAAM,0BAA0B,kCAAhC,MAAM,0BAA0B;IAKtC,YACkB,qBAA4C,EAC5C,2BAAwD,EACxD,qBAA4C,EAC5C,qBAA4C,EAC5C,wBAAkD,EAClD,uBAAgD;QALhD,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,gCAA2B,GAA3B,2BAA2B,CAA6B;QACxD,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,6BAAwB,GAAxB,wBAAwB,CAA0B;QAClD,4BAAuB,GAAvB,uBAAuB,CAAyB;QARjD,aAAQ,GAAG,IAAI,GAAG,EAAsC,CAAC;IASvE,CAAC;IAEJ,KAAK,CAAC,KAAK;QACV,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,CAAC;QAC/E,MAAM,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACtE,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC;YACrE,IAAI,CAAC,2BAA2B,CAAC,uBAAuB,CAAC,SAAS,CAAC,OAAO,CAAC;SAC3E,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACjE,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YACxD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;YACvD,CAAC;QACF,CAAC;QACD,MAAM,EAAE,GAAG,IAAA,mBAAU,GAAE,CAAC;QACxB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAC/B,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CACtG,CAAC;QACF,MAAM,OAAO,GAA+B;YAC3C,EAAE;YACF,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,UAAU,EAAE,IAAI,GAAG,EAAE;SACrB,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;gBAC/B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAC1B,MAAM,CAAC,OAAO,EACd,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,EAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAC7B;gBACF,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAC/B,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,EAAE,EAChB,MAAM,CAAC,MAAM,CAAC,IAAI,EAClB,IAAI,EACJ,IAAI,EACJ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAC7B,MAAM,CAAC,KAAK,CACZ,CAAC;YACJ,IACC,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO;gBACrC,SAAS,CAAC,OAAO;gBAChB,SAAS,CAAC,OAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAC9G,CAAC;gBACF,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,iBAAiB,CAAC;gBAC9C,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;gBACrC,SAAS,CAAC,QAAQ,CAAC,KAAK,GAAG,gEAAgE,CAAC;gBAC5F,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;YAC1B,CAAC;YACD,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,CACnC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAC7D,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,OAAO;YACjG,CAAC,CAAE,SAAS,CAAC,OAAiC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1F,CAAC,CAAC,EAAE,CACL,CACD,CAAC;QAEF,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE,CAAC;YAC3C,IAAI,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACxF,SAAS;YACV,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;gBAC/B,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;gBACnG,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAC/B,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,QAAQ,EACtB,MAAM,CAAC,MAAM,CAAC,IAAI,EAClB,gBAAgB,EAChB,WAAW,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,EAClC,CAAC,EACD,MAAM,CAAC,KAAK,CACZ,CAAC;YACJ,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,EAAU;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAE/B,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,EAAU;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO;QACR,CAAC;QAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED,eAAe;QACd,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAU,EAAE,IAAc;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,OAAO,GAA6C,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACtC,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,OAAO,SAAS,EAAE,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,CAAC,CAAC,CAAC;QACH,IAAI,eAAe,GAAG,IAAI,GAAG,EAA2C,CAAC;QAEzE,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC;gBACJ,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC;YAC1E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,KAAK,MAAM,SAAS,IAAI,mBAAmB,EAAE,CAAC;oBAC7C,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAc,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;QACF,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAE9C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC/E,OAAO,CAAC,IAAI,CAAC;oBACZ,GAAG;oBACH,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,IAAI,IAAI,GAAG;oBACrC,MAAM,EAAE,QAAQ;oBAChB,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,mBAAmB;iBACtG,CAAC,CAAC;gBACH,SAAS;YACV,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC7D,CAAC;gBACD,IAAI,QAAQ,YAAY,KAAK,EAAE,CAAC;oBAC/B,MAAM,QAAQ,CAAC;gBAChB,CAAC;gBACD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACjC,MAAM,MAAM,GACX,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;oBACnC,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAC5C,OAAgC,EAChC,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,gBAAgB,CACzB;oBACF,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAgC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;gBAE9G,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,oBAAoB,CAAC;gBACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC;gBAC/C,SAAS,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;gBACvC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACzG,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CACnC,UAA0C;QAE1C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,sBAAsB,EAAE,CAAC;QAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,CACxB,UAAU;aACR,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;aAC3D,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACjD,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,GAAG,CACxB,UAAU;aACR,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC;aAC3D,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACjD,CAAC;QACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACxD,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CACjD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAC9D;YACD,IAAI,CAAC,2BAA2B,CAAC,uBAAuB,CACvD,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CACpE;SACD,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7F,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACnG,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA2C,CAAC;QAEpE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACtB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,0CAA0C,CAAC,CAAC,CAAC;oBAC7G,SAAS;gBACV,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACxD,QAAQ,CAAC,GAAG,CACX,SAAS,CAAC,QAAQ,CAAC,GAAG,EACtB,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACjG,CAAC,CAAC;wBACA,OAAO;wBACP,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,SAAS;wBAClD,gBAAgB,EAAE,MAAM,CAAC,MAAM;qBAC/B;oBACF,CAAC,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CACxE,CAAC;gBACF,SAAS;YACV,CAAC;YAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAClE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;gBACtB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,0CAA0C,CAAC,CAAC,CAAC;gBAC7G,SAAS;YACV,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,QAAQ,CAAC,GAAG,CACX,SAAS,CAAC,QAAQ,CAAC,GAAG,EACtB,MAAM,CAAC,OAAO,CAAC,YAAY;gBAC1B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC3B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;gBAClC,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC9C,CAAC,CAAC,IAAI,KAAK,CAAC,0DAA0D,CAAC,CACxE,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEO,qBAAqB,CAC5B,OAA4B,EAC5B,eAA8B,EAC9B,WAAmB;QAEnB,MAAM,GAAG,GAAG,UAAU,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACnG,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAE5F,OAAO;YACN,QAAQ,EAAE;gBACT,GAAG;gBACH,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC7B,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI;gBAClC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAC3C,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAC7B,MAAM;gBACN,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ;gBACnD,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC5C,WAAW;gBACX,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBACrC,eAAe;gBACf,KAAK,EAAE,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aACvF;YACD,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SAC5C,CAAC;IACH,CAAC;IAEO,qBAAqB,CAC5B,OAAkC,EAClC,eAA8B;QAE9B,MAAM,GAAG,GAAG,UAAU,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,KAAK,GACV,OAAO,CAAC,YAAY;YACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC3B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAE5F,OAAO;YACN,QAAQ,EAAE;gBACT,GAAG;gBACH,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;gBACjC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI;gBAClC,YAAY,EAAE,gBAAgB;gBAC9B,KAAK,EAAE,WAAW,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG;gBAC1C,MAAM;gBACN,iBAAiB,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ;gBACnD,mBAAmB,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAC5C,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBACrC,eAAe;gBACf,KAAK,EAAE,MAAM,KAAK,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI;aACvF;YACD,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;SAC5C,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,QAAoC;QAC/D,OAAO,CACN,QAAQ;aACN,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;aACjC,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,IAAI,0CAA0C,CAC1D,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAA4B;QACtD,OAAO;YACN,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC/B,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI;YAClC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ;YAC1C,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;iBACxB,MAAM,CACN,CAAC,MAAM,EAAE,EAAE,CACV,MAAM,CAAC,MAAM,KAAK,SAAS;gBAC3B,MAAM,CAAC,MAAM,KAAK,cAAc;gBAChC,MAAM,CAAC,gBAAgB;gBACvB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,KAAK,mCAAe,CAAC,OAAO;gBAC5D,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CACtC;iBACA,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,QAAQ;gBAC1C,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,IAAI;gBAClC,UAAU,EAAE,MAAM,CAAC,gBAAgB,CAAC,UAAU,IAAI,IAAI;gBACtD,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACzD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ;oBAClD,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,IAAI;iBAC7C,CAAC,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAAkC;QAC5D,OAAO;YACN,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ;YACjC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI;YAClC,QAAQ,EAAE,OAAO,CAAC,eAAe,CAAC,QAAQ;YAC1C,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO,CAAC,iBAAiB;iBACjC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,mCAAe,CAAC,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC;iBAC3G,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,UAAU,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC1D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;oBAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,aAAa,EAAE,QAAQ,CAAC,aAAa;iBACrC,CAAC,CAAC;aACH,CAAC,CAAC;SACJ,CAAC;IACH,CAAC;IAEO,0BAA0B,CACjC,IAAyB,EACzB,QAAgB,EAChB,IAAY,EACZ,YAA2B,EAC3B,KAAoB,EACpB,WAAmB,EACnB,KAAoB;QAEpB,OAAO;YACN,QAAQ,EAAE;gBACT,GAAG,EAAE,GAAG,IAAI,IAAI,QAAQ,EAAE;gBAC1B,IAAI;gBACJ,QAAQ;gBACR,IAAI;gBACJ,YAAY;gBACZ,KAAK;gBACL,MAAM,EAAE,aAAa;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,mBAAmB,EAAE,CAAC;gBACtB,WAAW;gBACX,YAAY,EAAE,CAAC;gBACf,eAAe,EAAE,IAAI;gBACrB,KAAK,EAAE,KAAK,IAAI,0CAA0C;aAC1D;YACD,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAC,OAA8B;QAC1D,OAAO,IAAI,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,IAAA,mDAA0B,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1G,CAAC;IAEO,UAAU,CAAC,OAAmC;QACrD,OAAO;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1C,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC;SACtF,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,OAAmC;QAC3D,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,4BAA0B,CAAC,WAAW,CAAC,CAAC;IACpG,CAAC;;AAjcW,gEAA0B;AACd,sCAAW,GAAG,EAAE,GAAG,MAAM,AAAd,CAAe;qCADtC,0BAA0B;IADtC,IAAA,mBAAU,GAAE;qCAO6B,+CAAqB;QACf,4DAA2B;QACjC,+CAAqB;QACrB,+CAAqB;QAClB,sDAAwB;QACzB,mDAAuB;GAXtD,0BAA0B,CAkctC"}
@@ -0,0 +1,2 @@
1
+ export declare function normalizeHaEventType(haEventType: string): string;
2
+ export declare function mapHaEventTypesToFormat(eventTypes: string[]): string[];
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.normalizeHaEventType = normalizeHaEventType;
4
+ exports.mapHaEventTypesToFormat = mapHaEventTypesToFormat;
5
+ function normalizeHaEventType(haEventType) {
6
+ const trimmed = haEventType.trim().toLowerCase();
7
+ switch (trimmed) {
8
+ case 'press':
9
+ case 'single':
10
+ case 'single_press':
11
+ case 'click':
12
+ case 'short_press':
13
+ case 'button_press':
14
+ return 'press';
15
+ case 'double':
16
+ case 'double_press':
17
+ case 'double_click':
18
+ return 'double_press';
19
+ case 'triple':
20
+ case 'triple_press':
21
+ case 'triple_click':
22
+ return 'triple_press';
23
+ case 'hold':
24
+ case 'long_press':
25
+ case 'long_click':
26
+ case 'press_hold':
27
+ return 'long_press';
28
+ case 'release':
29
+ case 'release_hold':
30
+ return 'release';
31
+ case 'up':
32
+ case 'arrow_up':
33
+ return 'up';
34
+ case 'down':
35
+ case 'arrow_down':
36
+ return 'down';
37
+ default:
38
+ return trimmed;
39
+ }
40
+ }
41
+ function mapHaEventTypesToFormat(eventTypes) {
42
+ const mapped = new Set();
43
+ for (const type of eventTypes) {
44
+ if (typeof type === 'string' && type.trim().length > 0) {
45
+ mapped.add(normalizeHaEventType(type));
46
+ }
47
+ }
48
+ return Array.from(mapped);
49
+ }
50
+ //# sourceMappingURL=ha-event.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ha-event.utils.js","sourceRoot":"","sources":["../../../../src/plugins/devices-home-assistant/utils/ha-event.utils.ts"],"names":[],"mappings":";;AAGA,oDAmCC;AAKD,0DAQC;AAhDD,SAAgB,oBAAoB,CAAC,WAAmB;IACvD,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACjD,QAAQ,OAAO,EAAE,CAAC;QACjB,KAAK,OAAO,CAAC;QACb,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,OAAO,CAAC;QACb,KAAK,aAAa,CAAC;QACnB,KAAK,cAAc;YAClB,OAAO,OAAO,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc;YAClB,OAAO,cAAc,CAAC;QACvB,KAAK,QAAQ,CAAC;QACd,KAAK,cAAc,CAAC;QACpB,KAAK,cAAc;YAClB,OAAO,cAAc,CAAC;QACvB,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY,CAAC;QAClB,KAAK,YAAY;YAChB,OAAO,YAAY,CAAC;QACrB,KAAK,SAAS,CAAC;QACf,KAAK,cAAc;YAClB,OAAO,SAAS,CAAC;QAClB,KAAK,IAAI,CAAC;QACV,KAAK,UAAU;YACd,OAAO,IAAI,CAAC;QACb,KAAK,MAAM,CAAC;QACZ,KAAK,YAAY;YAChB,OAAO,MAAM,CAAC;QACf;YACC,OAAO,OAAO,CAAC;IACjB,CAAC;AACF,CAAC;AAKD,SAAgB,uBAAuB,CAAC,UAAoB;IAC3D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
@@ -1,8 +1,11 @@
1
1
  import { ChannelPropertyEntity } from '../../../modules/devices/entities/devices.entity';
2
+ import { ChannelInputOccurrencePayload } from '../../../modules/devices/models/channel-input-occurrence.model';
2
3
  import { HomeKitMapperRegistryService } from '../services/homekit-mapper-registry.service';
3
4
  export declare class HomeKitEventListener {
4
5
  private readonly mapperRegistry;
5
6
  private readonly logger;
6
7
  constructor(mapperRegistry: HomeKitMapperRegistryService);
7
- handlePropertyValueChanged(property: ChannelPropertyEntity): void;
8
+ handlePropertyValueSet(property: ChannelPropertyEntity): void;
9
+ handlePropertyValueChanged(property: ChannelPropertyEntity, acceptedValue?: boolean): void;
10
+ handleChannelInputOccurrence(occurrence: ChannelInputOccurrencePayload): void;
8
11
  }
@@ -15,13 +15,17 @@ const common_1 = require("@nestjs/common");
15
15
  const event_emitter_1 = require("@nestjs/event-emitter");
16
16
  const devices_constants_1 = require("../../../modules/devices/devices.constants");
17
17
  const devices_entity_1 = require("../../../modules/devices/entities/devices.entity");
18
+ const channel_input_occurrence_model_1 = require("../../../modules/devices/models/channel-input-occurrence.model");
18
19
  const homekit_mapper_registry_service_1 = require("../services/homekit-mapper-registry.service");
19
20
  let HomeKitEventListener = HomeKitEventListener_1 = class HomeKitEventListener {
20
21
  constructor(mapperRegistry) {
21
22
  this.mapperRegistry = mapperRegistry;
22
23
  this.logger = new common_1.Logger(HomeKitEventListener_1.name);
23
24
  }
24
- handlePropertyValueChanged(property) {
25
+ handlePropertyValueSet(property) {
26
+ this.handlePropertyValueChanged(property, true);
27
+ }
28
+ handlePropertyValueChanged(property, acceptedValue = false) {
25
29
  if (!property || !property.id) {
26
30
  return;
27
31
  }
@@ -36,7 +40,7 @@ let HomeKitEventListener = HomeKitEventListener_1 = class HomeKitEventListener {
36
40
  const hapValue = binding.toHomeKit
37
41
  ? binding.toHomeKit(rawValue)
38
42
  : rawValue;
39
- if (binding.pendingWrite && Object.is(hapValue, binding.pendingWrite.previousValue)) {
43
+ if (!acceptedValue && binding.pendingWrite && Object.is(hapValue, binding.pendingWrite.previousValue)) {
40
44
  this.logger.debug(`Suppressing stale HomeKit characteristic update: property=${property.id} value=${JSON.stringify(rawValue)}`);
41
45
  continue;
42
46
  }
@@ -53,7 +57,7 @@ let HomeKitEventListener = HomeKitEventListener_1 = class HomeKitEventListener {
53
57
  }
54
58
  for (const listener of listeners) {
55
59
  try {
56
- listener.onPropertyChanged(property, rawValue);
60
+ listener.onPropertyChanged(property, rawValue, acceptedValue);
57
61
  }
58
62
  catch (error) {
59
63
  const err = error;
@@ -61,15 +65,41 @@ let HomeKitEventListener = HomeKitEventListener_1 = class HomeKitEventListener {
61
65
  }
62
66
  }
63
67
  }
68
+ handleChannelInputOccurrence(occurrence) {
69
+ if (!occurrence || !occurrence.propertyId) {
70
+ return;
71
+ }
72
+ const listeners = this.mapperRegistry.getOccurrenceListeners(occurrence.propertyId);
73
+ for (const listener of listeners) {
74
+ try {
75
+ listener.onOccurrence(occurrence);
76
+ }
77
+ catch (error) {
78
+ const err = error;
79
+ this.logger.warn(`Failed to process HomeKit input occurrence for device=${occurrence.deviceId} channel=${occurrence.channelId} property=${occurrence.propertyId}: ${err.message}`);
80
+ }
81
+ }
82
+ }
64
83
  };
65
84
  exports.HomeKitEventListener = HomeKitEventListener;
66
85
  __decorate([
67
86
  (0, event_emitter_1.OnEvent)(devices_constants_1.EventType.CHANNEL_PROPERTY_VALUE_SET),
68
- (0, event_emitter_1.OnEvent)(devices_constants_1.EventType.CHANNEL_PROPERTY_UPDATED),
69
87
  __metadata("design:type", Function),
70
88
  __metadata("design:paramtypes", [devices_entity_1.ChannelPropertyEntity]),
71
89
  __metadata("design:returntype", void 0)
90
+ ], HomeKitEventListener.prototype, "handlePropertyValueSet", null);
91
+ __decorate([
92
+ (0, event_emitter_1.OnEvent)(devices_constants_1.EventType.CHANNEL_PROPERTY_UPDATED),
93
+ __metadata("design:type", Function),
94
+ __metadata("design:paramtypes", [devices_entity_1.ChannelPropertyEntity, Object]),
95
+ __metadata("design:returntype", void 0)
72
96
  ], HomeKitEventListener.prototype, "handlePropertyValueChanged", null);
97
+ __decorate([
98
+ (0, event_emitter_1.OnEvent)(devices_constants_1.EventType.CHANNEL_INPUT_OCCURRENCE),
99
+ __metadata("design:type", Function),
100
+ __metadata("design:paramtypes", [channel_input_occurrence_model_1.ChannelInputOccurrencePayload]),
101
+ __metadata("design:returntype", void 0)
102
+ ], HomeKitEventListener.prototype, "handleChannelInputOccurrence", null);
73
103
  exports.HomeKitEventListener = HomeKitEventListener = HomeKitEventListener_1 = __decorate([
74
104
  (0, common_1.Injectable)(),
75
105
  __metadata("design:paramtypes", [homekit_mapper_registry_service_1.HomeKitMapperRegistryService])
@@ -1 +1 @@
1
- {"version":3,"file":"homekit-event.listener.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/listeners/homekit-event.listener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homekit-event.listener.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/listeners/homekit-event.listener.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BaseHomeKitMapper = void 0;
4
4
  const hap_nodejs_1 = require("@homebridge/hap-nodejs");
5
5
  const devices_constants_1 = require("../../../modules/devices/devices.constants");
6
+ const characteristic_write_1 = require("./characteristic-write");
6
7
  class BaseHomeKitMapper {
7
8
  createBaseAccessory(device, category) {
8
9
  const accessoryUuid = hap_nodejs_1.uuid.generate(`fastybird.smart-panel.device.${device.id}`);
@@ -58,7 +59,7 @@ class BaseHomeKitMapper {
58
59
  property.permissions.some((p) => [devices_constants_1.PermissionType.READ_WRITE, devices_constants_1.PermissionType.WRITE_ONLY].includes(p));
59
60
  const isCharacteristicWritable = characteristic.props.perms.includes("pw");
60
61
  if (isPropertyWritable && isCharacteristicWritable) {
61
- characteristic.onSet(async (value) => {
62
+ (0, characteristic_write_1.bindCharacteristicWrite)(characteristic, async (value) => {
62
63
  const startingRevision = binding.revision;
63
64
  const token = (binding.nextWriteToken ?? 0) + 1;
64
65
  binding.nextWriteToken = token;
@@ -88,7 +89,7 @@ class BaseHomeKitMapper {
88
89
  binding.pendingWrite = undefined;
89
90
  }
90
91
  }
91
- });
92
+ }, () => binding.currentValue);
92
93
  }
93
94
  context.registerBinding(binding);
94
95
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base.mapper.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/mappers/base.mapper.ts"],"names":[],"mappings":";;;AAAA,uDAQgC;AAEhC,kFAA+G;AAK/G,MAAsB,iBAAiB;IAK5B,mBAAmB,CAAC,MAAoB,EAAE,QAAoB;QACvE,MAAM,aAAa,GAAG,iBAAI,CAAC,QAAQ,CAAC,gCAAgC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5D,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE9B,MAAM,WAAW,GAChB,SAAS,CAAC,UAAU,CAAC,oBAAO,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,oBAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1G,WAAW;aACT,iBAAiB,CAAC,2BAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;aACnD,iBAAiB,CAAC,2BAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;aAC1E,iBAAiB,CAAC,2BAAc,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC;aAC1E,iBAAiB,CAAC,2BAAc,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;aACzD,iBAAiB,CAAC,2BAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAE9D,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,WAAW,CAAC,MAAoB,EAAE,QAAyB;QACpE,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAES,YAAY,CAAC,MAAoB,EAAE,QAAyB;QACrE,OAAO,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClF,CAAC;IAES,YAAY,CAAC,OAAsB,EAAE,QAA0B;QACxE,OAAO,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAES,WAAW,CAAC,GAAY;QACjC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAK,GAA+B,EAAE,CAAC;YAC5F,OAAQ,GAA+B,CAAC,KAAK,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,kBAAkB,CAC3B,OAA6B,EAC7B,MAAoB,EACpB,OAAsB,EACtB,QAA+B,EAC/B,cAA8B,EAC9B,YAAqD,CAAC,GAAG,EAAE,EAAE,CAAC,GAA0B,EACxF,cAAuD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;QAEnE,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,OAAO,GAA0B;YACtC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,cAAc;YACd,SAAS;YACT,WAAW;YACX,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,CAAC;SACX,CAAC;QAEF,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;YACzB,OAAO,OAAO,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC;gBACJ,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACF,CAAC;QAED,MAAM,kBAAkB,GACvB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACnC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kCAAc,CAAC,UAAU,EAAE,kCAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,wBAAwB,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAoB,CAAC;QAEzF,IAAI,kBAAkB,IAAI,wBAAwB,EAAE,CAAC;YACpD,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAA0B,EAAE,EAAE;gBACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC1C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChD,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC/B,OAAO,CAAC,QAAQ,GAAG,gBAAgB,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,YAAY,GAAG;oBACtB,KAAK;oBACL,aAAa,EAAE,OAAO,CAAC,YAAY;oBACnC,cAAc,EAAE,KAAK;oBACrB,gBAAgB;iBAChB,CAAC;gBACF,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC7B,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,CAAC;oBACJ,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IACC,OAAO,CAAC,YAAY,EAAE,KAAK,KAAK,KAAK;wBACrC,OAAO,CAAC,QAAQ,KAAK,gBAAgB,GAAG,CAAC;wBACzC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EACrC,CAAC;wBACF,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;wBAC1D,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBACxE,CAAC;oBAED,MAAM,KAAK,CAAC;gBACb,CAAC;wBAAS,CAAC;oBACV,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;wBAC3C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;oBAClC,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACD;AArHD,8CAqHC"}
1
+ {"version":3,"file":"base.mapper.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/mappers/base.mapper.ts"],"names":[],"mappings":";;;AAAA,uDAQgC;AAEhC,kFAA+G;AAG/G,iEAAiE;AAGjE,MAAsB,iBAAiB;IAK5B,mBAAmB,CAAC,MAAoB,EAAE,QAAoB;QACvE,MAAM,aAAa,GAAG,iBAAI,CAAC,QAAQ,CAAC,gCAAgC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QACjF,MAAM,SAAS,GAAG,IAAI,sBAAS,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC5D,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAE9B,MAAM,WAAW,GAChB,SAAS,CAAC,UAAU,CAAC,oBAAO,CAAC,oBAAoB,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,oBAAO,CAAC,oBAAoB,CAAC,CAAC;QAC1G,WAAW;aACT,iBAAiB,CAAC,2BAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;aACnD,iBAAiB,CAAC,2BAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,IAAI,WAAW,CAAC;aAC1E,iBAAiB,CAAC,2BAAc,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC;aAC1E,iBAAiB,CAAC,2BAAc,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;aACzD,iBAAiB,CAAC,2BAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAE9D,OAAO,SAAS,CAAC;IAClB,CAAC;IAES,WAAW,CAAC,MAAoB,EAAE,QAAyB;QACpE,OAAO,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC1E,CAAC;IAES,YAAY,CAAC,MAAoB,EAAE,QAAyB;QACrE,OAAO,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;IAClF,CAAC;IAES,YAAY,CAAC,OAAsB,EAAE,QAA0B;QACxE,OAAO,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IAC/E,CAAC;IAES,WAAW,CAAC,GAAY;QACjC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAK,GAA+B,EAAE,CAAC;YAC5F,OAAQ,GAA+B,CAAC,KAAK,CAAC;QAC/C,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAES,kBAAkB,CAC3B,OAA6B,EAC7B,MAAoB,EACpB,OAAsB,EACtB,QAA+B,EAC/B,cAA8B,EAC9B,YAAqD,CAAC,GAAG,EAAE,EAAE,CAAC,GAA0B,EACxF,cAAuD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;QAEnE,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtD,MAAM,OAAO,GAA0B;YACtC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,cAAc;YACd,SAAS;YACT,WAAW;YACX,YAAY,EAAE,YAAY;YAC1B,QAAQ,EAAE,CAAC;SACX,CAAC;QAEF,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;YACzB,OAAO,OAAO,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC;gBACJ,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;QACF,CAAC;QAED,MAAM,kBAAkB,GACvB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;YACnC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,kCAAc,CAAC,UAAU,EAAE,kCAAc,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,MAAM,wBAAwB,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAoB,CAAC;QAEzF,IAAI,kBAAkB,IAAI,wBAAwB,EAAE,CAAC;YACpD,IAAA,8CAAuB,EACtB,cAAc,EACd,KAAK,EAAE,KAA0B,EAAE,EAAE;gBACpC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC1C,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChD,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC/B,OAAO,CAAC,QAAQ,GAAG,gBAAgB,GAAG,CAAC,CAAC;gBACxC,OAAO,CAAC,YAAY,GAAG;oBACtB,KAAK;oBACL,aAAa,EAAE,OAAO,CAAC,YAAY;oBACnC,cAAc,EAAE,KAAK;oBACrB,gBAAgB;iBAChB,CAAC;gBACF,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC7B,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE3C,IAAI,CAAC;oBACJ,MAAM,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,IACC,OAAO,CAAC,YAAY,EAAE,KAAK,KAAK,KAAK;wBACrC,OAAO,CAAC,QAAQ,KAAK,gBAAgB,GAAG,CAAC;wBACzC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EACrC,CAAC;wBACF,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;wBAC1D,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;oBACxE,CAAC;oBAED,MAAM,KAAK,CAAC;gBACb,CAAC;wBAAS,CAAC;oBACV,IAAI,OAAO,CAAC,YAAY,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;wBAC3C,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;oBAClC,CAAC;gBACF,CAAC;YACF,CAAC,EACD,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAC1B,CAAC;QACH,CAAC;QAED,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACD;AAzHD,8CAyHC"}
@@ -0,0 +1,15 @@
1
+ import { Accessory } from '@homebridge/hap-nodejs';
2
+ import { ChannelEntity, ChannelPropertyEntity, DeviceEntity } from '../../../modules/devices/entities/devices.entity';
3
+ import { BaseHomeKitMapper } from './base.mapper';
4
+ import { HomeKitMapperContext } from './homekit-mapper.interface';
5
+ export declare class ButtonMapper extends BaseHomeKitMapper {
6
+ private static readonly logger;
7
+ canMap(device: DeviceEntity): boolean;
8
+ getSuggestedServiceType(_device: DeviceEntity): string;
9
+ buildAccessory(device: DeviceEntity, context: HomeKitMapperContext): Accessory | null;
10
+ static isButtonChannel(channel: ChannelEntity): boolean;
11
+ static getButtonChannels(device: DeviceEntity): ChannelEntity[];
12
+ static mapEventToHap(event?: string): number | null;
13
+ static resolveValidValues(property?: ChannelPropertyEntity): number[];
14
+ static attachButtonServices(accessory: Accessory, device: DeviceEntity, context: HomeKitMapperContext): void;
15
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ButtonMapper = void 0;
4
+ const hap_nodejs_1 = require("@homebridge/hap-nodejs");
5
+ const extension_logger_service_1 = require("../../../common/logger/extension-logger.service");
6
+ const devices_constants_1 = require("../../../modules/devices/devices.constants");
7
+ const devices_homekit_constants_1 = require("../devices-homekit.constants");
8
+ const base_mapper_1 = require("./base.mapper");
9
+ class ButtonMapper extends base_mapper_1.BaseHomeKitMapper {
10
+ canMap(device) {
11
+ return ButtonMapper.getButtonChannels(device).length > 0;
12
+ }
13
+ getSuggestedServiceType(_device) {
14
+ return 'button';
15
+ }
16
+ buildAccessory(device, context) {
17
+ const buttonChannels = ButtonMapper.getButtonChannels(device);
18
+ if (buttonChannels.length === 0) {
19
+ return null;
20
+ }
21
+ const accessory = this.createBaseAccessory(device, 15);
22
+ ButtonMapper.attachButtonServices(accessory, device, context);
23
+ return accessory;
24
+ }
25
+ static isButtonChannel(channel) {
26
+ if (channel.category === devices_constants_1.ChannelCategory.BUTTON) {
27
+ return true;
28
+ }
29
+ if (channel.category === devices_constants_1.ChannelCategory.BINARY_INPUT) {
30
+ return (channel.properties?.some((p) => p.category === devices_constants_1.PropertyCategory.EVENT || p.permissions?.includes(devices_constants_1.PermissionType.EVENT_ONLY)) ?? false);
31
+ }
32
+ return false;
33
+ }
34
+ static getButtonChannels(device) {
35
+ return device.channels?.filter((channel) => ButtonMapper.isButtonChannel(channel)) ?? [];
36
+ }
37
+ static mapEventToHap(event) {
38
+ if (!event) {
39
+ return null;
40
+ }
41
+ const normalized = event.toLowerCase().trim();
42
+ switch (normalized) {
43
+ case 'press':
44
+ case 'single':
45
+ case 'single_press':
46
+ case 'click':
47
+ case 'button_1':
48
+ return hap_nodejs_1.Characteristic.ProgrammableSwitchEvent.SINGLE_PRESS;
49
+ case 'double':
50
+ case 'double_press':
51
+ case 'double_click':
52
+ case 'button_2':
53
+ return hap_nodejs_1.Characteristic.ProgrammableSwitchEvent.DOUBLE_PRESS;
54
+ case 'long_press':
55
+ case 'hold':
56
+ case 'long_click':
57
+ case 'button_3':
58
+ return hap_nodejs_1.Characteristic.ProgrammableSwitchEvent.LONG_PRESS;
59
+ default:
60
+ return null;
61
+ }
62
+ }
63
+ static resolveValidValues(property) {
64
+ if (!property || !property.format) {
65
+ return [
66
+ hap_nodejs_1.Characteristic.ProgrammableSwitchEvent.SINGLE_PRESS,
67
+ hap_nodejs_1.Characteristic.ProgrammableSwitchEvent.DOUBLE_PRESS,
68
+ hap_nodejs_1.Characteristic.ProgrammableSwitchEvent.LONG_PRESS,
69
+ ];
70
+ }
71
+ const formats = Array.isArray(property.format)
72
+ ? property.format.map((f) => String(f).toLowerCase())
73
+ : [String(property.format).toLowerCase()];
74
+ const valid = new Set();
75
+ for (const f of formats) {
76
+ const hap = ButtonMapper.mapEventToHap(f);
77
+ if (hap !== null) {
78
+ valid.add(hap);
79
+ }
80
+ }
81
+ return valid.size > 0 ? Array.from(valid).sort((a, b) => a - b) : [];
82
+ }
83
+ static attachButtonServices(accessory, device, context) {
84
+ const buttonChannels = ButtonMapper.getButtonChannels(device);
85
+ if (buttonChannels.length === 0) {
86
+ return;
87
+ }
88
+ if (buttonChannels.length > 1) {
89
+ let labelService = accessory.getService(hap_nodejs_1.Service.ServiceLabel);
90
+ if (!labelService) {
91
+ labelService = accessory.addService(hap_nodejs_1.Service.ServiceLabel, `${device.name} Buttons`);
92
+ labelService
93
+ .getCharacteristic(hap_nodejs_1.Characteristic.ServiceLabelNamespace)
94
+ .setValue(hap_nodejs_1.Characteristic.ServiceLabelNamespace.ARABIC_NUMERALS);
95
+ }
96
+ }
97
+ buttonChannels.forEach((channel, index) => {
98
+ if (accessory.getServiceById(hap_nodejs_1.Service.StatelessProgrammableSwitch, channel.id)) {
99
+ return;
100
+ }
101
+ const serviceIndex = index + 1;
102
+ const serviceName = buttonChannels.length === 1 ? device.name : `${device.name} ${channel.name || `Button ${serviceIndex}`}`;
103
+ const eventProp = channel.properties?.find((p) => p.category === devices_constants_1.PropertyCategory.EVENT) ??
104
+ channel.properties?.find((p) => p.permissions?.includes(devices_constants_1.PermissionType.EVENT_ONLY)) ??
105
+ channel.properties?.[0];
106
+ if (!eventProp) {
107
+ return;
108
+ }
109
+ const validValues = ButtonMapper.resolveValidValues(eventProp);
110
+ if (validValues.length === 0) {
111
+ return;
112
+ }
113
+ const switchService = accessory.addService(hap_nodejs_1.Service.StatelessProgrammableSwitch, serviceName, channel.id);
114
+ if (buttonChannels.length > 1) {
115
+ const indexChar = switchService.getCharacteristic(hap_nodejs_1.Characteristic.ServiceLabelIndex);
116
+ indexChar.setValue(serviceIndex);
117
+ }
118
+ const switchEventChar = switchService.getCharacteristic(hap_nodejs_1.Characteristic.ProgrammableSwitchEvent);
119
+ switchEventChar.onGet(() => null);
120
+ switchEventChar.setProps({ validValues });
121
+ context.registerOccurrenceListener?.({
122
+ deviceId: device.id,
123
+ channelId: channel.id,
124
+ propertyId: eventProp.id,
125
+ onOccurrence: (occurrence) => {
126
+ const hapEvent = ButtonMapper.mapEventToHap(occurrence.event);
127
+ if (hapEvent === null) {
128
+ ButtonMapper.logger.debug(`Dropping unsupported input occurrence event="${occurrence.event}" for device="${device.id}" channel="${channel.id}"`);
129
+ return;
130
+ }
131
+ if (!validValues.includes(hapEvent)) {
132
+ ButtonMapper.logger.warn(`Dropping occurrence event="${occurrence.event}" (HAP ${hapEvent}) outside validValues=[${validValues.join(',')}] for channel="${channel.id}"`);
133
+ return;
134
+ }
135
+ switchEventChar.sendEventNotification(hapEvent);
136
+ },
137
+ });
138
+ });
139
+ }
140
+ }
141
+ exports.ButtonMapper = ButtonMapper;
142
+ ButtonMapper.logger = (0, extension_logger_service_1.createExtensionLogger)(devices_homekit_constants_1.DEVICES_HOMEKIT_PLUGIN_NAME, 'ButtonMapper');
143
+ //# sourceMappingURL=button.mapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.mapper.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/mappers/button.mapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Characteristic, CharacteristicValue } from '@homebridge/hap-nodejs';
2
+ export declare function bindCharacteristicWrite(characteristic: Characteristic, write: (value: CharacteristicValue) => Promise<void>, currentValue: () => CharacteristicValue): void;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bindCharacteristicWrite = bindCharacteristicWrite;
4
+ function bindCharacteristicWrite(characteristic, write, currentValue) {
5
+ if (!characteristic.props.perms.includes("wr")) {
6
+ characteristic.setProps({ perms: [...characteristic.props.perms, "wr"] });
7
+ }
8
+ characteristic.onSet(async (value) => {
9
+ await write(value);
10
+ const current = currentValue();
11
+ if (!Object.is(characteristic.value, current)) {
12
+ characteristic.updateValue(current);
13
+ }
14
+ return current;
15
+ });
16
+ }
17
+ //# sourceMappingURL=characteristic-write.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"characteristic-write.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/mappers/characteristic-write.ts"],"names":[],"mappings":";;AAOA,0DAgBC;AAhBD,SAAgB,uBAAuB,CACtC,cAA8B,EAC9B,KAAoD,EACpD,YAAuC;IAEvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,MAAsB,EAAE,CAAC;QAChE,cAAc,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,KAAK,OAAuB,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACpC,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,OAAO,GAAG,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC/C,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,OAAO,CAAC;IAChB,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { Characteristic, CharacteristicValue } from '@homebridge/hap-nodejs';
2
2
  import { ChannelPropertyEntity, DeviceEntity } from '../../../modules/devices/entities/devices.entity';
3
+ import { ChannelInputOccurrencePayload } from '../../../modules/devices/models/channel-input-occurrence.model';
3
4
  import { HomeKitCommandDispatcher } from '../services/homekit-command.dispatcher';
4
5
  export interface CharacteristicPendingWrite {
5
6
  token: number;
@@ -22,12 +23,19 @@ export interface CharacteristicBinding {
22
23
  export interface PropertyEventListener {
23
24
  deviceId: string;
24
25
  propertyId: string;
25
- onPropertyChanged: (property: ChannelPropertyEntity, rawValue: unknown) => void;
26
+ onPropertyChanged: (property: ChannelPropertyEntity, rawValue: unknown, acceptedValue?: boolean) => void;
27
+ }
28
+ export interface InputOccurrenceListener {
29
+ deviceId: string;
30
+ channelId: string;
31
+ propertyId: string;
32
+ onOccurrence: (occurrence: ChannelInputOccurrencePayload) => void;
26
33
  }
27
34
  export interface HomeKitMapperContext {
28
35
  readonly commandDispatcher: HomeKitCommandDispatcher;
29
36
  registerBinding(binding: CharacteristicBinding): void;
30
37
  registerPropertyListener(listener: PropertyEventListener): void;
38
+ registerOccurrenceListener?(listener: InputOccurrenceListener): void;
31
39
  }
32
40
  export interface IHomeKitAccessoryMapper {
33
41
  canMap(device: DeviceEntity): boolean;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ThermostatCoordinator = void 0;
4
4
  const hap_nodejs_1 = require("@homebridge/hap-nodejs");
5
5
  const devices_constants_1 = require("../../../modules/devices/devices.constants");
6
+ const characteristic_write_1 = require("./characteristic-write");
6
7
  class ThermostatCoordinator {
7
8
  constructor(config) {
8
9
  this.config = config;
@@ -70,7 +71,7 @@ class ThermostatCoordinator {
70
71
  const hasWritableTemp = this.isPropertyWritable(this.config.heaterTempProperty) ||
71
72
  this.isPropertyWritable(this.config.coolerTempProperty);
72
73
  if (hasWritableTemp && this.targetTempChar.props.perms.includes("pw")) {
73
- this.targetTempChar.onSet(async (value) => {
74
+ (0, characteristic_write_1.bindCharacteristicWrite)(this.targetTempChar, async (value) => {
74
75
  const targetVal = Number(value);
75
76
  const targetMode = this.deriveTargetHeatingCoolingState();
76
77
  const commands = [];
@@ -110,14 +111,14 @@ class ThermostatCoordinator {
110
111
  if (commands.length > 0) {
111
112
  await this.dispatchPendingBatch(commands);
112
113
  }
113
- });
114
+ }, () => this.targetTempChar.value);
114
115
  }
115
116
  this.currentHeatingCoolingChar.onGet(() => this.deriveCurrentHeatingCoolingState());
116
117
  this.targetHeatingCoolingChar.onGet(() => this.deriveTargetHeatingCoolingState());
117
118
  const hasWritableState = (this.config.heaterOnProperty && this.isPropertyWritable(this.config.heaterOnProperty)) ||
118
119
  (this.config.coolerOnProperty && this.isPropertyWritable(this.config.coolerOnProperty));
119
120
  if (hasWritableState && this.targetHeatingCoolingChar.props.perms.includes("pw")) {
120
- this.targetHeatingCoolingChar.onSet(async (value) => {
121
+ (0, characteristic_write_1.bindCharacteristicWrite)(this.targetHeatingCoolingChar, async (value) => {
121
122
  const targetMode = Number(value);
122
123
  const commands = [];
123
124
  if (targetMode === hap_nodejs_1.Characteristic.TargetHeatingCoolingState.OFF) {
@@ -155,7 +156,7 @@ class ThermostatCoordinator {
155
156
  if (commands.length > 0) {
156
157
  await this.dispatchPendingBatch(commands);
157
158
  }
158
- });
159
+ }, () => this.targetHeatingCoolingChar.value);
159
160
  }
160
161
  if (this.heatingThresholdChar && this.config.heaterTempProperty) {
161
162
  const heaterTempProp = this.config.heaterTempProperty;
@@ -169,10 +170,10 @@ class ThermostatCoordinator {
169
170
  });
170
171
  if (this.isPropertyWritable(heaterTempProp) &&
171
172
  this.heatingThresholdChar.props.perms.includes("pw")) {
172
- this.heatingThresholdChar.onSet(async (value) => {
173
+ (0, characteristic_write_1.bindCharacteristicWrite)(this.heatingThresholdChar, async (value) => {
173
174
  const target = Number(value);
174
175
  await this.dispatchPending(heaterTempProp.id, target);
175
- });
176
+ }, () => this.heatingThresholdChar.value);
176
177
  }
177
178
  }
178
179
  if (this.coolingThresholdChar && this.config.coolerTempProperty) {
@@ -187,10 +188,10 @@ class ThermostatCoordinator {
187
188
  });
188
189
  if (this.isPropertyWritable(coolerTempProp) &&
189
190
  this.coolingThresholdChar.props.perms.includes("pw")) {
190
- this.coolingThresholdChar.onSet(async (value) => {
191
+ (0, characteristic_write_1.bindCharacteristicWrite)(this.coolingThresholdChar, async (value) => {
191
192
  const target = Number(value);
192
193
  await this.dispatchPending(coolerTempProp.id, target);
193
- });
194
+ }, () => this.coolingThresholdChar.value);
194
195
  }
195
196
  }
196
197
  if (this.config.lockedProperty) {
@@ -198,10 +199,10 @@ class ThermostatCoordinator {
198
199
  this.lockPhysicalControlsChar = this.config.service.getCharacteristic(hap_nodejs_1.Characteristic.LockPhysicalControls);
199
200
  this.lockPhysicalControlsChar.onGet(() => this.getLockPhysicalControls());
200
201
  if (this.isPropertyWritable(lockProp) && this.lockPhysicalControlsChar.props.perms.includes("pw")) {
201
- this.lockPhysicalControlsChar.onSet(async (value) => {
202
+ (0, characteristic_write_1.bindCharacteristicWrite)(this.lockPhysicalControlsChar, async (value) => {
202
203
  const isLocked = value === hap_nodejs_1.Characteristic.LockPhysicalControls.CONTROL_LOCK_ENABLED;
203
204
  await this.dispatchPending(lockProp.id, isLocked);
204
- });
205
+ }, () => this.lockPhysicalControlsChar.value);
205
206
  }
206
207
  }
207
208
  }
@@ -220,9 +221,9 @@ class ThermostatCoordinator {
220
221
  const listener = {
221
222
  deviceId: this.config.device.id,
222
223
  propertyId: prop.id,
223
- onPropertyChanged: (_property, rawValue) => {
224
+ onPropertyChanged: (_property, rawValue, acceptedValue) => {
224
225
  const pending = this.pendingWrites.get(prop.id);
225
- if (pending && Object.is(rawValue, pending.previousValue)) {
226
+ if (!acceptedValue && pending && Object.is(rawValue, pending.previousValue)) {
226
227
  return;
227
228
  }
228
229
  this.revisions.set(prop.id, (this.revisions.get(prop.id) ?? 0) + 1);