@uboness/homebridge-mqtt 0.0.1
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 +10 -0
- package/LICENSE +176 -0
- package/README.md +3587 -0
- package/config.schema.json +16 -0
- package/dist/Availability.d.ts +20 -0
- package/dist/Availability.d.ts.map +1 -0
- package/dist/Availability.js +69 -0
- package/dist/Availability.js.map +1 -0
- package/dist/DeviceTemplate.d.ts +34 -0
- package/dist/DeviceTemplate.d.ts.map +1 -0
- package/dist/DeviceTemplate.js +91 -0
- package/dist/DeviceTemplate.js.map +1 -0
- package/dist/Logger.d.ts +20 -0
- package/dist/Logger.d.ts.map +1 -0
- package/dist/Logger.js +33 -0
- package/dist/Logger.js.map +1 -0
- package/dist/Mqtt.d.ts +44 -0
- package/dist/Mqtt.d.ts.map +1 -0
- package/dist/Mqtt.js +148 -0
- package/dist/Mqtt.js.map +1 -0
- package/dist/MqttDevice.d.ts +40 -0
- package/dist/MqttDevice.d.ts.map +1 -0
- package/dist/MqttDevice.js +48 -0
- package/dist/MqttDevice.js.map +1 -0
- package/dist/MqttPlatform.d.ts +39 -0
- package/dist/MqttPlatform.d.ts.map +1 -0
- package/dist/MqttPlatform.js +153 -0
- package/dist/MqttPlatform.js.map +1 -0
- package/dist/common.d.ts +76 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +190 -0
- package/dist/common.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/service/AirQualitySensor.d.ts +12 -0
- package/dist/service/AirQualitySensor.d.ts.map +1 -0
- package/dist/service/AirQualitySensor.js +47 -0
- package/dist/service/AirQualitySensor.js.map +1 -0
- package/dist/service/Battery.d.ts +12 -0
- package/dist/service/Battery.d.ts.map +1 -0
- package/dist/service/Battery.js +34 -0
- package/dist/service/Battery.js.map +1 -0
- package/dist/service/Button.d.ts +12 -0
- package/dist/service/Button.d.ts.map +1 -0
- package/dist/service/Button.js +27 -0
- package/dist/service/Button.js.map +1 -0
- package/dist/service/CO2Sensor.d.ts +12 -0
- package/dist/service/CO2Sensor.d.ts.map +1 -0
- package/dist/service/CO2Sensor.js +34 -0
- package/dist/service/CO2Sensor.js.map +1 -0
- package/dist/service/COSensor.d.ts +12 -0
- package/dist/service/COSensor.d.ts.map +1 -0
- package/dist/service/COSensor.js +34 -0
- package/dist/service/COSensor.js.map +1 -0
- package/dist/service/ContactSensor.d.ts +12 -0
- package/dist/service/ContactSensor.d.ts.map +1 -0
- package/dist/service/ContactSensor.js +28 -0
- package/dist/service/ContactSensor.js.map +1 -0
- package/dist/service/Door.d.ts +12 -0
- package/dist/service/Door.d.ts.map +1 -0
- package/dist/service/Door.js +42 -0
- package/dist/service/Door.js.map +1 -0
- package/dist/service/Doorbell.d.ts +12 -0
- package/dist/service/Doorbell.d.ts.map +1 -0
- package/dist/service/Doorbell.js +33 -0
- package/dist/service/Doorbell.js.map +1 -0
- package/dist/service/Fan.d.ts +16 -0
- package/dist/service/Fan.d.ts.map +1 -0
- package/dist/service/Fan.js +48 -0
- package/dist/service/Fan.js.map +1 -0
- package/dist/service/HumidifierDehumidifier.d.ts +16 -0
- package/dist/service/HumidifierDehumidifier.d.ts.map +1 -0
- package/dist/service/HumidifierDehumidifier.js +66 -0
- package/dist/service/HumidifierDehumidifier.js.map +1 -0
- package/dist/service/HumiditySensor.d.ts +12 -0
- package/dist/service/HumiditySensor.d.ts.map +1 -0
- package/dist/service/HumiditySensor.js +28 -0
- package/dist/service/HumiditySensor.js.map +1 -0
- package/dist/service/LeakSensor.d.ts +12 -0
- package/dist/service/LeakSensor.d.ts.map +1 -0
- package/dist/service/LeakSensor.js +28 -0
- package/dist/service/LeakSensor.js.map +1 -0
- package/dist/service/LightSensor.d.ts +12 -0
- package/dist/service/LightSensor.d.ts.map +1 -0
- package/dist/service/LightSensor.js +28 -0
- package/dist/service/LightSensor.js.map +1 -0
- package/dist/service/Lightbulb.d.ts +12 -0
- package/dist/service/Lightbulb.d.ts.map +1 -0
- package/dist/service/Lightbulb.js +39 -0
- package/dist/service/Lightbulb.js.map +1 -0
- package/dist/service/LockMechanism.d.ts +16 -0
- package/dist/service/LockMechanism.d.ts.map +1 -0
- package/dist/service/LockMechanism.js +42 -0
- package/dist/service/LockMechanism.js.map +1 -0
- package/dist/service/Microphone.d.ts +12 -0
- package/dist/service/Microphone.d.ts.map +1 -0
- package/dist/service/Microphone.js +30 -0
- package/dist/service/Microphone.js.map +1 -0
- package/dist/service/MotionSensor.d.ts +12 -0
- package/dist/service/MotionSensor.d.ts.map +1 -0
- package/dist/service/MotionSensor.js +28 -0
- package/dist/service/MotionSensor.js.map +1 -0
- package/dist/service/MqttService.d.ts +24 -0
- package/dist/service/MqttService.d.ts.map +1 -0
- package/dist/service/MqttService.js +3 -0
- package/dist/service/MqttService.js.map +1 -0
- package/dist/service/OccupancySensor.d.ts +12 -0
- package/dist/service/OccupancySensor.d.ts.map +1 -0
- package/dist/service/OccupancySensor.js +28 -0
- package/dist/service/OccupancySensor.js.map +1 -0
- package/dist/service/Outlet.d.ts +12 -0
- package/dist/service/Outlet.d.ts.map +1 -0
- package/dist/service/Outlet.js +33 -0
- package/dist/service/Outlet.js.map +1 -0
- package/dist/service/SecuritySystem.d.ts +16 -0
- package/dist/service/SecuritySystem.d.ts.map +1 -0
- package/dist/service/SecuritySystem.js +47 -0
- package/dist/service/SecuritySystem.js.map +1 -0
- package/dist/service/SmokeSensor.d.ts +12 -0
- package/dist/service/SmokeSensor.d.ts.map +1 -0
- package/dist/service/SmokeSensor.js +28 -0
- package/dist/service/SmokeSensor.js.map +1 -0
- package/dist/service/Speaker.d.ts +12 -0
- package/dist/service/Speaker.d.ts.map +1 -0
- package/dist/service/Speaker.js +30 -0
- package/dist/service/Speaker.js.map +1 -0
- package/dist/service/Switch.d.ts +12 -0
- package/dist/service/Switch.d.ts.map +1 -0
- package/dist/service/Switch.js +27 -0
- package/dist/service/Switch.js.map +1 -0
- package/dist/service/TemperatureSensor.d.ts +12 -0
- package/dist/service/TemperatureSensor.d.ts.map +1 -0
- package/dist/service/TemperatureSensor.js +28 -0
- package/dist/service/TemperatureSensor.js.map +1 -0
- package/dist/service/Thermostat.d.ts +18 -0
- package/dist/service/Thermostat.d.ts.map +1 -0
- package/dist/service/Thermostat.js +105 -0
- package/dist/service/Thermostat.js.map +1 -0
- package/dist/service/Window.d.ts +12 -0
- package/dist/service/Window.d.ts.map +1 -0
- package/dist/service/Window.js +42 -0
- package/dist/service/Window.js.map +1 -0
- package/dist/service/WindowCovering.d.ts +13 -0
- package/dist/service/WindowCovering.d.ts.map +1 -0
- package/dist/service/WindowCovering.js +98 -0
- package/dist/service/WindowCovering.js.map +1 -0
- package/dist/service/characteristic/active.d.ts +6 -0
- package/dist/service/characteristic/active.d.ts.map +1 -0
- package/dist/service/characteristic/active.js +6 -0
- package/dist/service/characteristic/active.js.map +1 -0
- package/dist/service/characteristic/airQuality.d.ts +8 -0
- package/dist/service/characteristic/airQuality.d.ts.map +1 -0
- package/dist/service/characteristic/airQuality.js +14 -0
- package/dist/service/characteristic/airQuality.js.map +1 -0
- package/dist/service/characteristic/archetype/BooleanValue.d.ts +19 -0
- package/dist/service/characteristic/archetype/BooleanValue.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/BooleanValue.js +54 -0
- package/dist/service/characteristic/archetype/BooleanValue.js.map +1 -0
- package/dist/service/characteristic/archetype/Converter.d.ts +44 -0
- package/dist/service/characteristic/archetype/Converter.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/Converter.js +122 -0
- package/dist/service/characteristic/archetype/Converter.js.map +1 -0
- package/dist/service/characteristic/archetype/EnumValue.d.ts +19 -0
- package/dist/service/characteristic/archetype/EnumValue.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/EnumValue.js +81 -0
- package/dist/service/characteristic/archetype/EnumValue.js.map +1 -0
- package/dist/service/characteristic/archetype/NumericValue.d.ts +51 -0
- package/dist/service/characteristic/archetype/NumericValue.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/NumericValue.js +120 -0
- package/dist/service/characteristic/archetype/NumericValue.js.map +1 -0
- package/dist/service/characteristic/archetype/OneZeroValue.d.ts +19 -0
- package/dist/service/characteristic/archetype/OneZeroValue.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/OneZeroValue.js +55 -0
- package/dist/service/characteristic/archetype/OneZeroValue.js.map +1 -0
- package/dist/service/characteristic/archetype/common.d.ts +21 -0
- package/dist/service/characteristic/archetype/common.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/common.js +48 -0
- package/dist/service/characteristic/archetype/common.js.map +1 -0
- package/dist/service/characteristic/archetype/index.d.ts +7 -0
- package/dist/service/characteristic/archetype/index.d.ts.map +1 -0
- package/dist/service/characteristic/archetype/index.js +23 -0
- package/dist/service/characteristic/archetype/index.js.map +1 -0
- package/dist/service/characteristic/batteryLevel.d.ts +6 -0
- package/dist/service/characteristic/batteryLevel.d.ts.map +1 -0
- package/dist/service/characteristic/batteryLevel.js +6 -0
- package/dist/service/characteristic/batteryLevel.js.map +1 -0
- package/dist/service/characteristic/brightness.d.ts +6 -0
- package/dist/service/characteristic/brightness.d.ts.map +1 -0
- package/dist/service/characteristic/brightness.js +6 -0
- package/dist/service/characteristic/brightness.js.map +1 -0
- package/dist/service/characteristic/carbonDioxideDetected.d.ts +6 -0
- package/dist/service/characteristic/carbonDioxideDetected.d.ts.map +1 -0
- package/dist/service/characteristic/carbonDioxideDetected.js +6 -0
- package/dist/service/characteristic/carbonDioxideDetected.js.map +1 -0
- package/dist/service/characteristic/carbonDioxideLevel.d.ts +6 -0
- package/dist/service/characteristic/carbonDioxideLevel.d.ts.map +1 -0
- package/dist/service/characteristic/carbonDioxideLevel.js +6 -0
- package/dist/service/characteristic/carbonDioxideLevel.js.map +1 -0
- package/dist/service/characteristic/carbonDioxidePeakLevel.d.ts +6 -0
- package/dist/service/characteristic/carbonDioxidePeakLevel.d.ts.map +1 -0
- package/dist/service/characteristic/carbonDioxidePeakLevel.js +6 -0
- package/dist/service/characteristic/carbonDioxidePeakLevel.js.map +1 -0
- package/dist/service/characteristic/carbonMonoxideDetected.d.ts +6 -0
- package/dist/service/characteristic/carbonMonoxideDetected.d.ts.map +1 -0
- package/dist/service/characteristic/carbonMonoxideDetected.js +6 -0
- package/dist/service/characteristic/carbonMonoxideDetected.js.map +1 -0
- package/dist/service/characteristic/carbonMonoxideLevel.d.ts +6 -0
- package/dist/service/characteristic/carbonMonoxideLevel.d.ts.map +1 -0
- package/dist/service/characteristic/carbonMonoxideLevel.js +6 -0
- package/dist/service/characteristic/carbonMonoxideLevel.js.map +1 -0
- package/dist/service/characteristic/carbonMonoxidePeakLevel.d.ts +6 -0
- package/dist/service/characteristic/carbonMonoxidePeakLevel.d.ts.map +1 -0
- package/dist/service/characteristic/carbonMonoxidePeakLevel.js +6 -0
- package/dist/service/characteristic/carbonMonoxidePeakLevel.js.map +1 -0
- package/dist/service/characteristic/chargingState.d.ts +9 -0
- package/dist/service/characteristic/chargingState.d.ts.map +1 -0
- package/dist/service/characteristic/chargingState.js +12 -0
- package/dist/service/characteristic/chargingState.js.map +1 -0
- package/dist/service/characteristic/colorTemperature.d.ts +10 -0
- package/dist/service/characteristic/colorTemperature.d.ts.map +1 -0
- package/dist/service/characteristic/colorTemperature.js +8 -0
- package/dist/service/characteristic/colorTemperature.js.map +1 -0
- package/dist/service/characteristic/contactSensorState.d.ts +6 -0
- package/dist/service/characteristic/contactSensorState.d.ts.map +1 -0
- package/dist/service/characteristic/contactSensorState.js +6 -0
- package/dist/service/characteristic/contactSensorState.js.map +1 -0
- package/dist/service/characteristic/coolingThresholdTemperature.d.ts +13 -0
- package/dist/service/characteristic/coolingThresholdTemperature.d.ts.map +1 -0
- package/dist/service/characteristic/coolingThresholdTemperature.js +16 -0
- package/dist/service/characteristic/coolingThresholdTemperature.js.map +1 -0
- package/dist/service/characteristic/currentAmbientLightLevel.d.ts +10 -0
- package/dist/service/characteristic/currentAmbientLightLevel.d.ts.map +1 -0
- package/dist/service/characteristic/currentAmbientLightLevel.js +8 -0
- package/dist/service/characteristic/currentAmbientLightLevel.js.map +1 -0
- package/dist/service/characteristic/currentFanState.d.ts +8 -0
- package/dist/service/characteristic/currentFanState.d.ts.map +1 -0
- package/dist/service/characteristic/currentFanState.js +11 -0
- package/dist/service/characteristic/currentFanState.js.map +1 -0
- package/dist/service/characteristic/currentHeatingCoolingState.d.ts +8 -0
- package/dist/service/characteristic/currentHeatingCoolingState.d.ts.map +1 -0
- package/dist/service/characteristic/currentHeatingCoolingState.js +11 -0
- package/dist/service/characteristic/currentHeatingCoolingState.js.map +1 -0
- package/dist/service/characteristic/currentHorizontalTiltAngle.d.ts +6 -0
- package/dist/service/characteristic/currentHorizontalTiltAngle.d.ts.map +1 -0
- package/dist/service/characteristic/currentHorizontalTiltAngle.js +6 -0
- package/dist/service/characteristic/currentHorizontalTiltAngle.js.map +1 -0
- package/dist/service/characteristic/currentHumidifierDehumidifierState.d.ts +8 -0
- package/dist/service/characteristic/currentHumidifierDehumidifierState.d.ts.map +1 -0
- package/dist/service/characteristic/currentHumidifierDehumidifierState.js +12 -0
- package/dist/service/characteristic/currentHumidifierDehumidifierState.js.map +1 -0
- package/dist/service/characteristic/currentPosition.d.ts +6 -0
- package/dist/service/characteristic/currentPosition.d.ts.map +1 -0
- package/dist/service/characteristic/currentPosition.js +6 -0
- package/dist/service/characteristic/currentPosition.js.map +1 -0
- package/dist/service/characteristic/currentRelativeHumidity.d.ts +6 -0
- package/dist/service/characteristic/currentRelativeHumidity.d.ts.map +1 -0
- package/dist/service/characteristic/currentRelativeHumidity.js +6 -0
- package/dist/service/characteristic/currentRelativeHumidity.js.map +1 -0
- package/dist/service/characteristic/currentTemperature.d.ts +13 -0
- package/dist/service/characteristic/currentTemperature.d.ts.map +1 -0
- package/dist/service/characteristic/currentTemperature.js +16 -0
- package/dist/service/characteristic/currentTemperature.js.map +1 -0
- package/dist/service/characteristic/currentVerticalTiltAngle.d.ts +6 -0
- package/dist/service/characteristic/currentVerticalTiltAngle.d.ts.map +1 -0
- package/dist/service/characteristic/currentVerticalTiltAngle.js +6 -0
- package/dist/service/characteristic/currentVerticalTiltAngle.js.map +1 -0
- package/dist/service/characteristic/faultMessage.d.ts +12 -0
- package/dist/service/characteristic/faultMessage.d.ts.map +1 -0
- package/dist/service/characteristic/faultMessage.js +26 -0
- package/dist/service/characteristic/faultMessage.js.map +1 -0
- package/dist/service/characteristic/heatingThresholdTemperature.d.ts +13 -0
- package/dist/service/characteristic/heatingThresholdTemperature.d.ts.map +1 -0
- package/dist/service/characteristic/heatingThresholdTemperature.js +16 -0
- package/dist/service/characteristic/heatingThresholdTemperature.js.map +1 -0
- package/dist/service/characteristic/holdPosition.d.ts +10 -0
- package/dist/service/characteristic/holdPosition.d.ts.map +1 -0
- package/dist/service/characteristic/holdPosition.js +20 -0
- package/dist/service/characteristic/holdPosition.js.map +1 -0
- package/dist/service/characteristic/hue.d.ts +10 -0
- package/dist/service/characteristic/hue.d.ts.map +1 -0
- package/dist/service/characteristic/hue.js +8 -0
- package/dist/service/characteristic/hue.js.map +1 -0
- package/dist/service/characteristic/index.d.ts +78 -0
- package/dist/service/characteristic/index.d.ts.map +1 -0
- package/dist/service/characteristic/index.js +90 -0
- package/dist/service/characteristic/index.js.map +1 -0
- package/dist/service/characteristic/leakDetected.d.ts +6 -0
- package/dist/service/characteristic/leakDetected.d.ts.map +1 -0
- package/dist/service/characteristic/leakDetected.js +6 -0
- package/dist/service/characteristic/leakDetected.js.map +1 -0
- package/dist/service/characteristic/lockCurrentState.d.ts +8 -0
- package/dist/service/characteristic/lockCurrentState.d.ts.map +1 -0
- package/dist/service/characteristic/lockCurrentState.js +12 -0
- package/dist/service/characteristic/lockCurrentState.js.map +1 -0
- package/dist/service/characteristic/lockPhysicalControls.d.ts +6 -0
- package/dist/service/characteristic/lockPhysicalControls.d.ts.map +1 -0
- package/dist/service/characteristic/lockPhysicalControls.js +6 -0
- package/dist/service/characteristic/lockPhysicalControls.js.map +1 -0
- package/dist/service/characteristic/lockTargetState.d.ts +6 -0
- package/dist/service/characteristic/lockTargetState.d.ts.map +1 -0
- package/dist/service/characteristic/lockTargetState.js +9 -0
- package/dist/service/characteristic/lockTargetState.js.map +1 -0
- package/dist/service/characteristic/motionDetected.d.ts +6 -0
- package/dist/service/characteristic/motionDetected.d.ts.map +1 -0
- package/dist/service/characteristic/motionDetected.js +6 -0
- package/dist/service/characteristic/motionDetected.js.map +1 -0
- package/dist/service/characteristic/mqttOnline.d.ts +4 -0
- package/dist/service/characteristic/mqttOnline.d.ts.map +1 -0
- package/dist/service/characteristic/mqttOnline.js +15 -0
- package/dist/service/characteristic/mqttOnline.js.map +1 -0
- package/dist/service/characteristic/mute.d.ts +6 -0
- package/dist/service/characteristic/mute.d.ts.map +1 -0
- package/dist/service/characteristic/mute.js +6 -0
- package/dist/service/characteristic/mute.js.map +1 -0
- package/dist/service/characteristic/no2Density.d.ts +6 -0
- package/dist/service/characteristic/no2Density.d.ts.map +1 -0
- package/dist/service/characteristic/no2Density.js +6 -0
- package/dist/service/characteristic/no2Density.js.map +1 -0
- package/dist/service/characteristic/obstructionDetected.d.ts +6 -0
- package/dist/service/characteristic/obstructionDetected.d.ts.map +1 -0
- package/dist/service/characteristic/obstructionDetected.js +6 -0
- package/dist/service/characteristic/obstructionDetected.js.map +1 -0
- package/dist/service/characteristic/occupancyDetected.d.ts +6 -0
- package/dist/service/characteristic/occupancyDetected.d.ts.map +1 -0
- package/dist/service/characteristic/occupancyDetected.js +6 -0
- package/dist/service/characteristic/occupancyDetected.js.map +1 -0
- package/dist/service/characteristic/on.d.ts +6 -0
- package/dist/service/characteristic/on.d.ts.map +1 -0
- package/dist/service/characteristic/on.js +6 -0
- package/dist/service/characteristic/on.js.map +1 -0
- package/dist/service/characteristic/outletInUse.d.ts +6 -0
- package/dist/service/characteristic/outletInUse.d.ts.map +1 -0
- package/dist/service/characteristic/outletInUse.js +6 -0
- package/dist/service/characteristic/outletInUse.js.map +1 -0
- package/dist/service/characteristic/ozoneDensity.d.ts +6 -0
- package/dist/service/characteristic/ozoneDensity.d.ts.map +1 -0
- package/dist/service/characteristic/ozoneDensity.js +6 -0
- package/dist/service/characteristic/ozoneDensity.js.map +1 -0
- package/dist/service/characteristic/pm10Density.d.ts +6 -0
- package/dist/service/characteristic/pm10Density.d.ts.map +1 -0
- package/dist/service/characteristic/pm10Density.js +6 -0
- package/dist/service/characteristic/pm10Density.js.map +1 -0
- package/dist/service/characteristic/pm25Density.d.ts +6 -0
- package/dist/service/characteristic/pm25Density.d.ts.map +1 -0
- package/dist/service/characteristic/pm25Density.js +6 -0
- package/dist/service/characteristic/pm25Density.js.map +1 -0
- package/dist/service/characteristic/positionState.d.ts +8 -0
- package/dist/service/characteristic/positionState.d.ts.map +1 -0
- package/dist/service/characteristic/positionState.js +11 -0
- package/dist/service/characteristic/positionState.js.map +1 -0
- package/dist/service/characteristic/programmableSwitchEvent.d.ts +14 -0
- package/dist/service/characteristic/programmableSwitchEvent.d.ts.map +1 -0
- package/dist/service/characteristic/programmableSwitchEvent.js +39 -0
- package/dist/service/characteristic/programmableSwitchEvent.js.map +1 -0
- package/dist/service/characteristic/relativeHumidityDehumidifierThreshold.d.ts +6 -0
- package/dist/service/characteristic/relativeHumidityDehumidifierThreshold.d.ts.map +1 -0
- package/dist/service/characteristic/relativeHumidityDehumidifierThreshold.js +6 -0
- package/dist/service/characteristic/relativeHumidityDehumidifierThreshold.js.map +1 -0
- package/dist/service/characteristic/relativeHumidityHumidifierThreshold.d.ts +6 -0
- package/dist/service/characteristic/relativeHumidityHumidifierThreshold.d.ts.map +1 -0
- package/dist/service/characteristic/relativeHumidityHumidifierThreshold.js +6 -0
- package/dist/service/characteristic/relativeHumidityHumidifierThreshold.js.map +1 -0
- package/dist/service/characteristic/rotationDirection.d.ts +6 -0
- package/dist/service/characteristic/rotationDirection.d.ts.map +1 -0
- package/dist/service/characteristic/rotationDirection.js +9 -0
- package/dist/service/characteristic/rotationDirection.js.map +1 -0
- package/dist/service/characteristic/rotationSpeed.d.ts +23 -0
- package/dist/service/characteristic/rotationSpeed.d.ts.map +1 -0
- package/dist/service/characteristic/rotationSpeed.js +88 -0
- package/dist/service/characteristic/rotationSpeed.js.map +1 -0
- package/dist/service/characteristic/saturation.d.ts +6 -0
- package/dist/service/characteristic/saturation.d.ts.map +1 -0
- package/dist/service/characteristic/saturation.js +6 -0
- package/dist/service/characteristic/saturation.js.map +1 -0
- package/dist/service/characteristic/securitySystemAlarmType.d.ts +20 -0
- package/dist/service/characteristic/securitySystemAlarmType.d.ts.map +1 -0
- package/dist/service/characteristic/securitySystemAlarmType.js +26 -0
- package/dist/service/characteristic/securitySystemAlarmType.js.map +1 -0
- package/dist/service/characteristic/securitySystemCurrentState.d.ts +8 -0
- package/dist/service/characteristic/securitySystemCurrentState.d.ts.map +1 -0
- package/dist/service/characteristic/securitySystemCurrentState.js +13 -0
- package/dist/service/characteristic/securitySystemCurrentState.js.map +1 -0
- package/dist/service/characteristic/securitySystemTargetState.d.ts +8 -0
- package/dist/service/characteristic/securitySystemTargetState.d.ts.map +1 -0
- package/dist/service/characteristic/securitySystemTargetState.js +12 -0
- package/dist/service/characteristic/securitySystemTargetState.js.map +1 -0
- package/dist/service/characteristic/smokeDetected.d.ts +6 -0
- package/dist/service/characteristic/smokeDetected.d.ts.map +1 -0
- package/dist/service/characteristic/smokeDetected.js +6 -0
- package/dist/service/characteristic/smokeDetected.js.map +1 -0
- package/dist/service/characteristic/so2Density.d.ts +6 -0
- package/dist/service/characteristic/so2Density.d.ts.map +1 -0
- package/dist/service/characteristic/so2Density.js +6 -0
- package/dist/service/characteristic/so2Density.js.map +1 -0
- package/dist/service/characteristic/statusFault.d.ts +6 -0
- package/dist/service/characteristic/statusFault.d.ts.map +1 -0
- package/dist/service/characteristic/statusFault.js +6 -0
- package/dist/service/characteristic/statusFault.js.map +1 -0
- package/dist/service/characteristic/statusLowBattery.d.ts +6 -0
- package/dist/service/characteristic/statusLowBattery.d.ts.map +1 -0
- package/dist/service/characteristic/statusLowBattery.js +6 -0
- package/dist/service/characteristic/statusLowBattery.js.map +1 -0
- package/dist/service/characteristic/statusTampered.d.ts +6 -0
- package/dist/service/characteristic/statusTampered.d.ts.map +1 -0
- package/dist/service/characteristic/statusTampered.js +6 -0
- package/dist/service/characteristic/statusTampered.js.map +1 -0
- package/dist/service/characteristic/swingMode.d.ts +6 -0
- package/dist/service/characteristic/swingMode.d.ts.map +1 -0
- package/dist/service/characteristic/swingMode.js +6 -0
- package/dist/service/characteristic/swingMode.js.map +1 -0
- package/dist/service/characteristic/targetFanState.d.ts +6 -0
- package/dist/service/characteristic/targetFanState.d.ts.map +1 -0
- package/dist/service/characteristic/targetFanState.js +9 -0
- package/dist/service/characteristic/targetFanState.js.map +1 -0
- package/dist/service/characteristic/targetHeatingCoolingState.d.ts +8 -0
- package/dist/service/characteristic/targetHeatingCoolingState.d.ts.map +1 -0
- package/dist/service/characteristic/targetHeatingCoolingState.js +12 -0
- package/dist/service/characteristic/targetHeatingCoolingState.js.map +1 -0
- package/dist/service/characteristic/targetHorizontalTiltAngle.d.ts +6 -0
- package/dist/service/characteristic/targetHorizontalTiltAngle.d.ts.map +1 -0
- package/dist/service/characteristic/targetHorizontalTiltAngle.js +6 -0
- package/dist/service/characteristic/targetHorizontalTiltAngle.js.map +1 -0
- package/dist/service/characteristic/targetHumidifierDehumidifierState.d.ts +8 -0
- package/dist/service/characteristic/targetHumidifierDehumidifierState.d.ts.map +1 -0
- package/dist/service/characteristic/targetHumidifierDehumidifierState.js +11 -0
- package/dist/service/characteristic/targetHumidifierDehumidifierState.js.map +1 -0
- package/dist/service/characteristic/targetPosition.d.ts +6 -0
- package/dist/service/characteristic/targetPosition.d.ts.map +1 -0
- package/dist/service/characteristic/targetPosition.js +6 -0
- package/dist/service/characteristic/targetPosition.js.map +1 -0
- package/dist/service/characteristic/targetRelativeHumidity.d.ts +6 -0
- package/dist/service/characteristic/targetRelativeHumidity.d.ts.map +1 -0
- package/dist/service/characteristic/targetRelativeHumidity.js +6 -0
- package/dist/service/characteristic/targetRelativeHumidity.js.map +1 -0
- package/dist/service/characteristic/targetTemerature.d.ts +13 -0
- package/dist/service/characteristic/targetTemerature.d.ts.map +1 -0
- package/dist/service/characteristic/targetTemerature.js +16 -0
- package/dist/service/characteristic/targetTemerature.js.map +1 -0
- package/dist/service/characteristic/targetVerticalTiltAngle.d.ts +6 -0
- package/dist/service/characteristic/targetVerticalTiltAngle.d.ts.map +1 -0
- package/dist/service/characteristic/targetVerticalTiltAngle.js +6 -0
- package/dist/service/characteristic/targetVerticalTiltAngle.js.map +1 -0
- package/dist/service/characteristic/temperatureDisplayUnits.d.ts +6 -0
- package/dist/service/characteristic/temperatureDisplayUnits.d.ts.map +1 -0
- package/dist/service/characteristic/temperatureDisplayUnits.js +9 -0
- package/dist/service/characteristic/temperatureDisplayUnits.js.map +1 -0
- package/dist/service/characteristic/vocDensity.d.ts +6 -0
- package/dist/service/characteristic/vocDensity.d.ts.map +1 -0
- package/dist/service/characteristic/vocDensity.js +6 -0
- package/dist/service/characteristic/vocDensity.js.map +1 -0
- package/dist/service/characteristic/volume.d.ts +6 -0
- package/dist/service/characteristic/volume.d.ts.map +1 -0
- package/dist/service/characteristic/volume.js +6 -0
- package/dist/service/characteristic/volume.js.map +1 -0
- package/dist/service/characteristic/waterLevel.d.ts +6 -0
- package/dist/service/characteristic/waterLevel.d.ts.map +1 -0
- package/dist/service/characteristic/waterLevel.js +6 -0
- package/dist/service/characteristic/waterLevel.js.map +1 -0
- package/dist/service/index.d.ts +4 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +75 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/until.d.ts +36 -0
- package/dist/service/until.d.ts.map +1 -0
- package/dist/service/until.js +83 -0
- package/dist/service/until.js.map +1 -0
- package/dist/settings.d.ts +9 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +12 -0
- package/dist/settings.js.map +1 -0
- package/package.json +63 -0
- package/tsconfig.json +26 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BooleanValue = void 0;
|
|
4
|
+
const Converter_js_1 = require("./Converter.js");
|
|
5
|
+
const common_js_1 = require("./common.js");
|
|
6
|
+
var BooleanValue;
|
|
7
|
+
(function (BooleanValue) {
|
|
8
|
+
BooleanValue.readOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
9
|
+
BooleanValue.readWrite = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
10
|
+
const isReadWrite = (config) => 'set' in config;
|
|
11
|
+
const configurator = (name, charTypeFactory, options) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
const onKey = (_a = options === null || options === void 0 ? void 0 : options.onKey) !== null && _a !== void 0 ? _a : 'on';
|
|
14
|
+
const offKey = (_b = options === null || options === void 0 ? void 0 : options.offKey) !== null && _b !== void 0 ? _b : 'off';
|
|
15
|
+
return async (platform, mqtt, accessory, service, config, ctx) => {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
const [setTopic, setJson, fullSetTopic] = isReadWrite(config) ? (0, common_js_1.parseTopic)(config.set, ctx) : [undefined, undefined];
|
|
18
|
+
const [getTopic, getJson, fullGetTopic] = (0, common_js_1.parseTopic)(config.get, ctx);
|
|
19
|
+
const converter = Converter_js_1.Converter.Boolean.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'boolean', onKey, offKey);
|
|
20
|
+
if (!converter) {
|
|
21
|
+
platform.logger.error(`Unknown converter [${JSON.stringify(config.converter)}] set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
22
|
+
}
|
|
23
|
+
const charType = charTypeFactory(platform);
|
|
24
|
+
const char = ((_b = service.getCharacteristic(charType)) !== null && _b !== void 0 ? _b : service.addCharacteristic(charType));
|
|
25
|
+
if (setTopic) {
|
|
26
|
+
char.onSet((value, ctx) => {
|
|
27
|
+
var _a;
|
|
28
|
+
if (!(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) && converter) {
|
|
29
|
+
const mqttValue = converter.fromHap(value);
|
|
30
|
+
const publishedValue = (_a = setJson === null || setJson === void 0 ? void 0 : setJson.stringify(mqttValue)) !== null && _a !== void 0 ? _a : mqttValue;
|
|
31
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
32
|
+
mqtt.publish(setTopic, publishedValue);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const detachable = await mqtt.subscribe(getTopic, value => {
|
|
37
|
+
if (converter) {
|
|
38
|
+
const mqttValue = !getJson ? (0, common_js_1.parseMqttValue)(value) : getJson.parse(value);
|
|
39
|
+
const bool = converter.toHap(mqttValue);
|
|
40
|
+
if (bool === null) {
|
|
41
|
+
platform.logger.error(`Cannot update value from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]. Unknown value [${mqttValue}]`);
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (char.value !== bool) {
|
|
45
|
+
platform.logger.debug(`Setting [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] to [${bool}] from MQTT topic [${fullGetTopic}]`);
|
|
46
|
+
char.setValue(bool, { fromMqtt: true });
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return common_js_1.DetachableCharacteristic.mixin(char, detachable);
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
})(BooleanValue = exports.BooleanValue || (exports.BooleanValue = {}));
|
|
54
|
+
//# sourceMappingURL=BooleanValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/BooleanValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Optional } from '../../../common.js';
|
|
2
|
+
export type Converter<MQTT, HAP> = {
|
|
3
|
+
toHap: (value: MQTT) => HAP | null;
|
|
4
|
+
fromHap: (value: HAP) => MQTT;
|
|
5
|
+
};
|
|
6
|
+
export declare namespace Converter {
|
|
7
|
+
const Homekit: Converter<any, any>;
|
|
8
|
+
namespace Percent {
|
|
9
|
+
type Type = 'homekit' | 'decimal' | {
|
|
10
|
+
min: number;
|
|
11
|
+
max: number;
|
|
12
|
+
};
|
|
13
|
+
const isScaleType: (type: any) => type is {
|
|
14
|
+
min: number;
|
|
15
|
+
max: number;
|
|
16
|
+
};
|
|
17
|
+
const resolve: (type: Type) => Optional<Converter<number, number>>;
|
|
18
|
+
}
|
|
19
|
+
namespace Hue {
|
|
20
|
+
type Type = 'homekit' | 'percent-integer' | 'percent-decimal';
|
|
21
|
+
const resolve: (type: Type) => Optional<Converter<number, number>>;
|
|
22
|
+
}
|
|
23
|
+
namespace Temperature {
|
|
24
|
+
type Type = 'homekit' | 'celsius' | 'fahrenheit';
|
|
25
|
+
const resolve: (type: Type) => Optional<Converter<number, number>>;
|
|
26
|
+
}
|
|
27
|
+
namespace ColorTemperature {
|
|
28
|
+
type Type = 'homekit' | 'mirek' | 'kelvin';
|
|
29
|
+
const resolve: (type: Type) => Optional<Converter<number, number>>;
|
|
30
|
+
}
|
|
31
|
+
namespace Illuminance {
|
|
32
|
+
type Type = 'lux' | 'homekit' | 'log-scale-lux';
|
|
33
|
+
const resolve: (type: Type) => Optional<Converter<number, number>>;
|
|
34
|
+
}
|
|
35
|
+
namespace Boolean {
|
|
36
|
+
type Type<ON extends string = 'on', OFF extends string = 'off'> = 'one-zero' | 'boolean' | {
|
|
37
|
+
[key in ON]: string;
|
|
38
|
+
} & {
|
|
39
|
+
[key in OFF]: string;
|
|
40
|
+
};
|
|
41
|
+
const resolve: <ON extends string, OFF extends string>(type: Type<ON, OFF>, on: ON, off: OFF) => Optional<Converter<any, boolean>>;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Converter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Converter.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAErF,MAAM,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI;IAC/B,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,KAAK,GAAG,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAA;CAChC,CAAA;AAED,yBAAiB,SAAS,CAAC;IAEhB,MAAM,OAAO,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAGvC,CAAA;IAED,UAAiB,OAAO,CAAC;QACrB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG;YAAE,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACjE,MAAM,WAAW,SAAU,GAAG;iBAAkB,MAAM;iBAAO,MAAM;SAAgE,CAAC;QAWpI,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAUtE,CAAA;KACJ;IAED,UAAiB,GAAG,CAAC;QACjB,KAAY,IAAI,GAAG,SAAS,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;QAS9D,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,SAAS,GAAG,SAAS,GAAG,YAAY,CAAC;QAKjD,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,gBAAgB,CAAC;QAC9B,KAAY,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;QAK3C,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,WAAW,CAAC;QACzB,KAAY,IAAI,GAAG,KAAK,GAAG,SAAS,GAAG,eAAe,CAAC;QAKhD,MAAM,OAAO,SAAU,IAAI,KAAG,SAAS,UAAU,MAAM,EAAE,MAAM,CAAC,CAOtE,CAAA;KACJ;IAED,UAAiB,OAAO,CAAC;QACrB,KAAY,IAAI,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI,UAAU,GAAG,SAAS,GAAG;aAAG,GAAG,IAAI,EAAE,GAAG,MAAM;SAAE,GAAG;aAAG,GAAG,IAAI,GAAG,GAAG,MAAM;SAAE,CAAC;QAK9I,MAAM,OAAO,oFAAmF,SAAS,UAAU,GAAG,EAAE,OAAO,CAAC,CAatI,CAAA;KACJ;CAGJ"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Converter = void 0;
|
|
4
|
+
const common_js_1 = require("../../../common.js");
|
|
5
|
+
var Converter;
|
|
6
|
+
(function (Converter) {
|
|
7
|
+
Converter.Homekit = {
|
|
8
|
+
toHap: (value) => value,
|
|
9
|
+
fromHap: (value) => value
|
|
10
|
+
};
|
|
11
|
+
let Percent;
|
|
12
|
+
(function (Percent) {
|
|
13
|
+
Percent.isScaleType = (type) => (0, common_js_1.isObject)(type) && (0, common_js_1.isNumber)(type.min) && (0, common_js_1.isNumber)(type.max);
|
|
14
|
+
const decimal = {
|
|
15
|
+
toHap: (value) => Math.trunc(value * 100),
|
|
16
|
+
fromHap: (value) => Math.trunc(value) / 100
|
|
17
|
+
};
|
|
18
|
+
const scale = (min, max) => {
|
|
19
|
+
return {
|
|
20
|
+
toHap: (value) => Math.round((value - min) / (max - min) * 100),
|
|
21
|
+
fromHap: (value) => Math.round(min + (value / 100) * (max - min))
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
Percent.resolve = (type) => {
|
|
25
|
+
switch (type) {
|
|
26
|
+
case 'homekit': return Converter.Homekit;
|
|
27
|
+
case 'decimal': return decimal;
|
|
28
|
+
default:
|
|
29
|
+
if (Percent.isScaleType(type)) {
|
|
30
|
+
return scale(type.min, type.max);
|
|
31
|
+
}
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
})(Percent = Converter.Percent || (Converter.Percent = {}));
|
|
36
|
+
let Hue;
|
|
37
|
+
(function (Hue) {
|
|
38
|
+
const percentInt = {
|
|
39
|
+
toHap: (value) => Math.trunc(value * 360 / 100),
|
|
40
|
+
fromHap: (value) => Math.trunc(value * 100 / 360)
|
|
41
|
+
};
|
|
42
|
+
const percentDeci = {
|
|
43
|
+
toHap: (value) => Math.trunc(value * 360),
|
|
44
|
+
fromHap: (value) => Math.trunc(value / 360)
|
|
45
|
+
};
|
|
46
|
+
Hue.resolve = (type) => {
|
|
47
|
+
switch (type) {
|
|
48
|
+
case 'homekit': return Converter.Homekit;
|
|
49
|
+
case 'percent-integer': return percentInt;
|
|
50
|
+
case 'percent-decimal': return percentDeci;
|
|
51
|
+
default: return undefined;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
})(Hue = Converter.Hue || (Converter.Hue = {}));
|
|
55
|
+
let Temperature;
|
|
56
|
+
(function (Temperature) {
|
|
57
|
+
const fahrenheit = {
|
|
58
|
+
toHap: (f) => common_js_1.Numbers.roundStep((f - 32) / 1.8, 0.1),
|
|
59
|
+
fromHap: (c) => Math.round(c * 1.8 + 32)
|
|
60
|
+
};
|
|
61
|
+
Temperature.resolve = (type) => {
|
|
62
|
+
switch (type) {
|
|
63
|
+
case 'celsius':
|
|
64
|
+
case 'homekit': return Converter.Homekit;
|
|
65
|
+
case 'fahrenheit': return fahrenheit;
|
|
66
|
+
default: return undefined;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
})(Temperature = Converter.Temperature || (Converter.Temperature = {}));
|
|
70
|
+
let ColorTemperature;
|
|
71
|
+
(function (ColorTemperature) {
|
|
72
|
+
const kelvin = {
|
|
73
|
+
toHap: (kelvin) => Math.round(1000000 / kelvin),
|
|
74
|
+
fromHap: (mirek) => Math.round(1000000 / mirek)
|
|
75
|
+
};
|
|
76
|
+
ColorTemperature.resolve = (type) => {
|
|
77
|
+
switch (type) {
|
|
78
|
+
case 'mirek':
|
|
79
|
+
case 'homekit': return Converter.Homekit;
|
|
80
|
+
case 'kelvin': return kelvin;
|
|
81
|
+
default: return undefined;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
})(ColorTemperature = Converter.ColorTemperature || (Converter.ColorTemperature = {}));
|
|
85
|
+
let Illuminance;
|
|
86
|
+
(function (Illuminance) {
|
|
87
|
+
const logScale = {
|
|
88
|
+
toHap: (logscale) => Math.pow(((logscale - 1) / 10000), 10),
|
|
89
|
+
fromHap: (lux) => Math.round(10000 * Math.log10(lux) + 1)
|
|
90
|
+
};
|
|
91
|
+
Illuminance.resolve = (type) => {
|
|
92
|
+
switch (type) {
|
|
93
|
+
case 'lux':
|
|
94
|
+
case 'homekit': return Converter.Homekit;
|
|
95
|
+
case 'log-scale-lux': return logScale;
|
|
96
|
+
default: return undefined;
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
})(Illuminance = Converter.Illuminance || (Converter.Illuminance = {}));
|
|
100
|
+
let Boolean;
|
|
101
|
+
(function (Boolean) {
|
|
102
|
+
const oneZero = {
|
|
103
|
+
toHap: (value) => value === 1 ? true : value === 0 ? false : null,
|
|
104
|
+
fromHap: (value) => value ? 1 : 0
|
|
105
|
+
};
|
|
106
|
+
Boolean.resolve = (type, on, off) => {
|
|
107
|
+
switch (type) {
|
|
108
|
+
case 'one-zero': return oneZero;
|
|
109
|
+
case 'boolean': return Converter.Homekit;
|
|
110
|
+
default:
|
|
111
|
+
if ((0, common_js_1.isString)(type) || !(0, common_js_1.isString)(type[on]) || !(0, common_js_1.isString)(type[off])) {
|
|
112
|
+
return undefined;
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
toHap: (value) => `${value}` === `${type[on]}` ? true : `${value}` === `${type[off]}` ? false : null,
|
|
116
|
+
fromHap: (value) => value ? type[on] : type[off]
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
})(Boolean = Converter.Boolean || (Converter.Boolean = {}));
|
|
121
|
+
})(Converter = exports.Converter || (exports.Converter = {}));
|
|
122
|
+
//# sourceMappingURL=Converter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Converter.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/Converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { MqttPlatform } from '../../../MqttPlatform.js';
|
|
2
|
+
import { CharacteristicConfigurator } from '../index.js';
|
|
3
|
+
import { CharTypeFactory } from './common.js';
|
|
4
|
+
export declare namespace EnumValue {
|
|
5
|
+
type ValuesResolver = (platform: MqttPlatform) => Record<string, number>;
|
|
6
|
+
type ReadOnlyConfig<VR extends ValuesResolver> = {
|
|
7
|
+
get: string;
|
|
8
|
+
converter?: 'homekit' | Partial<{
|
|
9
|
+
[key in keyof ReturnType<VR>]: string | string[];
|
|
10
|
+
}>;
|
|
11
|
+
validValues?: string[];
|
|
12
|
+
};
|
|
13
|
+
type ReadWriteConfig<VR extends ValuesResolver> = ReadOnlyConfig<VR> & {
|
|
14
|
+
set: string;
|
|
15
|
+
};
|
|
16
|
+
const readOnly: <VR extends ValuesResolver, C extends ReadOnlyConfig<VR> = ReadOnlyConfig<VR>>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
17
|
+
const readWrite: <VR extends ValuesResolver, C extends ReadWriteConfig<VR> = ReadWriteConfig<VR>>(name: string, valuesResolver: VR, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=EnumValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/EnumValue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,eAAe,EAAwD,MAAM,aAAa,CAAC;AAEpG,yBAAiB,SAAS,CAAC;IAEvB,KAAY,cAAc,GAAG,CAAC,QAAQ,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhF,KAAY,cAAc,CAAC,EAAE,SAAS,cAAc,IAAI;QACpD,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;aAAG,GAAG,IAAI,MAAM,UAAU,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE;SAAE,CAAC,CAAC;QACtF,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;KACzB,CAAA;IAED,KAAY,eAAe,CAAC,EAAE,SAAS,cAAc,IAAI,cAAc,CAAC,EAAE,CAAC,GAAG;QAC1E,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;IAGM,MAAM,QAAQ,uFAAwF,MAAM,uCAAuC,eAAe,kCAC3G,CAAC;IAExD,MAAM,SAAS,yFAA0F,MAAM,uCAAuC,eAAe,kCAC9G,CAAC;CA+ElE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EnumValue = void 0;
|
|
4
|
+
const common_1 = require("../../../common");
|
|
5
|
+
const common_js_1 = require("./common.js");
|
|
6
|
+
var EnumValue;
|
|
7
|
+
(function (EnumValue) {
|
|
8
|
+
EnumValue.readOnly = (name, valuesResolver, charTypeFactory) => configurator(name, valuesResolver, charTypeFactory);
|
|
9
|
+
EnumValue.readWrite = (name, valuesResolver, charTypeFactory) => configurator(name, valuesResolver, charTypeFactory);
|
|
10
|
+
const isReadWrite = (config) => 'set' in config;
|
|
11
|
+
const configurator = (name, valuesResolver, charTypeFactory) => {
|
|
12
|
+
return async (platform, mqtt, accessory, service, config, ctx) => {
|
|
13
|
+
var _a;
|
|
14
|
+
const values = valuesResolver(platform);
|
|
15
|
+
const [setTopic, setJson, fullSetTopic] = isReadWrite(config) ? (0, common_js_1.parseTopic)(config.set, ctx) : [undefined, undefined];
|
|
16
|
+
const [getTopic, getJson, fullGetTopic] = (0, common_js_1.parseTopic)(config.get, ctx);
|
|
17
|
+
const _converter = config.converter === 'homekit' ? undefined : config.converter;
|
|
18
|
+
const mqttToHap = Object.keys(values).reduce((mqttToHap, key) => {
|
|
19
|
+
var _a;
|
|
20
|
+
const k = (_a = _converter === null || _converter === void 0 ? void 0 : _converter[key]) !== null && _a !== void 0 ? _a : `${values[key]}`;
|
|
21
|
+
if ((0, common_1.isArray)(k)) {
|
|
22
|
+
for (const item of k) {
|
|
23
|
+
mqttToHap[item] = values[key];
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
mqttToHap[k] = values[key];
|
|
28
|
+
}
|
|
29
|
+
return mqttToHap;
|
|
30
|
+
}, {});
|
|
31
|
+
const hapToMqtt = Object.keys(mqttToHap).reduce((hapToMqtt, key) => {
|
|
32
|
+
hapToMqtt[mqttToHap[key]] = key;
|
|
33
|
+
return hapToMqtt;
|
|
34
|
+
}, {});
|
|
35
|
+
const charType = charTypeFactory(platform);
|
|
36
|
+
const char = (_a = service.getCharacteristic(charType)) !== null && _a !== void 0 ? _a : service.addCharacteristic(charType);
|
|
37
|
+
if (config.validValues !== undefined) {
|
|
38
|
+
char.setProps({
|
|
39
|
+
...char.props,
|
|
40
|
+
validValues: config.validValues.map(value => {
|
|
41
|
+
const hapValue = mqttToHap[value];
|
|
42
|
+
if (!hapValue) {
|
|
43
|
+
throw new Error(`Unknown value [${value}] found in 'validValues' set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
44
|
+
}
|
|
45
|
+
return hapValue;
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
if (setTopic) {
|
|
50
|
+
char.onSet((value, ctx) => {
|
|
51
|
+
var _a;
|
|
52
|
+
if (ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const mqttValue = hapToMqtt[value];
|
|
56
|
+
if (mqttValue !== undefined) {
|
|
57
|
+
platform.logger.error(`Cannot publish [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value to topic [${fullSetTopic}]. Unknown HAP value [${value}]`);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const publishedValue = (_a = setJson === null || setJson === void 0 ? void 0 : setJson.stringify(mqttValue)) !== null && _a !== void 0 ? _a : mqttValue;
|
|
61
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
62
|
+
mqtt.publish(setTopic, publishedValue);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
const detachable = await mqtt.subscribe(getTopic, value => {
|
|
66
|
+
const mqttValue = !getJson ? (0, common_js_1.parseMqttValue)(value) : getJson.parse(value);
|
|
67
|
+
const hapValue = mqttToHap[`${mqttValue}`];
|
|
68
|
+
if (hapValue === undefined) {
|
|
69
|
+
platform.logger.error(`Cannot update value from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]. Unknown value [${mqttValue}]`);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (char.value !== hapValue) {
|
|
73
|
+
platform.logger.debug(`Setting [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] to [${hapValue}] from MQTT topic [${fullGetTopic}]`);
|
|
74
|
+
char.setValue(hapValue, { fromMqtt: true });
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
return common_js_1.DetachableCharacteristic.mixin(char, detachable);
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
})(EnumValue = exports.EnumValue || (exports.EnumValue = {}));
|
|
81
|
+
//# sourceMappingURL=EnumValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/EnumValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { CharacteristicProps, PartialAllowingNull } from 'homebridge';
|
|
2
|
+
import { Optional } from '../../../common.js';
|
|
3
|
+
import { CharacteristicConfigurator } from '../index.js';
|
|
4
|
+
import { CharTypeFactory } from './common.js';
|
|
5
|
+
import { Converter } from './Converter.js';
|
|
6
|
+
export declare namespace NumericValue {
|
|
7
|
+
export type ReadOnlyConfig = {
|
|
8
|
+
get: string;
|
|
9
|
+
};
|
|
10
|
+
export type WriteOnlyConfig = {
|
|
11
|
+
set: string;
|
|
12
|
+
};
|
|
13
|
+
export type ReadMaybeWriteConfig = ReadOnlyConfig & Partial<WriteOnlyConfig>;
|
|
14
|
+
export type WriteMaybeReadConfig = WriteOnlyConfig & Partial<ReadOnlyConfig>;
|
|
15
|
+
export type ReadWriteConfig = ReadOnlyConfig & WriteOnlyConfig;
|
|
16
|
+
export type ConverterResolver<C extends Config = Config> = (config: C) => Optional<Converter<number, number>>;
|
|
17
|
+
type Options<C extends Config> = {
|
|
18
|
+
converterResolver?: ConverterResolver<C>;
|
|
19
|
+
props?: (config: C) => PartialAllowingNull<CharacteristicProps>;
|
|
20
|
+
};
|
|
21
|
+
export const readOnly: <C extends ReadOnlyConfig = ReadOnlyConfig>(name: string, charTypeFactory: CharTypeFactory, options?: Options<C> | undefined) => CharacteristicConfigurator<C>;
|
|
22
|
+
export const writeOnly: <C extends WriteOnlyConfig = WriteOnlyConfig>(name: string, charTypeFactory: CharTypeFactory, options?: Options<C> | undefined) => CharacteristicConfigurator<C>;
|
|
23
|
+
export const readMaybeWriteConfig: <C extends ReadMaybeWriteConfig = ReadMaybeWriteConfig>(name: string, charTypeFactory: CharTypeFactory, options?: Options<C> | undefined) => CharacteristicConfigurator<C>;
|
|
24
|
+
export const writeMaybeReadConfig: <C extends WriteMaybeReadConfig = WriteMaybeReadConfig>(name: string, charTypeFactory: CharTypeFactory, options?: Options<C> | undefined) => CharacteristicConfigurator<C>;
|
|
25
|
+
export const readWrite: <C extends ReadWriteConfig = ReadWriteConfig>(name: string, charTypeFactory: CharTypeFactory, options?: Options<C> | undefined) => CharacteristicConfigurator<C>;
|
|
26
|
+
export type Config = ReadOnlyConfig | WriteOnlyConfig | ReadWriteConfig | ReadMaybeWriteConfig | WriteMaybeReadConfig;
|
|
27
|
+
export namespace Percent {
|
|
28
|
+
type ReadOnlyConfig = NumericValue.ReadOnlyConfig & {
|
|
29
|
+
converter?: Converter.Percent.Type;
|
|
30
|
+
};
|
|
31
|
+
type WriteOnlyConfig = NumericValue.WriteOnlyConfig & {
|
|
32
|
+
converter?: Converter.Percent.Type;
|
|
33
|
+
};
|
|
34
|
+
type ReadMaybeWriteConfig = NumericValue.ReadMaybeWriteConfig & {
|
|
35
|
+
converter?: Converter.Percent.Type;
|
|
36
|
+
};
|
|
37
|
+
type WriteMaybeReadConfig = NumericValue.WriteMaybeReadConfig & {
|
|
38
|
+
converter?: Converter.Percent.Type;
|
|
39
|
+
};
|
|
40
|
+
type ReadWriteConfig = NumericValue.ReadWriteConfig & {
|
|
41
|
+
converter?: Converter.Percent.Type;
|
|
42
|
+
};
|
|
43
|
+
const readOnly: <C extends ReadOnlyConfig = ReadOnlyConfig>(name: string, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
44
|
+
const writeOnly: <C extends WriteOnlyConfig = WriteOnlyConfig>(name: string, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
45
|
+
const writeMaybeReadConfig: <C extends WriteMaybeReadConfig = WriteMaybeReadConfig>(name: string, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
46
|
+
const readMaybeWriteConfig: <C extends ReadMaybeWriteConfig = ReadMaybeWriteConfig>(name: string, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
47
|
+
const readWrite: <C extends ReadWriteConfig = ReadWriteConfig>(name: string, charTypeFactory: CharTypeFactory) => CharacteristicConfigurator<C>;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=NumericValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NumericValue = void 0;
|
|
7
|
+
const events_1 = __importDefault(require("events"));
|
|
8
|
+
const common_js_1 = require("../../../common.js");
|
|
9
|
+
const common_js_2 = require("./common.js");
|
|
10
|
+
const Converter_js_1 = require("./Converter.js");
|
|
11
|
+
var NumericValue;
|
|
12
|
+
(function (NumericValue) {
|
|
13
|
+
const defaultConverterResolver = () => Converter_js_1.Converter.Homekit;
|
|
14
|
+
NumericValue.readOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
15
|
+
NumericValue.writeOnly = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
16
|
+
NumericValue.readMaybeWriteConfig = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
17
|
+
NumericValue.writeMaybeReadConfig = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
18
|
+
NumericValue.readWrite = (name, charTypeFactory, options) => configurator(name, charTypeFactory, options);
|
|
19
|
+
const isRead = (config) => 'get' in config;
|
|
20
|
+
const isWrite = (config) => 'set' in config;
|
|
21
|
+
const configurator = (name, charTypeFactory, options) => {
|
|
22
|
+
var _a;
|
|
23
|
+
const emitter = new events_1.default();
|
|
24
|
+
const converterResolver = (_a = options === null || options === void 0 ? void 0 : options.converterResolver) !== null && _a !== void 0 ? _a : defaultConverterResolver;
|
|
25
|
+
return async (platform, mqtt, accessory, service, config, ctx) => {
|
|
26
|
+
var _a;
|
|
27
|
+
const [setTopic, setJson, fullSetTopic] = isWrite(config) ? (0, common_js_2.parseTopic)(config.set, ctx) : [undefined, undefined];
|
|
28
|
+
const [getTopic, getJson, fullGetTopic] = isRead(config) ? (0, common_js_2.parseTopic)(config.get, ctx) : [undefined, undefined];
|
|
29
|
+
const converter = converterResolver(config);
|
|
30
|
+
if (!converter) {
|
|
31
|
+
platform.logger.error(`Could not resolve converter [${JSON.stringify(config)}] set for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
32
|
+
}
|
|
33
|
+
const charType = charTypeFactory(platform);
|
|
34
|
+
const char = ((_a = service.getCharacteristic(charType)) !== null && _a !== void 0 ? _a : service.addCharacteristic(charType));
|
|
35
|
+
if (options === null || options === void 0 ? void 0 : options.props) {
|
|
36
|
+
const p = options.props(config);
|
|
37
|
+
if (p.minValue) {
|
|
38
|
+
char.setValue(p.minValue);
|
|
39
|
+
}
|
|
40
|
+
char.setProps(p);
|
|
41
|
+
}
|
|
42
|
+
char.onSet((value, ctx) => {
|
|
43
|
+
var _a;
|
|
44
|
+
emitter.emit('set', value, ctx);
|
|
45
|
+
if (setTopic && !(ctx === null || ctx === void 0 ? void 0 : ctx.fromMqtt) && converter) {
|
|
46
|
+
const mqttValue = converter.fromHap(value);
|
|
47
|
+
const publishedValue = (_a = setJson === null || setJson === void 0 ? void 0 : setJson.stringify(mqttValue)) !== null && _a !== void 0 ? _a : mqttValue;
|
|
48
|
+
platform.logger.debug(`Publishing [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] value [${publishedValue}] to topic [${fullSetTopic}]`);
|
|
49
|
+
mqtt.publish(setTopic, publishedValue);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
const detachable = !getTopic ? common_js_1.Detachable.NOOP : await mqtt.subscribe(getTopic, value => {
|
|
53
|
+
if (converter) {
|
|
54
|
+
const mqttValue = !getJson ? (0, common_js_2.parseMqttValue)(value) : getJson.parse(value);
|
|
55
|
+
if (!(0, common_js_1.isNumber)(mqttValue)) {
|
|
56
|
+
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}]`);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (platform.logger.traceEnabled) {
|
|
60
|
+
platform.logger.trace(`Received value [${mqttValue}] from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]`);
|
|
61
|
+
}
|
|
62
|
+
let hapValue = converter.toHap(mqttValue);
|
|
63
|
+
if (hapValue === null) {
|
|
64
|
+
platform.logger.error(`Cannot update value from topic [${fullGetTopic}] for [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}]. Unknown value [${mqttValue}]`);
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
// if the value on the MQTT broker is not aligned with the characteristic minStep property,
|
|
68
|
+
// we'll have a situation where the received MQTT value will always be set on the characteristic
|
|
69
|
+
// to prevent this we first adjust the received value based on the minStep (if one is set)
|
|
70
|
+
if (char.props.minStep) {
|
|
71
|
+
const roundedValue = common_js_1.Numbers.roundStep(hapValue, char.props.minStep);
|
|
72
|
+
if (platform.logger.traceEnabled) {
|
|
73
|
+
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}]`);
|
|
74
|
+
}
|
|
75
|
+
hapValue = roundedValue;
|
|
76
|
+
}
|
|
77
|
+
if ((0, common_js_1.isNumber)(char.props.minValue) && hapValue < char.props.minValue) {
|
|
78
|
+
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...`);
|
|
79
|
+
char.setValue(char.props.minValue, { fromMqtt: true });
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if ((0, common_js_1.isNumber)(char.props.maxValue) && hapValue > char.props.maxValue) {
|
|
83
|
+
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...`);
|
|
84
|
+
char.setValue(char.props.maxValue, { fromMqtt: true });
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const currentValue = char.props.minStep ? common_js_1.Numbers.roundStep(char.value, char.props.minStep) : char.value;
|
|
88
|
+
if (currentValue !== hapValue) {
|
|
89
|
+
platform.logger.debug(`Setting [${mqtt.id}][${accessory.displayName}][${service.displayName}][${name}] to [${hapValue}] from MQTT topic [${fullGetTopic}] (current value [${currentValue}])`);
|
|
90
|
+
char.setValue(hapValue, { fromMqtt: true });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
const on = (event, handler) => {
|
|
95
|
+
emitter.on(event, handler);
|
|
96
|
+
return { detach: () => emitter.off(event, handler) };
|
|
97
|
+
};
|
|
98
|
+
return common_js_2.DetachableCharacteristic.mixin(char, detachable, on);
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
let Percent;
|
|
102
|
+
(function (Percent) {
|
|
103
|
+
Percent.readOnly = (name, charTypeFactory) => NumericValue.readOnly(name, charTypeFactory, {
|
|
104
|
+
converterResolver: (config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }
|
|
105
|
+
});
|
|
106
|
+
Percent.writeOnly = (name, charTypeFactory) => NumericValue.writeOnly(name, charTypeFactory, {
|
|
107
|
+
converterResolver: (config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }
|
|
108
|
+
});
|
|
109
|
+
Percent.writeMaybeReadConfig = (name, charTypeFactory) => NumericValue.writeMaybeReadConfig(name, charTypeFactory, {
|
|
110
|
+
converterResolver: (config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }
|
|
111
|
+
});
|
|
112
|
+
Percent.readMaybeWriteConfig = (name, charTypeFactory) => NumericValue.readMaybeWriteConfig(name, charTypeFactory, {
|
|
113
|
+
converterResolver: (config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }
|
|
114
|
+
});
|
|
115
|
+
Percent.readWrite = (name, charTypeFactory) => NumericValue.readOnly(name, charTypeFactory, {
|
|
116
|
+
converterResolver: (config) => { var _a; return Converter_js_1.Converter.Percent.resolve((_a = config.converter) !== null && _a !== void 0 ? _a : 'homekit'); }
|
|
117
|
+
});
|
|
118
|
+
})(Percent = NumericValue.Percent || (NumericValue.Percent = {}));
|
|
119
|
+
})(NumericValue = exports.NumericValue || (exports.NumericValue = {}));
|
|
120
|
+
//# sourceMappingURL=NumericValue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumericValue.js","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/NumericValue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Converter } from './Converter.js';
|
|
2
|
+
import { CharacteristicConfigurator } from '../index.js';
|
|
3
|
+
import { CharTypeFactory } from './common.js';
|
|
4
|
+
export declare namespace OneZeroValue {
|
|
5
|
+
type ReadOnlyConfig<ON extends string = 'on', OFF extends string = 'off'> = {
|
|
6
|
+
get: string;
|
|
7
|
+
converter?: Converter.Boolean.Type<ON, OFF>;
|
|
8
|
+
};
|
|
9
|
+
type ReadWriteConfig<ON extends string = 'on', OFF extends string = 'off'> = ReadOnlyConfig<ON, OFF> & {
|
|
10
|
+
set: string;
|
|
11
|
+
};
|
|
12
|
+
type Options<ON extends string = 'on', OFF extends string = 'off'> = {
|
|
13
|
+
onKey?: ON;
|
|
14
|
+
offKey?: OFF;
|
|
15
|
+
};
|
|
16
|
+
const readOnly: <ON extends string = "on", OFF extends string = "off", C extends ReadOnlyConfig<ON, OFF> = ReadOnlyConfig<ON, OFF>>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<C>;
|
|
17
|
+
const readWrite: <ON extends string = "on", OFF extends string = "off", C extends ReadWriteConfig<ON, OFF> = ReadWriteConfig<ON, OFF>>(name: string, charTypeFactory: CharTypeFactory, options?: Options<ON, OFF> | undefined) => CharacteristicConfigurator<C>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=OneZeroValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OneZeroValue.d.ts","sourceRoot":"","sources":["../../../../src/service/characteristic/archetype/OneZeroValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAA8B,eAAe,EAA4B,MAAM,aAAa,CAAC;AAEpG,yBAAiB,YAAY,CAAC;IAE1B,KAAY,cAAc,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI;QAC/E,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;KAC9C,CAAA;IAED,KAAY,eAAe,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG;QAC1G,GAAG,EAAE,MAAM,CAAA;KACd,CAAA;IAED,KAAY,OAAO,CAAC,EAAE,SAAS,MAAM,GAAG,IAAI,EAAE,GAAG,SAAS,MAAM,GAAG,KAAK,IAAI;QACxE,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,MAAM,CAAC,EAAE,GAAG,CAAA;KACf,CAAA;IAEM,MAAM,QAAQ,4HAA6H,MAAM,mBAAmB,eAAe,0EAC9H,CAAC;IAEtD,MAAM,SAAS,8HAA+H,MAAM,mBAAmB,eAAe,0EACjI,CAAC;CAqDhE"}
|