iobroker.iot 3.6.0 → 4.0.2

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 (254) hide show
  1. package/README.md +8 -4
  2. package/admin/assets/index-5zouxn2w.js +680 -0
  3. package/admin/index_m.html +1 -1
  4. package/admin/rules/assets/{index-BRdNnGcA.js → index-DwYdaT5M.js} +80 -81
  5. package/admin/rules/customRuleBlocks.js +2 -2
  6. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/AlexaResponse.js +101 -95
  7. package/build-backend/lib/AlexaSmartHomeV3/Alexa/AlexaResponse.js.map +1 -0
  8. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Capabilities/Base.js +22 -36
  9. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/Base.js.map +1 -0
  10. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/BrightnessController.js +19 -0
  11. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/BrightnessController.js.map +1 -0
  12. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ColorController.js +14 -0
  13. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ColorController.js.map +1 -0
  14. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ColorTemperatureController.js +19 -0
  15. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ColorTemperatureController.js.map +1 -0
  16. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ContactSensor.js +16 -0
  17. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ContactSensor.js.map +1 -0
  18. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/LockController.js +14 -0
  19. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/LockController.js.map +1 -0
  20. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Capabilities/ModeController.js +27 -28
  21. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ModeController.js.map +1 -0
  22. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/MotionSensor.js +14 -0
  23. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/MotionSensor.js.map +1 -0
  24. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/PercentageController.js +14 -0
  25. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/PercentageController.js.map +1 -0
  26. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/PowerController.js +19 -0
  27. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/PowerController.js.map +1 -0
  28. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/Speaker.js +25 -0
  29. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/Speaker.js.map +1 -0
  30. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/TemperatureSensor.js +14 -0
  31. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/TemperatureSensor.js.map +1 -0
  32. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ThermostatController.js +37 -0
  33. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/ThermostatController.js.map +1 -0
  34. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/index.js +32 -0
  35. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Capabilities/index.js.map +1 -0
  36. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/Base.js +29 -0
  37. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/Base.js.map +1 -0
  38. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Directives/ChangeReport.js +34 -27
  39. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/ChangeReport.js.map +1 -0
  40. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/Discovery.js +39 -0
  41. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/Discovery.js.map +1 -0
  42. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Directives/ReportState.js +19 -22
  43. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/ReportState.js.map +1 -0
  44. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/index.js +14 -0
  45. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Directives/index.js.map +1 -0
  46. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/Base.js +36 -0
  47. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/Base.js.map +1 -0
  48. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/Closed.js +57 -0
  49. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/Closed.js.map +1 -0
  50. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/Open.js +57 -0
  51. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/Open.js.map +1 -0
  52. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/index.js +12 -0
  53. package/build-backend/lib/AlexaSmartHomeV3/Alexa/ModeValues/index.js.map +1 -0
  54. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/AdjustableProperty.js +16 -0
  55. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/AdjustableProperty.js.map +1 -0
  56. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Base.js +127 -0
  57. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Base.js.map +1 -0
  58. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Brightness.js +18 -0
  59. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Brightness.js.map +1 -0
  60. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Color.js +38 -0
  61. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Color.js.map +1 -0
  62. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Properties/ColorTemperatureInKelvin.js +20 -29
  63. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/ColorTemperatureInKelvin.js.map +1 -0
  64. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/DetectionState.js +23 -0
  65. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/DetectionState.js.map +1 -0
  66. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Properties/LockState.js +9 -12
  67. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/LockState.js.map +1 -0
  68. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Mode.js +34 -0
  69. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Mode.js.map +1 -0
  70. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Muted.js +19 -0
  71. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Muted.js.map +1 -0
  72. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Percentage.js +18 -0
  73. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Percentage.js.map +1 -0
  74. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Alexa/Properties/PowerState.js +9 -9
  75. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/PowerState.js.map +1 -0
  76. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/TargetSetpoint.js +31 -0
  77. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/TargetSetpoint.js.map +1 -0
  78. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Temperature.js +22 -0
  79. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Temperature.js.map +1 -0
  80. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/ThermostatMode.js +49 -0
  81. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/ThermostatMode.js.map +1 -0
  82. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Volume.js +21 -0
  83. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/Volume.js.map +1 -0
  84. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/index.js +38 -0
  85. package/build-backend/lib/AlexaSmartHomeV3/Alexa/Properties/index.js.map +1 -0
  86. package/build-backend/lib/AlexaSmartHomeV3/Controls/AdjustableControl.js +20 -0
  87. package/build-backend/lib/AlexaSmartHomeV3/Controls/AdjustableControl.js.map +1 -0
  88. package/build-backend/lib/AlexaSmartHomeV3/Controls/AdjustablePercentageControl.js +26 -0
  89. package/build-backend/lib/AlexaSmartHomeV3/Controls/AdjustablePercentageControl.js.map +1 -0
  90. package/build-backend/lib/AlexaSmartHomeV3/Controls/AirCondition.js +148 -0
  91. package/build-backend/lib/AlexaSmartHomeV3/Controls/AirCondition.js.map +1 -0
  92. package/build-backend/lib/AlexaSmartHomeV3/Controls/Blind.js +13 -0
  93. package/build-backend/lib/AlexaSmartHomeV3/Controls/Blind.js.map +1 -0
  94. package/build-backend/lib/AlexaSmartHomeV3/Controls/ContactSensor.js +17 -0
  95. package/build-backend/lib/AlexaSmartHomeV3/Controls/ContactSensor.js.map +1 -0
  96. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Controls/Control.js +73 -104
  97. package/build-backend/lib/AlexaSmartHomeV3/Controls/Control.js.map +1 -0
  98. package/build-backend/lib/AlexaSmartHomeV3/Controls/Ct.js +182 -0
  99. package/build-backend/lib/AlexaSmartHomeV3/Controls/Ct.js.map +1 -0
  100. package/build-backend/lib/AlexaSmartHomeV3/Controls/Dimmer.js +127 -0
  101. package/build-backend/lib/AlexaSmartHomeV3/Controls/Dimmer.js.map +1 -0
  102. package/build-backend/lib/AlexaSmartHomeV3/Controls/Door.js +10 -0
  103. package/build-backend/lib/AlexaSmartHomeV3/Controls/Door.js.map +1 -0
  104. package/build-backend/lib/AlexaSmartHomeV3/Controls/Gate.js +38 -0
  105. package/build-backend/lib/AlexaSmartHomeV3/Controls/Gate.js.map +1 -0
  106. package/build-backend/lib/AlexaSmartHomeV3/Controls/Hue.js +208 -0
  107. package/build-backend/lib/AlexaSmartHomeV3/Controls/Hue.js.map +1 -0
  108. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Controls/Light.js +15 -22
  109. package/build-backend/lib/AlexaSmartHomeV3/Controls/Light.js.map +1 -0
  110. package/build-backend/lib/AlexaSmartHomeV3/Controls/Lock.js +35 -0
  111. package/build-backend/lib/AlexaSmartHomeV3/Controls/Lock.js.map +1 -0
  112. package/build-backend/lib/AlexaSmartHomeV3/Controls/Motion.js +17 -0
  113. package/build-backend/lib/AlexaSmartHomeV3/Controls/Motion.js.map +1 -0
  114. package/build-backend/lib/AlexaSmartHomeV3/Controls/ReadOnlyDetector.js +26 -0
  115. package/build-backend/lib/AlexaSmartHomeV3/Controls/ReadOnlyDetector.js.map +1 -0
  116. package/build-backend/lib/AlexaSmartHomeV3/Controls/Slider.js +10 -0
  117. package/build-backend/lib/AlexaSmartHomeV3/Controls/Slider.js.map +1 -0
  118. package/build-backend/lib/AlexaSmartHomeV3/Controls/Socket.js +21 -0
  119. package/build-backend/lib/AlexaSmartHomeV3/Controls/Socket.js.map +1 -0
  120. package/build-backend/lib/AlexaSmartHomeV3/Controls/Temperature.js +21 -0
  121. package/build-backend/lib/AlexaSmartHomeV3/Controls/Temperature.js.map +1 -0
  122. package/build-backend/lib/AlexaSmartHomeV3/Controls/Thermostat.js +85 -0
  123. package/build-backend/lib/AlexaSmartHomeV3/Controls/Thermostat.js.map +1 -0
  124. package/build-backend/lib/AlexaSmartHomeV3/Controls/VacuumCleaner.js +27 -0
  125. package/build-backend/lib/AlexaSmartHomeV3/Controls/VacuumCleaner.js.map +1 -0
  126. package/build-backend/lib/AlexaSmartHomeV3/Controls/Volume.js +116 -0
  127. package/build-backend/lib/AlexaSmartHomeV3/Controls/Volume.js.map +1 -0
  128. package/build-backend/lib/AlexaSmartHomeV3/Controls/VolumeGroup.js +10 -0
  129. package/build-backend/lib/AlexaSmartHomeV3/Controls/VolumeGroup.js.map +1 -0
  130. package/build-backend/lib/AlexaSmartHomeV3/Controls/Window.js +10 -0
  131. package/build-backend/lib/AlexaSmartHomeV3/Controls/Window.js.map +1 -0
  132. package/build-backend/lib/AlexaSmartHomeV3/Controls/index.js +121 -0
  133. package/build-backend/lib/AlexaSmartHomeV3/Controls/index.js.map +1 -0
  134. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Device.js +29 -30
  135. package/build-backend/lib/AlexaSmartHomeV3/Device.js.map +1 -0
  136. package/build-backend/lib/AlexaSmartHomeV3/DeviceManager.js +392 -0
  137. package/build-backend/lib/AlexaSmartHomeV3/DeviceManager.js.map +1 -0
  138. package/build-backend/lib/AlexaSmartHomeV3/Exceptions/AlexaV3Exception.js +10 -0
  139. package/build-backend/lib/AlexaSmartHomeV3/Exceptions/AlexaV3Exception.js.map +1 -0
  140. package/build-backend/lib/AlexaSmartHomeV3/Exceptions/HourlyDeviceRateLimitExceeded.js +10 -0
  141. package/build-backend/lib/AlexaSmartHomeV3/Exceptions/HourlyDeviceRateLimitExceeded.js.map +1 -0
  142. package/build-backend/lib/AlexaSmartHomeV3/Exceptions/OverallDailyRateLimitExceeded.js +10 -0
  143. package/build-backend/lib/AlexaSmartHomeV3/Exceptions/OverallDailyRateLimitExceeded.js.map +1 -0
  144. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Helpers/AdapterProvider.js +12 -21
  145. package/build-backend/lib/AlexaSmartHomeV3/Helpers/AdapterProvider.js.map +1 -0
  146. package/build-backend/lib/AlexaSmartHomeV3/Helpers/FileHelper.js +53 -0
  147. package/build-backend/lib/AlexaSmartHomeV3/Helpers/FileHelper.js.map +1 -0
  148. package/{lib → build-backend/lib}/AlexaSmartHomeV3/Helpers/IotProxy.js +9 -26
  149. package/build-backend/lib/AlexaSmartHomeV3/Helpers/IotProxy.js.map +1 -0
  150. package/build-backend/lib/AlexaSmartHomeV3/Helpers/Logger.js +93 -0
  151. package/build-backend/lib/AlexaSmartHomeV3/Helpers/Logger.js.map +1 -0
  152. package/build-backend/lib/AlexaSmartHomeV3/Helpers/RateLimiter.js +112 -0
  153. package/build-backend/lib/AlexaSmartHomeV3/Helpers/RateLimiter.js.map +1 -0
  154. package/build-backend/lib/AlexaSmartHomeV3/Helpers/Utils.js +625 -0
  155. package/build-backend/lib/AlexaSmartHomeV3/Helpers/Utils.js.map +1 -0
  156. package/build-backend/lib/Utils.js +96 -0
  157. package/build-backend/lib/Utils.js.map +1 -0
  158. package/build-backend/lib/adminCommonSocket.js +715 -0
  159. package/build-backend/lib/adminCommonSocket.js.map +1 -0
  160. package/build-backend/lib/alexaCustom.js +542 -0
  161. package/build-backend/lib/alexaCustom.js.map +1 -0
  162. package/{lib → build-backend/lib}/alexaSmartHomeV2.js +4 -8
  163. package/{lib → build-backend/lib}/alexaSmartHomeV3.js +25 -45
  164. package/build-backend/lib/alexaSmartHomeV3.js.map +1 -0
  165. package/{lib → build-backend/lib}/alisa.js +41 -44
  166. package/{lib → build-backend/lib}/devices.js +11 -8
  167. package/build-backend/lib/devices.js.map +1 -0
  168. package/{lib → build-backend/lib}/functions.js +11 -8
  169. package/build-backend/lib/functions.js.map +1 -0
  170. package/{lib → build-backend/lib}/googleHome.js +25 -26
  171. package/{lib → build-backend/lib}/notifications.js +15 -22
  172. package/build-backend/lib/notifications.js.map +1 -0
  173. package/{lib → build-backend/lib}/remote.js +615 -636
  174. package/build-backend/lib/remote.js.map +1 -0
  175. package/{lib → build-backend/lib}/rooms.js +11 -8
  176. package/build-backend/lib/rooms.js.map +1 -0
  177. package/{lib → build-backend/lib}/texts.js +6 -4
  178. package/build-backend/lib/texts.js.map +1 -0
  179. package/build-backend/lib/translate.js +21 -0
  180. package/build-backend/lib/translate.js.map +1 -0
  181. package/{lib → build-backend/lib}/visuApp.js +45 -65
  182. package/build-backend/lib/visuApp.js.map +1 -0
  183. package/build-backend/main.js +1361 -0
  184. package/build-backend/main.js.map +1 -0
  185. package/io-package.json +14 -14
  186. package/package.json +18 -15
  187. package/admin/assets/index-DCbOB3g_.js +0 -681
  188. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/BrightnessController.js +0 -15
  189. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/ColorController.js +0 -10
  190. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/ColorTemperatureController.js +0 -15
  191. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/ContactSensor.js +0 -10
  192. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/LockController.js +0 -10
  193. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/MotionSensor.js +0 -10
  194. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/PercentageController.js +0 -10
  195. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/PowerController.js +0 -15
  196. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/Speaker.js +0 -20
  197. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/TemperatureSensor.js +0 -10
  198. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/ThermostatController.js +0 -34
  199. package/lib/AlexaSmartHomeV3/Alexa/Capabilities/index.js +0 -14
  200. package/lib/AlexaSmartHomeV3/Alexa/Directives/Base.js +0 -27
  201. package/lib/AlexaSmartHomeV3/Alexa/Directives/Discovery.js +0 -39
  202. package/lib/AlexaSmartHomeV3/Alexa/Directives/index.js +0 -13
  203. package/lib/AlexaSmartHomeV3/Alexa/ModeValues/Base.js +0 -38
  204. package/lib/AlexaSmartHomeV3/Alexa/ModeValues/Closed.js +0 -55
  205. package/lib/AlexaSmartHomeV3/Alexa/ModeValues/Open.js +0 -56
  206. package/lib/AlexaSmartHomeV3/Alexa/ModeValues/index.js +0 -14
  207. package/lib/AlexaSmartHomeV3/Alexa/Properties/AdjustableProperty.js +0 -11
  208. package/lib/AlexaSmartHomeV3/Alexa/Properties/Base.js +0 -108
  209. package/lib/AlexaSmartHomeV3/Alexa/Properties/Brightness.js +0 -14
  210. package/lib/AlexaSmartHomeV3/Alexa/Properties/Color.js +0 -40
  211. package/lib/AlexaSmartHomeV3/Alexa/Properties/DetectionState.js +0 -22
  212. package/lib/AlexaSmartHomeV3/Alexa/Properties/Mode.js +0 -32
  213. package/lib/AlexaSmartHomeV3/Alexa/Properties/Muted.js +0 -17
  214. package/lib/AlexaSmartHomeV3/Alexa/Properties/Percentage.js +0 -14
  215. package/lib/AlexaSmartHomeV3/Alexa/Properties/TargetSetpoint.js +0 -28
  216. package/lib/AlexaSmartHomeV3/Alexa/Properties/Temperature.js +0 -20
  217. package/lib/AlexaSmartHomeV3/Alexa/Properties/ThermostatMode.js +0 -52
  218. package/lib/AlexaSmartHomeV3/Alexa/Properties/Volume.js +0 -19
  219. package/lib/AlexaSmartHomeV3/Alexa/Properties/index.js +0 -14
  220. package/lib/AlexaSmartHomeV3/Controls/AdjustableControl.js +0 -22
  221. package/lib/AlexaSmartHomeV3/Controls/AdjustablePercentageControl.js +0 -28
  222. package/lib/AlexaSmartHomeV3/Controls/AirCondition.js +0 -144
  223. package/lib/AlexaSmartHomeV3/Controls/Blind.js +0 -12
  224. package/lib/AlexaSmartHomeV3/Controls/ContactSensor.js +0 -17
  225. package/lib/AlexaSmartHomeV3/Controls/Ct.js +0 -172
  226. package/lib/AlexaSmartHomeV3/Controls/Dimmer.js +0 -124
  227. package/lib/AlexaSmartHomeV3/Controls/Door.js +0 -9
  228. package/lib/AlexaSmartHomeV3/Controls/Gate.js +0 -42
  229. package/lib/AlexaSmartHomeV3/Controls/Hue.js +0 -207
  230. package/lib/AlexaSmartHomeV3/Controls/Lock.js +0 -36
  231. package/lib/AlexaSmartHomeV3/Controls/Motion.js +0 -17
  232. package/lib/AlexaSmartHomeV3/Controls/ReadOnlyDetector.js +0 -25
  233. package/lib/AlexaSmartHomeV3/Controls/Slider.js +0 -10
  234. package/lib/AlexaSmartHomeV3/Controls/Socket.js +0 -21
  235. package/lib/AlexaSmartHomeV3/Controls/Temperature.js +0 -22
  236. package/lib/AlexaSmartHomeV3/Controls/Thermostat.js +0 -86
  237. package/lib/AlexaSmartHomeV3/Controls/VacuumCleaner.js +0 -28
  238. package/lib/AlexaSmartHomeV3/Controls/Volume.js +0 -109
  239. package/lib/AlexaSmartHomeV3/Controls/VolumeGroup.js +0 -9
  240. package/lib/AlexaSmartHomeV3/Controls/Window.js +0 -9
  241. package/lib/AlexaSmartHomeV3/Controls/index.js +0 -14
  242. package/lib/AlexaSmartHomeV3/DeviceManager.js +0 -415
  243. package/lib/AlexaSmartHomeV3/Exceptions/AlexaV3Exception.js +0 -8
  244. package/lib/AlexaSmartHomeV3/Exceptions/HourlyDeviceRateLimitExceeded.js +0 -5
  245. package/lib/AlexaSmartHomeV3/Exceptions/OverallDailyRateLimitExceeded.js +0 -5
  246. package/lib/AlexaSmartHomeV3/Helpers/FileHelper.js +0 -70
  247. package/lib/AlexaSmartHomeV3/Helpers/Logger.js +0 -95
  248. package/lib/AlexaSmartHomeV3/Helpers/RateLimiter.js +0 -82
  249. package/lib/AlexaSmartHomeV3/Helpers/Utils.js +0 -583
  250. package/lib/Utils.js +0 -608
  251. package/lib/adminCommonSocket.js +0 -781
  252. package/lib/alexaCustom.js +0 -622
  253. package/lib/translate.js +0 -19
  254. package/main.js +0 -1454
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportState.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Directives/ReportState.ts"],"names":[],"mappings":";;;;;AACA,+CAAgD;AAChD,qEAA6C;AAC7C,kDAA0B;AAG1B;;;;;;;;GAQG;AACH,MAAqB,WAAY,SAAQ,cAAI;IACzC,MAAM,CAAC,OAAO,CAAC,KAAsC;QACjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,KAAK,IAAA,iBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAsC,EAAE,eAA8B;QAC/E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC;QAEzD,IAAI,QAAQ,GAAG,IAAI,uBAAa,CAAC;YAC7B,SAAS,EAAE,OAAO;YAClB,IAAI,EAAE,aAAa;YACnB,gBAAgB,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB;YAC3D,KAAK,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK;YAC9C,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS;YAC7C,UAAU;SACb,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9E,IAAI,QAAQ,EAAE,WAAW,EAAE,CAAC;YACxB,MAAM,UAAU,GAA0B,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;YACvE,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,QAAQ,GAAG,uBAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAEpD,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAC;IAC1B,CAAC;CACJ;AAjCD,8BAiCC","sourcesContent":["import type { AlexaV3SmartHomeRequestEnvelope } from '../../types';\nimport { className } from '../../Helpers/Utils';\nimport AlexaResponse from '../AlexaResponse';\nimport Base from './Base';\nimport type DeviceManager from '../../DeviceManager';\n\n/**\n * When Alexa sends an Alexa.ReportState directive to request the state of an endpoint, the skill sends an Alexa.StateReport response.\n * This response contains the current state of all the properties that are retrievable.\n * The following information in the Alexa.StateReport response:\n * - the state of all the retrievable properties in the context object\n * - endpoint for the report is identified in the endpoint object\n * - the payload is set to an empty object\n * - correlationToken set to the value from the Alexa.ReportState request\n */\nexport default class ReportState extends Base {\n static matches(event: AlexaV3SmartHomeRequestEnvelope): boolean {\n return event?.directive?.header?.name === className(this.toString());\n }\n\n async handle(event: AlexaV3SmartHomeRequestEnvelope, endpointManager: DeviceManager): Promise<AlexaResponse> {\n this.log.debug(`handling ReportState`);\n this.log.silly(`${JSON.stringify(event)}`);\n\n const endpointId = event.directive?.endpoint?.endpointId;\n\n let response = new AlexaResponse({\n namespace: 'Alexa',\n name: 'StateReport',\n correlationToken: event.directive?.header?.correlationToken,\n token: event.directive?.endpoint?.scope?.token,\n messageId: event.directive?.header?.messageId,\n endpointId,\n });\n\n const endpoint = endpointId ? endpointManager.endpointById(endpointId) : null;\n\n if (endpoint?.reportState) {\n const properties: Record<string, any>[] = await endpoint.reportState();\n properties.forEach(property => response.addContextProperty(property));\n } else {\n response = AlexaResponse.nonExistingEndpoint(event.directive.header.messageId, endpointId);\n }\n\n this.log.silly(`${JSON.stringify(response.get())}`);\n\n return response.get();\n }\n}\n"]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ChangeReport_1 = __importDefault(require("./ChangeReport"));
7
+ const Discovery_1 = __importDefault(require("./Discovery"));
8
+ const ReportState_1 = __importDefault(require("./ReportState"));
9
+ exports.default = {
10
+ ChangeReport: ChangeReport_1.default,
11
+ Discovery: Discovery_1.default,
12
+ ReportState: ReportState_1.default,
13
+ };
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Directives/index.ts"],"names":[],"mappings":";;;;;AAAA,kEAA0C;AAC1C,4DAAoC;AACpC,gEAAwC;AAExC,kBAAe;IACX,YAAY,EAAZ,sBAAY;IACZ,SAAS,EAAT,mBAAS;IACT,WAAW,EAAX,qBAAW;CACd,CAAC","sourcesContent":["import ChangeReport from './ChangeReport';\nimport Discovery from './Discovery';\nimport ReportState from './ReportState';\n\nexport default {\n ChangeReport,\n Discovery,\n ReportState,\n};\n"]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Base = void 0;
4
+ const Utils_1 = require("../../Helpers/Utils");
5
+ class Base {
6
+ _mode;
7
+ constructor(mode) {
8
+ this._mode = mode;
9
+ }
10
+ static get value() {
11
+ return (0, Utils_1.className)(this.toString());
12
+ }
13
+ get value() {
14
+ return `${this._mode}.${this.constructor.name}`;
15
+ }
16
+ get friendlyNames() {
17
+ return [];
18
+ }
19
+ get discoveryResponse() {
20
+ return {
21
+ value: this.value,
22
+ modeResources: {
23
+ friendlyNames: this.friendlyNames,
24
+ },
25
+ };
26
+ }
27
+ get actionMappings() {
28
+ return [];
29
+ }
30
+ get stateMappings() {
31
+ return [];
32
+ }
33
+ }
34
+ exports.Base = Base;
35
+ exports.default = Base;
36
+ //# sourceMappingURL=Base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/ModeValues/Base.ts"],"names":[],"mappings":";;;AAAA,+CAAgD;AAQhD,MAAa,IAAI;IACI,KAAK,CAAS;IAE/B,YAAY,IAAY;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,KAAK;QACZ,OAAO,IAAA,iBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,KAAK;QACL,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,IAAI,aAAa;QACb,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,iBAAiB;QACjB,OAAO;YACH,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE;gBACX,aAAa,EAAE,IAAI,CAAC,aAAa;aACpC;SACJ,CAAC;IACN,CAAC;IAED,IAAI,cAAc;QACd,OAAO,EAAE,CAAC;IACd,CAAC;IAED,IAAI,aAAa;QACb,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAnCD,oBAmCC;AAED,kBAAe,IAAI,CAAC","sourcesContent":["import { className } from '../../Helpers/Utils';\nimport type {\n AlexaV3ActionMapping,\n AlexaV3DiscoveryResponse,\n AlexaV3FriendlyName,\n AlexaV3StateMapping,\n} from '../../types';\n\nexport class Base {\n private readonly _mode: string;\n\n constructor(mode: string) {\n this._mode = mode;\n }\n\n static get value(): string {\n return className(this.toString());\n }\n\n get value(): string {\n return `${this._mode}.${this.constructor.name}`;\n }\n\n get friendlyNames(): AlexaV3FriendlyName[] {\n return [];\n }\n\n get discoveryResponse(): AlexaV3DiscoveryResponse {\n return {\n value: this.value,\n modeResources: {\n friendlyNames: this.friendlyNames,\n },\n };\n }\n\n get actionMappings(): AlexaV3ActionMapping[] {\n return [];\n }\n\n get stateMappings(): AlexaV3StateMapping[] {\n return [];\n }\n}\n\nexport default Base;\n"]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Base_1 = __importDefault(require("./Base"));
7
+ class Closed extends Base_1.default {
8
+ get friendlyNames() {
9
+ return [
10
+ {
11
+ '@type': 'asset',
12
+ value: {
13
+ assetId: 'Alexa.Value.Close',
14
+ },
15
+ },
16
+ {
17
+ '@type': 'text',
18
+ value: {
19
+ text: 'Closed',
20
+ locale: 'en-US',
21
+ },
22
+ },
23
+ {
24
+ '@type': 'text',
25
+ value: {
26
+ text: 'Geschlossen',
27
+ locale: 'de-DE',
28
+ },
29
+ },
30
+ ];
31
+ }
32
+ get actionMappings() {
33
+ return [
34
+ {
35
+ '@type': 'ActionsToDirective',
36
+ actions: ['Alexa.Actions.Close'],
37
+ directive: {
38
+ name: 'SetMode',
39
+ payload: {
40
+ mode: this.value,
41
+ },
42
+ },
43
+ },
44
+ ];
45
+ }
46
+ get stateMappings() {
47
+ return [
48
+ {
49
+ '@type': 'StatesToValue',
50
+ states: ['Alexa.States.Closed'],
51
+ value: this.value,
52
+ },
53
+ ];
54
+ }
55
+ }
56
+ exports.default = Closed;
57
+ //# sourceMappingURL=Closed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Closed.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/ModeValues/Closed.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAG1B,MAAqB,MAAO,SAAQ,cAAI;IACpC,IAAI,aAAa;QACb,OAAO;YACH;gBACI,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE;oBACH,OAAO,EAAE,mBAAmB;iBAC/B;aACJ;YACD;gBACI,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;iBAClB;aACJ;YACD;gBACI,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE;oBACH,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,OAAO;iBAClB;aACJ;SACJ,CAAC;IACN,CAAC;IAED,IAAI,cAAc;QACd,OAAO;YACH;gBACI,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,CAAC,qBAAqB,CAAC;gBAChC,SAAS,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACL,IAAI,EAAE,IAAI,CAAC,KAAK;qBACnB;iBACJ;aACJ;SACJ,CAAC;IACN,CAAC;IAED,IAAI,aAAa;QACb,OAAO;YACH;gBACI,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,CAAC,qBAAqB,CAAC;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB;SACJ,CAAC;IACN,CAAC;CACJ;AAlDD,yBAkDC","sourcesContent":["import Base from './Base';\nimport type { AlexaV3ActionMapping, AlexaV3FriendlyName, AlexaV3StateMapping } from '../../types';\n\nexport default class Closed extends Base {\n get friendlyNames(): AlexaV3FriendlyName[] {\n return [\n {\n '@type': 'asset',\n value: {\n assetId: 'Alexa.Value.Close',\n },\n },\n {\n '@type': 'text',\n value: {\n text: 'Closed',\n locale: 'en-US',\n },\n },\n {\n '@type': 'text',\n value: {\n text: 'Geschlossen',\n locale: 'de-DE',\n },\n },\n ];\n }\n\n get actionMappings(): AlexaV3ActionMapping[] {\n return [\n {\n '@type': 'ActionsToDirective',\n actions: ['Alexa.Actions.Close'],\n directive: {\n name: 'SetMode',\n payload: {\n mode: this.value,\n },\n },\n },\n ];\n }\n\n get stateMappings(): AlexaV3StateMapping[] {\n return [\n {\n '@type': 'StatesToValue',\n states: ['Alexa.States.Closed'],\n value: this.value,\n },\n ];\n }\n}\n"]}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Base_1 = __importDefault(require("./Base"));
7
+ class Open extends Base_1.default {
8
+ get friendlyNames() {
9
+ return [
10
+ {
11
+ '@type': 'asset',
12
+ value: {
13
+ assetId: 'Alexa.Value.Open',
14
+ },
15
+ },
16
+ {
17
+ '@type': 'text',
18
+ value: {
19
+ text: 'Opened',
20
+ locale: 'en-US',
21
+ },
22
+ },
23
+ {
24
+ '@type': 'text',
25
+ value: {
26
+ text: 'Geöffnet',
27
+ locale: 'de-DE',
28
+ },
29
+ },
30
+ ];
31
+ }
32
+ get actionMappings() {
33
+ return [
34
+ {
35
+ '@type': 'ActionsToDirective',
36
+ actions: ['Alexa.Actions.Open'],
37
+ directive: {
38
+ name: 'SetMode',
39
+ payload: {
40
+ mode: this.value,
41
+ },
42
+ },
43
+ },
44
+ ];
45
+ }
46
+ get stateMappings() {
47
+ return [
48
+ {
49
+ '@type': 'StatesToValue',
50
+ states: ['Alexa.States.Open'],
51
+ value: this.value,
52
+ },
53
+ ];
54
+ }
55
+ }
56
+ exports.default = Open;
57
+ //# sourceMappingURL=Open.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Open.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/ModeValues/Open.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAG1B,MAAqB,IAAK,SAAQ,cAAI;IAClC,IAAI,aAAa;QACb,OAAO;YACH;gBACI,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE;oBACH,OAAO,EAAE,kBAAkB;iBAC9B;aACJ;YACD;gBACI,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE;oBACH,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,OAAO;iBAClB;aACJ;YACD;gBACI,OAAO,EAAE,MAAM;gBACf,KAAK,EAAE;oBACH,IAAI,EAAE,UAAU;oBAChB,MAAM,EAAE,OAAO;iBAClB;aACJ;SACJ,CAAC;IACN,CAAC;IAED,IAAI,cAAc;QACd,OAAO;YACH;gBACI,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,CAAC,oBAAoB,CAAC;gBAC/B,SAAS,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE;wBACL,IAAI,EAAE,IAAI,CAAC,KAAK;qBACnB;iBACJ;aACJ;SACJ,CAAC;IACN,CAAC;IAED,IAAI,aAAa;QACb,OAAO;YACH;gBACI,OAAO,EAAE,eAAe;gBACxB,MAAM,EAAE,CAAC,mBAAmB,CAAC;gBAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB;SACJ,CAAC;IACN,CAAC;CACJ;AAlDD,uBAkDC","sourcesContent":["import Base from './Base';\nimport type { AlexaV3ActionMapping, AlexaV3FriendlyName, AlexaV3StateMapping } from '../../types';\n\nexport default class Open extends Base {\n get friendlyNames(): AlexaV3FriendlyName[] {\n return [\n {\n '@type': 'asset',\n value: {\n assetId: 'Alexa.Value.Open',\n },\n },\n {\n '@type': 'text',\n value: {\n text: 'Opened',\n locale: 'en-US',\n },\n },\n {\n '@type': 'text',\n value: {\n text: 'Geöffnet',\n locale: 'de-DE',\n },\n },\n ];\n }\n\n get actionMappings(): AlexaV3ActionMapping[] {\n return [\n {\n '@type': 'ActionsToDirective',\n actions: ['Alexa.Actions.Open'],\n directive: {\n name: 'SetMode',\n payload: {\n mode: this.value,\n },\n },\n },\n ];\n }\n\n get stateMappings(): AlexaV3StateMapping[] {\n return [\n {\n '@type': 'StatesToValue',\n states: ['Alexa.States.Open'],\n value: this.value,\n },\n ];\n }\n}\n"]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Open_1 = __importDefault(require("./Open"));
7
+ const Closed_1 = __importDefault(require("./Closed"));
8
+ exports.default = {
9
+ Closed: Closed_1.default,
10
+ Open: Open_1.default,
11
+ };
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/ModeValues/index.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAC1B,sDAA8B;AAE9B,kBAAe;IACX,MAAM,EAAN,gBAAM;IACN,IAAI,EAAJ,cAAI;CACP,CAAC","sourcesContent":["import Open from './Open';\nimport Closed from './Closed';\n\nexport default {\n Closed,\n Open,\n};\n"]}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Utils_1 = require("../../Helpers/Utils");
7
+ const Base_1 = __importDefault(require("./Base"));
8
+ class AdjustableProperty extends Base_1.default {
9
+ static directive(event) {
10
+ return event.directive.header.name === `Adjust${(0, Utils_1.className)(this.toString())}`
11
+ ? AdjustableProperty.ADJUST
12
+ : AdjustableProperty.SET;
13
+ }
14
+ }
15
+ exports.default = AdjustableProperty;
16
+ //# sourceMappingURL=AdjustableProperty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdjustableProperty.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/AdjustableProperty.ts"],"names":[],"mappings":";;;;;AAAA,+CAAgD;AAChD,kDAA0B;AAG1B,MAAqB,kBAAmB,SAAQ,cAAI;IAChD,MAAM,CAAC,SAAS,CAAC,KAAqB;QAClC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,IAAA,iBAAS,EAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE;YACxE,CAAC,CAAC,kBAAkB,CAAC,MAAM;YAC3B,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC;IACjC,CAAC;CACJ;AAND,qCAMC","sourcesContent":["import { className } from '../../Helpers/Utils';\nimport Base from './Base';\nimport type { AlexaV3DirectiveName, AlexaV3Request } from '../../types';\n\nexport default class AdjustableProperty extends Base {\n static directive(event: AlexaV3Request): AlexaV3DirectiveName {\n return event.directive.header.name === `Adjust${className(this.toString())}`\n ? AdjustableProperty.ADJUST\n : AdjustableProperty.SET;\n }\n}\n"]}
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Base = void 0;
4
+ const Utils_1 = require("../../Helpers/Utils");
5
+ class Base {
6
+ _properties = [];
7
+ _setState = null;
8
+ _setId = '';
9
+ _getId = '';
10
+ _valuesRange = { min: 0, max: 100 };
11
+ _currentValue;
12
+ _alexaSetter;
13
+ _alexaGetter;
14
+ _instance;
15
+ _supportedModesAsEnum = {};
16
+ /**
17
+ * @param opts The object to initialize the corresponding ioBroker state.
18
+ * @param opts.setState The iobroker state to write values to.
19
+ * @param opts.getState The iobroker state to read values from.
20
+ * @param opts.alexaSetter The function to apply to an Alexa value to transform it to the iobroker's one
21
+ * @param opts.alexaGetter The function to apply to an iobroker value to transform it to the Alexa's one
22
+ */
23
+ init(opts) {
24
+ if (!opts.setState) {
25
+ throw new Error(`missing setState in ${this.constructor.name}`);
26
+ }
27
+ this._setState = opts.setState;
28
+ this._setId = opts.setState.id;
29
+ this._getId = opts.getState?.id || this._setId;
30
+ this._valuesRange = (0, Utils_1.configuredRangeOrDefault)(this._setState);
31
+ this._instance = opts.instance;
32
+ if (opts.alexaSetter) {
33
+ this._alexaSetter = opts.alexaSetter;
34
+ }
35
+ if (opts.alexaGetter) {
36
+ this._alexaGetter = opts.alexaGetter;
37
+ }
38
+ }
39
+ get instance() {
40
+ return this._instance;
41
+ }
42
+ get propertyName() {
43
+ return (0, Utils_1.firstLower)(`${this.constructor.name}`);
44
+ }
45
+ static get propertyName() {
46
+ return (0, Utils_1.firstLower)((0, Utils_1.className)(this.toString()));
47
+ }
48
+ get valuesRangeMin() {
49
+ return this._valuesRange.min;
50
+ }
51
+ get valuesRangeMax() {
52
+ return this._valuesRange.max;
53
+ }
54
+ get setId() {
55
+ return this._setId;
56
+ }
57
+ get getId() {
58
+ return this._getId;
59
+ }
60
+ /**
61
+ * returns last known iobroker value
62
+ */
63
+ get currentValue() {
64
+ return this._currentValue;
65
+ }
66
+ set currentValue(value) {
67
+ this._currentValue = value;
68
+ }
69
+ value(alexaValue) {
70
+ return this._alexaSetter && typeof alexaValue === 'number'
71
+ ? this._alexaSetter(alexaValue)
72
+ : alexaValue;
73
+ }
74
+ alexaValue(value) {
75
+ return this._alexaGetter && typeof value === 'number'
76
+ ? this._alexaGetter(value)
77
+ : value;
78
+ }
79
+ static directive(_event) {
80
+ return Base.SET;
81
+ }
82
+ /**
83
+ * Checks whether a directive refers to the property
84
+ *
85
+ * @param event Contains the Alexa event.
86
+ */
87
+ static matches(event) {
88
+ return event?.directive?.header?.namespace === `Alexa.${(0, Utils_1.className)(this.toString())}Controller`;
89
+ }
90
+ matches(event) {
91
+ return event?.directive?.header?.name === this.propertyName;
92
+ }
93
+ /**
94
+ * Extracts value to be set on the smart device sent in an Alexa directive
95
+ */
96
+ alexaDirectiveValue(event) {
97
+ if (this.propertyName === 'color') {
98
+ return event.directive.payload.color;
99
+ }
100
+ if (this.propertyName === 'colorTemperatureInKelvin') {
101
+ return event.directive.payload.colorTemperatureInKelvin;
102
+ }
103
+ if (this.propertyName === 'brightness') {
104
+ return event.directive.payload.brightness;
105
+ }
106
+ // @ts-expect-error fix later
107
+ return event.directive.payload[this.propertyName];
108
+ }
109
+ reportValue(value) {
110
+ return value;
111
+ }
112
+ static get ADJUST() {
113
+ return 'ADJUST';
114
+ }
115
+ static get SET() {
116
+ return 'SET';
117
+ }
118
+ static get CELSIUS_SCALE() {
119
+ return 'CELSIUS';
120
+ }
121
+ get supportedModesAsEnum() {
122
+ return this._supportedModesAsEnum;
123
+ }
124
+ }
125
+ exports.Base = Base;
126
+ exports.default = Base;
127
+ //# sourceMappingURL=Base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/Base.ts"],"names":[],"mappings":"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","sourcesContent":["import { configuredRangeOrDefault, firstLower, className } from '../../Helpers/Utils';\nimport type {\n AlexaV3DirectiveName,\n AlexaV3DirectiveValue,\n AlexaV3Request,\n IotExternalDetectorState,\n} from '../../types';\n\nexport type ControlStateInitObject = {\n setState?: IotExternalDetectorState;\n getState?: IotExternalDetectorState;\n alexaSetter?: (alexaValue: AlexaV3DirectiveValue) => ioBroker.StateValue | undefined;\n alexaGetter?: (value: ioBroker.StateValue | undefined) => AlexaV3DirectiveValue;\n\n // Extra for Color control\n hal?: {\n hue: string;\n saturation?: string;\n brightness?: string;\n };\n\n // Extra for Mode control\n supportedModes?: any[];\n instance?: string;\n};\n\nexport class Base {\n private _properties: string[] = [];\n private _setState: IotExternalDetectorState | null = null;\n protected _setId: string = '';\n protected _getId: string = '';\n private _valuesRange: { min: number | boolean; max: number | boolean } = { min: 0, max: 100 };\n private _currentValue: ioBroker.StateValue | undefined;\n protected _alexaSetter?: (value: AlexaV3DirectiveValue) => ioBroker.StateValue | undefined;\n protected _alexaGetter?: (value: ioBroker.StateValue | undefined) => AlexaV3DirectiveValue;\n private _instance?: string;\n protected _supportedModesAsEnum: Record<string, number | string> = {};\n\n /**\n * @param opts The object to initialize the corresponding ioBroker state.\n * @param opts.setState The iobroker state to write values to.\n * @param opts.getState The iobroker state to read values from.\n * @param opts.alexaSetter The function to apply to an Alexa value to transform it to the iobroker's one\n * @param opts.alexaGetter The function to apply to an iobroker value to transform it to the Alexa's one\n */\n init(opts: ControlStateInitObject): void {\n if (!opts.setState) {\n throw new Error(`missing setState in ${this.constructor.name}`);\n }\n this._setState = opts.setState;\n this._setId = opts.setState.id;\n this._getId = opts.getState?.id || this._setId;\n this._valuesRange = configuredRangeOrDefault(this._setState);\n this._instance = opts.instance;\n\n if (opts.alexaSetter) {\n this._alexaSetter = opts.alexaSetter;\n }\n if (opts.alexaGetter) {\n this._alexaGetter = opts.alexaGetter;\n }\n }\n\n get instance(): string | undefined {\n return this._instance;\n }\n\n get propertyName(): string {\n return firstLower(`${this.constructor.name}`);\n }\n\n static get propertyName(): string {\n return firstLower(className(this.toString()));\n }\n\n get valuesRangeMin(): number | boolean {\n return this._valuesRange.min;\n }\n\n get valuesRangeMax(): number | boolean {\n return this._valuesRange.max;\n }\n\n get setId(): string {\n return this._setId;\n }\n\n get getId(): string {\n return this._getId;\n }\n /**\n * returns last known iobroker value\n */\n get currentValue(): ioBroker.StateValue | undefined {\n return this._currentValue;\n }\n\n set currentValue(value: ioBroker.StateValue | undefined) {\n this._currentValue = value;\n }\n\n value(alexaValue: AlexaV3DirectiveValue): ioBroker.StateValue | undefined {\n return this._alexaSetter && typeof alexaValue === 'number'\n ? this._alexaSetter(alexaValue)\n : (alexaValue as ioBroker.StateValue | undefined);\n }\n\n alexaValue(value: ioBroker.StateValue | undefined): AlexaV3DirectiveValue {\n return this._alexaGetter && typeof value === 'number'\n ? this._alexaGetter(value)\n : (value as AlexaV3DirectiveValue);\n }\n\n static directive(_event: AlexaV3Request): AlexaV3DirectiveName {\n return Base.SET;\n }\n\n /**\n * Checks whether a directive refers to the property\n *\n * @param event Contains the Alexa event.\n */\n static matches(event: AlexaV3Request): boolean {\n return event?.directive?.header?.namespace === `Alexa.${className(this.toString())}Controller`;\n }\n\n matches(event: AlexaV3Request): boolean {\n return event?.directive?.header?.name === this.propertyName;\n }\n\n /**\n * Extracts value to be set on the smart device sent in an Alexa directive\n */\n alexaDirectiveValue(event: AlexaV3Request): AlexaV3DirectiveValue {\n if (this.propertyName === 'color') {\n return event.directive.payload.color;\n }\n if (this.propertyName === 'colorTemperatureInKelvin') {\n return event.directive.payload.colorTemperatureInKelvin;\n }\n if (this.propertyName === 'brightness') {\n return event.directive.payload.brightness;\n }\n // @ts-expect-error fix later\n return event.directive.payload[this.propertyName];\n }\n\n reportValue(value: AlexaV3DirectiveValue): any {\n return value;\n }\n\n static get ADJUST(): AlexaV3DirectiveName {\n return 'ADJUST';\n }\n\n static get SET(): AlexaV3DirectiveName {\n return 'SET';\n }\n\n static get CELSIUS_SCALE(): AlexaV3DirectiveName {\n return 'CELSIUS';\n }\n\n get supportedModesAsEnum(): Record<string, number | string> {\n return this._supportedModesAsEnum;\n }\n}\n\nexport default Base;\n"]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const AdjustableProperty_1 = __importDefault(require("./AdjustableProperty"));
7
+ class Brightness extends AdjustableProperty_1.default {
8
+ matches(event) {
9
+ return Brightness.matches(event);
10
+ }
11
+ alexaDirectiveValue(event) {
12
+ return Brightness.directive(event) === Brightness.SET
13
+ ? super.alexaDirectiveValue(event)
14
+ : event.directive.payload.brightnessDelta;
15
+ }
16
+ }
17
+ exports.default = Brightness;
18
+ //# sourceMappingURL=Brightness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Brightness.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/Brightness.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AAGtD,MAAqB,UAAW,SAAQ,4BAAkB;IACtD,OAAO,CAAC,KAAqB;QACzB,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,mBAAmB,CAAC,KAAqB;QACrC,OAAO,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,GAAG;YACjD,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAClC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;IAClD,CAAC;CACJ;AAVD,6BAUC","sourcesContent":["import AdjustableProperty from './AdjustableProperty';\nimport type { AlexaV3DirectiveValue, AlexaV3Request } from '../../types';\n\nexport default class Brightness extends AdjustableProperty {\n matches(event: AlexaV3Request): boolean {\n return Brightness.matches(event);\n }\n\n alexaDirectiveValue(event: AlexaV3Request): AlexaV3DirectiveValue {\n return Brightness.directive(event) === Brightness.SET\n ? super.alexaDirectiveValue(event)\n : event.directive.payload.brightnessDelta;\n }\n}\n"]}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Base_1 = __importDefault(require("./Base"));
7
+ class Color extends Base_1.default {
8
+ _hal = {
9
+ hue: '',
10
+ saturation: '',
11
+ brightness: '',
12
+ };
13
+ init(opts) {
14
+ if (!opts.hal) {
15
+ throw new Error('Color control requires hal object with hue, saturation, and brightness properties');
16
+ }
17
+ this.hal = opts.hal;
18
+ this._setId = opts.hal.hue;
19
+ this._getId = opts.hal.hue;
20
+ if (opts.alexaSetter) {
21
+ this._alexaSetter = opts.alexaSetter;
22
+ }
23
+ if (opts.alexaGetter) {
24
+ this._alexaGetter = opts.alexaGetter;
25
+ }
26
+ }
27
+ matches(event) {
28
+ return Color.matches(event) && event?.directive?.header?.name === 'SetColor';
29
+ }
30
+ set hal(value) {
31
+ this._hal = value;
32
+ }
33
+ get hal() {
34
+ return this._hal;
35
+ }
36
+ }
37
+ exports.default = Color;
38
+ //# sourceMappingURL=Color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/Color.ts"],"names":[],"mappings":";;;;;AAAA,kDAA2D;AAG3D,MAAqB,KAAM,SAAQ,cAAI;IAC3B,IAAI,GAIR;QACA,GAAG,EAAE,EAAE;QACP,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;KACjB,CAAC;IAEF,IAAI,CAAC,IAA4B;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAE3B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,KAAqB;QACzB,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,KAAK,UAAU,CAAC;IACjF,CAAC;IAED,IAAI,GAAG,CAAC,KAAgE;QACpE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QAKH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AA1CD,wBA0CC","sourcesContent":["import Base, { type ControlStateInitObject } from './Base';\nimport type { AlexaV3Request } from '../../types';\n\nexport default class Color extends Base {\n private _hal: {\n hue: string;\n saturation?: string;\n brightness?: string;\n } = {\n hue: '',\n saturation: '',\n brightness: '',\n };\n\n init(opts: ControlStateInitObject): void {\n if (!opts.hal) {\n throw new Error('Color control requires hal object with hue, saturation, and brightness properties');\n }\n this.hal = opts.hal;\n this._setId = opts.hal.hue;\n this._getId = opts.hal.hue;\n\n if (opts.alexaSetter) {\n this._alexaSetter = opts.alexaSetter;\n }\n if (opts.alexaGetter) {\n this._alexaGetter = opts.alexaGetter;\n }\n }\n\n matches(event: AlexaV3Request): boolean {\n return Color.matches(event) && event?.directive?.header?.name === 'SetColor';\n }\n\n set hal(value: { hue: string; saturation?: string; brightness?: string }) {\n this._hal = value;\n }\n\n get hal(): {\n hue: string;\n saturation?: string;\n brightness?: string;\n } {\n return this._hal;\n }\n}\n"]}
@@ -1,62 +1,53 @@
1
- const AdjustableProperty = require('./AdjustableProperty');
2
-
3
- class ColorTemperatureInKelvin extends AdjustableProperty {
4
-
5
- constructor() {
6
- super();
7
- this._colorTemperatureTable = [2200, 2700, 4000, 5500, 7000];
8
- }
9
-
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const AdjustableProperty_1 = __importDefault(require("./AdjustableProperty"));
7
+ class ColorTemperatureInKelvin extends AdjustableProperty_1.default {
8
+ static _colorTemperatureTable = [2200, 2700, 4000, 5500, 7000];
10
9
  static matches(event) {
11
10
  return event?.directive?.header?.namespace === 'Alexa.ColorTemperatureController';
12
11
  }
13
-
14
12
  static directive(event) {
15
13
  return [
16
14
  ColorTemperatureInKelvin.INCREASE_COLOR_TEMPERATURE,
17
- ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE]
18
- .includes(event?.directive?.header?.name) ? AdjustableProperty.ADJUST : AdjustableProperty.SET;
15
+ ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE,
16
+ ].includes(event?.directive?.header?.name)
17
+ ? AdjustableProperty_1.default.ADJUST
18
+ : AdjustableProperty_1.default.SET;
19
19
  }
20
-
21
20
  matches(event) {
22
- return ColorTemperatureInKelvin.matches(event)
23
- && [
21
+ return (ColorTemperatureInKelvin.matches(event) &&
22
+ [
24
23
  ColorTemperatureInKelvin.SET_COLOR_TEMPERATURE,
25
24
  ColorTemperatureInKelvin.INCREASE_COLOR_TEMPERATURE,
26
- ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE
27
- ].includes(event?.directive?.header?.name);
25
+ ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE,
26
+ ].includes(event?.directive?.header?.name));
28
27
  }
29
-
30
28
  get colorTemperatureTable() {
31
- return this._colorTemperatureTable;
29
+ return ColorTemperatureInKelvin._colorTemperatureTable;
32
30
  }
33
-
34
31
  alexaDirectiveValue(event) {
35
32
  if (ColorTemperatureInKelvin.SET_COLOR_TEMPERATURE === event?.directive?.header?.name) {
36
- return event.directive.payload[this.propertyName];
33
+ return super.alexaDirectiveValue(event);
37
34
  }
38
-
39
35
  if (ColorTemperatureInKelvin.INCREASE_COLOR_TEMPERATURE === event?.directive?.header?.name) {
40
36
  return 1;
41
37
  }
42
-
43
38
  if (ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE === event?.directive?.header?.name) {
44
39
  return -1;
45
40
  }
46
41
  }
47
-
48
42
  static get SET_COLOR_TEMPERATURE() {
49
43
  return 'SetColorTemperature';
50
44
  }
51
-
52
45
  static get INCREASE_COLOR_TEMPERATURE() {
53
46
  return 'IncreaseColorTemperature';
54
47
  }
55
-
56
48
  static get DECREASE_COLOR_TEMPERATURE() {
57
49
  return 'DecreaseColorTemperature';
58
50
  }
59
-
60
51
  }
61
-
62
- module.exports = ColorTemperatureInKelvin;
52
+ exports.default = ColorTemperatureInKelvin;
53
+ //# sourceMappingURL=ColorTemperatureInKelvin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorTemperatureInKelvin.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/ColorTemperatureInKelvin.ts"],"names":[],"mappings":";;;;;AAAA,8EAAsD;AAGtD,MAAqB,wBAAyB,SAAQ,4BAAkB;IACpE,MAAM,CAAC,sBAAsB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAE/D,MAAM,CAAC,OAAO,CAAC,KAAqB;QAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,KAAK,kCAAkC,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAqB;QAClC,OAAO;YACH,wBAAwB,CAAC,0BAA0B;YACnD,wBAAwB,CAAC,0BAA0B;SACtD,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC;YACtC,CAAC,CAAC,4BAAkB,CAAC,MAAM;YAC3B,CAAC,CAAC,4BAAkB,CAAC,GAAG,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,KAAqB;QACzB,OAAO,CACH,wBAAwB,CAAC,OAAO,CAAC,KAAK,CAAC;YACvC;gBACI,wBAAwB,CAAC,qBAAqB;gBAC9C,wBAAwB,CAAC,0BAA0B;gBACnD,wBAAwB,CAAC,0BAA0B;aACtD,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,CAC7C,CAAC;IACN,CAAC;IAED,IAAI,qBAAqB;QACrB,OAAO,wBAAwB,CAAC,sBAAsB,CAAC;IAC3D,CAAC;IAED,mBAAmB,CAAC,KAAqB;QACrC,IAAI,wBAAwB,CAAC,qBAAqB,KAAK,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACpF,OAAO,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,wBAAwB,CAAC,0BAA0B,KAAK,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACzF,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,wBAAwB,CAAC,0BAA0B,KAAK,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACzF,OAAO,CAAC,CAAC,CAAC;QACd,CAAC;IACL,CAAC;IAED,MAAM,KAAK,qBAAqB;QAC5B,OAAO,qBAAqB,CAAC;IACjC,CAAC;IAED,MAAM,KAAK,0BAA0B;QACjC,OAAO,0BAA0B,CAAC;IACtC,CAAC;IAED,MAAM,KAAK,0BAA0B;QACjC,OAAO,0BAA0B,CAAC;IACtC,CAAC;;AAvDL,2CAwDC","sourcesContent":["import AdjustableProperty from './AdjustableProperty';\nimport type { AlexaV3DirectiveName, AlexaV3DirectiveType, AlexaV3DirectiveValue, AlexaV3Request } from '../../types';\n\nexport default class ColorTemperatureInKelvin extends AdjustableProperty {\n static _colorTemperatureTable = [2200, 2700, 4000, 5500, 7000];\n\n static matches(event: AlexaV3Request): boolean {\n return event?.directive?.header?.namespace === 'Alexa.ColorTemperatureController';\n }\n\n static directive(event: AlexaV3Request): AlexaV3DirectiveName {\n return [\n ColorTemperatureInKelvin.INCREASE_COLOR_TEMPERATURE,\n ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE,\n ].includes(event?.directive?.header?.name)\n ? AdjustableProperty.ADJUST\n : AdjustableProperty.SET;\n }\n\n matches(event: AlexaV3Request): boolean {\n return (\n ColorTemperatureInKelvin.matches(event) &&\n [\n ColorTemperatureInKelvin.SET_COLOR_TEMPERATURE,\n ColorTemperatureInKelvin.INCREASE_COLOR_TEMPERATURE,\n ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE,\n ].includes(event?.directive?.header?.name)\n );\n }\n\n get colorTemperatureTable(): number[] {\n return ColorTemperatureInKelvin._colorTemperatureTable;\n }\n\n alexaDirectiveValue(event: AlexaV3Request): AlexaV3DirectiveValue {\n if (ColorTemperatureInKelvin.SET_COLOR_TEMPERATURE === event?.directive?.header?.name) {\n return super.alexaDirectiveValue(event);\n }\n\n if (ColorTemperatureInKelvin.INCREASE_COLOR_TEMPERATURE === event?.directive?.header?.name) {\n return 1;\n }\n\n if (ColorTemperatureInKelvin.DECREASE_COLOR_TEMPERATURE === event?.directive?.header?.name) {\n return -1;\n }\n }\n\n static get SET_COLOR_TEMPERATURE(): AlexaV3DirectiveType {\n return 'SetColorTemperature';\n }\n\n static get INCREASE_COLOR_TEMPERATURE(): AlexaV3DirectiveType {\n return 'IncreaseColorTemperature';\n }\n\n static get DECREASE_COLOR_TEMPERATURE(): AlexaV3DirectiveType {\n return 'DecreaseColorTemperature';\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Base_1 = __importDefault(require("./Base"));
7
+ class DetectionState extends Base_1.default {
8
+ static matches(event) {
9
+ return (event?.directive?.header?.namespace === 'Alexa.MotionSensor' ||
10
+ event?.directive?.header?.namespace === 'Alexa.ContactSensor');
11
+ }
12
+ matches(event) {
13
+ return DetectionState.matches(event);
14
+ }
15
+ static get DETECTED() {
16
+ return 'DETECTED';
17
+ }
18
+ static get NOT_DETECTED() {
19
+ return 'NOT_DETECTED';
20
+ }
21
+ }
22
+ exports.default = DetectionState;
23
+ //# sourceMappingURL=DetectionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetectionState.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/DetectionState.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAG1B,MAAqB,cAAe,SAAQ,cAAI;IAC5C,MAAM,CAAC,OAAO,CAAC,KAAqB;QAChC,OAAO,CACH,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,KAAK,oBAAoB;YAC5D,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,KAAK,qBAAqB,CAChE,CAAC;IACN,CAAC;IAED,OAAO,CAAC,KAAqB;QACzB,OAAO,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,KAAK,QAAQ;QACf,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,KAAK,YAAY;QACnB,OAAO,cAAc,CAAC;IAC1B,CAAC;CACJ;AAnBD,iCAmBC","sourcesContent":["import Base from './Base';\nimport type { AlexaV3DirectiveName, AlexaV3Request } from '../../types';\n\nexport default class DetectionState extends Base {\n static matches(event: AlexaV3Request): boolean {\n return (\n event?.directive?.header?.namespace === 'Alexa.MotionSensor' ||\n event?.directive?.header?.namespace === 'Alexa.ContactSensor'\n );\n }\n\n matches(event: AlexaV3Request): boolean {\n return DetectionState.matches(event);\n }\n\n static get DETECTED(): AlexaV3DirectiveName {\n return 'DETECTED';\n }\n\n static get NOT_DETECTED(): AlexaV3DirectiveName {\n return 'NOT_DETECTED';\n }\n}\n"]}
@@ -1,34 +1,31 @@
1
- const Base = require('./Base');
2
-
3
- class LockState extends Base {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Base_1 = __importDefault(require("./Base"));
7
+ class LockState extends Base_1.default {
4
8
  static matches(event) {
5
9
  return event?.directive?.header?.namespace === 'Alexa.LockController';
6
10
  }
7
-
8
11
  matches(event) {
9
12
  return LockState.matches(event);
10
13
  }
11
-
12
14
  alexaDirectiveValue(event) {
13
15
  return event.directive.header.name;
14
16
  }
15
-
16
17
  static get LOCK() {
17
18
  return 'Lock';
18
19
  }
19
-
20
20
  static get LOCKED() {
21
21
  return 'LOCKED';
22
22
  }
23
-
24
23
  static get UNLOCK() {
25
24
  return 'Unlock';
26
25
  }
27
-
28
26
  static get UNLOCKED() {
29
27
  return 'UNLOCKED';
30
28
  }
31
-
32
29
  /**
33
30
  * The lock can't transition to `locked` or `unlocked` because the locking mechanism is jammed.
34
31
  */
@@ -36,5 +33,5 @@ class LockState extends Base {
36
33
  return 'JAMMED';
37
34
  }
38
35
  }
39
-
40
- module.exports = LockState;
36
+ exports.default = LockState;
37
+ //# sourceMappingURL=LockState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LockState.js","sourceRoot":"","sources":["../../../../../src/lib/AlexaSmartHomeV3/Alexa/Properties/LockState.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAG1B,MAAqB,SAAU,SAAQ,cAAI;IACvC,MAAM,CAAC,OAAO,CAAC,KAAqB;QAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,KAAK,sBAAsB,CAAC;IAC1E,CAAC;IAED,OAAO,CAAC,KAAqB;QACzB,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,mBAAmB,CAAC,KAAqB;QACrC,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAyB,CAAC;IAC5D,CAAC;IAED,MAAM,KAAK,IAAI;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,MAAM;QACb,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,MAAM;QACb,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,QAAQ;QACf,OAAO,UAAU,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,MAAM,KAAK,MAAM;QACb,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAnCD,4BAmCC","sourcesContent":["import Base from './Base';\nimport type { AlexaV3DirectiveName, AlexaV3DirectiveValue, AlexaV3Request } from '../../types';\n\nexport default class LockState extends Base {\n static matches(event: AlexaV3Request): boolean {\n return event?.directive?.header?.namespace === 'Alexa.LockController';\n }\n\n matches(event: AlexaV3Request): boolean {\n return LockState.matches(event);\n }\n\n alexaDirectiveValue(event: AlexaV3Request): AlexaV3DirectiveValue {\n return event.directive.header.name as 'Lock' | 'Unlock';\n }\n\n static get LOCK(): string {\n return 'Lock';\n }\n\n static get LOCKED(): AlexaV3DirectiveName {\n return 'LOCKED';\n }\n\n static get UNLOCK(): string {\n return 'Unlock';\n }\n\n static get UNLOCKED(): AlexaV3DirectiveName {\n return 'UNLOCKED';\n }\n\n /**\n * The lock can't transition to `locked` or `unlocked` because the locking mechanism is jammed.\n */\n static get JAMMED(): AlexaV3DirectiveName {\n return 'JAMMED';\n }\n}\n"]}