@uboness/homebridge-mqtt 0.2.9 → 0.3.0
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.
- package/CHANGELOG.md +14 -0
- package/README.md +3 -2
- package/dist/Availability.js +7 -10
- package/dist/Availability.js.map +1 -1
- package/dist/DeviceTemplate.d.ts +3 -3
- package/dist/DeviceTemplate.d.ts.map +1 -1
- package/dist/DeviceTemplate.js +53 -55
- package/dist/DeviceTemplate.js.map +1 -1
- package/dist/Future.js +8 -12
- package/dist/Future.js.map +1 -1
- package/dist/Logger.js +5 -5
- package/dist/Logger.js.map +1 -1
- package/dist/Mqtt.d.ts +3 -3
- package/dist/Mqtt.d.ts.map +1 -1
- package/dist/Mqtt.js +48 -84
- package/dist/Mqtt.js.map +1 -1
- package/dist/MqttDevice.d.ts +2 -2
- package/dist/MqttDevice.d.ts.map +1 -1
- package/dist/MqttDevice.js +13 -13
- package/dist/MqttDevice.js.map +1 -1
- package/dist/MqttPlatform.d.ts +1 -1
- package/dist/MqttPlatform.d.ts.map +1 -1
- package/dist/MqttPlatform.js +29 -31
- package/dist/MqttPlatform.js.map +1 -1
- package/dist/common.js +21 -40
- package/dist/common.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -5
- package/dist/index.js.map +1 -1
- package/dist/service/AirQualitySensor.js +13 -16
- package/dist/service/AirQualitySensor.js.map +1 -1
- package/dist/service/Battery.js +9 -12
- package/dist/service/Battery.js.map +1 -1
- package/dist/service/Button.js +6 -9
- package/dist/service/Button.js.map +1 -1
- package/dist/service/CO2Sensor.js +9 -12
- package/dist/service/CO2Sensor.js.map +1 -1
- package/dist/service/COSensor.js +9 -12
- package/dist/service/COSensor.js.map +1 -1
- package/dist/service/ContactSensor.js +7 -10
- package/dist/service/ContactSensor.js.map +1 -1
- package/dist/service/Door.js +10 -13
- package/dist/service/Door.js.map +1 -1
- package/dist/service/Doorbell.js +8 -11
- package/dist/service/Doorbell.js.map +1 -1
- package/dist/service/Fan.js +22 -28
- package/dist/service/Fan.js.map +1 -1
- package/dist/service/HeaterCooler.d.ts +1 -1
- package/dist/service/HeaterCooler.d.ts.map +1 -1
- package/dist/service/HeaterCooler.js +15 -18
- package/dist/service/HeaterCooler.js.map +1 -1
- package/dist/service/HumidifierDehumidifier.js +16 -19
- package/dist/service/HumidifierDehumidifier.js.map +1 -1
- package/dist/service/HumiditySensor.d.ts +1 -1
- package/dist/service/HumiditySensor.d.ts.map +1 -1
- package/dist/service/HumiditySensor.js +7 -10
- package/dist/service/HumiditySensor.js.map +1 -1
- package/dist/service/LeakSensor.js +7 -10
- package/dist/service/LeakSensor.js.map +1 -1
- package/dist/service/LightSensor.js +7 -10
- package/dist/service/LightSensor.js.map +1 -1
- package/dist/service/Lightbulb.d.ts +1 -1
- package/dist/service/Lightbulb.d.ts.map +1 -1
- package/dist/service/Lightbulb.js +16 -21
- package/dist/service/Lightbulb.js.map +1 -1
- package/dist/service/LockMechanism.js +9 -12
- package/dist/service/LockMechanism.js.map +1 -1
- package/dist/service/Microphone.js +7 -10
- package/dist/service/Microphone.js.map +1 -1
- package/dist/service/MotionSensor.js +7 -10
- package/dist/service/MotionSensor.js.map +1 -1
- package/dist/service/MqttService.js +1 -2
- package/dist/service/OccupancySensor.js +7 -10
- package/dist/service/OccupancySensor.js.map +1 -1
- package/dist/service/Outlet.js +7 -10
- package/dist/service/Outlet.js.map +1 -1
- package/dist/service/SecuritySystem.js +11 -14
- package/dist/service/SecuritySystem.js.map +1 -1
- package/dist/service/SmokeSensor.js +7 -10
- package/dist/service/SmokeSensor.js.map +1 -1
- package/dist/service/Speaker.js +7 -10
- package/dist/service/Speaker.js.map +1 -1
- package/dist/service/StatefulScene.d.ts +1 -1
- package/dist/service/StatefulScene.d.ts.map +1 -1
- package/dist/service/StatefulScene.js +6 -9
- package/dist/service/StatefulScene.js.map +1 -1
- package/dist/service/StatelessScene.js +6 -9
- package/dist/service/StatelessScene.js.map +1 -1
- package/dist/service/Switch.d.ts +2 -2
- package/dist/service/Switch.d.ts.map +1 -1
- package/dist/service/Switch.js +6 -9
- package/dist/service/Switch.js.map +1 -1
- package/dist/service/TemperatureSensor.js +7 -10
- package/dist/service/TemperatureSensor.js.map +1 -1
- package/dist/service/Thermostat.d.ts.map +1 -1
- package/dist/service/Thermostat.js +24 -29
- package/dist/service/Thermostat.js.map +1 -1
- package/dist/service/Window.js +10 -13
- package/dist/service/Window.js.map +1 -1
- package/dist/service/WindowCovering.d.ts +1 -1
- package/dist/service/WindowCovering.d.ts.map +1 -1
- package/dist/service/WindowCovering.js +25 -31
- package/dist/service/WindowCovering.js.map +1 -1
- package/dist/service/WindowCoveringMomentary.d.ts +1 -1
- package/dist/service/WindowCoveringMomentary.d.ts.map +1 -1
- package/dist/service/WindowCoveringMomentary.js +10 -14
- package/dist/service/WindowCoveringMomentary.js.map +1 -1
- package/dist/service/WindowCoveringTernary.d.ts +1 -1
- package/dist/service/WindowCoveringTernary.d.ts.map +1 -1
- package/dist/service/WindowCoveringTernary.js +16 -20
- package/dist/service/WindowCoveringTernary.js.map +1 -1
- package/dist/service/characteristic/action/Action.d.ts +5 -5
- package/dist/service/characteristic/action/Action.d.ts.map +1 -1
- package/dist/service/characteristic/action/Action.js +6 -9
- package/dist/service/characteristic/action/Action.js.map +1 -1
- package/dist/service/characteristic/action/CommonAction.d.ts +1 -1
- package/dist/service/characteristic/action/CommonAction.d.ts.map +1 -1
- package/dist/service/characteristic/action/CommonAction.js +2 -5
- package/dist/service/characteristic/action/CommonAction.js.map +1 -1
- package/dist/service/characteristic/action/MqttAction.d.ts +1 -1
- package/dist/service/characteristic/action/MqttAction.d.ts.map +1 -1
- package/dist/service/characteristic/action/MqttAction.js +2 -5
- package/dist/service/characteristic/action/MqttAction.js.map +1 -1
- package/dist/service/characteristic/action/index.d.ts +1 -0
- package/dist/service/characteristic/action/index.js +1 -1
- package/dist/service/characteristic/active.d.ts +2 -2
- package/dist/service/characteristic/active.d.ts.map +1 -1
- package/dist/service/characteristic/active.js +2 -5
- package/dist/service/characteristic/active.js.map +1 -1
- package/dist/service/characteristic/airQuality.d.ts +2 -2
- package/dist/service/characteristic/airQuality.d.ts.map +1 -1
- package/dist/service/characteristic/airQuality.js +2 -5
- package/dist/service/characteristic/airQuality.js.map +1 -1
- package/dist/service/characteristic/archetype/BooleanValue.d.ts +1 -1
- package/dist/service/characteristic/archetype/BooleanValue.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/BooleanValue.js +19 -25
- package/dist/service/characteristic/archetype/BooleanValue.js.map +1 -1
- package/dist/service/characteristic/archetype/Converter.js +8 -11
- package/dist/service/characteristic/archetype/Converter.js.map +1 -1
- package/dist/service/characteristic/archetype/EnumValue.d.ts +1 -1
- package/dist/service/characteristic/archetype/EnumValue.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/EnumValue.js +16 -22
- package/dist/service/characteristic/archetype/EnumValue.js.map +1 -1
- package/dist/service/characteristic/archetype/NumericValue.d.ts +1 -1
- package/dist/service/characteristic/archetype/NumericValue.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/NumericValue.js +44 -65
- package/dist/service/characteristic/archetype/NumericValue.js.map +1 -1
- package/dist/service/characteristic/archetype/Signal.d.ts +3 -3
- package/dist/service/characteristic/archetype/Signal.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/Signal.js +9 -14
- package/dist/service/characteristic/archetype/Signal.js.map +1 -1
- package/dist/service/characteristic/archetype/ZeroOneValue.d.ts +1 -1
- package/dist/service/characteristic/archetype/ZeroOneValue.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/ZeroOneValue.js +21 -27
- package/dist/service/characteristic/archetype/ZeroOneValue.js.map +1 -1
- package/dist/service/characteristic/archetype/common.d.ts +1 -1
- package/dist/service/characteristic/archetype/common.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/common.js +13 -19
- package/dist/service/characteristic/archetype/common.js.map +1 -1
- package/dist/service/characteristic/archetype/index.d.ts +7 -7
- package/dist/service/characteristic/archetype/index.d.ts.map +1 -1
- package/dist/service/characteristic/archetype/index.js +7 -23
- package/dist/service/characteristic/archetype/index.js.map +1 -1
- package/dist/service/characteristic/batteryLevel.d.ts +2 -2
- package/dist/service/characteristic/batteryLevel.d.ts.map +1 -1
- package/dist/service/characteristic/batteryLevel.js +2 -5
- package/dist/service/characteristic/batteryLevel.js.map +1 -1
- package/dist/service/characteristic/brightness.d.ts +2 -2
- package/dist/service/characteristic/brightness.d.ts.map +1 -1
- package/dist/service/characteristic/brightness.js +2 -5
- package/dist/service/characteristic/brightness.js.map +1 -1
- package/dist/service/characteristic/carbonDioxideDetected.d.ts +2 -2
- package/dist/service/characteristic/carbonDioxideDetected.d.ts.map +1 -1
- package/dist/service/characteristic/carbonDioxideDetected.js +2 -5
- package/dist/service/characteristic/carbonDioxideDetected.js.map +1 -1
- package/dist/service/characteristic/carbonDioxideLevel.d.ts +2 -2
- package/dist/service/characteristic/carbonDioxideLevel.d.ts.map +1 -1
- package/dist/service/characteristic/carbonDioxideLevel.js +2 -5
- package/dist/service/characteristic/carbonDioxideLevel.js.map +1 -1
- package/dist/service/characteristic/carbonDioxidePeakLevel.d.ts +2 -2
- package/dist/service/characteristic/carbonDioxidePeakLevel.d.ts.map +1 -1
- package/dist/service/characteristic/carbonDioxidePeakLevel.js +2 -5
- package/dist/service/characteristic/carbonDioxidePeakLevel.js.map +1 -1
- package/dist/service/characteristic/carbonMonoxideDetected.d.ts +2 -2
- package/dist/service/characteristic/carbonMonoxideDetected.d.ts.map +1 -1
- package/dist/service/characteristic/carbonMonoxideDetected.js +2 -5
- package/dist/service/characteristic/carbonMonoxideDetected.js.map +1 -1
- package/dist/service/characteristic/carbonMonoxideLevel.d.ts +2 -2
- package/dist/service/characteristic/carbonMonoxideLevel.d.ts.map +1 -1
- package/dist/service/characteristic/carbonMonoxideLevel.js +2 -5
- package/dist/service/characteristic/carbonMonoxideLevel.js.map +1 -1
- package/dist/service/characteristic/carbonMonoxidePeakLevel.d.ts +2 -2
- package/dist/service/characteristic/carbonMonoxidePeakLevel.d.ts.map +1 -1
- package/dist/service/characteristic/carbonMonoxidePeakLevel.js +2 -5
- package/dist/service/characteristic/carbonMonoxidePeakLevel.js.map +1 -1
- package/dist/service/characteristic/chargingState.d.ts +1 -1
- package/dist/service/characteristic/chargingState.d.ts.map +1 -1
- package/dist/service/characteristic/chargingState.js +4 -9
- package/dist/service/characteristic/chargingState.js.map +1 -1
- package/dist/service/characteristic/closeSignal.d.ts +2 -2
- package/dist/service/characteristic/closeSignal.d.ts.map +1 -1
- package/dist/service/characteristic/closeSignal.js +2 -5
- package/dist/service/characteristic/closeSignal.js.map +1 -1
- package/dist/service/characteristic/colorTemperature.d.ts +2 -2
- package/dist/service/characteristic/colorTemperature.d.ts.map +1 -1
- package/dist/service/characteristic/colorTemperature.js +3 -6
- package/dist/service/characteristic/colorTemperature.js.map +1 -1
- package/dist/service/characteristic/contactSensorState.d.ts +2 -2
- package/dist/service/characteristic/contactSensorState.d.ts.map +1 -1
- package/dist/service/characteristic/contactSensorState.js +2 -5
- package/dist/service/characteristic/contactSensorState.js.map +1 -1
- package/dist/service/characteristic/coolingThresholdTemperature.d.ts +2 -2
- package/dist/service/characteristic/coolingThresholdTemperature.d.ts.map +1 -1
- package/dist/service/characteristic/coolingThresholdTemperature.js +8 -14
- package/dist/service/characteristic/coolingThresholdTemperature.js.map +1 -1
- package/dist/service/characteristic/currentAmbientLightLevel.d.ts +2 -2
- package/dist/service/characteristic/currentAmbientLightLevel.d.ts.map +1 -1
- package/dist/service/characteristic/currentAmbientLightLevel.js +3 -6
- package/dist/service/characteristic/currentAmbientLightLevel.js.map +1 -1
- package/dist/service/characteristic/currentFanState.js +2 -5
- package/dist/service/characteristic/currentFanState.js.map +1 -1
- package/dist/service/characteristic/currentHeaterCoolerState.d.ts +2 -2
- package/dist/service/characteristic/currentHeaterCoolerState.d.ts.map +1 -1
- package/dist/service/characteristic/currentHeaterCoolerState.js +2 -5
- package/dist/service/characteristic/currentHeaterCoolerState.js.map +1 -1
- package/dist/service/characteristic/currentHeatingCoolingState.js +2 -5
- package/dist/service/characteristic/currentHeatingCoolingState.js.map +1 -1
- package/dist/service/characteristic/currentHorizontalTiltAngle.js +2 -5
- package/dist/service/characteristic/currentHorizontalTiltAngle.js.map +1 -1
- package/dist/service/characteristic/currentHumidifierDehumidifierState.js +2 -5
- package/dist/service/characteristic/currentHumidifierDehumidifierState.js.map +1 -1
- package/dist/service/characteristic/currentPosition.js +6 -12
- package/dist/service/characteristic/currentPosition.js.map +1 -1
- package/dist/service/characteristic/currentRelativeHumidity.d.ts +2 -2
- package/dist/service/characteristic/currentRelativeHumidity.d.ts.map +1 -1
- package/dist/service/characteristic/currentRelativeHumidity.js +2 -5
- package/dist/service/characteristic/currentRelativeHumidity.js.map +1 -1
- package/dist/service/characteristic/currentTemperature.js +8 -14
- package/dist/service/characteristic/currentTemperature.js.map +1 -1
- package/dist/service/characteristic/currentVerticalTiltAngle.d.ts +2 -2
- package/dist/service/characteristic/currentVerticalTiltAngle.d.ts.map +1 -1
- package/dist/service/characteristic/currentVerticalTiltAngle.js +2 -5
- package/dist/service/characteristic/currentVerticalTiltAngle.js.map +1 -1
- package/dist/service/characteristic/faultMessage.js +6 -12
- package/dist/service/characteristic/faultMessage.js.map +1 -1
- package/dist/service/characteristic/heatingThresholdTemperature.js +8 -14
- package/dist/service/characteristic/heatingThresholdTemperature.js.map +1 -1
- package/dist/service/characteristic/holdPosition.js +8 -13
- package/dist/service/characteristic/holdPosition.js.map +1 -1
- package/dist/service/characteristic/hue.js +3 -6
- package/dist/service/characteristic/hue.js.map +1 -1
- package/dist/service/characteristic/index.d.ts +9 -9
- package/dist/service/characteristic/index.d.ts.map +1 -1
- package/dist/service/characteristic/index.js +79 -97
- package/dist/service/characteristic/index.js.map +1 -1
- package/dist/service/characteristic/leakDetected.d.ts +2 -2
- package/dist/service/characteristic/leakDetected.d.ts.map +1 -1
- package/dist/service/characteristic/leakDetected.js +2 -5
- package/dist/service/characteristic/leakDetected.js.map +1 -1
- package/dist/service/characteristic/lockCurrentState.js +2 -5
- package/dist/service/characteristic/lockCurrentState.js.map +1 -1
- package/dist/service/characteristic/lockPhysicalControls.d.ts +2 -2
- package/dist/service/characteristic/lockPhysicalControls.d.ts.map +1 -1
- package/dist/service/characteristic/lockPhysicalControls.js +2 -5
- package/dist/service/characteristic/lockPhysicalControls.js.map +1 -1
- package/dist/service/characteristic/lockTargetState.d.ts +2 -2
- package/dist/service/characteristic/lockTargetState.d.ts.map +1 -1
- package/dist/service/characteristic/lockTargetState.js +2 -5
- package/dist/service/characteristic/lockTargetState.js.map +1 -1
- package/dist/service/characteristic/momentaryOn.d.ts +2 -1
- package/dist/service/characteristic/momentaryOn.d.ts.map +1 -1
- package/dist/service/characteristic/momentaryOn.js +18 -17
- package/dist/service/characteristic/momentaryOn.js.map +1 -1
- package/dist/service/characteristic/motionDetected.d.ts +2 -2
- package/dist/service/characteristic/motionDetected.d.ts.map +1 -1
- package/dist/service/characteristic/motionDetected.js +2 -5
- package/dist/service/characteristic/motionDetected.js.map +1 -1
- package/dist/service/characteristic/mqttBridge.d.ts +1 -1
- package/dist/service/characteristic/mqttBridge.d.ts.map +1 -1
- package/dist/service/characteristic/mqttBridge.js +2 -7
- package/dist/service/characteristic/mqttBridge.js.map +1 -1
- package/dist/service/characteristic/mqttOnline.js +2 -7
- package/dist/service/characteristic/mqttOnline.js.map +1 -1
- package/dist/service/characteristic/mute.js +2 -5
- package/dist/service/characteristic/mute.js.map +1 -1
- package/dist/service/characteristic/no2Density.js +2 -5
- package/dist/service/characteristic/no2Density.js.map +1 -1
- package/dist/service/characteristic/obstructionDetected.js +2 -5
- package/dist/service/characteristic/obstructionDetected.js.map +1 -1
- package/dist/service/characteristic/occupancyDetected.d.ts +2 -2
- package/dist/service/characteristic/occupancyDetected.d.ts.map +1 -1
- package/dist/service/characteristic/occupancyDetected.js +2 -5
- package/dist/service/characteristic/occupancyDetected.js.map +1 -1
- package/dist/service/characteristic/on.d.ts +2 -2
- package/dist/service/characteristic/on.d.ts.map +1 -1
- package/dist/service/characteristic/on.js +2 -5
- package/dist/service/characteristic/on.js.map +1 -1
- package/dist/service/characteristic/openSignal.d.ts +2 -2
- package/dist/service/characteristic/openSignal.d.ts.map +1 -1
- package/dist/service/characteristic/openSignal.js +2 -5
- package/dist/service/characteristic/openSignal.js.map +1 -1
- package/dist/service/characteristic/outletInUse.js +2 -5
- package/dist/service/characteristic/outletInUse.js.map +1 -1
- package/dist/service/characteristic/ozoneDensity.js +2 -5
- package/dist/service/characteristic/ozoneDensity.js.map +1 -1
- package/dist/service/characteristic/pm10Density.js +2 -5
- package/dist/service/characteristic/pm10Density.js.map +1 -1
- package/dist/service/characteristic/pm25Density.js +2 -5
- package/dist/service/characteristic/pm25Density.js.map +1 -1
- package/dist/service/characteristic/positionState.d.ts +2 -2
- package/dist/service/characteristic/positionState.d.ts.map +1 -1
- package/dist/service/characteristic/positionState.js +2 -5
- package/dist/service/characteristic/positionState.js.map +1 -1
- package/dist/service/characteristic/programmableSwitchEvent.js +9 -15
- package/dist/service/characteristic/programmableSwitchEvent.js.map +1 -1
- package/dist/service/characteristic/relativeHumidityDehumidifierThreshold.js +2 -5
- package/dist/service/characteristic/relativeHumidityDehumidifierThreshold.js.map +1 -1
- package/dist/service/characteristic/relativeHumidityHumidifierThreshold.js +2 -5
- package/dist/service/characteristic/relativeHumidityHumidifierThreshold.js.map +1 -1
- package/dist/service/characteristic/rotationDirection.d.ts +2 -2
- package/dist/service/characteristic/rotationDirection.d.ts.map +1 -1
- package/dist/service/characteristic/rotationDirection.js +2 -5
- package/dist/service/characteristic/rotationDirection.js.map +1 -1
- package/dist/service/characteristic/rotationSpeed.d.ts +1 -1
- package/dist/service/characteristic/rotationSpeed.d.ts.map +1 -1
- package/dist/service/characteristic/rotationSpeed.js +13 -20
- package/dist/service/characteristic/rotationSpeed.js.map +1 -1
- package/dist/service/characteristic/saturation.js +2 -5
- package/dist/service/characteristic/saturation.js.map +1 -1
- package/dist/service/characteristic/securitySystemAlarmType.js +8 -14
- package/dist/service/characteristic/securitySystemAlarmType.js.map +1 -1
- package/dist/service/characteristic/securitySystemCurrentState.js +2 -5
- package/dist/service/characteristic/securitySystemCurrentState.js.map +1 -1
- package/dist/service/characteristic/securitySystemTargetState.js +2 -5
- package/dist/service/characteristic/securitySystemTargetState.js.map +1 -1
- package/dist/service/characteristic/smokeDetected.d.ts +2 -2
- package/dist/service/characteristic/smokeDetected.d.ts.map +1 -1
- package/dist/service/characteristic/smokeDetected.js +2 -5
- package/dist/service/characteristic/smokeDetected.js.map +1 -1
- package/dist/service/characteristic/so2Density.d.ts +2 -2
- package/dist/service/characteristic/so2Density.d.ts.map +1 -1
- package/dist/service/characteristic/so2Density.js +2 -5
- package/dist/service/characteristic/so2Density.js.map +1 -1
- package/dist/service/characteristic/statusFault.d.ts +2 -2
- package/dist/service/characteristic/statusFault.d.ts.map +1 -1
- package/dist/service/characteristic/statusFault.js +2 -5
- package/dist/service/characteristic/statusFault.js.map +1 -1
- package/dist/service/characteristic/statusLowBattery.d.ts +2 -2
- package/dist/service/characteristic/statusLowBattery.d.ts.map +1 -1
- package/dist/service/characteristic/statusLowBattery.js +2 -5
- package/dist/service/characteristic/statusLowBattery.js.map +1 -1
- package/dist/service/characteristic/statusTampered.d.ts +2 -2
- package/dist/service/characteristic/statusTampered.d.ts.map +1 -1
- package/dist/service/characteristic/statusTampered.js +2 -5
- package/dist/service/characteristic/statusTampered.js.map +1 -1
- package/dist/service/characteristic/stickyOn.js +10 -15
- package/dist/service/characteristic/stickyOn.js.map +1 -1
- package/dist/service/characteristic/swingMode.d.ts +2 -2
- package/dist/service/characteristic/swingMode.d.ts.map +1 -1
- package/dist/service/characteristic/swingMode.js +2 -5
- package/dist/service/characteristic/swingMode.js.map +1 -1
- package/dist/service/characteristic/targetFanState.d.ts +2 -2
- package/dist/service/characteristic/targetFanState.d.ts.map +1 -1
- package/dist/service/characteristic/targetFanState.js +2 -5
- package/dist/service/characteristic/targetFanState.js.map +1 -1
- package/dist/service/characteristic/targetHeaterCoolerState.d.ts +2 -2
- package/dist/service/characteristic/targetHeaterCoolerState.d.ts.map +1 -1
- package/dist/service/characteristic/targetHeaterCoolerState.js +2 -5
- package/dist/service/characteristic/targetHeaterCoolerState.js.map +1 -1
- package/dist/service/characteristic/targetHeatingCoolingState.js +2 -5
- package/dist/service/characteristic/targetHeatingCoolingState.js.map +1 -1
- package/dist/service/characteristic/targetHorizontalTiltAngle.js +2 -5
- package/dist/service/characteristic/targetHorizontalTiltAngle.js.map +1 -1
- package/dist/service/characteristic/targetHumidifierDehumidifierState.js +2 -5
- package/dist/service/characteristic/targetHumidifierDehumidifierState.js.map +1 -1
- package/dist/service/characteristic/targetPosition.js +6 -12
- package/dist/service/characteristic/targetPosition.js.map +1 -1
- package/dist/service/characteristic/targetRelativeHumidity.js +2 -5
- package/dist/service/characteristic/targetRelativeHumidity.js.map +1 -1
- package/dist/service/characteristic/targetTemerature.js +8 -14
- package/dist/service/characteristic/targetTemerature.js.map +1 -1
- package/dist/service/characteristic/targetVerticalTiltAngle.js +2 -5
- package/dist/service/characteristic/targetVerticalTiltAngle.js.map +1 -1
- package/dist/service/characteristic/temperatureDisplayUnits.d.ts +2 -2
- package/dist/service/characteristic/temperatureDisplayUnits.d.ts.map +1 -1
- package/dist/service/characteristic/temperatureDisplayUnits.js +2 -5
- package/dist/service/characteristic/temperatureDisplayUnits.js.map +1 -1
- package/dist/service/characteristic/ternaryState.d.ts +1 -1
- package/dist/service/characteristic/ternaryState.d.ts.map +1 -1
- package/dist/service/characteristic/ternaryState.js +13 -19
- package/dist/service/characteristic/ternaryState.js.map +1 -1
- package/dist/service/characteristic/vocDensity.d.ts +2 -2
- package/dist/service/characteristic/vocDensity.d.ts.map +1 -1
- package/dist/service/characteristic/vocDensity.js +2 -5
- package/dist/service/characteristic/vocDensity.js.map +1 -1
- package/dist/service/characteristic/volume.d.ts +2 -2
- package/dist/service/characteristic/volume.d.ts.map +1 -1
- package/dist/service/characteristic/volume.js +2 -5
- package/dist/service/characteristic/volume.js.map +1 -1
- package/dist/service/characteristic/waterLevel.d.ts +2 -2
- package/dist/service/characteristic/waterLevel.d.ts.map +1 -1
- package/dist/service/characteristic/waterLevel.js +2 -5
- package/dist/service/characteristic/waterLevel.js.map +1 -1
- package/dist/service/index.js +66 -83
- package/dist/service/index.js.map +1 -1
- package/dist/service/until.js +20 -29
- package/dist/service/until.js.map +1 -1
- package/dist/settings.js +2 -5
- package/dist/settings.js.map +1 -1
- package/package.json +6 -6
- package/tsconfig.json +4 -6
|
@@ -1,13 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const Converter_js_1 = require("./Converter.js");
|
|
7
|
-
const Action_1 = require("../action/Action");
|
|
8
|
-
var NumericValue;
|
|
1
|
+
import { Detachable, isNumber, Numbers } from '../../../common.js';
|
|
2
|
+
import { DetachableCharacteristic, parseMqttValue, parseTopic } from './common.js';
|
|
3
|
+
import { Converter } from './Converter.js';
|
|
4
|
+
import { Action } from '../action/Action.js';
|
|
5
|
+
export var NumericValue;
|
|
9
6
|
(function (NumericValue) {
|
|
10
|
-
const defaultConverterResolver = () =>
|
|
7
|
+
const defaultConverterResolver = () => Converter.HomekitNumber;
|
|
11
8
|
NumericValue.readOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
12
9
|
NumericValue.writeOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
13
10
|
NumericValue.readMaybeWriteConfig = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
@@ -17,34 +14,31 @@ var NumericValue;
|
|
|
17
14
|
const isWrite = (config) => 'set' in config;
|
|
18
15
|
const isPreSet = (config) => isWrite(config) && 'preSet' in config;
|
|
19
16
|
const configurator = (name, charTypeFactory, options) => {
|
|
20
|
-
|
|
21
|
-
const converterResolver = (_a = options === null || options === void 0 ? void 0 : options.converterResolver) !== null && _a !== void 0 ? _a : defaultConverterResolver;
|
|
17
|
+
const converterResolver = options?.converterResolver ?? defaultConverterResolver;
|
|
22
18
|
return async (platform, mqtt, accessory, service, config, serviceCtx) => {
|
|
23
|
-
|
|
24
|
-
const [
|
|
25
|
-
const
|
|
26
|
-
const preSet = isPreSet(config) ? Action_1.Action.parseAll('preSet', config.preSet) : undefined;
|
|
19
|
+
const [setTopic, setCodec, fullSetTopic] = isWrite(config) ? parseTopic(config.set, serviceCtx) : [undefined, undefined];
|
|
20
|
+
const [getTopic, getCodec, fullGetTopic] = isRead(config) ? parseTopic(config.get, serviceCtx) : [undefined, undefined];
|
|
21
|
+
const preSet = isPreSet(config) ? Action.parseAll('preSet', config.preSet) : undefined;
|
|
27
22
|
const converter = converterResolver(config);
|
|
28
23
|
if (!converter) {
|
|
29
24
|
platform.logger.error(`Could not resolve converter [${JSON.stringify(config)}] set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
30
25
|
}
|
|
31
26
|
const charType = charTypeFactory(platform);
|
|
32
|
-
const char = (
|
|
33
|
-
if (options
|
|
27
|
+
const char = (service.getCharacteristic(charType) ?? service.addCharacteristic(charType));
|
|
28
|
+
if (options?.props) {
|
|
34
29
|
const p = options.props(config);
|
|
35
30
|
if (p.minValue) {
|
|
36
31
|
char.setValue(p.minValue);
|
|
37
32
|
}
|
|
38
33
|
char.setProps(p);
|
|
39
34
|
}
|
|
40
|
-
const quantize =
|
|
35
|
+
const quantize = converter?.quantize ?? ((value) => value);
|
|
41
36
|
const notify = (value, ctx) => setTimeout(() => serviceCtx.emitter.emit(`${name}.set`, value, ctx), 0);
|
|
42
37
|
char.onSet(async (value, ctx) => {
|
|
43
|
-
|
|
44
|
-
if (preSet && !(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt)) {
|
|
38
|
+
if (preSet && !ctx?.fromMqtt) {
|
|
45
39
|
await preSet.execute(platform, mqtt, accessory, service, serviceCtx);
|
|
46
40
|
}
|
|
47
|
-
if (setTopic && !
|
|
41
|
+
if (setTopic && !ctx?.fromMqtt && converter) {
|
|
48
42
|
const quantized = quantize(value);
|
|
49
43
|
if (value !== quantized) {
|
|
50
44
|
notify(value, ctx);
|
|
@@ -52,15 +46,15 @@ var NumericValue;
|
|
|
52
46
|
return;
|
|
53
47
|
}
|
|
54
48
|
const mqttValue = converter.fromHap(value);
|
|
55
|
-
const publishedValue =
|
|
49
|
+
const publishedValue = setCodec?.stringify(mqttValue) ?? mqttValue;
|
|
56
50
|
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
57
51
|
await mqtt.publish(setTopic, publishedValue);
|
|
58
52
|
}
|
|
59
53
|
notify(value, ctx);
|
|
60
54
|
});
|
|
61
|
-
const detachable = !getTopic ?
|
|
55
|
+
const detachable = !getTopic ? Detachable.NOOP : await mqtt.subscribe(getTopic, value => {
|
|
62
56
|
if (converter) {
|
|
63
|
-
const mqttValue = !getCodec ?
|
|
57
|
+
const mqttValue = !getCodec ? parseMqttValue(value) : getCodec.parse(value);
|
|
64
58
|
// if (!isNumber(mqttValue)) {
|
|
65
59
|
// platform.logger.error(`Cannot update value from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]. Expected a numeric value in but received value [${mqttValue}]`);
|
|
66
60
|
// return;
|
|
@@ -80,23 +74,23 @@ var NumericValue;
|
|
|
80
74
|
// we'll have a situation where the received MQTT value will always be set on the characteristic
|
|
81
75
|
// to prevent this we first adjust the received value based on the minStep (if one is set)
|
|
82
76
|
if (char.props.minStep) {
|
|
83
|
-
const roundedValue =
|
|
77
|
+
const roundedValue = Numbers.roundStep(hapValue, char.props.minStep);
|
|
84
78
|
if (platform.logger.traceEnabled) {
|
|
85
79
|
platform.logger.trace(`Rounded value [${hapValue}] to [${roundedValue}] to match minStep [${char.props.minStep}] from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
86
80
|
}
|
|
87
81
|
hapValue = roundedValue;
|
|
88
82
|
}
|
|
89
|
-
if (
|
|
83
|
+
if (isNumber(char.props.minValue) && hapValue < char.props.minValue) {
|
|
90
84
|
platform.logger.debug(`Value [${hapValue}] from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] is below the allowed minimum [${char.props.minValue}]. adjusting...`);
|
|
91
85
|
char.setValue(char.props.minValue, { fromMqtt: true });
|
|
92
86
|
return;
|
|
93
87
|
}
|
|
94
|
-
if (
|
|
88
|
+
if (isNumber(char.props.maxValue) && hapValue > char.props.maxValue) {
|
|
95
89
|
platform.logger.debug(`Value [${hapValue}] from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] is above the allowed maximum [${char.props.maxValue}]. adjusting...`);
|
|
96
90
|
char.setValue(char.props.maxValue, { fromMqtt: true });
|
|
97
91
|
return;
|
|
98
92
|
}
|
|
99
|
-
const currentValue = char.props.minStep ?
|
|
93
|
+
const currentValue = char.props.minStep ? Numbers.roundStep(char.value, char.props.minStep) : char.value;
|
|
100
94
|
if (currentValue !== hapValue) {
|
|
101
95
|
platform.logger.debug(`Setting [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] to [${hapValue}] from MQTT topic [${fullGetTopic}] (current value [${currentValue}])`);
|
|
102
96
|
char.setValue(hapValue, { fromMqtt: true });
|
|
@@ -108,46 +102,31 @@ var NumericValue;
|
|
|
108
102
|
serviceCtx.emitter.on(eventName, handler);
|
|
109
103
|
return { detach: () => serviceCtx.emitter.off(eventName, handler) };
|
|
110
104
|
};
|
|
111
|
-
return
|
|
105
|
+
return DetachableCharacteristic.mixin(char, detachable, onEvent);
|
|
112
106
|
};
|
|
113
107
|
};
|
|
114
108
|
let Percent;
|
|
115
109
|
(function (Percent) {
|
|
116
|
-
Percent.readOnly = (name, charTypeFactory, options) => {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
};
|
|
137
|
-
Percent.readMaybeWriteConfig = (name, charTypeFactory, options) => {
|
|
138
|
-
var _a;
|
|
139
|
-
return NumericValue.readMaybeWriteConfig(name, charTypeFactory, {
|
|
140
|
-
converterResolver: (_a = options === null || options === void 0 ? void 0 : options.converterResolver) !== null && _a !== void 0 ? _a : ((config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }),
|
|
141
|
-
...options
|
|
142
|
-
});
|
|
143
|
-
};
|
|
144
|
-
Percent.readWrite = (name, charTypeFactory, options) => {
|
|
145
|
-
var _a;
|
|
146
|
-
return NumericValue.readWrite(name, charTypeFactory, {
|
|
147
|
-
converterResolver: (_a = options === null || options === void 0 ? void 0 : options.converterResolver) !== null && _a !== void 0 ? _a : ((config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }),
|
|
148
|
-
...options
|
|
149
|
-
});
|
|
150
|
-
};
|
|
110
|
+
Percent.readOnly = (name, charTypeFactory, options) => NumericValue.readOnly(name, charTypeFactory, {
|
|
111
|
+
converterResolver: options?.converterResolver ?? ((config) => Converter.Percent.resolve(config.converter ?? 'homekit')),
|
|
112
|
+
...options
|
|
113
|
+
});
|
|
114
|
+
Percent.writeOnly = (name, charTypeFactory, options) => NumericValue.writeOnly(name, charTypeFactory, {
|
|
115
|
+
converterResolver: options?.converterResolver ?? ((config) => Converter.Percent.resolve(config.converter ?? 'homekit')),
|
|
116
|
+
...options
|
|
117
|
+
});
|
|
118
|
+
Percent.writeMaybeReadConfig = (name, charTypeFactory, options) => NumericValue.writeMaybeReadConfig(name, charTypeFactory, {
|
|
119
|
+
converterResolver: options?.converterResolver ?? ((config) => Converter.Percent.resolve(config.converter ?? 'homekit')),
|
|
120
|
+
...options
|
|
121
|
+
});
|
|
122
|
+
Percent.readMaybeWriteConfig = (name, charTypeFactory, options) => NumericValue.readMaybeWriteConfig(name, charTypeFactory, {
|
|
123
|
+
converterResolver: options?.converterResolver ?? ((config) => Converter.Percent.resolve(config.converter ?? 'homekit')),
|
|
124
|
+
...options
|
|
125
|
+
});
|
|
126
|
+
Percent.readWrite = (name, charTypeFactory, options) => NumericValue.readWrite(name, charTypeFactory, {
|
|
127
|
+
converterResolver: options?.converterResolver ?? ((config) => Converter.Percent.resolve(config.converter ?? 'homekit')),
|
|
128
|
+
...options
|
|
129
|
+
});
|
|
151
130
|
})(Percent = NumericValue.Percent || (NumericValue.Percent = {}));
|
|
152
|
-
})(NumericValue || (
|
|
131
|
+
})(NumericValue || (NumericValue = {}));
|
|
153
132
|
//# sourceMappingURL=NumericValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumericValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"NumericValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAY,MAAM,oBAAoB,CAAC;AAE7E,OAAO,EAGH,wBAAwB,EACxB,cAAc,EACd,UAAU,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,KAAW,YAAY,CA8L5B;AA9LD,WAAiB,YAAY;IASzB,MAAM,wBAAwB,GAAsB,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;IAOrE,qBAAQ,GAAG,CAA4C,IAAY,EAAE,eAAgC,EAAE,OAAoB,EAAE,EAAE,CACxI,YAAY,CAAI,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvC,sBAAS,GAAG,CAA8C,IAAY,EAAE,eAAgC,EAAE,OAAoB,EAAE,EAAE,CAC3I,YAAY,CAAI,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvC,iCAAoB,GAAG,CAAwD,IAAY,EAAE,eAAgC,EAAE,OAAoB,EAAE,EAAE,CAChK,YAAY,CAAI,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvC,iCAAoB,GAAG,CAAwD,IAAY,EAAE,eAAgC,EAAE,OAAoB,EAAE,EAAE,CAChK,YAAY,CAAI,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAEvC,sBAAS,GAAG,CAA8C,IAAY,EAAE,eAAgC,EAAE,OAAoB,EAAE,EAAE,CAC3I,YAAY,CAAI,IAAI,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAGpD,MAAM,MAAM,GAAG,CAAC,MAAc,EAA4B,EAAE,CAAC,KAAK,IAAI,MAAM,CAAC;IAC7E,MAAM,OAAO,GAAG,CAAC,MAAc,EAA6B,EAAE,CAAC,KAAK,IAAI,MAAM,CAAC;IAC/E,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAuC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,MAAM,CAAC;IAEhH,MAAM,YAAY,GAAG,CAAqC,IAAY,EAAE,eAAgC,EAAE,OAAoB,EAAiC,EAAE;QAC7J,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,CAAC;QACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAqC,EAAE;YACvG,MAAM,CAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,EAAE,SAAS,CAAE,CAAC;YAC7H,MAAM,CAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAE,SAAS,EAAE,SAAS,CAAE,CAAC;YAC5H,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAEvF,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,GAAG,CAAC,CAAC;YACrK,CAAC;YAED,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1F,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;gBACjB,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC9B,CAAC;gBACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,QAAQ,GAAG,SAAS,EAAE,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YAE3D,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5B,IAAI,MAAM,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC;oBAC3B,MAAM,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;gBACzE,CAAC;gBACD,IAAI,QAAQ,IAAI,CAAC,GAAG,EAAE,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAe,CAAC,CAAC;oBAC5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBACtB,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;wBACnB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;wBAChD,OAAO;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAe,CAAC,CAAC;oBACrD,MAAM,cAAc,GAAG,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;oBACnE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,YAAY,cAAc,eAAe,YAAY,GAAG,CAAC,CAAC;oBACjK,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACjD,CAAC;gBACD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAGH,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;gBACpF,IAAI,SAAS,EAAE,CAAC;oBACZ,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;oBAC5E,8BAA8B;oBAC9B,4NAA4N;oBAC5N,cAAc;oBACd,IAAI;oBACJ,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;wBAC/B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,SAAS,iBAAiB,YAAY,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,GAAG,CAAC,CAAC;oBACpK,CAAC;oBACD,IAAI,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAC1C,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;wBACpB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,YAAY,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,qBAAqB,SAAS,GAAG,CAAC,CAAC;wBACpL,OAAO;oBACX,CAAC;oBAED,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;wBAC/B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,SAAS,iBAAiB,YAAY,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,SAAS,QAAQ,GAAG,CAAC,CAAC;oBAChL,CAAC;oBAED,2FAA2F;oBAC3F,gGAAgG;oBAChG,0FAA0F;oBAC1F,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;wBACrB,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACrE,IAAI,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;4BAC/B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,QAAQ,SAAS,YAAY,uBAAuB,IAAI,CAAC,KAAK,CAAC,OAAO,iBAAiB,YAAY,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,GAAG,CAAC,CAAC;wBAChO,CAAC;wBACD,QAAQ,GAAG,YAAY,CAAC;oBAC5B,CAAC;oBAED,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAClE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,iBAAiB,YAAY,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,mCAAmC,IAAI,CAAC,KAAK,CAAC,QAAQ,iBAAiB,CAAC,CAAC;wBAC1N,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvD,OAAO;oBACX,CAAC;oBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBAClE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,QAAQ,iBAAiB,YAAY,UAAU,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,mCAAmC,IAAI,CAAC,KAAK,CAAC,QAAQ,iBAAiB,CAAC,CAAC;wBAC1N,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvD,OAAO;oBACX,CAAC;oBACD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAe,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;oBACnH,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;wBAC5B,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,KAAK,IAAI,SAAS,QAAQ,sBAAsB,YAAY,qBAAqB,YAAY,IAAI,CAAC,CAAC;wBAC9L,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAChD,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,GAA+B,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC3D,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;gBACrC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC1C,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAA;YACvE,CAAC,CAAC;YAEF,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC,CAAC;IACN,CAAC,CAAC;IAEF,IAAiB,OAAO,CAgDvB;IAhDD,WAAiB,OAAO;QAsBP,gBAAQ,GAAG,CAA4C,IAAY,EAAE,eAAgC,EAAE,OAAiC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAI,IAAI,EAAE,eAAe,EAAE;YACtM,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACvH,GAAG,OAAO;SACb,CAAC,CAAC;QAEU,iBAAS,GAAG,CAA8C,IAAY,EAAE,eAAgC,EAAE,OAAiC,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAI,IAAI,EAAE,eAAe,EAAE;YAC1M,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACvH,GAAG,OAAO;SACb,CAAC,CAAC;QAEU,4BAAoB,GAAG,CAAwD,IAAY,EAAE,eAAgC,EAAE,OAAiC,EAAE,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAI,IAAI,EAAE,eAAe,EAAE;YAC1O,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACvH,GAAG,OAAO;SACb,CAAC,CAAC;QAEU,4BAAoB,GAAG,CAAwD,IAAY,EAAE,eAAgC,EAAE,OAAiC,EAAE,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAI,IAAI,EAAE,eAAe,EAAE;YAC1O,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACvH,GAAG,OAAO;SACb,CAAC,CAAC;QAEU,iBAAS,GAAG,CAA8C,IAAY,EAAE,eAAgC,EAAE,OAAiC,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAI,IAAI,EAAE,eAAe,EAAE;YAC1M,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,SAAS,CAAC,CAAC;YACvH,GAAG,OAAO;SACb,CAAC,CAAC;IAGP,CAAC,EAhDgB,OAAO,GAAP,oBAAO,KAAP,oBAAO,QAgDvB;AACL,CAAC,EA9LgB,YAAY,KAAZ,YAAY,QA8L5B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Converter } from './index';
|
|
2
|
-
import { CharacteristicConfigurator } from '../index';
|
|
3
|
-
import { MqttPlatform } from '../../../MqttPlatform';
|
|
1
|
+
import { Converter } from './index.js';
|
|
2
|
+
import { CharacteristicConfigurator } from '../index.js';
|
|
3
|
+
import { MqttPlatform } from '../../../MqttPlatform.js';
|
|
4
4
|
export type Options<ON extends string = 'on'> = {
|
|
5
5
|
onKey?: ON;
|
|
6
6
|
subType?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwC,MAAM,
|
|
1
|
+
{"version":3,"file":"Signal.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwC,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,IAAI;IAC5C,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,yBAAiB,MAAM,CAAC;IAEb,MAAM,MAAM,GAAI,UAAU,YAAY,EAAE,IAAI,MAAM,wCAGvD,CAAC;IAEH,KAAY,MAAM,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,IAAI;QAC3C,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;KACzC,CAAA;IAEM,MAAM,YAAY,GAAK,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,MAAM,MAAM,EAAE,UAAU,OAAO,CAAC,EAAE,CAAC,KAAG,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC,CAqBlI,CAAA;CAEJ"}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const index_1 = require("./index");
|
|
5
|
-
const common_1 = require("../../../common");
|
|
6
|
-
var Signal;
|
|
1
|
+
import { Converter, DetachableCharacteristic, parseTopic } from './index.js';
|
|
2
|
+
import { Detachable } from '../../../common.js';
|
|
3
|
+
export var Signal;
|
|
7
4
|
(function (Signal) {
|
|
8
5
|
Signal.create = (platform, id) => new platform.Characteristic(id, platform.api.hap.uuid.generate(`signal-char-${id}`), {
|
|
9
6
|
format: "bool" /* Formats.BOOL */,
|
|
10
7
|
perms: ["pw" /* Perms.PAIRED_WRITE */, "ev" /* Perms.NOTIFY */]
|
|
11
8
|
});
|
|
12
9
|
Signal.configurator = (name, options) => {
|
|
13
|
-
|
|
14
|
-
const onKey = (_a = options === null || options === void 0 ? void 0 : options.onKey) !== null && _a !== void 0 ? _a : 'on';
|
|
10
|
+
const onKey = options?.onKey ?? 'on';
|
|
15
11
|
return async (platform, mqtt, accessory, service, config, serviceCtx) => {
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const char = ((_b = service.getCharacteristic(name)) !== null && _b !== void 0 ? _b : service.addCharacteristic(Signal.create(platform, name)));
|
|
12
|
+
const [setTopic, setCodec, fullSetTopic] = parseTopic(config.set, serviceCtx);
|
|
13
|
+
const converter = Converter.Boolean.resolve(config.converter ?? 'homekit', onKey, 'off');
|
|
14
|
+
const char = (service.getCharacteristic(name) ?? service.addCharacteristic(Signal.create(platform, name)));
|
|
20
15
|
char.onSet((value, ctx) => {
|
|
21
16
|
serviceCtx.emitter.emit(`openSignal.set`, value, ctx);
|
|
22
17
|
const hapValue = !!value;
|
|
@@ -26,8 +21,8 @@ var Signal;
|
|
|
26
21
|
mqtt.publish(setTopic, mqttValue, { retain: false });
|
|
27
22
|
}
|
|
28
23
|
});
|
|
29
|
-
return
|
|
24
|
+
return DetachableCharacteristic.mixin(char, Detachable.NOOP);
|
|
30
25
|
};
|
|
31
26
|
};
|
|
32
|
-
})(Signal || (
|
|
27
|
+
})(Signal || (Signal = {}));
|
|
33
28
|
//# sourceMappingURL=Signal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Signal.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Signal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Signal.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQhD,MAAM,KAAW,MAAM,CAmCtB;AAnCD,WAAiB,MAAM;IAEN,aAAM,GAAG,CAAC,QAAsB,EAAE,EAAU,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE;QAC/I,MAAM,2BAAc;QACpB,KAAK,EAAE,wDAAoC;KAC9C,CAAC,CAAC;IAOU,mBAAY,GAAI,CAA2B,IAAY,EAAE,OAAqB,EAA0C,EAAE;QACnI,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAU,CAAC;QAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAkB,EAAE,UAAU,EAAE,EAAE;YAChF,MAAM,CAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAE,GAAG,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAChF,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAY,MAAM,CAAC,SAAS,IAAI,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;YAEnG,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC,OAAA,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAEpG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC;gBACzB,IAAI,QAAQ,EAAE,CAAC;oBACX,MAAM,SAAS,GAAG,SAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC9C,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,wBAAwB,SAAS,eAAe,YAAY,GAAG,CAAC,CAAC;oBAC/J,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBACzD,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,wBAAwB,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAEjE,CAAC,CAAC;IACN,CAAC,CAAA;AAEL,CAAC,EAnCgB,MAAM,KAAN,MAAM,QAmCtB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicConfigurator } from '../index.js';
|
|
2
2
|
import { CharTypeFactory } from './common.js';
|
|
3
3
|
import { Converter } from './Converter.js';
|
|
4
|
-
import { Action } from '../action/Action';
|
|
4
|
+
import { Action } from '../action/Action.js';
|
|
5
5
|
export declare namespace ZeroOneValue {
|
|
6
6
|
type CommonConfig<ON extends string, OFF extends string> = {
|
|
7
7
|
converter?: Converter.Boolean.Type<ON, OFF>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZeroOneValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/ZeroOneValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAEH,eAAe,EAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ZeroOneValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/ZeroOneValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAEH,eAAe,EAIlB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,yBAAiB,YAAY,CAAC;IAE1B,KAAK,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI;QAAE,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAC3G,MAAM,MAAM,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC3E;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,GACb,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC5E;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;KAAE,GAC5C,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5B,MAAM,MAAM,eAAe,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC5E,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,GACrB,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAC5D,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,GACrB,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,GACxB,eAAe,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAE/B,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,IAAI;QACzD,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAA;KACf,CAAA;IAED,MAAM,CAAC,MAAM,QAAQ,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,gDACjF,CAAC;IAE1D,MAAM,CAAC,MAAM,SAAS,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,gDAClF,CAAC;IAE1D,MAAM,CAAC,MAAM,SAAS,GAAI,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE,MAAM,MAAM,EAAE,iBAAiB,eAAe,EAAE,UAAU,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,gDAClF,CAAC;;CAoF7D"}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const Converter_js_1 = require("./Converter.js");
|
|
7
|
-
const Action_1 = require("../action/Action");
|
|
8
|
-
var ZeroOneValue;
|
|
1
|
+
import { Detachable, isString } from '../../../common.js';
|
|
2
|
+
import { DetachableCharacteristic, parseMqttValue, parseTopic } from './common.js';
|
|
3
|
+
import { Converter } from './Converter.js';
|
|
4
|
+
import { Action } from '../action/Action.js';
|
|
5
|
+
export var ZeroOneValue;
|
|
9
6
|
(function (ZeroOneValue) {
|
|
10
7
|
ZeroOneValue.readOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
11
8
|
ZeroOneValue.writeOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
@@ -14,36 +11,33 @@ var ZeroOneValue;
|
|
|
14
11
|
const isWrite = (config) => 'set' in config;
|
|
15
12
|
const isPreSet = (config) => isWrite(config) && 'preSet' in config;
|
|
16
13
|
const configurator = (name, charTypeFactory, options) => {
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
const offKey = (_b = options === null || options === void 0 ? void 0 : options.offKey) !== null && _b !== void 0 ? _b : 'off';
|
|
14
|
+
const onKey = options?.onKey ?? 'on';
|
|
15
|
+
const offKey = options?.offKey ?? 'off';
|
|
20
16
|
return async (platform, mqtt, accessory, service, config, serviceCtx) => {
|
|
21
|
-
|
|
22
|
-
const [
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const converter = Converter_js_1.Converter.Boolean.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit', onKey, offKey);
|
|
17
|
+
const [setTopic, setCodec, fullSetTopic] = isWrite(config) ? parseTopic(config.set, serviceCtx) : [undefined, undefined];
|
|
18
|
+
const [getTopic, getCodec, fullGetTopic] = isRead(config) ? parseTopic(config.get, serviceCtx) : [undefined, undefined];
|
|
19
|
+
const preSet = isPreSet(config) ? Action.parseAll('preSet', config.preSet) : undefined;
|
|
20
|
+
const converter = Converter.Boolean.resolve(config.converter ?? 'homekit', onKey, offKey);
|
|
26
21
|
// we need to validate that if on/off converter is used and the `set` topic is configured, then both the 'on' and the 'off'
|
|
27
22
|
// properties of the converter are set - otherwise, if only the 'on' or the 'off' properties are set, when setting the MQTT
|
|
28
23
|
// value we won't know which value to use for 'true' or 'false' (depending on which properties is not set).
|
|
29
|
-
if (config.converter !== undefined && !
|
|
24
|
+
if (config.converter !== undefined && !isString(config.converter) && !(onKey in config.converter && offKey in config.converter) && isWrite(config)) {
|
|
30
25
|
throw new Error(`Unable to create characteristic [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]. Incomplete converter settings [${JSON.stringify(config.converter)}]. When using the ${onKey}/${offKey} mapping converter and the 'set' topic is configured, both '${onKey}' and '${offKey}' must be set`);
|
|
31
26
|
}
|
|
32
27
|
if (!converter) {
|
|
33
28
|
platform.logger.error(`Could not resolve converter [${JSON.stringify(config)}] set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
34
29
|
}
|
|
35
30
|
const charType = charTypeFactory(platform);
|
|
36
|
-
const char = (
|
|
31
|
+
const char = (service.getCharacteristic(charType) ?? service.addCharacteristic(charType));
|
|
37
32
|
if (setTopic) {
|
|
38
33
|
const notify = (value, ctx) => setTimeout(() => serviceCtx.emitter.emit(`${name}.set`, value, ctx), 0);
|
|
39
34
|
char.onSet(async (value, ctx) => {
|
|
40
|
-
|
|
41
|
-
if (preSet && !(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt)) {
|
|
35
|
+
if (preSet && !ctx?.fromMqtt) {
|
|
42
36
|
await preSet.execute(platform, mqtt, accessory, service, serviceCtx);
|
|
43
37
|
}
|
|
44
|
-
if (!
|
|
38
|
+
if (!ctx?.fromMqtt && converter) {
|
|
45
39
|
const mqttValue = converter.fromHap(value === 1);
|
|
46
|
-
const publishedValue =
|
|
40
|
+
const publishedValue = setCodec?.stringify(mqttValue) ?? mqttValue;
|
|
47
41
|
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
48
42
|
await mqtt.publish(setTopic, publishedValue);
|
|
49
43
|
}
|
|
@@ -54,14 +48,14 @@ var ZeroOneValue;
|
|
|
54
48
|
char.onSet((value, ctx) => {
|
|
55
49
|
// if there's no setTopic, then the user is not supposed to set this characteristic
|
|
56
50
|
// so we reject any set command that is not originating by the get mqtt topic
|
|
57
|
-
if (!
|
|
51
|
+
if (!ctx?.fromMqtt) {
|
|
58
52
|
throw new platform.api.hap.HapStatusError(-70404 /* platform.api.hap.HAPStatus.READ_ONLY_CHARACTERISTIC */);
|
|
59
53
|
}
|
|
60
54
|
});
|
|
61
55
|
}
|
|
62
|
-
const detachable = !getTopic ?
|
|
56
|
+
const detachable = !getTopic ? Detachable.NOOP : await mqtt.subscribe(getTopic, value => {
|
|
63
57
|
if (converter) {
|
|
64
|
-
const mqttValue = !getCodec ?
|
|
58
|
+
const mqttValue = !getCodec ? parseMqttValue(value) : getCodec.parse(value);
|
|
65
59
|
const bool = converter.toHap(mqttValue);
|
|
66
60
|
if (bool === null) {
|
|
67
61
|
platform.logger.error(`Cannot update value from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]. Unknown value [${mqttValue}]`);
|
|
@@ -79,8 +73,8 @@ var ZeroOneValue;
|
|
|
79
73
|
serviceCtx.emitter.on(eventName, handler);
|
|
80
74
|
return { detach: () => serviceCtx.emitter.off(eventName, handler) };
|
|
81
75
|
};
|
|
82
|
-
return
|
|
76
|
+
return DetachableCharacteristic.mixin(char, detachable, on);
|
|
83
77
|
};
|
|
84
78
|
};
|
|
85
|
-
})(ZeroOneValue || (
|
|
79
|
+
})(ZeroOneValue || (ZeroOneValue = {}));
|
|
86
80
|
//# sourceMappingURL=ZeroOneValue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ZeroOneValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/ZeroOneValue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ZeroOneValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/ZeroOneValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Characteristic, CharacteristicValue, WithUUID } from 'homebridge';
|
|
2
2
|
import { Detachable, Optional, Promisable } from '../../../common.js';
|
|
3
3
|
import { MqttPlatform } from '../../../MqttPlatform.js';
|
|
4
|
-
import { MqttService } from '../../MqttService';
|
|
4
|
+
import { MqttService } from '../../MqttService.js';
|
|
5
5
|
export type CharType = WithUUID<{
|
|
6
6
|
new (): Characteristic;
|
|
7
7
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAgC,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAgC,QAAQ,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAAE,QAAO,cAAc,CAAA;CAAE,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,QAAQ,CAAC;AAEnE,MAAM,MAAM,wBAAwB,GAAG,cAAc,GAAG,UAAU,GAAG;IAAE,OAAO,EAAE,0BAA0B,CAAA;CAAE,CAAC;AAC7G,MAAM,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,GAAG,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC;AAC3I,yBAAiB,wBAAwB,CAAC;IAC/B,MAAM,KAAK,GAAI,MAAM,cAAc,EAAE,YAAY,UAAU,EAAE,UAAS,0BAAoD,KAG9G,cAAc,GAAG,UAAU,GAAG;QAAE,OAAO,EAAE,0BAA0B,CAAA;KACrF,CAAC;CACL;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,KAAK,WAAW,CAAC,OAAO,KAAG,CAAE,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAiB/G,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI;IACnC,SAAS,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC;IAC5B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;CAC3B,CAAA;AAED,yBAAiB,eAAe,CAAC;IAEtB,MAAM,IAAI,GAAI,UAAU,MAAM;;;KASpC,CAAA;IAEM,MAAM,QAAQ,GAAI,MAAM,MAAM;+BAEX,MAAM;qBAKX,MAAM;KAI1B,CAAA;CACJ;AAED,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,GAAG,MAAM,GAAG,OAAO,8BAe9D,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW,YAW/C,CAAA"}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.parseReverse = exports.parseMqttValue = exports.TopicValueCodec = exports.parseTopic = exports.DetachableCharacteristic = void 0;
|
|
4
|
-
const common_js_1 = require("../../../common.js");
|
|
5
|
-
var DetachableCharacteristic;
|
|
1
|
+
import { Detachable, isBoolean, isNumber, Objects } from '../../../common.js';
|
|
2
|
+
export var DetachableCharacteristic;
|
|
6
3
|
(function (DetachableCharacteristic) {
|
|
7
|
-
DetachableCharacteristic.mixin = (char, detachable, onEvent = (() =>
|
|
4
|
+
DetachableCharacteristic.mixin = (char, detachable, onEvent = (() => Detachable.NOOP)) => {
|
|
8
5
|
char.detach = () => detachable.detach();
|
|
9
6
|
char.onEvent = onEvent;
|
|
10
7
|
return char;
|
|
11
8
|
};
|
|
12
|
-
})(DetachableCharacteristic || (
|
|
13
|
-
const parseTopic = (topic, ctx) => {
|
|
9
|
+
})(DetachableCharacteristic || (DetachableCharacteristic = {}));
|
|
10
|
+
export const parseTopic = (topic, ctx) => {
|
|
14
11
|
// a value in the form of `<topic>${...}` represents a json value where the actual value is marked as $$VALUE$$ placeholder.
|
|
15
12
|
const match = topic.match(/^((?:(?!\$\{).)+)\$(\{.+}$)/);
|
|
16
13
|
if (match) {
|
|
@@ -26,13 +23,12 @@ const parseTopic = (topic, ctx) => {
|
|
|
26
23
|
const path = topic.substring(i + 1);
|
|
27
24
|
return [_topic, TopicValueCodec.jsonPath(path), topic];
|
|
28
25
|
};
|
|
29
|
-
|
|
30
|
-
var TopicValueCodec;
|
|
26
|
+
export var TopicValueCodec;
|
|
31
27
|
(function (TopicValueCodec) {
|
|
32
28
|
TopicValueCodec.json = (template) => {
|
|
33
29
|
return {
|
|
34
30
|
stringify: (value) => {
|
|
35
|
-
return template.replace('$$VALUE$$', String(
|
|
31
|
+
return template.replace('$$VALUE$$', String(parseMqttValue(value)));
|
|
36
32
|
},
|
|
37
33
|
parse: () => {
|
|
38
34
|
throw new Error('JSON Topic value cannot parse values. It can only be used as set characteristic values');
|
|
@@ -43,17 +39,17 @@ var TopicValueCodec;
|
|
|
43
39
|
return {
|
|
44
40
|
stringify(value) {
|
|
45
41
|
const json = {};
|
|
46
|
-
|
|
42
|
+
Objects.set(json, path, parseMqttValue(value));
|
|
47
43
|
return JSON.stringify(json);
|
|
48
44
|
},
|
|
49
45
|
parse(value) {
|
|
50
|
-
return
|
|
46
|
+
return Objects.get(JSON.parse(value), path);
|
|
51
47
|
}
|
|
52
48
|
};
|
|
53
49
|
};
|
|
54
|
-
})(TopicValueCodec || (
|
|
55
|
-
const parseMqttValue = (value) => {
|
|
56
|
-
if (
|
|
50
|
+
})(TopicValueCodec || (TopicValueCodec = {}));
|
|
51
|
+
export const parseMqttValue = (value) => {
|
|
52
|
+
if (isNumber(value) || isBoolean(value)) {
|
|
57
53
|
return value;
|
|
58
54
|
}
|
|
59
55
|
const num = parseFloat(value);
|
|
@@ -68,8 +64,7 @@ const parseMqttValue = (value) => {
|
|
|
68
64
|
}
|
|
69
65
|
return value;
|
|
70
66
|
};
|
|
71
|
-
|
|
72
|
-
const parseReverse = (value) => {
|
|
67
|
+
export const parseReverse = (value) => {
|
|
73
68
|
if (value === undefined) {
|
|
74
69
|
return false;
|
|
75
70
|
}
|
|
@@ -81,5 +76,4 @@ const parseReverse = (value) => {
|
|
|
81
76
|
}
|
|
82
77
|
throw new Error(`Could not parse reserve values [${value}]. Expecting [true | false | 'true' | 'false' | 0 | 1]`);
|
|
83
78
|
};
|
|
84
|
-
exports.parseReverse = parseReverse;
|
|
85
79
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * from './NumericValue';
|
|
2
|
-
export * from './EnumValue';
|
|
3
|
-
export * from './BooleanValue';
|
|
4
|
-
export * from './ZeroOneValue';
|
|
5
|
-
export * from './Signal';
|
|
6
|
-
export * from './Converter';
|
|
7
|
-
export * from './common';
|
|
1
|
+
export * from './NumericValue.js';
|
|
2
|
+
export * from './EnumValue.js';
|
|
3
|
+
export * from './BooleanValue.js';
|
|
4
|
+
export * from './ZeroOneValue.js';
|
|
5
|
+
export * from './Signal.js';
|
|
6
|
+
export * from './Converter.js';
|
|
7
|
+
export * from './common.js';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|