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
@@ -1,17 +0,0 @@
1
- const Base = require('./Base');
2
-
3
- class Muted extends Base {
4
- static matches(event) {
5
- return event?.directive?.header?.namespace === 'Alexa.Speaker';
6
- }
7
-
8
- matches(event) {
9
- return Muted.matches(event) && event?.directive?.header?.name === 'SetMute';
10
- }
11
-
12
- alexaDirectiveValue(event) {
13
- return event.directive.payload['mute'];
14
- }
15
- }
16
-
17
- module.exports = Muted;
@@ -1,14 +0,0 @@
1
- const AdjustableProperty = require('./AdjustableProperty');
2
-
3
- class Percentage extends AdjustableProperty {
4
-
5
- matches(event) {
6
- return Percentage.matches(event);
7
- }
8
-
9
- alexaDirectiveValue(event) {
10
- return Percentage.directive(event) === Percentage.SET ? super.alexaDirectiveValue(event) : event.directive.payload['percentageDelta'];
11
- }
12
- }
13
-
14
- module.exports = Percentage;
@@ -1,28 +0,0 @@
1
- const Base = require('./Base');
2
-
3
- class TargetSetpoint extends Base {
4
- static matches(event) {
5
- return event?.directive?.header?.name === 'SetTargetTemperature' || event?.directive?.header?.name === 'AdjustTargetTemperature';
6
- }
7
-
8
- matches(event) {
9
- return TargetSetpoint.matches(event);
10
- }
11
-
12
- static directive(event) {
13
- return event.directive.header.name === 'AdjustTargetTemperature' ? TargetSetpoint.ADJUST : TargetSetpoint.SET;
14
- }
15
-
16
- alexaDirectiveValue(event) {
17
- return TargetSetpoint.directive(event) === TargetSetpoint.SET ? event.directive.payload.targetSetpoint.value : event.directive.payload.targetSetpointDelta.value;
18
- }
19
-
20
- reportValue(value) {
21
- return {
22
- value: value,
23
- scale: TargetSetpoint.CELSIUS_SCALE,
24
- };
25
- }
26
- }
27
-
28
- module.exports = TargetSetpoint;
@@ -1,20 +0,0 @@
1
- const Base = require('./Base');
2
-
3
- class Temperature extends Base {
4
- static matches(event) {
5
- return event?.directive?.header?.namespace === 'Alexa.TemperatureSensor';
6
- }
7
-
8
- matches(event) {
9
- return Temperature.matches(event);
10
- }
11
-
12
- reportValue(value) {
13
- return {
14
- value: value,
15
- scale: Temperature.CELSIUS_SCALE,
16
- };
17
- }
18
- }
19
-
20
- module.exports = Temperature;
@@ -1,52 +0,0 @@
1
- const Utils = require('../../Helpers/Utils');
2
- const Base = require('./Base');
3
-
4
- class ThermostatMode extends Base {
5
-
6
- init(opts) {
7
- super.init(opts);
8
- // set mode to be AUTO for thermostats without mode at all
9
- this.currentValue = this.setId ? undefined : ThermostatMode.AUTO;
10
- this._supportedModes = opts.supportedModes;
11
- this._supportedModesAsEnum = Utils.asEnum(this._supportedModes);
12
- }
13
-
14
- static matches(event) {
15
- return event?.directive?.header?.name === 'SetThermostatMode';
16
- }
17
-
18
-
19
- matches(event) {
20
- return ThermostatMode.matches(event);
21
- }
22
-
23
- alexaDirectiveValue(event) {
24
- return event.directive.payload.thermostatMode.value;
25
- }
26
-
27
- get supportedModes() {
28
- return this._supportedModes;
29
- }
30
-
31
- get supportedModesAsEnum() {
32
- return this._supportedModesAsEnum;
33
- }
34
-
35
- static get AUTO() {
36
- return 'AUTO';
37
- }
38
- static get COOL() {
39
- return 'COOL';
40
- }
41
- static get ECO() {
42
- return 'ECO';
43
- }
44
- static get HEAT() {
45
- return 'HEAT';
46
- }
47
- static get OFF() {
48
- return 'OFF';
49
- }
50
- }
51
-
52
- module.exports = ThermostatMode;
@@ -1,19 +0,0 @@
1
- const AdjustableProperty = require('./AdjustableProperty');
2
-
3
- class Volume extends AdjustableProperty {
4
- static matches(event) {
5
- return event?.directive?.header?.namespace === 'Alexa.Speaker';
6
- }
7
-
8
- matches(event) {
9
- return Volume.matches(event)
10
- && ['AdjustVolume', 'SetVolume'].includes(event?.directive?.header?.name);
11
-
12
- }
13
-
14
- static directive(event) {
15
- return event.directive.header.name === 'AdjustVolume' ? Volume.ADJUST : Volume.SET;
16
- }
17
- }
18
-
19
- module.exports = Volume;
@@ -1,14 +0,0 @@
1
- const properties = {};
2
- const propertiesPath = require('path').join(__dirname);
3
- const excludedNames = ['index'];
4
-
5
- require('fs')
6
- .readdirSync(propertiesPath)
7
- .forEach((file) => {
8
- const name = file.replace(/\.js$/, '');
9
- if (!excludedNames.includes(name)) {
10
- properties[name] = require(`./${file}`);
11
- }
12
- });
13
-
14
- module.exports = properties;
@@ -1,22 +0,0 @@
1
-
2
- const Control = require('./Control');
3
- const Properties = require('../Alexa/Properties');
4
-
5
- /**
6
- * @class
7
- */
8
- class AdjustableControl extends Control {
9
- adjustableProperties() {
10
- return [];
11
- }
12
-
13
- isAdjustDirective(event) {
14
- return this.adjustableProperties().some(property => property.matches(event) && property.directive(event) === Properties.Base.ADJUST);
15
- }
16
-
17
- valueSetter(event) {
18
- return this.isAdjustDirective(event) ? this.adjustValue.bind(this) : super.valueSetter(event);
19
- }
20
- }
21
-
22
- module.exports = AdjustableControl;
@@ -1,28 +0,0 @@
1
- const Capabilities = require('../Alexa/Capabilities');
2
- const AdjustableControl = require('./AdjustableControl');
3
- const Properties = require('../Alexa/Properties');
4
-
5
- /**
6
- * @class
7
- */
8
- class AdjustablePercentageControl extends AdjustableControl {
9
- adjustableProperties() {
10
- return [Properties.Percentage];
11
- }
12
-
13
-
14
- initCapabilities() {
15
- let result = [new Capabilities.PercentageController()];
16
- for (const property of result.flatMap(item => item.properties)) {
17
- property.init(this.percentageInitObject())
18
- }
19
- return result;
20
- }
21
-
22
- async setState(property, value) {
23
- // todo: byON
24
- return super.setState(property, value);
25
- }
26
- }
27
-
28
- module.exports = AdjustablePercentageControl;
@@ -1,144 +0,0 @@
1
- const Capabilities = require('../Alexa/Capabilities');
2
- const AdjustableControl = require('./AdjustableControl');
3
- const Utils = require('../Helpers/Utils');
4
- const Properties = require('../Alexa/Properties');
5
- const AdapterProvider = require('../Helpers/AdapterProvider');
6
-
7
- /**
8
- * @class
9
- */
10
- class AirCondition extends AdjustableControl {
11
- get categories() {
12
- return ['AIR_CONDITIONER']
13
- }
14
-
15
- adjustableProperties() {
16
- return [Properties.TargetSetpoint];
17
- }
18
-
19
- get dedicatedOnOff() {
20
- return this.states[this.statesMap.power] !== undefined;
21
- }
22
-
23
- initCapabilities() {
24
- this._thermostatController = new Capabilities.ThermostatController();
25
- this._thermostatMode = this._thermostatController.thermostatMode;
26
- this._powerController = new Capabilities.PowerController();
27
- this._powerState = this._powerController.powerState;
28
- let result = [new Capabilities.TemperatureSensor(), this._thermostatController, this._powerController];
29
- for (const property of result.flatMap(item => item.properties)) {
30
- property.init(this.composeInitObject(property));
31
- }
32
- return result;
33
- }
34
-
35
- async setState(property, value) {
36
- // if we set power ON/OFF via thermostat mode
37
- if (property.propertyName === Properties.PowerState.propertyName && !this.dedicatedOnOff) {
38
- // set the mode to the last known value or AUTO by switching power ON
39
- if (value) {
40
- this._lastKnownMode = this._lastKnownMode || this._thermostatMode.supportedModesAsEnum[Properties.ThermostatMode.AUTO];
41
- await AdapterProvider.setState(this._thermostatMode.setId, this._lastKnownMode);
42
- this._thermostatMode.currentValue = this._lastKnownMode;
43
- this._powerState.currentValue = true;
44
-
45
- } else { // set mode to OFF
46
- const modeOffValue = this._thermostatMode.supportedModesAsEnum[Properties.ThermostatMode.OFF];
47
- await AdapterProvider.setState(this._thermostatMode.setId, modeOffValue);
48
- this._thermostatMode.currentValue = this._lastKnownMode;
49
- this._powerState.currentValue = false;
50
- }
51
- } else {
52
- // just set the property
53
- await AdapterProvider.setState(property.setId, value);
54
- property.currentValue = value;
55
-
56
- if (property.propertyName === Properties.ThermostatMode.propertyName) {
57
- this._lastKnownMode = value;
58
- if (!this.dedicatedOnOff) {
59
- this._powerState.currentValue = value !== this._thermostatMode.supportedModesAsEnum[Properties.ThermostatMode.OFF];
60
- }
61
-
62
- }
63
- }
64
- }
65
-
66
- async getOrRetrieveCurrentValue(property) {
67
- if (property.currentValue === undefined) {
68
- property.currentValue = await AdapterProvider.getState(property.getId);
69
-
70
- // convert mode != OFF to power = true
71
- if (property.propertyName === this._powerState.propertyName && !this.dedicatedOnOff) {
72
- property.currentValue = property.currentValue !== this._thermostatMode.supportedModesAsEnum[Properties.ThermostatMode.OFF];
73
- }
74
- }
75
-
76
- if (property.currentValue === undefined) {
77
- throw new Error(`unable to retrieve ${property.getId}`);
78
- }
79
-
80
- return property.currentValue;
81
- }
82
-
83
- composeInitObject(property) {
84
- const map = this.statesMap;
85
-
86
- if (property.propertyName === Properties.PowerState.propertyName) {
87
-
88
- return {
89
- setState: this.states[map.power] || this.states[map.mode],
90
- getState: this.states[map.power] || this.states[map.mode],
91
- alexaSetter: function (alexaValue) {
92
- return alexaValue === Properties.PowerState.ON;
93
- },
94
- alexaGetter: function (value) {
95
- return value ? Properties.PowerState.ON : Properties.PowerState.OFF;
96
- },
97
- };
98
- }
99
-
100
- if (property.propertyName === Properties.Temperature.propertyName) {
101
- return {
102
- setState: this.states[map.set],
103
- getState: this.states[map.actual] || this.states[map.set],
104
- };
105
- }
106
-
107
- if (property.propertyName === Properties.TargetSetpoint.propertyName) {
108
- // const range = Utils.configuredRangeOrDefault(this.states[map.set]);
109
- return {
110
- setState: this.states[map.set],
111
- getState: this.states[map.actual] || this.states[map.set],
112
- alexaSetter: function (alexaValue) {
113
- return Utils.ensureValueInRange(alexaValue, this.valuesRangeMin, this.valuesRangeMax);
114
- },
115
- alexaGetter: function (value) {
116
- return value;
117
- },
118
- };
119
- }
120
-
121
- if (property.propertyName === Properties.ThermostatMode.propertyName) {
122
- const initObject = {
123
- setState: this.states[map.mode],
124
- getState: this.states[map.mode],
125
- alexaSetter: function (alexaValue) {
126
- return this.supportedModesAsEnum[alexaValue];
127
- },
128
- alexaGetter: function (value) {
129
- return this.supportedModesAsEnum[value];
130
- },
131
- supportedModes: [
132
- Properties.ThermostatMode.AUTO,
133
- Properties.ThermostatMode.COOL,
134
- Properties.ThermostatMode.ECO,
135
- Properties.ThermostatMode.HEAT,
136
- Properties.ThermostatMode.OFF,
137
- ],
138
- };
139
- return initObject;
140
- }
141
- }
142
- }
143
-
144
- module.exports = AirCondition;
@@ -1,12 +0,0 @@
1
- const AdjustablePercentageControl = require('./AdjustablePercentageControl');
2
-
3
- /**
4
- * @class
5
- */
6
- class Blind extends AdjustablePercentageControl {
7
- get categories() {
8
- return ['INTERIOR_BLIND'];
9
- }
10
- }
11
-
12
- module.exports = Blind;
@@ -1,17 +0,0 @@
1
- const Capabilities = require('../Alexa/Capabilities');
2
- const ReadOnlyDetector = require('./ReadOnlyDetector');
3
-
4
- /**
5
- * @class
6
- */
7
- class ContactSensor extends ReadOnlyDetector {
8
- get capability() {
9
- return new Capabilities.ContactSensor();
10
- }
11
-
12
- get categories() {
13
- return ['CONTACT_SENSOR'];
14
- }
15
- }
16
-
17
- module.exports = ContactSensor;
@@ -1,172 +0,0 @@
1
- const Capabilities = require('../Alexa/Capabilities');
2
- const Utils = require('../Helpers/Utils');
3
- const Properties = require('../Alexa/Properties');
4
- const AdapterProvider = require('../Helpers/AdapterProvider');
5
- const AdjustableControl = require('./AdjustableControl');
6
-
7
- /**
8
- * @class
9
- */
10
- class Ct extends AdjustableControl {
11
- get categories() {
12
- return ['LIGHT'];
13
- }
14
-
15
- adjustableProperties() {
16
- return [Properties.ColorTemperatureInKelvin];
17
- }
18
-
19
- initCapabilities() {
20
- const map = this.statesMap;
21
- const result = [new Capabilities.ColorController()];
22
-
23
- // if the state DIMMER or BRIGHTNESS configured
24
- if (this.states[map.dimmer] || this.states[map.brightness]) {
25
- this._brightnessCapability = new Capabilities.BrightnessController();
26
- this._brightness = this._brightnessCapability.brightness;
27
- result.push(this._brightnessCapability);
28
- }
29
-
30
- // if the state TEMPERATURE configured
31
- if (this.states[map.temperature]) {
32
- this._colorTemperatureCapability = new Capabilities.ColorTemperatureController();
33
- result.push(this._colorTemperatureCapability);
34
- }
35
-
36
- // if the state ON, DIMMER or BRIGHTNESS configured
37
- if (this.states[map.on] || this._brightness) {
38
- this._powerControllerCapability = new Capabilities.PowerController();
39
- this._powerState = this._powerControllerCapability.powerState;
40
- result.push(this._powerControllerCapability);
41
- }
42
-
43
- for (const property of result.flatMap(item => item.properties)) {
44
- property.init(this.composeInitObject(property))
45
- }
46
-
47
- return result;
48
- }
49
-
50
- async getOrRetrieveCurrentValue(property) {
51
- const map = this.statesMap;
52
-
53
- if (property.currentValue === undefined) {
54
- property.currentValue = await AdapterProvider.getState(property.getId);
55
- // convert the non-zero brightness to power = true
56
- if (property.propertyName === Properties.PowerState.propertyName && !this.states[map.on]) {
57
- property.currentValue = property.currentValue !== 0;
58
- }
59
- }
60
-
61
- if (property.currentValue === undefined) {
62
- throw new Error(`unable to retrieve ${property.getId}`);
63
- }
64
-
65
- return property.currentValue;
66
- }
67
-
68
- async setState(property, value) {
69
- const map = this.statesMap;
70
-
71
- if (property.propertyName === Properties.PowerState.propertyName) {
72
- if (this.states[map.on]) {
73
- await AdapterProvider.setState(property.setId, value);
74
- property.currentValue = value;
75
- } else {
76
- if (value) { // set brightness
77
- // set byOn to the configured value or range.max otherwise
78
- const range = Utils.configuredRangeOrDefault(this.states[map.dimmer] || this.states[map.brightness]);
79
- let byOn = (this.states[map.dimmer] || this.states[map.brightness])?.smartName?.byON;
80
- byOn = isNaN(byOn) ? range.max : parseInt(byOn);
81
- await AdapterProvider.setState(this._brightness.setId, byOn);
82
- this._brightness.currentValue = byOn;
83
- this._powerState.currentValue = true;
84
- } else { // set brightness to 0 on power OFF
85
- await AdapterProvider.setState(this._brightness.setId, 0);
86
- this._brightness.currentValue = 0;
87
- this._powerState.currentValue = false;
88
- }
89
- }
90
- } else
91
- if (property.propertyName === Properties.Brightness.propertyName
92
- || property.propertyName === Properties.ColorTemperatureInKelvin.propertyName) {
93
- await AdapterProvider.setState(property.setId, value);
94
- property.currentValue = value;
95
- } else
96
- if (property.propertyName === Properties.ColorTemperatureInKelvin.propertyName) {
97
- await AdapterProvider.setState(property.setId, value);
98
- property.currentValue = value;
99
- }
100
- }
101
-
102
- async adjustValue(event, property) {
103
- // extract Alexa delta value from event
104
- const delta = property.alexaDirectiveValue(event);
105
-
106
- // convert delta to iobroker value
107
- const value = property.value(delta);
108
-
109
- // set iobroker state
110
- await this.setState(property, value);
111
-
112
- return value;
113
- }
114
-
115
- composeInitObject(property) {
116
- const map = this.statesMap;
117
-
118
- if (property.propertyName === Properties.PowerState.propertyName) {
119
- return {
120
- setState: this.states[map.on] || this.states[map.dimmer] || this.states[map.brightness],
121
- getState: this.states[map.on] || this.states[map.dimmer] || this.states[map.brightness],
122
- alexaSetter: function (alexaValue) {
123
- return alexaValue === Properties.PowerState.ON;
124
- },
125
- alexaGetter: function (value) {
126
- return value ? Properties.PowerState.ON : Properties.PowerState.OFF;
127
- },
128
- };
129
- }
130
-
131
- if (property.propertyName === Properties.Brightness.propertyName) {
132
- return {
133
- setState: this.states[map.dimmer] || this.states[map.brightness],
134
- getState: this.states[map.dimmer] || this.states[map.brightness],
135
- alexaSetter: function (alexaValue) {
136
- return Utils.denormalize_0_100(alexaValue, this.valuesRangeMin, this.valuesRangeMax);
137
- },
138
- alexaGetter: function (value) {
139
- return Utils.normalize_0_100(value, this.valuesRangeMin, this.valuesRangeMax);
140
- },
141
- };
142
- }
143
-
144
- if (property.propertyName === Properties.ColorTemperatureInKelvin.propertyName) {
145
- return {
146
- setState: this.states[map.temperature],
147
- getState: this.states[map.temperature],
148
- alexaSetter: function (alexaValue) {
149
- if (alexaValue === 1) { // increase directive
150
- const closest = Utils.closestFromList(this.currentValue || this.colorTemperatureTable[0], this.colorTemperatureTable);
151
- let index = this.colorTemperatureTable.indexOf(closest) + 1;
152
- index = index >= this.colorTemperatureTable.length ? this.colorTemperatureTable.length - 1 : index;
153
- return this.colorTemperatureTable[index];
154
- }
155
- if (alexaValue === -1) { // decrease directive
156
- const closest = Utils.closestFromList(this.currentValue || this.colorTemperatureTable[0], this.colorTemperatureTable);
157
- let index = this.colorTemperatureTable.indexOf(closest) - 1;
158
- index = index < 0 ? 0 : index;
159
- return this.colorTemperatureTable[index];
160
- }
161
-
162
- return alexaValue;
163
- },
164
- alexaGetter: function (value) {
165
- return value;
166
- },
167
- };
168
- }
169
- }
170
- }
171
-
172
- module.exports = Ct;