@homebridge-plugins/homebridge-tuya 3.0.0-beta.2 → 3.0.0-beta.21

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 (298) hide show
  1. package/README.md +354 -142
  2. package/config.schema.json +1221 -893
  3. package/dist/cloud/api/TuyaOpenAPI.js +108 -60
  4. package/dist/cloud/api/TuyaOpenAPI.js.map +1 -1
  5. package/dist/cloud/api/TuyaOpenMQ.js +45 -22
  6. package/dist/cloud/api/TuyaOpenMQ.js.map +1 -1
  7. package/dist/cloud/device/{TuyaDeviceManager.js → TuyaCloudDeviceManager.js} +146 -96
  8. package/dist/cloud/device/TuyaCloudDeviceManager.js.map +1 -0
  9. package/dist/cloud/device/TuyaCustomDeviceManager.js +75 -5
  10. package/dist/cloud/device/TuyaCustomDeviceManager.js.map +1 -1
  11. package/dist/cloud/device/TuyaDevice.js.map +1 -1
  12. package/dist/cloud/device/TuyaHomeDeviceManager.js +81 -13
  13. package/dist/cloud/device/TuyaHomeDeviceManager.js.map +1 -1
  14. package/dist/config.js +26 -5
  15. package/dist/config.js.map +1 -1
  16. package/dist/local/DynamicChildDiscovery.js +2 -1
  17. package/dist/local/DynamicChildDiscovery.js.map +1 -1
  18. package/dist/local/LocalDevice.js +16 -3
  19. package/dist/local/LocalDevice.js.map +1 -1
  20. package/dist/local/LocalDeviceManager.js +361 -164
  21. package/dist/local/LocalDeviceManager.js.map +1 -1
  22. package/dist/local/TuyaDiscovery.js +16 -7
  23. package/dist/local/TuyaDiscovery.js.map +1 -1
  24. package/dist/local/ZigbeeGatewayDetection.js +7 -4
  25. package/dist/local/ZigbeeGatewayDetection.js.map +1 -1
  26. package/dist/local/protocol/ProtocolUtilities.js +34 -17
  27. package/dist/local/protocol/ProtocolUtilities.js.map +1 -1
  28. package/dist/local/protocol/ProtocolV31V32.js +4 -2
  29. package/dist/local/protocol/ProtocolV31V32.js.map +1 -1
  30. package/dist/local/protocol/ProtocolV33.js +4 -2
  31. package/dist/local/protocol/ProtocolV33.js.map +1 -1
  32. package/dist/local/protocol/ProtocolV34.js +10 -5
  33. package/dist/local/protocol/ProtocolV34.js.map +1 -1
  34. package/dist/local/protocol/ProtocolV35.js +8 -4
  35. package/dist/local/protocol/ProtocolV35.js.map +1 -1
  36. package/dist/platform.js +253 -493
  37. package/dist/platform.js.map +1 -1
  38. package/dist/settings.js +0 -2
  39. package/dist/settings.js.map +1 -1
  40. package/dist/shared/TuyaDeviceManager.js +147 -0
  41. package/dist/shared/TuyaDeviceManager.js.map +1 -0
  42. package/dist/shared/TuyaHybridDeviceManager.js +215 -0
  43. package/dist/shared/TuyaHybridDeviceManager.js.map +1 -0
  44. package/dist/shared/accessory/AccessoryFactory.js +350 -0
  45. package/dist/shared/accessory/AccessoryFactory.js.map +1 -0
  46. package/dist/shared/{accessories → accessory}/AirConditionerAccessory.js +21 -15
  47. package/dist/shared/accessory/AirConditionerAccessory.js.map +1 -0
  48. package/dist/shared/{accessories → accessory}/AirPurifierAccessory.js.map +1 -1
  49. package/dist/shared/accessory/AirQualitySensorAccessory.js.map +1 -0
  50. package/dist/shared/{accessories → accessory}/BaseAccessory.js +16 -95
  51. package/dist/shared/accessory/BaseAccessory.js.map +1 -0
  52. package/dist/shared/{accessories → accessory}/BlindsAccessory.js.map +1 -1
  53. package/dist/shared/{accessories → accessory}/CameraAccessory.js +2 -2
  54. package/dist/shared/accessory/CameraAccessory.js.map +1 -0
  55. package/dist/shared/{accessories → accessory}/CarbonDioxideSensorAccessory.js.map +1 -1
  56. package/dist/shared/{accessories → accessory}/CarbonMonoxideSensorAccessory.js.map +1 -1
  57. package/dist/shared/{accessories → accessory}/ContactSensorAccessory.js.map +1 -1
  58. package/dist/shared/{accessories → accessory}/DehumidifierAccessory.js.map +1 -1
  59. package/dist/shared/{accessories → accessory}/DiffuserAccessory.js.map +1 -1
  60. package/dist/shared/{accessories → accessory}/DimmerAccessory.js.map +1 -1
  61. package/dist/shared/{accessories → accessory}/DoorbellAccessory.js.map +1 -1
  62. package/dist/shared/{accessories → accessory}/ExtractionHoodAccessory.js.map +1 -1
  63. package/dist/shared/{accessories → accessory}/FanAccessory.js.map +1 -1
  64. package/dist/shared/{accessories → accessory}/GarageDoorAccessory.js +19 -2
  65. package/dist/shared/accessory/GarageDoorAccessory.js.map +1 -0
  66. package/dist/shared/{accessories → accessory}/HeaterAccessory.js.map +1 -1
  67. package/dist/shared/{accessories → accessory}/HeaterAccessory_old.js.map +1 -1
  68. package/dist/shared/accessory/HumanPresenceSensorAccessory.js.map +1 -0
  69. package/dist/shared/{accessories → accessory}/HumidifierAccessory.js.map +1 -1
  70. package/dist/shared/accessory/IRAdapter.js +167 -0
  71. package/dist/shared/accessory/IRAdapter.js.map +1 -0
  72. package/dist/shared/accessory/IRAirConditionerAccessory.js.map +1 -0
  73. package/dist/shared/accessory/IRControlHubAccessory.js.map +1 -0
  74. package/dist/shared/accessory/IRControlHubSubAccessory.js.map +1 -0
  75. package/dist/shared/accessory/IRFanAccessory.js +90 -0
  76. package/dist/shared/accessory/IRFanAccessory.js.map +1 -0
  77. package/dist/shared/accessory/IRGenericAccessory.js.map +1 -0
  78. package/dist/shared/{accessories → accessory}/LeakSensorAccessory.js.map +1 -1
  79. package/dist/shared/{accessories → accessory}/LightAccessory.js.map +1 -1
  80. package/dist/shared/{accessories → accessory}/LightSensorAccessory.js.map +1 -1
  81. package/dist/shared/{accessories → accessory}/LocationWeatherAccessory.js +1 -1
  82. package/dist/shared/accessory/LocationWeatherAccessory.js.map +1 -0
  83. package/dist/shared/{accessories → accessory}/LockAccessory.js +3 -3
  84. package/dist/shared/{accessories → accessory}/LockAccessory.js.map +1 -1
  85. package/dist/shared/accessory/MotionSensorAccessory.js.map +1 -0
  86. package/dist/shared/accessory/OutletAccessory.js.map +1 -0
  87. package/dist/shared/{accessories → accessory}/PetFeederAccessory.js.map +1 -1
  88. package/dist/shared/{accessories → accessory}/SceneAccessory.js +1 -1
  89. package/dist/shared/accessory/SceneAccessory.js.map +1 -0
  90. package/dist/shared/accessory/SceneSwitchAccessory.js.map +1 -0
  91. package/dist/shared/accessory/SecuritySystemAccessory.js.map +1 -0
  92. package/dist/shared/{accessories → accessory}/SmokeSensorAccessory.js.map +1 -1
  93. package/dist/shared/{accessories → accessory}/SwitchAccessory.js +1 -45
  94. package/dist/shared/accessory/SwitchAccessory.js.map +1 -0
  95. package/dist/shared/accessory/TemperatureHumiditySensorAccessory.js.map +1 -0
  96. package/dist/shared/{accessories → accessory}/ThermostatAccessory.js.map +1 -1
  97. package/dist/shared/{accessories → accessory}/TowerRackAccessory.js.map +1 -1
  98. package/dist/shared/{accessories → accessory}/ValveAccessory.js.map +1 -1
  99. package/dist/shared/{accessories → accessory}/VibrationSensorAccessory.js.map +1 -1
  100. package/dist/shared/accessory/WeatherStationAccessory.js.map +1 -0
  101. package/dist/shared/accessory/WetBulbGlobeTemperatureAccessory.js.map +1 -0
  102. package/dist/shared/{accessories → accessory}/WhiteNoiseLightAccessory.js +1 -0
  103. package/dist/shared/accessory/WhiteNoiseLightAccessory.js.map +1 -0
  104. package/dist/shared/accessory/WindowAccessory.js.map +1 -0
  105. package/dist/shared/{accessories → accessory}/WindowCoveringAccessory.js.map +1 -1
  106. package/dist/shared/{accessories → accessory}/WirelessSwitchAccessory.js.map +1 -1
  107. package/dist/shared/accessory/characteristic/Active.js.map +1 -0
  108. package/dist/shared/accessory/characteristic/AirQuality.js.map +1 -0
  109. package/dist/shared/{accessories → accessory}/characteristic/CurrentRelativeHumidity.js +3 -0
  110. package/dist/shared/accessory/characteristic/CurrentRelativeHumidity.js.map +1 -0
  111. package/dist/shared/accessory/characteristic/CurrentTemperature.js.map +1 -0
  112. package/dist/shared/accessory/characteristic/CurrentWeather.js.map +1 -0
  113. package/dist/shared/accessory/characteristic/CurrentWeatherByOpenMeteo.js.map +1 -0
  114. package/dist/shared/{accessories → accessory}/characteristic/CurrentWetBulbGlobeTemperature.js +3 -2
  115. package/dist/shared/accessory/characteristic/CurrentWetBulbGlobeTemperature.js.map +1 -0
  116. package/dist/shared/{accessories → accessory}/characteristic/EnergyUsage.js +0 -5
  117. package/dist/shared/accessory/characteristic/EnergyUsage.js.map +1 -0
  118. package/dist/shared/{accessories → accessory}/characteristic/Light.js +28 -5
  119. package/dist/shared/accessory/characteristic/Light.js.map +1 -0
  120. package/dist/shared/accessory/characteristic/LightSensor.js.map +1 -0
  121. package/dist/shared/{accessories → accessory}/characteristic/LockPhysicalControls.js +3 -0
  122. package/dist/shared/accessory/characteristic/LockPhysicalControls.js.map +1 -0
  123. package/dist/shared/accessory/characteristic/MotionDetected.js.map +1 -0
  124. package/dist/shared/accessory/characteristic/Name.js.map +1 -0
  125. package/dist/shared/accessory/characteristic/OccupancyDetected.js.map +1 -0
  126. package/dist/shared/{accessories → accessory}/characteristic/On.js +1 -0
  127. package/dist/shared/accessory/characteristic/On.js.map +1 -0
  128. package/dist/shared/accessory/characteristic/OutletInUse.js.map +1 -0
  129. package/dist/shared/accessory/characteristic/ProgrammableSwitchEvent.js.map +1 -0
  130. package/dist/shared/{accessories → accessory}/characteristic/RelativeHumidityDehumidifierThreshold.js +3 -0
  131. package/dist/shared/accessory/characteristic/RelativeHumidityDehumidifierThreshold.js.map +1 -0
  132. package/dist/shared/accessory/characteristic/RotationSpeed.js.map +1 -0
  133. package/dist/shared/accessory/characteristic/SecuritySystemState.js.map +1 -0
  134. package/dist/shared/{accessories → accessory}/characteristic/SwingMode.js +3 -0
  135. package/dist/shared/accessory/characteristic/SwingMode.js.map +1 -0
  136. package/dist/shared/accessory/characteristic/TargetTemperature.js.map +1 -0
  137. package/dist/shared/accessory/characteristic/TemperatureDisplayUnits.js.map +1 -0
  138. package/dist/shared/util/ConfigHash.js +2 -2
  139. package/dist/shared/util/ConfigHash.js.map +1 -1
  140. package/dist/shared/util/ConfigMigrator.js +222 -0
  141. package/dist/shared/util/ConfigMigrator.js.map +1 -0
  142. package/dist/shared/util/FfmpegStreamingProcess.js +62 -0
  143. package/dist/shared/util/FfmpegStreamingProcess.js.map +1 -1
  144. package/dist/shared/util/InfraredTool.js +0 -2
  145. package/dist/shared/util/InfraredTool.js.map +1 -1
  146. package/dist/shared/util/Logger.js +85 -10
  147. package/dist/shared/util/Logger.js.map +1 -1
  148. package/dist/shared/util/TuyaStreamDelegate.js +194 -97
  149. package/dist/shared/util/TuyaStreamDelegate.js.map +1 -1
  150. package/dist/shared/util/util.js +59 -4
  151. package/dist/shared/util/util.js.map +1 -1
  152. package/docs/ADVANCED_OPTIONS.md +603 -0
  153. package/docs/CONFIG_GUIDE.md +616 -0
  154. package/docs/Get-Local-Keys-for-Your-Devices.md +246 -0
  155. package/{SUPPORTED_DEVICES.md → docs/SUPPORTED_DEVICES.md} +24 -3
  156. package/eslint.config.mjs +0 -1
  157. package/{jest.config.js → jest.config.ts} +5 -2
  158. package/package.json +12 -9
  159. package/test/ConfigMigrator.test.ts +1060 -0
  160. package/test/Logger.test.ts +482 -0
  161. package/test/accessoryFactory.data.test.ts +172 -0
  162. package/test/accessoryFactory.test.ts +64 -35
  163. package/test/airConditioner.test.ts +742 -0
  164. package/test/config.test.ts +17 -13
  165. package/test/custom.test.ts +2 -2
  166. package/test/errorHandling.test.ts +12 -12
  167. package/test/home.test.ts +1 -1
  168. package/test/hybridDeviceManager.test.ts +808 -0
  169. package/test/light.test.ts +250 -0
  170. package/test/localDevice.test.ts +21 -50
  171. package/test/localDeviceManager.behavior.test.ts +196 -31
  172. package/test/localDeviceManager.test.ts +124 -41
  173. package/test/mqttMessages.test.ts +33 -14
  174. package/test/platform.test.ts +337 -814
  175. package/test/platform.validation.local.test.ts +58 -119
  176. package/test/tuyaCustomDeviceManager.test.ts +106 -16
  177. package/test/tuyaDeviceManager.test.ts +636 -639
  178. package/test/tuyaDiscovery.test.ts +21 -33
  179. package/test/tuyaHomeDeviceManager.test.ts +109 -18
  180. package/test/tuyaOpenAPI.test.ts +25 -44
  181. package/test/tuyaOpenMQ.test.ts +15 -23
  182. package/test/util.test.ts +107 -7
  183. package/test/zigbee/LocalDevice.zigbee.test.ts +14 -18
  184. package/test/zigbee/LocalDeviceManager.cloud-discovery.test.ts +19 -20
  185. package/test/zigbee/LocalDeviceManager.zigbee.reconnect.test.ts +19 -20
  186. package/test/zigbee/LocalDeviceManager.zigbee.test.ts +73 -35
  187. package/test/zigbee/ZigbeeGatewayDetection.test.ts +2 -2
  188. package/ADVANCED_OPTIONS.md +0 -267
  189. package/dist/cloud/device/TuyaDeviceManager.js.map +0 -1
  190. package/dist/local/CloudLocalReconciliation.js +0 -180
  191. package/dist/local/CloudLocalReconciliation.js.map +0 -1
  192. package/dist/shared/AccessoryFactory.js +0 -276
  193. package/dist/shared/AccessoryFactory.js.map +0 -1
  194. package/dist/shared/accessories/AccessoryFactory.js +0 -305
  195. package/dist/shared/accessories/AccessoryFactory.js.map +0 -1
  196. package/dist/shared/accessories/AirConditionerAccessory.js.map +0 -1
  197. package/dist/shared/accessories/AirQualitySensorAccessory.js.map +0 -1
  198. package/dist/shared/accessories/BaseAccessory.js.map +0 -1
  199. package/dist/shared/accessories/CameraAccessory.js.map +0 -1
  200. package/dist/shared/accessories/GarageDoorAccessory.js.map +0 -1
  201. package/dist/shared/accessories/HumanPresenceSensorAccessory.js.map +0 -1
  202. package/dist/shared/accessories/IRAirConditionerAccessory.js.map +0 -1
  203. package/dist/shared/accessories/IRControlHubAccessory.js.map +0 -1
  204. package/dist/shared/accessories/IRControlHubSubAccessory.js.map +0 -1
  205. package/dist/shared/accessories/IRGenericAccessory.js.map +0 -1
  206. package/dist/shared/accessories/LocationWeatherAccessory.js.map +0 -1
  207. package/dist/shared/accessories/MotionSensorAccessory.js.map +0 -1
  208. package/dist/shared/accessories/OutletAccessory.js.map +0 -1
  209. package/dist/shared/accessories/SceneAccessory.js.map +0 -1
  210. package/dist/shared/accessories/SceneSwitchAccessory.js.map +0 -1
  211. package/dist/shared/accessories/SecuritySystemAccessory.js.map +0 -1
  212. package/dist/shared/accessories/SwitchAccessory.js.map +0 -1
  213. package/dist/shared/accessories/TemperatureHumiditySensorAccessory.js.map +0 -1
  214. package/dist/shared/accessories/WeatherStationAccessory.js.map +0 -1
  215. package/dist/shared/accessories/WetBulbGlobeTemperatureAccessory.js.map +0 -1
  216. package/dist/shared/accessories/WhiteNoiseLightAccessory.js.map +0 -1
  217. package/dist/shared/accessories/WindowAccessory.js.map +0 -1
  218. package/dist/shared/accessories/characteristic/Active.js.map +0 -1
  219. package/dist/shared/accessories/characteristic/AirQuality.js.map +0 -1
  220. package/dist/shared/accessories/characteristic/CurrentRelativeHumidity.js.map +0 -1
  221. package/dist/shared/accessories/characteristic/CurrentTemperature.js.map +0 -1
  222. package/dist/shared/accessories/characteristic/CurrentWeather.js.map +0 -1
  223. package/dist/shared/accessories/characteristic/CurrentWeatherByOpenMeteo.js.map +0 -1
  224. package/dist/shared/accessories/characteristic/CurrentWetBulbGlobeTemperature.js.map +0 -1
  225. package/dist/shared/accessories/characteristic/EnergyUsage.js.map +0 -1
  226. package/dist/shared/accessories/characteristic/Light.js.map +0 -1
  227. package/dist/shared/accessories/characteristic/LightSensor.js.map +0 -1
  228. package/dist/shared/accessories/characteristic/LockPhysicalControls.js.map +0 -1
  229. package/dist/shared/accessories/characteristic/MotionDetected.js.map +0 -1
  230. package/dist/shared/accessories/characteristic/Name.js.map +0 -1
  231. package/dist/shared/accessories/characteristic/OccupancyDetected.js.map +0 -1
  232. package/dist/shared/accessories/characteristic/On.js.map +0 -1
  233. package/dist/shared/accessories/characteristic/OutletInUse.js.map +0 -1
  234. package/dist/shared/accessories/characteristic/ProgrammableSwitchEvent.js.map +0 -1
  235. package/dist/shared/accessories/characteristic/RelativeHumidityDehumidifierThreshold.js.map +0 -1
  236. package/dist/shared/accessories/characteristic/RotationSpeed.js.map +0 -1
  237. package/dist/shared/accessories/characteristic/SecuritySystemState.js.map +0 -1
  238. package/dist/shared/accessories/characteristic/SwingMode.js.map +0 -1
  239. package/dist/shared/accessories/characteristic/TargetTemperature.js.map +0 -1
  240. package/dist/shared/accessories/characteristic/TemperatureDisplayUnits.js.map +0 -1
  241. package/test/zigbee/CloudLocalReconciliation.test.ts +0 -284
  242. package/tuya-local-configs/dev-1.hash +0 -1
  243. package/tuya-local-configs/device1.hash +0 -1
  244. package/wiki/Get-Local-Keys-for-Your-Devices.md +0 -85
  245. /package/dist/shared/{accessories → accessory}/AirPurifierAccessory.js +0 -0
  246. /package/dist/shared/{accessories → accessory}/AirQualitySensorAccessory.js +0 -0
  247. /package/dist/shared/{accessories → accessory}/BlindsAccessory.js +0 -0
  248. /package/dist/shared/{accessories → accessory}/CarbonDioxideSensorAccessory.js +0 -0
  249. /package/dist/shared/{accessories → accessory}/CarbonMonoxideSensorAccessory.js +0 -0
  250. /package/dist/shared/{accessories → accessory}/ContactSensorAccessory.js +0 -0
  251. /package/dist/shared/{accessories → accessory}/DehumidifierAccessory.js +0 -0
  252. /package/dist/shared/{accessories → accessory}/DiffuserAccessory.js +0 -0
  253. /package/dist/shared/{accessories → accessory}/DimmerAccessory.js +0 -0
  254. /package/dist/shared/{accessories → accessory}/DoorbellAccessory.js +0 -0
  255. /package/dist/shared/{accessories → accessory}/ExtractionHoodAccessory.js +0 -0
  256. /package/dist/shared/{accessories → accessory}/FanAccessory.js +0 -0
  257. /package/dist/shared/{accessories → accessory}/HeaterAccessory.js +0 -0
  258. /package/dist/shared/{accessories → accessory}/HeaterAccessory_old.js +0 -0
  259. /package/dist/shared/{accessories → accessory}/HumanPresenceSensorAccessory.js +0 -0
  260. /package/dist/shared/{accessories → accessory}/HumidifierAccessory.js +0 -0
  261. /package/dist/shared/{accessories → accessory}/IRAirConditionerAccessory.js +0 -0
  262. /package/dist/shared/{accessories → accessory}/IRControlHubAccessory.js +0 -0
  263. /package/dist/shared/{accessories → accessory}/IRControlHubSubAccessory.js +0 -0
  264. /package/dist/shared/{accessories → accessory}/IRGenericAccessory.js +0 -0
  265. /package/dist/shared/{accessories → accessory}/LeakSensorAccessory.js +0 -0
  266. /package/dist/shared/{accessories → accessory}/LightAccessory.js +0 -0
  267. /package/dist/shared/{accessories → accessory}/LightSensorAccessory.js +0 -0
  268. /package/dist/shared/{accessories → accessory}/MotionSensorAccessory.js +0 -0
  269. /package/dist/shared/{accessories → accessory}/OutletAccessory.js +0 -0
  270. /package/dist/shared/{accessories → accessory}/PetFeederAccessory.js +0 -0
  271. /package/dist/shared/{accessories → accessory}/SceneSwitchAccessory.js +0 -0
  272. /package/dist/shared/{accessories → accessory}/SecuritySystemAccessory.js +0 -0
  273. /package/dist/shared/{accessories → accessory}/SmokeSensorAccessory.js +0 -0
  274. /package/dist/shared/{accessories → accessory}/TemperatureHumiditySensorAccessory.js +0 -0
  275. /package/dist/shared/{accessories → accessory}/ThermostatAccessory.js +0 -0
  276. /package/dist/shared/{accessories → accessory}/TowerRackAccessory.js +0 -0
  277. /package/dist/shared/{accessories → accessory}/ValveAccessory.js +0 -0
  278. /package/dist/shared/{accessories → accessory}/VibrationSensorAccessory.js +0 -0
  279. /package/dist/shared/{accessories → accessory}/WeatherStationAccessory.js +0 -0
  280. /package/dist/shared/{accessories → accessory}/WetBulbGlobeTemperatureAccessory.js +0 -0
  281. /package/dist/shared/{accessories → accessory}/WindowAccessory.js +0 -0
  282. /package/dist/shared/{accessories → accessory}/WindowCoveringAccessory.js +0 -0
  283. /package/dist/shared/{accessories → accessory}/WirelessSwitchAccessory.js +0 -0
  284. /package/dist/shared/{accessories → accessory}/characteristic/Active.js +0 -0
  285. /package/dist/shared/{accessories → accessory}/characteristic/AirQuality.js +0 -0
  286. /package/dist/shared/{accessories → accessory}/characteristic/CurrentTemperature.js +0 -0
  287. /package/dist/shared/{accessories → accessory}/characteristic/CurrentWeather.js +0 -0
  288. /package/dist/shared/{accessories → accessory}/characteristic/CurrentWeatherByOpenMeteo.js +0 -0
  289. /package/dist/shared/{accessories → accessory}/characteristic/LightSensor.js +0 -0
  290. /package/dist/shared/{accessories → accessory}/characteristic/MotionDetected.js +0 -0
  291. /package/dist/shared/{accessories → accessory}/characteristic/Name.js +0 -0
  292. /package/dist/shared/{accessories → accessory}/characteristic/OccupancyDetected.js +0 -0
  293. /package/dist/shared/{accessories → accessory}/characteristic/OutletInUse.js +0 -0
  294. /package/dist/shared/{accessories → accessory}/characteristic/ProgrammableSwitchEvent.js +0 -0
  295. /package/dist/shared/{accessories → accessory}/characteristic/RotationSpeed.js +0 -0
  296. /package/dist/shared/{accessories → accessory}/characteristic/SecuritySystemState.js +0 -0
  297. /package/dist/shared/{accessories → accessory}/characteristic/TargetTemperature.js +0 -0
  298. /package/dist/shared/{accessories → accessory}/characteristic/TemperatureDisplayUnits.js +0 -0
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
+ /* eslint-disable max-len */
2
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
5
  };
5
6
  Object.defineProperty(exports, "__esModule", { value: true });
6
7
  exports.LOGIN_ERROR_MESSAGES = void 0;
7
- /* eslint-disable max-len */
8
- /* eslint-disable @typescript-eslint/no-empty-function */
9
- /* eslint-disable @typescript-eslint/no-unused-vars */
10
8
  const https_1 = __importDefault(require("https"));
11
9
  const crypto_1 = __importDefault(require("crypto"));
12
10
  const util_1 = require("../../shared/util/util");
13
- // eslint-disable-next-line
11
+ const dns_1 = __importDefault(require("dns"));
14
12
  // @ts-ignore
15
13
  const package_json_1 = require("../../../package.json");
16
14
  const Logger_1 = require("../../shared/util/Logger");
@@ -50,19 +48,28 @@ const API_ERROR_MESSAGES = {
50
48
  28841101: API_NOT_SUBSCRIBED_ERROR,
51
49
  28841105: API_NOT_SUBSCRIBED_ERROR,
52
50
  };
51
+ const ipv4Agent = new https_1.default.Agent({
52
+ family: 4,
53
+ lookup: (hostname, options, callback) => {
54
+ // Node v24 の multi-family 接続を避け、IPv4 のみ解決
55
+ return dns_1.default.lookup(hostname, { family: 4 }, callback);
56
+ },
57
+ });
53
58
  class TuyaOpenAPI {
54
59
  static { this.Endpoints = Endpoints; }
55
- constructor(endpoint, accessId, accessKey, log = console, lang = 'en', debug = false) {
60
+ constructor(endpoint, accessId, accessKey, lang = 'en', debug = false, forceIPv4 = false) {
56
61
  this.endpoint = endpoint;
57
62
  this.accessId = accessId;
58
63
  this.accessKey = accessKey;
59
- this.log = log;
60
64
  this.lang = lang;
61
65
  this.debug = debug;
66
+ this.forceIPv4 = forceIPv4;
62
67
  this.assetIDArr = [];
63
68
  this.deviceArr = [];
64
69
  this.tokenInfo = { access_token: '', refresh_token: '', uid: '', expire: 0 };
65
- this.log = new Logger_1.PrefixLogger(log, TuyaOpenAPI.name, debug);
70
+ this.loginInfo = null;
71
+ this.tokenRecoveryCount = 0;
72
+ this.log = new Logger_1.PrefixLogger((0, Logger_1.logger)(), TuyaOpenAPI.name, debug);
66
73
  }
67
74
  static getDefaultEndpoint(countryCode) {
68
75
  for (const endpoint of Object.keys(DEFAULT_ENDPOINTS)) {
@@ -96,11 +103,26 @@ class TuyaOpenAPI {
96
103
  return;
97
104
  }
98
105
  this.log.debug('Refreshing access_token');
106
+ const refreshStart = Date.now();
99
107
  const res = await this.get(`/v1.0/token/${this.tokenInfo.refresh_token}`);
100
- if (res.success === false) {
101
- this.log.error('Refresh access_token failed. code = %s, msg = %s', res.code, res.msg);
108
+ const refreshElapsed = Date.now() - refreshStart;
109
+ if (!res.success) {
110
+ this.log.warn('Token refresh failed after %d ms (code=%s, msg=%s)', refreshElapsed, res.code, res.msg);
111
+ if (res.code === 1010 && this.loginInfo) {
112
+ this.log.warn('Refresh token rejected by Tuya (1010). Performing full Smart Home login.');
113
+ const reloginStart = Date.now();
114
+ const relogin = await this.homeLogin(this.loginInfo.countryCode, this.loginInfo.username, this.loginInfo.password, this.loginInfo.appSchema);
115
+ const reloginElapsed = Date.now() - reloginStart;
116
+ if (relogin.success) {
117
+ this.tokenRecoveryCount++;
118
+ this.log.warn('Recovered from expired token by re-authenticating (recovery #%d) in %d ms.', this.tokenRecoveryCount, reloginElapsed);
119
+ return;
120
+ }
121
+ this.log.error('Smart Home re-login failed after %d ms (code=%s, msg=%s)', reloginElapsed, relogin.code, relogin.msg);
122
+ }
102
123
  return;
103
124
  }
125
+ this.log.info('Access token refreshed successfully in %d ms.', refreshElapsed);
104
126
  const { access_token, refresh_token, uid, expire_time } = res.result;
105
127
  this.tokenInfo = {
106
128
  access_token: access_token,
@@ -137,6 +159,7 @@ class TuyaOpenAPI {
137
159
  * @returns
138
160
  */
139
161
  async homeLogin(countryCode, username, password, appSchema) {
162
+ this.loginInfo = { countryCode, username, password, appSchema };
140
163
  if (this._isSaltedPassword(password)) {
141
164
  this.log.info('Login with md5 salted password.');
142
165
  }
@@ -211,62 +234,87 @@ class TuyaOpenAPI {
211
234
  return res;
212
235
  }
213
236
  async request(method, path, params, body) {
214
- await this._refreshAccessTokenIfNeed(path);
215
- const now = new Date().getTime();
216
- const nonce = (0, util_1.generateUUID)();
217
- const accessToken = this.tokenInfo.access_token || '';
218
- const stringToSign = this._getStringToSign(method, path, params, body);
219
- const headers = {
220
- 't': `${now}`,
221
- 'client_id': this.accessId,
222
- 'nonce': nonce,
223
- 'Signature-Headers': 'client_id',
224
- 'sign': this._getSign(this.accessId, this.accessKey, this.isTokenManagementAPI(path) ? '' : this.tokenInfo.access_token, now, nonce, stringToSign),
225
- 'sign_method': 'HMAC-SHA256',
226
- 'access_token': accessToken,
227
- 'lang': this.lang,
228
- 'dev_lang': 'javascript',
229
- 'dev_channel': 'homebridge',
230
- 'devVersion': package_json_1.version,
231
- };
232
- this.log.debug('Request:\nmethod = %s\nendpoint = %s\npath = %s\nquery = %s\nheaders = %s\nbody = %s', method, this.endpoint, path, JSON.stringify(params, null, 2), JSON.stringify(headers, null, 2), JSON.stringify(body, null, 2));
233
- if (params) {
234
- path += '?' + new URLSearchParams(params).toString();
235
- }
236
- const res = await (0, util_1.retry)(async () => new Promise((resolve, reject) => {
237
- const req = https_1.default.request({
238
- host: new URL(this.endpoint).host,
239
- method,
240
- headers,
241
- path,
242
- }, res => {
243
- if (res.statusCode !== 200) {
244
- this.log.warn('Status: %d %s', res.statusCode, res.statusMessage);
245
- return;
237
+ try {
238
+ await this._refreshAccessTokenIfNeed(path);
239
+ const now = new Date().getTime();
240
+ const nonce = (0, util_1.generateUUID)();
241
+ const accessToken = this.tokenInfo.access_token || '';
242
+ const stringToSign = this._getStringToSign(method, path, params, body);
243
+ const headers = {
244
+ 't': `${now}`,
245
+ 'client_id': this.accessId,
246
+ 'nonce': nonce,
247
+ 'Signature-Headers': 'client_id',
248
+ 'sign': this._getSign(this.accessId, this.accessKey, this.isTokenManagementAPI(path) ? '' : this.tokenInfo.access_token, now, nonce, stringToSign),
249
+ 'sign_method': 'HMAC-SHA256',
250
+ 'access_token': accessToken,
251
+ 'lang': this.lang,
252
+ 'dev_lang': 'javascript',
253
+ 'dev_channel': 'homebridge',
254
+ 'devVersion': package_json_1.version,
255
+ };
256
+ this.log.debug('Request:\nmethod = %s\nendpoint = %s\npath = %s\nquery = %s\nheaders = %s\nbody = %s', method, this.endpoint, path, JSON.stringify(params, null, 2), JSON.stringify(headers, null, 2), JSON.stringify(body, null, 2));
257
+ if (params) {
258
+ path += '?' + new URLSearchParams(params).toString();
259
+ }
260
+ const res = await (0, util_1.retry)(async () => new Promise((resolve, reject) => {
261
+ const requestOptions = {
262
+ host: new URL(this.endpoint).host,
263
+ method,
264
+ headers,
265
+ path,
266
+ };
267
+ if (this.forceIPv4) {
268
+ this.log.debug('forcing ipv4 connection');
269
+ requestOptions['agent'] = ipv4Agent;
246
270
  }
247
- res.setEncoding('utf8');
248
- let rawData = '';
249
- res.on('data', (chunk) => {
250
- rawData += chunk;
271
+ const req = https_1.default.request(requestOptions, res => {
272
+ if (res.statusCode !== 200) {
273
+ this.log.warn('Status: %d %s', res.statusCode, res.statusMessage);
274
+ return;
275
+ }
276
+ res.setEncoding('utf8');
277
+ let rawData = '';
278
+ res.on('data', (chunk) => {
279
+ rawData += chunk;
280
+ });
281
+ res.on('end', () => {
282
+ resolve(JSON.parse(rawData));
283
+ });
251
284
  });
252
- res.on('end', () => {
253
- resolve(JSON.parse(rawData));
285
+ if (body) {
286
+ req.write(JSON.stringify(body));
287
+ }
288
+ req.on('error', e => {
289
+ this.log.error('Network error: %s. Retrying...', e.message);
290
+ reject(e);
254
291
  });
255
- });
256
- if (body) {
257
- req.write(JSON.stringify(body));
292
+ req.end();
293
+ }), { retriesMax: 10, interval: 100, exponential: true, factor: 2, jitter: 100 });
294
+ this.log.debug('Response:\npath = %s\ndata = %s', path, JSON.stringify(res, null, 2));
295
+ if (res && res.success !== true && API_ERROR_MESSAGES[res.code]) {
296
+ this.log.error(API_ERROR_MESSAGES[res.code]);
258
297
  }
259
- req.on('error', e => {
260
- this.log.error('Network error: %s. Retrying...', e.message);
261
- reject(e);
262
- });
263
- req.end();
264
- }), { retriesMax: 10, interval: 100, exponential: true, factor: 2, jitter: 100 });
265
- this.log.debug('Response:\npath = %s\ndata = %s', path, JSON.stringify(res, null, 2));
266
- if (res && res.success !== true && API_ERROR_MESSAGES[res.code]) {
267
- this.log.error(API_ERROR_MESSAGES[res.code]);
298
+ return res;
299
+ }
300
+ catch (err) {
301
+ this.log.error('Request failed:', err);
302
+ // name
303
+ this.log.error('Error name:', err?.name ?? '(no name)');
304
+ // message
305
+ this.log.error('Error message:', err?.message ?? '(no message)');
306
+ // code (ETIMEDOUT など)
307
+ this.log.error('Error code:', err?.code ?? '(no code)');
308
+ // stack
309
+ this.log.error('Stack:', err?.stack ?? '(no stack)');
310
+ // HTTP クライアントが返すレスポンス
311
+ if (err?.response) {
312
+ this.log.error('Response status:', err.response.status);
313
+ this.log.error('Response data:', JSON.stringify(err.response.data));
314
+ }
315
+ this.log.error(`method:${method}, path:${path}, params:${params}, body:${body}`);
316
+ return { success: false, result: { undefined }, code: 200, msg: 'error', t: new Date().getTime(), tid: String(err) };
268
317
  }
269
- return res;
270
318
  }
271
319
  /**
272
320
  * Get device details including local_key and IP address
@@ -1 +1 @@
1
- {"version":3,"file":"TuyaOpenAPI.js","sourceRoot":"","sources":["../../../src/cloud/api/TuyaOpenAPI.ts"],"names":[],"mappings":";;;;;;AAAA,4BAA4B;AAC5B,yDAAyD;AACzD,sDAAsD;AACtD,kDAA0B;AAC1B,oDAA4B;AAC5B,iDAA6D;AAE7D,2BAA2B;AAC3B,aAAa;AACb,wDAAgD;AAEhD,qDAAgE;AAEhE,IAAK,SAOJ;AAPD,WAAK,SAAS;IACZ,mDAAsC,CAAA;IACtC,6DAAgD,CAAA;IAChD,iDAAoC,CAAA;IACpC,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,iDAAoC,CAAA;AACtC,CAAC,EAPI,SAAS,KAAT,SAAS,QAOb;AAED,MAAM,iBAAiB,GAAG;IACxB,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;IACjR,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG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"}
1
+ {"version":3,"file":"TuyaOpenAPI.js","sourceRoot":"","sources":["../../../src/cloud/api/TuyaOpenAPI.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;;;;AAG5B,kDAA0B;AAC1B,oDAA4B;AAC5B,iDAA6D;AAC7D,8CAAsB;AAGtB,aAAa;AACb,wDAAgD;AAEhD,qDAA0E;AAE1E,IAAK,SAOJ;AAPD,WAAK,SAAS;IACZ,mDAAsC,CAAA;IACtC,6DAAgD,CAAA;IAChD,iDAAoC,CAAA;IACpC,kDAAqC,CAAA;IACrC,4DAA+C,CAAA;IAC/C,iDAAoC,CAAA;AACtC,CAAC,EAPI,SAAS,KAAT,SAAS,QAOb;AAED,MAAM,iBAAiB,GAAG;IACxB,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;IACjR,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClC,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC13B,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;CACnC,CAAC;AAEW,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,+DAA+D;IACrE,IAAI,EAAE,4HAA4H;IAClI,IAAI,EAAE,+DAA+D;IACrE,IAAI,EAAE,gCAAgC;IACtC,IAAI,EAAE,uIAAuI;CAC9I,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;CAOhC,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,IAAI,EAAE,qHAAqH;IAC3H,QAAQ,EAAE,mFAAmF;IAC7F,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,wBAAwB;CACnC,CAAC;AAmBF,MAAM,SAAS,GAAG,IAAI,eAAK,CAAC,KAAK,CAAC;IAChC,MAAM,EAAE,CAAC;IACT,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE;QACtC,0CAA0C;QAC1C,OAAO,aAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;CACF,CAAC,CAAC;AAIH,MAAqB,WAAW;aAEd,cAAS,GAAG,SAAS,AAAZ,CAAa;IAUtC,YACS,QAA4B,EAC5B,QAAgB,EAChB,SAAiB,EACjB,OAAO,IAAI,EACX,QAAQ,KAAK,EACb,YAAY,KAAK;QALjB,aAAQ,GAAR,QAAQ,CAAoB;QAC5B,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;QACjB,SAAI,GAAJ,IAAI,CAAO;QACX,UAAK,GAAL,KAAK,CAAQ;QACb,cAAS,GAAT,SAAS,CAAQ;QAbnB,eAAU,GAAkB,EAAE,CAAC;QAC/B,cAAS,GAAkB,EAAE,CAAC;QAE9B,cAAS,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACxE,cAAS,GAA0F,IAAI,CAAC;QACxG,uBAAkB,GAAG,CAAC,CAAC;QAU5B,IAAI,CAAC,GAAG,GAAG,IAAI,qBAAY,CAAC,IAAA,eAAM,GAAE,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,WAAmB;QAC3C,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtD,MAAM,eAAe,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACpD,IAAI,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1C,OAAkB,QAAQ,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,oBAAoB,CAAC,IAAY;QAC/B,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,IAAY;QAC1C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oDAAoD,EAAE,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;YACvG,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;gBAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAClC,IAAI,CAAC,SAAS,CAAC,WAAW,EAC1B,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,SAAS,CAAC,QAAQ,EACvB,IAAI,CAAC,SAAS,CAAC,SAAS,CACzB,CAAC;gBACF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;gBACjD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC1B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4EAA4E,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;oBACrI,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,0DAA0D,EAAE,cAAc,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;YACxH,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,+CAA+C,EAAE,cAAc,CAAC,CAAC;QAC/E,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG;YACf,YAAY,EAAE,YAAY;YAC1B,aAAa,EAAE,aAAa;YAC5B,GAAG,EAAE,GAAG;YACR,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;SAClD,CAAC;IAEJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YACrE,IAAI,CAAC,SAAS,GAAG;gBACf,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;aAClD,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CAAC,WAAmB,EAAE,QAAgB,EAAE,QAAgB,EAAE,SAAiB;QACxF,IAAI,CAAC,SAAS,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QAEhE,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7C,IAAI,CAAC,SAAS,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,wDAAwD,EAAE;YACpF,YAAY,EAAE,WAAW;YACzB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YACnF,IAAI,CAAC,QAAQ,GAAG,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC9C,IAAI,CAAC,SAAS,GAAG;gBACf,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;aAClD,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QAC7D,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB,EAAE,QAAgB,EAAE,YAAY,GAAG,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAChD,QAAQ;YACR,QAAQ,EAAE,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACpE,YAAY;SACb,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,QAAgB;QAClD,IAAI,CAAC,SAAS,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACtD,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACrE,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;YAChE,IAAI,CAAC,SAAS,GAAG;gBACf,YAAY,EAAE,YAAY;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,GAAG,EAAE,GAAG;gBACR,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;aAC7C,CAAC;QACJ,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,IAAY,EAAE,MAAO,EAAE,IAAK;QACxD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YAE3C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAA,mBAAY,GAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC;YACtD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG;gBACd,GAAG,EAAE,GAAG,GAAG,EAAE;gBACb,WAAW,EAAE,IAAI,CAAC,QAAQ;gBAC1B,OAAO,EAAE,KAAK;gBACd,mBAAmB,EAAE,WAAW;gBAChC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC;gBAClJ,aAAa,EAAE,aAAa;gBAC5B,cAAc,EAAE,WAAW;gBAC3B,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,UAAU,EAAE,YAAY;gBACxB,aAAa,EAAE,YAAY;gBAC3B,YAAY,EAAE,sBAAO;aACtB,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,sFAAsF,EACnG,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjI,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,IAAI,GAAG,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YACvD,CAAC;YAED,MAAM,GAAG,GAAwB,MAAM,IAAA,YAAK,EAAC,KAAK,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvF,MAAM,cAAc,GAAG;oBACrB,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI;oBACjC,MAAM;oBACN,OAAO;oBACP,IAAI;iBACL,CAAC;gBACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC1C,cAAc,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;gBACtC,CAAC;gBACD,MAAM,GAAG,GAAG,eAAK,CAAC,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC,EAAE;oBAC9C,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;wBAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;wBAClE,OAAO;oBACT,CAAC;oBACD,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;oBACxB,IAAI,OAAO,GAAG,EAAE,CAAC;oBACjB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;wBACvB,OAAO,IAAI,KAAK,CAAC;oBACnB,CAAC,CAAC,CAAC;oBACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACjB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,EAAE,CAAC;oBACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClC,CAAC;gBAED,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;oBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;oBAC5D,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC,CAAC,CAAC;gBACH,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YAElF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtF,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,GAAO,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;YAEvC,OAAO;YACP,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC;YAExD,UAAU;YACV,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,OAAO,IAAI,cAAc,CAAC,CAAC;YAEjE,sBAAsB;YACtB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,IAAI,WAAW,CAAC,CAAC;YAExD,QAAQ;YACR,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,IAAI,YAAY,CAAC,CAAC;YAErD,sBAAsB;YACtB,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,MAAM,UAAU,IAAI,YAAY,MAAM,UAAU,IAAI,EAAE,CAAC,CAAC;YACjF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAC,SAAS,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAA;QACpH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;QAC5D,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY,EAAE,MAAO;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,MAAO;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,MAAO;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ,CAAC,QAAgB,EAAE,SAAiB,EAAE,WAAW,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,KAAa,EAAE,YAAoB;QAChH,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjF,MAAM,IAAI,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,IAAY,EAAE,MAAM,EAAE,IAAI;QACzD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,gBAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,aAAa,IAAI,CAAC,QAAQ,IAAI,CAAC;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,MAAM;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtD,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAEtC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,iBAAiB,CAAC,QAAgB;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC;IACpD,CAAC;;AA7WH,8BA+WC"}
@@ -7,18 +7,18 @@ const mqtt_1 = __importDefault(require("mqtt"));
7
7
  const crypto_1 = require("crypto");
8
8
  const Logger_1 = require("../../shared/util/Logger");
9
9
  const util_1 = require("../../shared/util/util");
10
+ const dns_1 = __importDefault(require("dns"));
10
11
  const GCM_TAG_LENGTH = 16;
11
12
  class TuyaOpenMQ {
12
- constructor(api, log = new Logger_1.PrefixLogger(console, 'console', false), debug = false) {
13
+ constructor(api, debug = false, forceIPv4 = api.forceIPv4) {
13
14
  this.api = api;
14
- this.log = log;
15
15
  this.debug = debug;
16
+ this.forceIPv4 = forceIPv4;
16
17
  this.version = '1.0';
17
18
  this.messageListeners = new Set();
18
19
  this.linkId = (0, util_1.generateUUID)();
19
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
20
  this.consumedQueue = [];
21
- this.log = new Logger_1.PrefixLogger(log, TuyaOpenMQ.name, debug);
21
+ this.log = new Logger_1.PrefixLogger((0, Logger_1.logger)(), TuyaOpenMQ.name, debug);
22
22
  }
23
23
  start() {
24
24
  this._connect();
@@ -26,54 +26,78 @@ class TuyaOpenMQ {
26
26
  stop() {
27
27
  if (this.timer) {
28
28
  clearTimeout(this.timer);
29
+ this.timer = undefined;
29
30
  }
30
31
  if (this.client) {
31
32
  this.client.removeAllListeners();
32
- this.client.end();
33
+ this.client.end(true);
34
+ this.client = undefined;
33
35
  }
34
36
  }
35
37
  async _connect() {
36
38
  this.stop();
37
39
  const res = await this._getMQConfig('mqtt');
38
- if (res.success === false) {
40
+ if (!res.success) {
39
41
  this.log.warn('Get MQTT config failed. code = %s, msg = %s', res.code, res.msg);
40
42
  return;
41
43
  }
42
- const { url, client_id, username, password, expire_time, source_topic } = res.result;
44
+ this.log.success('MQTT config retrieved.');
45
+ const { url, client_id, username, password, expire_time } = res.result;
43
46
  this.log.debug('Connecting to:', url);
44
- const client = mqtt_1.default.connect(url, {
47
+ const clientOptions = {
45
48
  clientId: client_id,
46
49
  username: username,
47
50
  password: password,
48
- });
51
+ keepalive: 300,
52
+ reconnectPeriod: 5000,
53
+ };
54
+ if (this.forceIPv4) {
55
+ this.log.debug('forcing ipv4 connection');
56
+ clientOptions['family'] = 4;
57
+ clientOptions['lookup'] = (hostname, options, callback) => {
58
+ // Node v24 の multi-family 接続を避け、IPv4 のみ解決
59
+ return dns_1.default.lookup(hostname, { family: 4 }, callback);
60
+ };
61
+ }
62
+ const client = mqtt_1.default.connect(url, clientOptions);
49
63
  client.on('connect', this._onConnect.bind(this));
50
64
  client.on('error', this._onError.bind(this));
51
65
  client.on('end', this._onEnd.bind(this));
52
66
  client.on('message', this._onMessage.bind(this));
53
- client.subscribe(source_topic.device);
54
67
  this.client = client;
55
68
  this.config = res.result;
56
- // reconnect every 2 hours required
69
+ // Reconnect before the token expires.
57
70
  this.timer = setTimeout(this._connect.bind(this), (expire_time - 60) * 1000);
58
71
  }
59
72
  async _getMQConfig(linkType) {
60
- const res = await this.api.post('/v1.0/iot-03/open-hub/access-config', {
61
- 'uid': this.api.tokenInfo.uid,
62
- 'link_id': this.linkId,
63
- 'link_type': linkType,
64
- 'topics': 'device',
65
- 'msg_encrypted_version': this.version,
73
+ return await this.api.post('/v1.0/iot-03/open-hub/access-config', {
74
+ uid: this.api.tokenInfo.uid,
75
+ link_id: this.linkId,
76
+ link_type: linkType,
77
+ topics: 'device',
78
+ msg_encrypted_version: this.version,
66
79
  });
67
- return res;
68
80
  }
69
81
  _onConnect() {
70
82
  this.log.debug('Connected');
83
+ if (!this.client || !this.config) {
84
+ return;
85
+ }
86
+ this.client.subscribe(this.config.source_topic.device, (err) => {
87
+ if (err) {
88
+ this.log.error('Subscribe error:', err);
89
+ }
90
+ });
71
91
  }
72
92
  _onError(error) {
73
- this.log.error('Error:', error);
93
+ this.log.error('MQTT Error:', error);
94
+ if (this.client) {
95
+ this.client.end(true);
96
+ }
74
97
  }
75
98
  _onEnd() {
76
- this.log.debug('End');
99
+ this.log.warn('MQTT connection ended. Reconnecting...');
100
+ setTimeout(() => this._connect(), 3000);
77
101
  }
78
102
  async _onMessage(topic, payload) {
79
103
  const { protocol, data, t } = JSON.parse(payload.toString());
@@ -94,7 +118,6 @@ class TuyaOpenMQ {
94
118
  return;
95
119
  }
96
120
  const currentPayload = { protocol, message, t };
97
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
98
121
  const lastPayload = this.consumedQueue[this.consumedQueue.length - 1];
99
122
  if (lastPayload && currentPayload.t < lastPayload.t) {
100
123
  this.log.debug('Message received with wrong order.');
@@ -123,7 +146,7 @@ class TuyaOpenMQ {
123
146
  this.consumedQueue.push(currentPayload);
124
147
  while (this.consumedQueue.length > 0) {
125
148
  let t = this.consumedQueue[0].t;
126
- if (t > Math.pow(10, 12)) { // timestamp format always changing, seconds or milliseconds is not certain :(
149
+ if (t > 1e12) {
127
150
  t = t / 1000;
128
151
  }
129
152
  // Remove message older than 30 seconds
@@ -1 +1 @@
1
- {"version":3,"file":"TuyaOpenMQ.js","sourceRoot":"","sources":["../../../src/cloud/api/TuyaOpenMQ.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TuyaOpenMQ.js","sourceRoot":"","sources":["../../../src/cloud/api/TuyaOpenMQ.ts"],"names":[],"mappings":"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"}