@fastybird/smart-panel-backend 1.1.0-alpha.63 → 1.1.0-alpha.65
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/dist/app.module.d.ts +3 -1
- package/dist/app.module.js +5 -1
- package/dist/app.module.js.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/common/database/sqlite-data-source.d.ts +37 -0
- package/dist/common/database/sqlite-data-source.js +2131 -0
- package/dist/common/database/sqlite-data-source.js.map +1 -0
- package/dist/dataSource.d.ts +3 -1
- package/dist/dataSource.js +3 -3
- package/dist/dataSource.js.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/migrations/1000000000002-AddTokenLastUsedAt.js +1 -0
- package/dist/migrations/1000000000002-AddTokenLastUsedAt.js.map +1 -1
- package/dist/migrations/1000000000027-AddVirtualProducerBindings.d.ts +7 -0
- package/dist/migrations/1000000000027-AddVirtualProducerBindings.js +87 -0
- package/dist/migrations/1000000000027-AddVirtualProducerBindings.js.map +1 -0
- package/dist/migrations/1000000000028-AddShellySampleSources.d.ts +6 -0
- package/dist/migrations/1000000000028-AddShellySampleSources.js +29 -0
- package/dist/migrations/1000000000028-AddShellySampleSources.js.map +1 -0
- package/dist/migrations/1000000000029-AddVirtualNumericTransforms.d.ts +6 -0
- package/dist/migrations/1000000000029-AddVirtualNumericTransforms.js +31 -0
- package/dist/migrations/1000000000029-AddVirtualNumericTransforms.js.map +1 -0
- package/dist/migrations/1000000000030-AddZigbeeSampleSources.d.ts +6 -0
- package/dist/migrations/1000000000030-AddZigbeeSampleSources.js +33 -0
- package/dist/migrations/1000000000030-AddZigbeeSampleSources.js.map +1 -0
- package/dist/migrations/1000000000031-AddVirtualThermostatClaims.d.ts +6 -0
- package/dist/migrations/1000000000031-AddVirtualThermostatClaims.js +62 -0
- package/dist/migrations/1000000000031-AddVirtualThermostatClaims.js.map +1 -0
- package/dist/migrations/1000000000032-AddVirtualThermostatRuntime.d.ts +6 -0
- package/dist/migrations/1000000000032-AddVirtualThermostatRuntime.js +39 -0
- package/dist/migrations/1000000000032-AddVirtualThermostatRuntime.js.map +1 -0
- package/dist/migrations/1000000000033-AddThermostatInstallationProfiles.d.ts +6 -0
- package/dist/migrations/1000000000033-AddThermostatInstallationProfiles.js +28 -0
- package/dist/migrations/1000000000033-AddThermostatInstallationProfiles.js.map +1 -0
- package/dist/migrations/1000000000034-AddVirtualThermostatRecoveries.d.ts +6 -0
- package/dist/migrations/1000000000034-AddVirtualThermostatRecoveries.js +26 -0
- package/dist/migrations/1000000000034-AddVirtualThermostatRecoveries.js.map +1 -0
- package/dist/migrations/1000000000035-IndexVirtualThermostatCommands.d.ts +6 -0
- package/dist/migrations/1000000000035-IndexVirtualThermostatCommands.js +35 -0
- package/dist/migrations/1000000000035-IndexVirtualThermostatCommands.js.map +1 -0
- package/dist/migrations/1000000000036-AddVirtualAggregatePolicies.d.ts +6 -0
- package/dist/migrations/1000000000036-AddVirtualAggregatePolicies.js +18 -0
- package/dist/migrations/1000000000036-AddVirtualAggregatePolicies.js.map +1 -0
- package/dist/migrations/1000000000037-AddVirtualAggregateProfiles.d.ts +6 -0
- package/dist/migrations/1000000000037-AddVirtualAggregateProfiles.js +16 -0
- package/dist/migrations/1000000000037-AddVirtualAggregateProfiles.js.map +1 -0
- package/dist/migrations/1000000000038-AddShellyCoverOrdering.d.ts +6 -0
- package/dist/migrations/1000000000038-AddShellyCoverOrdering.js +19 -0
- package/dist/migrations/1000000000038-AddShellyCoverOrdering.js.map +1 -0
- package/dist/migrations/1000000000039-AddVirtualThermostatComfort.d.ts +6 -0
- package/dist/migrations/1000000000039-AddVirtualThermostatComfort.js +16 -0
- package/dist/migrations/1000000000039-AddVirtualThermostatComfort.js.map +1 -0
- package/dist/migrations/1000000000040-AddThermostatBranchGroups.d.ts +6 -0
- package/dist/migrations/1000000000040-AddThermostatBranchGroups.js +32 -0
- package/dist/migrations/1000000000040-AddThermostatBranchGroups.js.map +1 -0
- package/dist/migrations/1000000000041-AddThermostatMemberProtection.d.ts +6 -0
- package/dist/migrations/1000000000041-AddThermostatMemberProtection.js +39 -0
- package/dist/migrations/1000000000041-AddThermostatMemberProtection.js.map +1 -0
- package/dist/migrations/1000000000042-AddShellyCoverRecoveries.d.ts +6 -0
- package/dist/migrations/1000000000042-AddShellyCoverRecoveries.js +19 -0
- package/dist/migrations/1000000000042-AddShellyCoverRecoveries.js.map +1 -0
- package/dist/migrations/1000000000044-AddVirtualDewPoint.d.ts +6 -0
- package/dist/migrations/1000000000044-AddVirtualDewPoint.js +36 -0
- package/dist/migrations/1000000000044-AddVirtualDewPoint.js.map +1 -0
- package/dist/migrations/1000000000045-AddThermostatCoolingDependencies.d.ts +6 -0
- package/dist/migrations/1000000000045-AddThermostatCoolingDependencies.js +32 -0
- package/dist/migrations/1000000000045-AddThermostatCoolingDependencies.js.map +1 -0
- package/dist/migrations/1000000000046-AddSpaceActivityModes.d.ts +7 -0
- package/dist/migrations/1000000000046-AddSpaceActivityModes.js +54 -0
- package/dist/migrations/1000000000046-AddSpaceActivityModes.js.map +1 -0
- package/dist/migrations/1000000000047-AddClimateAutomationOwnership.d.ts +6 -0
- package/dist/migrations/1000000000047-AddClimateAutomationOwnership.js +60 -0
- package/dist/migrations/1000000000047-AddClimateAutomationOwnership.js.map +1 -0
- package/dist/migrations/1000000000048-AddThermostatCreationCatalogBirths.d.ts +6 -0
- package/dist/migrations/1000000000048-AddThermostatCreationCatalogBirths.js +208 -0
- package/dist/migrations/1000000000048-AddThermostatCreationCatalogBirths.js.map +1 -0
- package/dist/migrations/1000000000049-FenceClimateAutomationLifecycle.d.ts +6 -0
- package/dist/migrations/1000000000049-FenceClimateAutomationLifecycle.js +40 -0
- package/dist/migrations/1000000000049-FenceClimateAutomationLifecycle.js.map +1 -0
- package/dist/migrations/1000000000050-AddSpaceModeSchedules.d.ts +6 -0
- package/dist/migrations/1000000000050-AddSpaceModeSchedules.js +36 -0
- package/dist/migrations/1000000000050-AddSpaceModeSchedules.js.map +1 -0
- package/dist/migrations/1000000000051-AddSpaceOccupancy.d.ts +6 -0
- package/dist/migrations/1000000000051-AddSpaceOccupancy.js +34 -0
- package/dist/migrations/1000000000051-AddSpaceOccupancy.js.map +1 -0
- package/dist/migrations/1000000000052-AddNativeThermostats.d.ts +6 -0
- package/dist/migrations/1000000000052-AddNativeThermostats.js +39 -0
- package/dist/migrations/1000000000052-AddNativeThermostats.js.map +1 -0
- package/dist/migrations/1000000000053-AddThermostatOverrideClocks.d.ts +6 -0
- package/dist/migrations/1000000000053-AddThermostatOverrideClocks.js +35 -0
- package/dist/migrations/1000000000053-AddThermostatOverrideClocks.js.map +1 -0
- package/dist/modules/buddy/buddy.utils.d.ts +1 -1
- package/dist/modules/buddy/buddy.utils.js +10 -11
- package/dist/modules/buddy/buddy.utils.js.map +1 -1
- package/dist/modules/buddy/services/buddy-context.service.js +2 -1
- package/dist/modules/buddy/services/buddy-context.service.js.map +1 -1
- package/dist/modules/buddy/services/home-context-tool-provider.service.d.ts +1 -1
- package/dist/modules/devices/contracts/climate-automation.contract.d.ts +111 -0
- package/dist/modules/devices/contracts/climate-automation.contract.js +3 -0
- package/dist/modules/devices/contracts/climate-automation.contract.js.map +1 -0
- package/dist/modules/devices/controllers/channels.properties.controller.d.ts +1 -1
- package/dist/modules/devices/controllers/channels.properties.controller.js +11 -4
- package/dist/modules/devices/controllers/channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/controllers/devices.channels.properties.controller.d.ts +1 -1
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js +11 -4
- package/dist/modules/devices/controllers/devices.channels.properties.controller.js.map +1 -1
- package/dist/modules/devices/controllers/property-command.controller.d.ts +9 -0
- package/dist/modules/devices/controllers/property-command.controller.js +88 -0
- package/dist/modules/devices/controllers/property-command.controller.js.map +1 -0
- package/dist/modules/devices/devices.constants.d.ts +4 -0
- package/dist/modules/devices/devices.constants.js +4 -0
- package/dist/modules/devices/devices.constants.js.map +1 -1
- package/dist/modules/devices/devices.module.js +22 -0
- package/dist/modules/devices/devices.module.js.map +1 -1
- package/dist/modules/devices/devices.openapi.d.ts +3 -1
- package/dist/modules/devices/devices.openapi.js +39 -0
- package/dist/modules/devices/devices.openapi.js.map +1 -1
- package/dist/modules/devices/dto/property-command.dto.js +20 -6
- package/dist/modules/devices/dto/property-command.dto.js.map +1 -1
- package/dist/modules/devices/dto/update-device.dto.d.ts +1 -1
- package/dist/modules/devices/dto/update-device.dto.js +4 -3
- package/dist/modules/devices/dto/update-device.dto.js.map +1 -1
- package/dist/modules/devices/entities/climate-automation.entity.d.ts +56 -0
- package/dist/modules/devices/entities/climate-automation.entity.js +231 -0
- package/dist/modules/devices/entities/climate-automation.entity.js.map +1 -0
- package/dist/modules/devices/entities/devices.entity.d.ts +4 -0
- package/dist/modules/devices/entities/devices.entity.js +27 -3
- package/dist/modules/devices/entities/devices.entity.js.map +1 -1
- package/dist/modules/devices/interceptors/property-command-entry.interceptor.d.ts +10 -0
- package/dist/modules/devices/interceptors/property-command-entry.interceptor.js +50 -0
- package/dist/modules/devices/interceptors/property-command-entry.interceptor.js.map +1 -0
- package/dist/modules/devices/models/composite-command.model.d.ts +16 -0
- package/dist/modules/devices/models/composite-command.model.js +99 -0
- package/dist/modules/devices/models/composite-command.model.js.map +1 -0
- package/dist/modules/devices/models/property-command-response.model.d.ts +18 -0
- package/dist/modules/devices/models/property-command-response.model.js +90 -0
- package/dist/modules/devices/models/property-command-response.model.js.map +1 -0
- package/dist/modules/devices/models/property-read-policy.model.d.ts +4 -0
- package/dist/modules/devices/models/property-read-policy.model.js +57 -0
- package/dist/modules/devices/models/property-read-policy.model.js.map +1 -0
- package/dist/modules/devices/models/property-sample.model.d.ts +50 -0
- package/dist/modules/devices/models/property-sample.model.js +3 -0
- package/dist/modules/devices/models/property-sample.model.js.map +1 -0
- package/dist/modules/devices/models/property-value-state.model.d.ts +11 -0
- package/dist/modules/devices/models/property-value-state.model.js +55 -1
- package/dist/modules/devices/models/property-value-state.model.js.map +1 -1
- package/dist/modules/devices/platforms/device.platform.d.ts +43 -0
- package/dist/modules/devices/platforms/native-climate.contract.d.ts +50 -0
- package/dist/modules/devices/platforms/native-climate.contract.js +3 -0
- package/dist/modules/devices/platforms/native-climate.contract.js.map +1 -0
- package/dist/modules/devices/services/channels-type-mapper.service.d.ts +3 -0
- package/dist/modules/devices/services/channels-type-mapper.service.js +21 -1
- package/dist/modules/devices/services/channels-type-mapper.service.js.map +1 -1
- package/dist/modules/devices/services/channels.properties-type-mapper.service.d.ts +7 -2
- package/dist/modules/devices/services/channels.properties-type-mapper.service.js +21 -1
- package/dist/modules/devices/services/channels.properties-type-mapper.service.js.map +1 -1
- package/dist/modules/devices/services/channels.properties.service.d.ts +11 -2
- package/dist/modules/devices/services/channels.properties.service.js +219 -64
- package/dist/modules/devices/services/channels.properties.service.js.map +1 -1
- package/dist/modules/devices/services/channels.service.d.ts +12 -5
- package/dist/modules/devices/services/channels.service.js +148 -55
- package/dist/modules/devices/services/channels.service.js.map +1 -1
- package/dist/modules/devices/services/climate-automation-ledger-lifecycle.d.ts +47 -0
- package/dist/modules/devices/services/climate-automation-ledger-lifecycle.js +242 -0
- package/dist/modules/devices/services/climate-automation-ledger-lifecycle.js.map +1 -0
- package/dist/modules/devices/services/climate-automation-ledger.service.d.ts +68 -0
- package/dist/modules/devices/services/climate-automation-ledger.service.js +1061 -0
- package/dist/modules/devices/services/climate-automation-ledger.service.js.map +1 -0
- package/dist/modules/devices/services/climate-automation-ledger.utils.d.ts +8 -0
- package/dist/modules/devices/services/climate-automation-ledger.utils.js +54 -0
- package/dist/modules/devices/services/climate-automation-ledger.utils.js.map +1 -0
- package/dist/modules/devices/services/climate-automation.registry.service.d.ts +15 -0
- package/dist/modules/devices/services/climate-automation.registry.service.js +71 -0
- package/dist/modules/devices/services/climate-automation.registry.service.js.map +1 -0
- package/dist/modules/devices/services/composite-property-command.registry.service.d.ts +48 -0
- package/dist/modules/devices/services/composite-property-command.registry.service.js +65 -0
- package/dist/modules/devices/services/composite-property-command.registry.service.js.map +1 -0
- package/dist/modules/devices/services/controller-publication-context.d.ts +27 -0
- package/dist/modules/devices/services/controller-publication-context.js +148 -0
- package/dist/modules/devices/services/controller-publication-context.js.map +1 -0
- package/dist/modules/devices/services/cover-action-proof.d.ts +7 -0
- package/dist/modules/devices/services/cover-action-proof.js +142 -0
- package/dist/modules/devices/services/cover-action-proof.js.map +1 -0
- package/dist/modules/devices/services/creation-capture.d.ts +19 -0
- package/dist/modules/devices/services/creation-capture.js +85 -0
- package/dist/modules/devices/services/creation-capture.js.map +1 -0
- package/dist/modules/devices/services/device-command-graph.service.js +1 -1
- package/dist/modules/devices/services/device-command-graph.service.js.map +1 -1
- package/dist/modules/devices/services/device-connection-state.service.d.ts +1 -0
- package/dist/modules/devices/services/device-connection-state.service.js +64 -18
- package/dist/modules/devices/services/device-connection-state.service.js.map +1 -1
- package/dist/modules/devices/services/device-connectivity.service.js +96 -51
- package/dist/modules/devices/services/device-connectivity.service.js.map +1 -1
- package/dist/modules/devices/services/device-contribution.registry.service.d.ts +50 -0
- package/dist/modules/devices/services/device-contribution.registry.service.js +45 -0
- package/dist/modules/devices/services/device-contribution.registry.service.js.map +1 -0
- package/dist/modules/devices/services/device-creation-context.d.ts +57 -0
- package/dist/modules/devices/services/device-creation-context.js +315 -0
- package/dist/modules/devices/services/device-creation-context.js.map +1 -0
- package/dist/modules/devices/services/device-structure-lock.service.d.ts +5 -0
- package/dist/modules/devices/services/device-structure-lock.service.js +64 -12
- package/dist/modules/devices/services/device-structure-lock.service.js.map +1 -1
- package/dist/modules/devices/services/device-validation.service.d.ts +0 -1
- package/dist/modules/devices/services/device-validation.service.js +3 -14
- package/dist/modules/devices/services/device-validation.service.js.map +1 -1
- package/dist/modules/devices/services/device-zones.service.d.ts +3 -1
- package/dist/modules/devices/services/device-zones.service.js +30 -6
- package/dist/modules/devices/services/device-zones.service.js.map +1 -1
- package/dist/modules/devices/services/devices-type-mapper.service.d.ts +3 -0
- package/dist/modules/devices/services/devices-type-mapper.service.js +21 -1
- package/dist/modules/devices/services/devices-type-mapper.service.js.map +1 -1
- package/dist/modules/devices/services/devices.service.d.ts +8 -2
- package/dist/modules/devices/services/devices.service.js +194 -49
- package/dist/modules/devices/services/devices.service.js.map +1 -1
- package/dist/modules/devices/services/platform.registry.service.d.ts +11 -1
- package/dist/modules/devices/services/platform.registry.service.js +42 -5
- package/dist/modules/devices/services/platform.registry.service.js.map +1 -1
- package/dist/modules/devices/services/property-command-admission.registry.service.d.ts +28 -0
- package/dist/modules/devices/services/property-command-admission.registry.service.js +70 -0
- package/dist/modules/devices/services/property-command-admission.registry.service.js.map +1 -0
- package/dist/modules/devices/services/property-command-dispatch.service.d.ts +28 -2
- package/dist/modules/devices/services/property-command-dispatch.service.js +704 -10
- package/dist/modules/devices/services/property-command-dispatch.service.js.map +1 -1
- package/dist/modules/devices/services/property-command-entry-snapshot.d.ts +25 -0
- package/dist/modules/devices/services/property-command-entry-snapshot.js +87 -0
- package/dist/modules/devices/services/property-command-entry-snapshot.js.map +1 -0
- package/dist/modules/devices/services/property-command-window.service.d.ts +22 -0
- package/dist/modules/devices/services/property-command-window.service.js +81 -0
- package/dist/modules/devices/services/property-command-window.service.js.map +1 -1
- package/dist/modules/devices/services/property-command.service.d.ts +24 -3
- package/dist/modules/devices/services/property-command.service.js +180 -18
- package/dist/modules/devices/services/property-command.service.js.map +1 -1
- package/dist/modules/devices/services/property-metadata.service.js +1 -1
- package/dist/modules/devices/services/property-metadata.service.js.map +1 -1
- package/dist/modules/devices/services/property-producer.registry.service.d.ts +98 -0
- package/dist/modules/devices/services/property-producer.registry.service.js +636 -0
- package/dist/modules/devices/services/property-producer.registry.service.js.map +1 -0
- package/dist/modules/devices/services/property-value-source.registry.service.d.ts +18 -0
- package/dist/modules/devices/services/property-value-source.registry.service.js +291 -2
- package/dist/modules/devices/services/property-value-source.registry.service.js.map +1 -1
- package/dist/modules/devices/services/property-value.service.d.ts +40 -3
- package/dist/modules/devices/services/property-value.service.js +744 -193
- package/dist/modules/devices/services/property-value.service.js.map +1 -1
- package/dist/modules/devices/subscribers/channel-property-entity.subscriber.d.ts +5 -0
- package/dist/modules/devices/subscribers/channel-property-entity.subscriber.js +25 -0
- package/dist/modules/devices/subscribers/channel-property-entity.subscriber.js.map +1 -1
- package/dist/modules/devices/utils/property-metadata.utils.d.ts +1 -0
- package/dist/modules/devices/utils/property-metadata.utils.js +10 -0
- package/dist/modules/devices/utils/property-metadata.utils.js.map +1 -1
- package/dist/modules/devices/utils/property-permissions.utils.d.ts +2 -0
- package/dist/modules/devices/utils/property-permissions.utils.js +10 -0
- package/dist/modules/devices/utils/property-permissions.utils.js.map +1 -0
- package/dist/modules/extensions/services/discovered-backend.module.d.ts +6 -0
- package/dist/modules/extensions/services/discovered-backend.module.js +32 -0
- package/dist/modules/extensions/services/discovered-backend.module.js.map +1 -0
- package/dist/modules/extensions/services/extensions-discovery.js +15 -0
- package/dist/modules/extensions/services/extensions-discovery.js.map +1 -1
- package/dist/modules/extensions/services/extensions.service.d.ts +4 -0
- package/dist/modules/extensions/services/extensions.service.js +13 -0
- package/dist/modules/extensions/services/extensions.service.js.map +1 -1
- package/dist/modules/extensions/services/managed-extension-service.interface.d.ts +1 -0
- package/dist/modules/extensions/services/managed-service-manager.service.d.ts +15 -0
- package/dist/modules/extensions/services/managed-service-manager.service.js +242 -72
- package/dist/modules/extensions/services/managed-service-manager.service.js.map +1 -1
- package/dist/modules/home-context/schemas/home-search-input.schemas.d.ts +1 -1
- package/dist/modules/intents/models/intent.model.d.ts +2 -0
- package/dist/modules/intents/models/intent.model.js +14 -0
- package/dist/modules/intents/models/intent.model.js.map +1 -1
- package/dist/modules/intents/services/intents.service.d.ts +2 -1
- package/dist/modules/intents/services/intents.service.js +18 -2
- package/dist/modules/intents/services/intents.service.js.map +1 -1
- package/dist/modules/scenes/listeners/websocket-exchange.listener.js +4 -0
- package/dist/modules/scenes/listeners/websocket-exchange.listener.js.map +1 -1
- package/dist/modules/scenes/models/scenes.model.d.ts +2 -0
- package/dist/modules/scenes/models/scenes.model.js +10 -0
- package/dist/modules/scenes/models/scenes.model.js.map +1 -1
- package/dist/modules/scenes/services/scene-executor.service.d.ts +6 -1
- package/dist/modules/scenes/services/scene-executor.service.js +33 -22
- package/dist/modules/scenes/services/scene-executor.service.js.map +1 -1
- package/dist/modules/security/providers/alarm-security.provider.d.ts +3 -1
- package/dist/modules/security/providers/alarm-security.provider.js +83 -8
- package/dist/modules/security/providers/alarm-security.provider.js.map +1 -1
- package/dist/modules/spaces/services/space-lifecycle-registry.service.d.ts +19 -0
- package/dist/modules/spaces/services/space-lifecycle-registry.service.js +121 -0
- package/dist/modules/spaces/services/space-lifecycle-registry.service.js.map +1 -0
- package/dist/modules/spaces/services/spaces.service.d.ts +5 -1
- package/dist/modules/spaces/services/spaces.service.js +34 -6
- package/dist/modules/spaces/services/spaces.service.js.map +1 -1
- package/dist/modules/spaces/spaces.constants.d.ts +3 -1
- package/dist/modules/spaces/spaces.constants.js +2 -0
- package/dist/modules/spaces/spaces.constants.js.map +1 -1
- package/dist/modules/spaces/spaces.module.js +13 -1
- package/dist/modules/spaces/spaces.module.js.map +1 -1
- package/dist/modules/storage/services/storage.service.d.ts +8 -0
- package/dist/modules/storage/services/storage.service.js +225 -0
- package/dist/modules/storage/services/storage.service.js.map +1 -1
- package/dist/modules/swagger/decorators/api-documentation.decorator.d.ts +1 -0
- package/dist/modules/swagger/decorators/api-documentation.decorator.js +9 -1
- package/dist/modules/swagger/decorators/api-documentation.decorator.js.map +1 -1
- package/dist/modules/swagger/services/swagger-document.service.d.ts +1 -0
- package/dist/modules/swagger/services/swagger-document.service.js +71 -1
- package/dist/modules/swagger/services/swagger-document.service.js.map +1 -1
- package/dist/modules/system/scripts/privileged/helper.py +3 -1
- package/dist/modules/system/services/backup.service.js +3 -5
- package/dist/modules/system/services/backup.service.js.map +1 -1
- package/dist/modules/system/services/update-executor.service.js +4 -6
- package/dist/modules/system/services/update-executor.service.js.map +1 -1
- package/dist/modules/system/services/update.service.js +1 -1
- package/dist/modules/system/services/update.service.js.map +1 -1
- package/dist/modules/system/system.constants.d.ts +2 -0
- package/dist/modules/system/system.constants.js +3 -1
- package/dist/modules/system/system.constants.js.map +1 -1
- package/dist/modules/system/utils/timezone.utils.d.ts +2 -0
- package/dist/modules/system/utils/timezone.utils.js +9 -0
- package/dist/modules/system/utils/timezone.utils.js.map +1 -0
- package/dist/modules/websocket/gateway/websocket.gateway.js +1 -0
- package/dist/modules/websocket/gateway/websocket.gateway.js.map +1 -1
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js +2 -0
- package/dist/plugins/devices-home-assistant/devices-home-assistant.plugin.js.map +1 -1
- package/dist/plugins/devices-home-assistant/dto/update-channel-property.dto.d.ts +3 -3
- package/dist/plugins/devices-home-assistant/dto/update-channel-property.dto.js +3 -3
- package/dist/plugins/devices-home-assistant/dto/update-channel-property.dto.js.map +1 -1
- package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.d.ts +11 -1
- package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js +82 -2
- package/dist/plugins/devices-home-assistant/platforms/home-assistant.device.platform.js.map +1 -1
- package/dist/plugins/devices-home-assistant/services/home-assistant-native-climate.service.d.ts +22 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-native-climate.service.js +409 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant-native-climate.service.js.map +1 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.d.ts +14 -0
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js +93 -3
- package/dist/plugins/devices-home-assistant/services/home-assistant.ws.service.js.map +1 -1
- package/dist/plugins/devices-homekit/devices-homekit.plugin.js +28 -2
- package/dist/plugins/devices-homekit/devices-homekit.plugin.js.map +1 -1
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.d.ts +26 -3
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +183 -5
- package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/base.mapper.d.ts +2 -1
- package/dist/plugins/devices-homekit/mappers/base.mapper.js +38 -10
- package/dist/plugins/devices-homekit/mappers/base.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/battery.mapper.js +4 -3
- package/dist/plugins/devices-homekit/mappers/battery.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/button.mapper.js +21 -2
- package/dist/plugins/devices-homekit/mappers/button.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/characteristic-get.d.ts +3 -0
- package/dist/plugins/devices-homekit/mappers/characteristic-get.js +10 -0
- package/dist/plugins/devices-homekit/mappers/characteristic-get.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/characteristic-write.d.ts +1 -1
- package/dist/plugins/devices-homekit/mappers/characteristic-write.js +2 -1
- package/dist/plugins/devices-homekit/mappers/characteristic-write.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/fan.mapper.d.ts +12 -0
- package/dist/plugins/devices-homekit/mappers/fan.mapper.js +126 -0
- package/dist/plugins/devices-homekit/mappers/fan.mapper.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +8 -0
- package/dist/plugins/devices-homekit/mappers/outlet.mapper.js +4 -0
- package/dist/plugins/devices-homekit/mappers/outlet.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/property-read.d.ts +7 -0
- package/dist/plugins/devices-homekit/mappers/property-read.js +64 -0
- package/dist/plugins/devices-homekit/mappers/property-read.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/semantic-conversion.d.ts +2 -0
- package/dist/plugins/devices-homekit/mappers/semantic-conversion.js +15 -0
- package/dist/plugins/devices-homekit/mappers/semantic-conversion.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/sensor.mapper.d.ts +3 -0
- package/dist/plugins/devices-homekit/mappers/sensor.mapper.js +63 -11
- package/dist/plugins/devices-homekit/mappers/sensor.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/service-fault.d.ts +4 -0
- package/dist/plugins/devices-homekit/mappers/service-fault.js +33 -0
- package/dist/plugins/devices-homekit/mappers/service-fault.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.d.ts +4 -0
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js +128 -19
- package/dist/plugins/devices-homekit/mappers/thermostat-coordinator.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/thermostat.mapper.js +5 -3
- package/dist/plugins/devices-homekit/mappers/thermostat.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/mappers/unavailable-characteristic.d.ts +3 -0
- package/dist/plugins/devices-homekit/mappers/unavailable-characteristic.js +18 -0
- package/dist/plugins/devices-homekit/mappers/unavailable-characteristic.js.map +1 -0
- package/dist/plugins/devices-homekit/mappers/window-covering.mapper.js +19 -3
- package/dist/plugins/devices-homekit/mappers/window-covering.mapper.js.map +1 -1
- package/dist/plugins/devices-homekit/services/homekit-bridge.service.d.ts +4 -0
- package/dist/plugins/devices-homekit/services/homekit-bridge.service.js +58 -29
- package/dist/plugins/devices-homekit/services/homekit-bridge.service.js.map +1 -1
- package/dist/plugins/devices-homekit/services/homekit-command.dispatcher.d.ts +2 -0
- package/dist/plugins/devices-homekit/services/homekit-command.dispatcher.js +3 -0
- package/dist/plugins/devices-homekit/services/homekit-command.dispatcher.js.map +1 -1
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.d.ts +30 -2
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js +126 -2
- package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js.map +1 -1
- package/dist/plugins/devices-homekit/services/homekit-mapping-maintenance.d.ts +8 -0
- package/dist/plugins/devices-homekit/services/homekit-mapping-maintenance.js +17 -0
- package/dist/plugins/devices-homekit/services/homekit-mapping-maintenance.js.map +1 -0
- package/dist/plugins/devices-homekit/services/homekit-property-state.service.d.ts +19 -0
- package/dist/plugins/devices-homekit/services/homekit-property-state.service.js +69 -0
- package/dist/plugins/devices-homekit/services/homekit-property-state.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/cover-action.contract.d.ts +13 -0
- package/dist/plugins/devices-shelly-ng/contracts/cover-action.contract.js +60 -0
- package/dist/plugins/devices-shelly-ng/contracts/cover-action.contract.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/cover-recovery.contract.d.ts +13 -0
- package/dist/plugins/devices-shelly-ng/contracts/cover-recovery.contract.js +3 -0
- package/dist/plugins/devices-shelly-ng/contracts/cover-recovery.contract.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/guard-script-source.d.ts +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/guard-script-source.js +5 -0
- package/dist/plugins/devices-shelly-ng/contracts/guard-script-source.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/guard-script.contract.d.ts +21 -0
- package/dist/plugins/devices-shelly-ng/contracts/guard-script.contract.js +47 -0
- package/dist/plugins/devices-shelly-ng/contracts/guard-script.contract.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/member-guard-script-source.d.ts +2 -0
- package/dist/plugins/devices-shelly-ng/contracts/member-guard-script-source.js +27 -0
- package/dist/plugins/devices-shelly-ng/contracts/member-guard-script-source.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/native-temperature.contract.d.ts +36 -0
- package/dist/plugins/devices-shelly-ng/contracts/native-temperature.contract.js +200 -0
- package/dist/plugins/devices-shelly-ng/contracts/native-temperature.contract.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/contracts/protective-switch.contract.d.ts +44 -0
- package/dist/plugins/devices-shelly-ng/contracts/protective-switch.contract.js +29 -0
- package/dist/plugins/devices-shelly-ng/contracts/protective-switch.contract.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/controllers/shelly-cover-recovery.controller.d.ts +11 -0
- package/dist/plugins/devices-shelly-ng/controllers/shelly-cover-recovery.controller.js +98 -0
- package/dist/plugins/devices-shelly-ng/controllers/shelly-cover-recovery.controller.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.d.ts +51 -1
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js +688 -2
- package/dist/plugins/devices-shelly-ng/delegates/delegates-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.d.ts +46 -1
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js +315 -4
- package/dist/plugins/devices-shelly-ng/delegates/shelly-device.delegate.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.openapi.d.ts +3 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.openapi.js +8 -0
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.openapi.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js +16 -1
- package/dist/plugins/devices-shelly-ng/devices-shelly-ng.plugin.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/dto/cover-recovery.dto.d.ts +11 -0
- package/dist/plugins/devices-shelly-ng/dto/cover-recovery.dto.js +77 -0
- package/dist/plugins/devices-shelly-ng/dto/cover-recovery.dto.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-cover-ordering.entity.d.ts +5 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-cover-ordering.entity.js +32 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-cover-ordering.entity.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-cover-recovery.entity.d.ts +17 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-cover-recovery.entity.js +80 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-cover-recovery.entity.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-sample-source.entity.d.ts +16 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-sample-source.entity.js +70 -0
- package/dist/plugins/devices-shelly-ng/entities/shelly-sample-source.entity.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/mappings/definitions/covers.yaml +30 -24
- package/dist/plugins/devices-shelly-ng/models/cover-recovery.model.d.ts +21 -0
- package/dist/plugins/devices-shelly-ng/models/cover-recovery.model.js +114 -0
- package/dist/plugins/devices-shelly-ng/models/cover-recovery.model.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/platforms/shelly-ng.device.platform.d.ts +27 -1
- package/dist/plugins/devices-shelly-ng/platforms/shelly-ng.device.platform.js +146 -0
- package/dist/plugins/devices-shelly-ng/platforms/shelly-ng.device.platform.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/authenticated-shelly-script-http.d.ts +16 -0
- package/dist/plugins/devices-shelly-ng/services/authenticated-shelly-script-http.js +154 -0
- package/dist/plugins/devices-shelly-ng/services/authenticated-shelly-script-http.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.d.ts +4 -1
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js +113 -4
- package/dist/plugins/devices-shelly-ng/services/device-manager.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/guarded-shelly-http.d.ts +2 -0
- package/dist/plugins/devices-shelly-ng/services/guarded-shelly-http.js +78 -0
- package/dist/plugins/devices-shelly-ng/services/guarded-shelly-http.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/guarded-shelly-rpc.d.ts +9 -0
- package/dist/plugins/devices-shelly-ng/services/guarded-shelly-rpc.js +56 -0
- package/dist/plugins/devices-shelly-ng/services/guarded-shelly-rpc.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-artifact.d.ts +45 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-artifact.js +278 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-artifact.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-lease.contract.d.ts +49 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-lease.contract.js +32 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-lease.contract.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-qualification.d.ts +53 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-qualification.js +91 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-qualification.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-session.d.ts +35 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-session.js +244 -0
- package/dist/plugins/devices-shelly-ng/services/remote-dew-point-session.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-ordering.service.d.ts +9 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-ordering.service.js +50 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-ordering.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-recovery-lane.service.d.ts +29 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-recovery-lane.service.js +166 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-recovery-lane.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-recovery.service.d.ts +21 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-recovery.service.js +207 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-recovery.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-session.d.ts +25 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-session.js +132 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-session.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-telemetry.d.ts +9 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-telemetry.js +63 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-cover-telemetry.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-guard-rpc-session.d.ts +33 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-guard-rpc-session.js +191 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-guard-rpc-session.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.d.ts +3 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js +32 -4
- package/dist/plugins/devices-shelly-ng/services/shelly-ng.service.js.map +1 -1
- package/dist/plugins/devices-shelly-ng/services/shelly-sample-sources.service.d.ts +34 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-sample-sources.service.js +194 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-sample-sources.service.js.map +1 -0
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js +5 -2
- package/dist/plugins/devices-shelly-ng/services/shelly-ws-server.service.js.map +1 -1
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.d.ts +4 -0
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js +3 -0
- package/dist/plugins/devices-shelly-v1/platforms/shelly-v1.device.platform.js.map +1 -1
- package/dist/plugins/devices-virtual/contracts/thermostat-actuation.contract.d.ts +114 -0
- package/dist/plugins/devices-virtual/contracts/thermostat-actuation.contract.js +12 -0
- package/dist/plugins/devices-virtual/contracts/thermostat-actuation.contract.js.map +1 -0
- package/dist/plugins/devices-virtual/contracts/thermostat-command.contract.d.ts +4 -0
- package/dist/plugins/devices-virtual/contracts/thermostat-command.contract.js +3 -0
- package/dist/plugins/devices-virtual/contracts/thermostat-command.contract.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/native-thermostat.controller.d.ts +15 -0
- package/dist/plugins/devices-virtual/controllers/native-thermostat.controller.js +178 -0
- package/dist/plugins/devices-virtual/controllers/native-thermostat.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/thermostat-authoring-context.controller.d.ts +11 -0
- package/dist/plugins/devices-virtual/controllers/thermostat-authoring-context.controller.js +92 -0
- package/dist/plugins/devices-virtual/controllers/thermostat-authoring-context.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/thermostat-installation.controller.d.ts +16 -0
- package/dist/plugins/devices-virtual/controllers/thermostat-installation.controller.js +179 -0
- package/dist/plugins/devices-virtual/controllers/thermostat-installation.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-dew-point-config.controller.d.ts +11 -0
- package/dist/plugins/devices-virtual/controllers/virtual-dew-point-config.controller.js +100 -0
- package/dist/plugins/devices-virtual/controllers/virtual-dew-point-config.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-measurement-authoring.controller.d.ts +19 -0
- package/dist/plugins/devices-virtual/controllers/virtual-measurement-authoring.controller.js +168 -0
- package/dist/plugins/devices-virtual/controllers/virtual-measurement-authoring.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-producer-config.controller.d.ts +28 -0
- package/dist/plugins/devices-virtual/controllers/virtual-producer-config.controller.js +278 -0
- package/dist/plugins/devices-virtual/controllers/virtual-producer-config.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-authoring.controller.d.ts +12 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-authoring.controller.js +111 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-authoring.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-comfort.controller.d.ts +14 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-comfort.controller.js +160 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-comfort.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-config.controller.d.ts +18 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-config.controller.js +196 -0
- package/dist/plugins/devices-virtual/controllers/virtual-thermostat-config.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/controllers/virtual-transform-config.controller.d.ts +14 -0
- package/dist/plugins/devices-virtual/controllers/virtual-transform-config.controller.js +128 -0
- package/dist/plugins/devices-virtual/controllers/virtual-transform-config.controller.js.map +1 -0
- package/dist/plugins/devices-virtual/devices-virtual.constants.d.ts +1 -0
- package/dist/plugins/devices-virtual/devices-virtual.constants.js +2 -1
- package/dist/plugins/devices-virtual/devices-virtual.constants.js.map +1 -1
- package/dist/plugins/devices-virtual/devices-virtual.openapi.d.ts +24 -2
- package/dist/plugins/devices-virtual/devices-virtual.openapi.js +95 -0
- package/dist/plugins/devices-virtual/devices-virtual.openapi.js.map +1 -1
- package/dist/plugins/devices-virtual/devices-virtual.plugin.d.ts +7 -1
- package/dist/plugins/devices-virtual/devices-virtual.plugin.js +167 -10
- package/dist/plugins/devices-virtual/devices-virtual.plugin.js.map +1 -1
- package/dist/plugins/devices-virtual/dto/create-device.dto.d.ts +2 -0
- package/dist/plugins/devices-virtual/dto/create-device.dto.js +20 -0
- package/dist/plugins/devices-virtual/dto/create-device.dto.js.map +1 -1
- package/dist/plugins/devices-virtual/dto/dew-point-config.dto.d.ts +14 -0
- package/dist/plugins/devices-virtual/dto/dew-point-config.dto.js +119 -0
- package/dist/plugins/devices-virtual/dto/dew-point-config.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/group-catalog.dto.d.ts +8 -0
- package/dist/plugins/devices-virtual/dto/group-catalog.dto.js +62 -0
- package/dist/plugins/devices-virtual/dto/group-catalog.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/light-group-draft.dto.d.ts +19 -0
- package/dist/plugins/devices-virtual/dto/light-group-draft.dto.js +108 -0
- package/dist/plugins/devices-virtual/dto/light-group-draft.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/measurement-authoring.dto.d.ts +25 -0
- package/dist/plugins/devices-virtual/dto/measurement-authoring.dto.js +157 -0
- package/dist/plugins/devices-virtual/dto/measurement-authoring.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/native-thermostat.dto.d.ts +21 -0
- package/dist/plugins/devices-virtual/dto/native-thermostat.dto.js +122 -0
- package/dist/plugins/devices-virtual/dto/native-thermostat.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/producer-config.dto.d.ts +35 -0
- package/dist/plugins/devices-virtual/dto/producer-config.dto.js +290 -0
- package/dist/plugins/devices-virtual/dto/producer-config.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/thermostat-authoring.dto.d.ts +6 -0
- package/dist/plugins/devices-virtual/dto/thermostat-authoring.dto.js +46 -0
- package/dist/plugins/devices-virtual/dto/thermostat-authoring.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/thermostat-comfort.dto.d.ts +39 -0
- package/dist/plugins/devices-virtual/dto/thermostat-comfort.dto.js +244 -0
- package/dist/plugins/devices-virtual/dto/thermostat-comfort.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/thermostat-config.dto.d.ts +94 -0
- package/dist/plugins/devices-virtual/dto/thermostat-config.dto.js +718 -0
- package/dist/plugins/devices-virtual/dto/thermostat-config.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/thermostat-installation.dto.d.ts +71 -0
- package/dist/plugins/devices-virtual/dto/thermostat-installation.dto.js +410 -0
- package/dist/plugins/devices-virtual/dto/thermostat-installation.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/transform-config.dto.d.ts +71 -0
- package/dist/plugins/devices-virtual/dto/transform-config.dto.js +430 -0
- package/dist/plugins/devices-virtual/dto/transform-config.dto.js.map +1 -0
- package/dist/plugins/devices-virtual/dto/update-device.dto.d.ts +2 -0
- package/dist/plugins/devices-virtual/dto/update-device.dto.js +20 -0
- package/dist/plugins/devices-virtual/dto/update-device.dto.js.map +1 -1
- package/dist/plugins/devices-virtual/entities/devices-virtual.entity.d.ts +13 -1
- package/dist/plugins/devices-virtual/entities/devices-virtual.entity.js +56 -6
- package/dist/plugins/devices-virtual/entities/devices-virtual.entity.js.map +1 -1
- package/dist/plugins/devices-virtual/entities/native-thermostat.entity.d.ts +23 -0
- package/dist/plugins/devices-virtual/entities/native-thermostat.entity.js +103 -0
- package/dist/plugins/devices-virtual/entities/native-thermostat.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/thermostat-cooling-dependency.entity.d.ts +19 -0
- package/dist/plugins/devices-virtual/entities/thermostat-cooling-dependency.entity.js +87 -0
- package/dist/plugins/devices-virtual/entities/thermostat-cooling-dependency.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/thermostat-installation.entity.d.ts +36 -0
- package/dist/plugins/devices-virtual/entities/thermostat-installation.entity.js +125 -0
- package/dist/plugins/devices-virtual/entities/thermostat-installation.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/thermostat-member-protection.entity.d.ts +15 -0
- package/dist/plugins/devices-virtual/entities/thermostat-member-protection.entity.js +70 -0
- package/dist/plugins/devices-virtual/entities/thermostat-member-protection.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/thermostat-override-clock.entity.d.ts +7 -0
- package/dist/plugins/devices-virtual/entities/thermostat-override-clock.entity.js +39 -0
- package/dist/plugins/devices-virtual/entities/thermostat-override-clock.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/virtual-dew-point.entity.d.ts +28 -0
- package/dist/plugins/devices-virtual/entities/virtual-dew-point.entity.js +104 -0
- package/dist/plugins/devices-virtual/entities/virtual-dew-point.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/virtual-producer.entity.d.ts +89 -0
- package/dist/plugins/devices-virtual/entities/virtual-producer.entity.js +281 -0
- package/dist/plugins/devices-virtual/entities/virtual-producer.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/virtual-thermostat-runtime.entity.d.ts +45 -0
- package/dist/plugins/devices-virtual/entities/virtual-thermostat-runtime.entity.js +184 -0
- package/dist/plugins/devices-virtual/entities/virtual-thermostat-runtime.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/virtual-thermostat.entity.d.ts +86 -0
- package/dist/plugins/devices-virtual/entities/virtual-thermostat.entity.js +337 -0
- package/dist/plugins/devices-virtual/entities/virtual-thermostat.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/entities/virtual-transform.entity.d.ts +23 -0
- package/dist/plugins/devices-virtual/entities/virtual-transform.entity.js +101 -0
- package/dist/plugins/devices-virtual/entities/virtual-transform.entity.js.map +1 -0
- package/dist/plugins/devices-virtual/listeners/virtual-device-information.listener.d.ts +5 -0
- package/dist/plugins/devices-virtual/listeners/virtual-device-information.listener.js +65 -22
- package/dist/plugins/devices-virtual/listeners/virtual-device-information.listener.js.map +1 -1
- package/dist/plugins/devices-virtual/listeners/virtual-index-maintenance.listener.d.ts +8 -1
- package/dist/plugins/devices-virtual/listeners/virtual-index-maintenance.listener.js +123 -32
- package/dist/plugins/devices-virtual/listeners/virtual-index-maintenance.listener.js.map +1 -1
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.d.ts +3 -0
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js +41 -3
- package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js.map +1 -1
- package/dist/plugins/devices-virtual/listeners/virtual-status.listener.js +28 -15
- package/dist/plugins/devices-virtual/listeners/virtual-status.listener.js.map +1 -1
- package/dist/plugins/devices-virtual/models/dew-point-response.model.d.ts +38 -0
- package/dist/plugins/devices-virtual/models/dew-point-response.model.js +193 -0
- package/dist/plugins/devices-virtual/models/dew-point-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/group-catalog.model.d.ts +26 -0
- package/dist/plugins/devices-virtual/models/group-catalog.model.js +117 -0
- package/dist/plugins/devices-virtual/models/group-catalog.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/light-group-draft.model.d.ts +28 -0
- package/dist/plugins/devices-virtual/models/light-group-draft.model.js +122 -0
- package/dist/plugins/devices-virtual/models/light-group-draft.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/measurement-authoring-response.model.d.ts +26 -0
- package/dist/plugins/devices-virtual/models/measurement-authoring-response.model.js +125 -0
- package/dist/plugins/devices-virtual/models/measurement-authoring-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/native-thermostat-response.model.d.ts +84 -0
- package/dist/plugins/devices-virtual/models/native-thermostat-response.model.js +406 -0
- package/dist/plugins/devices-virtual/models/native-thermostat-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/numeric-operator.model.d.ts +23 -0
- package/dist/plugins/devices-virtual/models/numeric-operator.model.js +120 -0
- package/dist/plugins/devices-virtual/models/numeric-operator.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/producer-response.model.d.ts +138 -0
- package/dist/plugins/devices-virtual/models/producer-response.model.js +764 -0
- package/dist/plugins/devices-virtual/models/producer-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/thermostat-authoring-context.model.d.ts +22 -0
- package/dist/plugins/devices-virtual/models/thermostat-authoring-context.model.js +134 -0
- package/dist/plugins/devices-virtual/models/thermostat-authoring-context.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/thermostat-authoring-response.model.d.ts +18 -0
- package/dist/plugins/devices-virtual/models/thermostat-authoring-response.model.js +87 -0
- package/dist/plugins/devices-virtual/models/thermostat-authoring-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/thermostat-comfort-response.model.d.ts +60 -0
- package/dist/plugins/devices-virtual/models/thermostat-comfort-response.model.js +341 -0
- package/dist/plugins/devices-virtual/models/thermostat-comfort-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/thermostat-installation-response.model.d.ts +84 -0
- package/dist/plugins/devices-virtual/models/thermostat-installation-response.model.js +440 -0
- package/dist/plugins/devices-virtual/models/thermostat-installation-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/thermostat-response.model.d.ts +218 -0
- package/dist/plugins/devices-virtual/models/thermostat-response.model.js +1157 -0
- package/dist/plugins/devices-virtual/models/thermostat-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/models/transform-response.model.d.ts +73 -0
- package/dist/plugins/devices-virtual/models/transform-response.model.js +386 -0
- package/dist/plugins/devices-virtual/models/transform-response.model.js.map +1 -0
- package/dist/plugins/devices-virtual/platforms/virtual-device.platform.d.ts +5 -1
- package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js +22 -3
- package/dist/plugins/devices-virtual/platforms/virtual-device.platform.js.map +1 -1
- package/dist/plugins/devices-virtual/services/native-thermostat.service.d.ts +72 -0
- package/dist/plugins/devices-virtual/services/native-thermostat.service.js +932 -0
- package/dist/plugins/devices-virtual/services/native-thermostat.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-authoring-context.service.d.ts +14 -0
- package/dist/plugins/devices-virtual/services/thermostat-authoring-context.service.js +147 -0
- package/dist/plugins/devices-virtual/services/thermostat-authoring-context.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-comfort-selection.d.ts +199 -0
- package/dist/plugins/devices-virtual/services/thermostat-comfort-selection.js +1064 -0
- package/dist/plugins/devices-virtual/services/thermostat-comfort-selection.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-controller-mutation.d.ts +75 -0
- package/dist/plugins/devices-virtual/services/thermostat-controller-mutation.js +445 -0
- package/dist/plugins/devices-virtual/services/thermostat-controller-mutation.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-cooling-dependency.service.d.ts +53 -0
- package/dist/plugins/devices-virtual/services/thermostat-cooling-dependency.service.js +267 -0
- package/dist/plugins/devices-virtual/services/thermostat-cooling-dependency.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-creation-catalog.d.ts +56 -0
- package/dist/plugins/devices-virtual/services/thermostat-creation-catalog.js +438 -0
- package/dist/plugins/devices-virtual/services/thermostat-creation-catalog.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-creation-response.d.ts +37 -0
- package/dist/plugins/devices-virtual/services/thermostat-creation-response.js +430 -0
- package/dist/plugins/devices-virtual/services/thermostat-creation-response.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-artifact.d.ts +13 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-artifact.js +263 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-artifact.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-bindings.service.d.ts +10 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-bindings.service.js +238 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-bindings.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-loader.service.d.ts +41 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-loader.service.js +350 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation-loader.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation.service.d.ts +40 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation.service.js +263 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation.types.d.ts +72 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation.types.js +13 -0
- package/dist/plugins/devices-virtual/services/thermostat-installation.types.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-member-protection.service.d.ts +45 -0
- package/dist/plugins/devices-virtual/services/thermostat-member-protection.service.js +235 -0
- package/dist/plugins/devices-virtual/services/thermostat-member-protection.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-override-clock.sql.d.ts +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-override-clock.sql.js +16 -0
- package/dist/plugins/devices-virtual/services/thermostat-override-clock.sql.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-protection-source.utils.d.ts +27 -0
- package/dist/plugins/devices-virtual/services/thermostat-protection-source.utils.js +132 -0
- package/dist/plugins/devices-virtual/services/thermostat-protection-source.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/thermostat-remote-cooling-adapter.d.ts +88 -0
- package/dist/plugins/devices-virtual/services/thermostat-remote-cooling-adapter.js +200 -0
- package/dist/plugins/devices-virtual/services/thermostat-remote-cooling-adapter.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-evaluator.d.ts +35 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-evaluator.js +200 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-evaluator.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-policy.utils.d.ts +5 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-policy.utils.js +18 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-policy.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-runtime.service.d.ts +48 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-runtime.service.js +425 -0
- package/dist/plugins/devices-virtual/services/virtual-aggregate-runtime.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-cooling-policy.utils.d.ts +13 -0
- package/dist/plugins/devices-virtual/services/virtual-cooling-policy.utils.js +38 -0
- package/dist/plugins/devices-virtual/services/virtual-cooling-policy.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-cover-contract.utils.d.ts +7 -0
- package/dist/plugins/devices-virtual/services/virtual-cover-contract.utils.js +41 -0
- package/dist/plugins/devices-virtual/services/virtual-cover-contract.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-cover-readiness.utils.d.ts +16 -0
- package/dist/plugins/devices-virtual/services/virtual-cover-readiness.utils.js +42 -0
- package/dist/plugins/devices-virtual/services/virtual-cover-readiness.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-dependency-graph.service.d.ts +118 -0
- package/dist/plugins/devices-virtual/services/virtual-dependency-graph.service.js +667 -0
- package/dist/plugins/devices-virtual/services/virtual-dependency-graph.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-devices.service.d.ts +8 -4
- package/dist/plugins/devices-virtual/services/virtual-devices.service.js +105 -22
- package/dist/plugins/devices-virtual/services/virtual-devices.service.js.map +1 -1
- package/dist/plugins/devices-virtual/services/virtual-dew-point-config.service.d.ts +28 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-config.service.js +193 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-config.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-contract.utils.d.ts +5 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-contract.utils.js +69 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-contract.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-runtime.service.d.ts +65 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-runtime.service.js +524 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point-runtime.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point.utils.d.ts +9 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point.utils.js +25 -0
- package/dist/plugins/devices-virtual/services/virtual-dew-point.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-group-catalog.service.d.ts +10 -0
- package/dist/plugins/devices-virtual/services/virtual-group-catalog.service.js +117 -0
- package/dist/plugins/devices-virtual/services/virtual-group-catalog.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-group-contract.utils.d.ts +4 -0
- package/dist/plugins/devices-virtual/services/virtual-group-contract.utils.js +35 -0
- package/dist/plugins/devices-virtual/services/virtual-group-contract.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-group-field.utils.d.ts +10 -0
- package/dist/plugins/devices-virtual/services/virtual-group-field.utils.js +35 -0
- package/dist/plugins/devices-virtual/services/virtual-group-field.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-group-profile.d.ts +19 -0
- package/dist/plugins/devices-virtual/services/virtual-group-profile.js +137 -0
- package/dist/plugins/devices-virtual/services/virtual-group-profile.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-authoring.service.d.ts +43 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-authoring.service.js +217 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-authoring.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-command.service.d.ts +28 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-command.service.js +262 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-command.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-contribution.service.d.ts +19 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-contribution.service.js +91 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-contribution.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-state.service.d.ts +37 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-state.service.js +346 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group-state.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group.utils.d.ts +46 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group.utils.js +204 -0
- package/dist/plugins/devices-virtual/services/virtual-light-group.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-authoring.service.d.ts +37 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-authoring.service.js +270 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-authoring.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-contribution.service.d.ts +21 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-contribution.service.js +166 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-contribution.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-metadata.utils.d.ts +3 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-metadata.utils.js +25 -0
- package/dist/plugins/devices-virtual/services/virtual-measurement-metadata.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-operator-host.service.d.ts +24 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-operator-host.service.js +145 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-operator-host.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-operator.registry.d.ts +18 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-operator.registry.js +86 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-operator.registry.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-profile.utils.d.ts +29 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-profile.utils.js +136 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-profile.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-transform.utils.d.ts +59 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-transform.utils.js +165 -0
- package/dist/plugins/devices-virtual/services/virtual-numeric-transform.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-producer-config.service.d.ts +64 -0
- package/dist/plugins/devices-virtual/services/virtual-producer-config.service.js +694 -0
- package/dist/plugins/devices-virtual/services/virtual-producer-config.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-producer-state.service.d.ts +60 -0
- package/dist/plugins/devices-virtual/services/virtual-producer-state.service.js +484 -0
- package/dist/plugins/devices-virtual/services/virtual-producer-state.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-property-index.service.d.ts +11 -2
- package/dist/plugins/devices-virtual/services/virtual-property-index.service.js +166 -13
- package/dist/plugins/devices-virtual/services/virtual-property-index.service.js.map +1 -1
- package/dist/plugins/devices-virtual/services/virtual-source-eligibility.utils.d.ts +3 -0
- package/dist/plugins/devices-virtual/services/virtual-source-eligibility.utils.js +10 -0
- package/dist/plugins/devices-virtual/services/virtual-source-eligibility.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-authoring.service.d.ts +27 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-authoring.service.js +385 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-authoring.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-automation.service.d.ts +90 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-automation.service.js +1189 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-automation.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-branch.utils.d.ts +5 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-branch.utils.js +29 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-branch.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-claims.service.d.ts +80 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-claims.service.js +489 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-claims.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-comfort.service.d.ts +80 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-comfort.service.js +580 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-comfort.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-comfort.utils.d.ts +58 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-comfort.utils.js +106 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-comfort.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-config.service.d.ts +909 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-config.service.js +1171 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-config.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-contract.utils.d.ts +5 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-contract.utils.js +51 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-contract.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-inputs.service.d.ts +46 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-inputs.service.js +166 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-inputs.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-ownership.sql.d.ts +4 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-ownership.sql.js +59 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-ownership.sql.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-policy.utils.d.ts +45 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-policy.utils.js +149 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-policy.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-runtime-ownership.d.ts +56 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-runtime-ownership.js +680 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-runtime-ownership.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-runtime.service.d.ts +133 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-runtime.service.js +1617 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-runtime.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-transport.service.d.ts +39 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-transport.service.js +561 -0
- package/dist/plugins/devices-virtual/services/virtual-thermostat-transport.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-config.service.d.ts +41 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-config.service.js +209 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-config.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-contract.utils.d.ts +8 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-contract.utils.js +103 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-contract.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-preview.utils.d.ts +3 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-preview.utils.js +18 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-preview.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-resolver.d.ts +15 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-resolver.js +102 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-resolver.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-runtime.service.d.ts +54 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-runtime.service.js +470 -0
- package/dist/plugins/devices-virtual/services/virtual-transform-runtime.service.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-typed-group.utils.d.ts +6 -0
- package/dist/plugins/devices-virtual/services/virtual-typed-group.utils.js +100 -0
- package/dist/plugins/devices-virtual/services/virtual-typed-group.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-value-source.service.d.ts +7 -0
- package/dist/plugins/devices-virtual/services/virtual-value-source.service.js +36 -2
- package/dist/plugins/devices-virtual/services/virtual-value-source.service.js.map +1 -1
- package/dist/plugins/devices-virtual/services/virtual-window-contact.utils.d.ts +17 -0
- package/dist/plugins/devices-virtual/services/virtual-window-contact.utils.js +52 -0
- package/dist/plugins/devices-virtual/services/virtual-window-contact.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/services/virtual-window-trend.utils.d.ts +44 -0
- package/dist/plugins/devices-virtual/services/virtual-window-trend.utils.js +171 -0
- package/dist/plugins/devices-virtual/services/virtual-window-trend.utils.js.map +1 -0
- package/dist/plugins/devices-virtual/subscribers/virtual-thermostat-ownership.subscriber.d.ts +30 -0
- package/dist/plugins/devices-virtual/subscribers/virtual-thermostat-ownership.subscriber.js +195 -0
- package/dist/plugins/devices-virtual/subscribers/virtual-thermostat-ownership.subscriber.js.map +1 -0
- package/dist/plugins/devices-virtual/subscribers/virtual-transform-metadata.subscriber.d.ts +9 -0
- package/dist/plugins/devices-virtual/subscribers/virtual-transform-metadata.subscriber.js +58 -0
- package/dist/plugins/devices-virtual/subscribers/virtual-transform-metadata.subscriber.js.map +1 -0
- package/dist/plugins/devices-virtual/validators/category-allowed-constraint.validator.d.ts +1 -1
- package/dist/plugins/devices-virtual/validators/category-allowed-constraint.validator.js +6 -1
- package/dist/plugins/devices-virtual/validators/category-allowed-constraint.validator.js.map +1 -1
- package/dist/plugins/devices-wled/interfaces/wled.interface.d.ts +7 -0
- package/dist/plugins/devices-wled/interfaces/wled.interface.js.map +1 -1
- package/dist/plugins/devices-wled/platforms/wled.device.platform.d.ts +4 -2
- package/dist/plugins/devices-wled/platforms/wled.device.platform.js +56 -9
- package/dist/plugins/devices-wled/platforms/wled.device.platform.js.map +1 -1
- package/dist/plugins/devices-wled/services/device-mapper.service.d.ts +3 -2
- package/dist/plugins/devices-wled/services/device-mapper.service.js +48 -1
- package/dist/plugins/devices-wled/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-wled/services/wled-client-adapter.service.d.ts +6 -1
- package/dist/plugins/devices-wled/services/wled-client-adapter.service.js +101 -13
- package/dist/plugins/devices-wled/services/wled-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-wled/services/wled.service.js +5 -2
- package/dist/plugins/devices-wled/services/wled.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/contracts/sample-source.contract.d.ts +38 -0
- package/dist/plugins/devices-zigbee2mqtt/contracts/sample-source.contract.js +95 -0
- package/dist/plugins/devices-zigbee2mqtt/contracts/sample-source.contract.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.plugin.js +11 -1
- package/dist/plugins/devices-zigbee2mqtt/devices-zigbee2mqtt.plugin.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/entities/zigbee-sample-source.entity.d.ts +18 -0
- package/dist/plugins/devices-zigbee2mqtt/entities/zigbee-sample-source.entity.js +79 -0
- package/dist/plugins/devices-zigbee2mqtt/entities/zigbee-sample-source.entity.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/interfaces/zigbee2mqtt.interface.d.ts +11 -0
- package/dist/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.d.ts +11 -2
- package/dist/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.js +100 -11
- package/dist/plugins/devices-zigbee2mqtt/platforms/zigbee2mqtt.device.platform.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.d.ts +31 -13
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js +166 -5
- package/dist/plugins/devices-zigbee2mqtt/services/base-client-adapter.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.d.ts +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js +44 -3
- package/dist/plugins/devices-zigbee2mqtt/services/device-adoption.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.d.ts +20 -3
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js +156 -34
- package/dist/plugins/devices-zigbee2mqtt/services/device-mapper.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.d.ts +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js +14 -1
- package/dist/plugins/devices-zigbee2mqtt/services/mqtt-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/native-climate-adapter.service.d.ts +15 -0
- package/dist/plugins/devices-zigbee2mqtt/services/native-climate-adapter.service.js +249 -0
- package/dist/plugins/devices-zigbee2mqtt/services/native-climate-adapter.service.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/websocket-sample-evidence.d.ts +2 -0
- package/dist/plugins/devices-zigbee2mqtt/services/websocket-sample-evidence.js +15 -0
- package/dist/plugins/devices-zigbee2mqtt/services/websocket-sample-evidence.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.d.ts +7 -1
- package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.js +45 -2
- package/dist/plugins/devices-zigbee2mqtt/services/ws-client-adapter.service.js.map +1 -1
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee-sample-sources.service.d.ts +49 -0
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee-sample-sources.service.js +264 -0
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee-sample-sources.service.js.map +1 -0
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js +2 -0
- package/dist/plugins/devices-zigbee2mqtt/services/zigbee2mqtt.service.js.map +1 -1
- package/dist/plugins/scenes-local/platforms/local-scene.platform.d.ts +6 -3
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js +101 -15
- package/dist/plugins/scenes-local/platforms/local-scene.platform.js.map +1 -1
- package/dist/plugins/spaces-home-control/activity/activity-actor.d.ts +2 -0
- package/dist/plugins/spaces-home-control/activity/activity-actor.js +14 -0
- package/dist/plugins/spaces-home-control/activity/activity-actor.js.map +1 -0
- package/dist/plugins/spaces-home-control/activity/activity-result.utils.d.ts +6 -0
- package/dist/plugins/spaces-home-control/activity/activity-result.utils.js +26 -0
- package/dist/plugins/spaces-home-control/activity/activity-result.utils.js.map +1 -0
- package/dist/plugins/spaces-home-control/activity/space-activity.constants.d.ts +32 -0
- package/dist/plugins/spaces-home-control/activity/space-activity.constants.js +40 -0
- package/dist/plugins/spaces-home-control/activity/space-activity.constants.js.map +1 -0
- package/dist/plugins/spaces-home-control/activity/space-activity.defaults.d.ts +3 -0
- package/dist/plugins/spaces-home-control/activity/space-activity.defaults.js +25 -0
- package/dist/plugins/spaces-home-control/activity/space-activity.defaults.js.map +1 -0
- package/dist/plugins/spaces-home-control/activity/validate-activity-configuration.d.ts +2 -0
- package/dist/plugins/spaces-home-control/activity/validate-activity-configuration.js +37 -0
- package/dist/plugins/spaces-home-control/activity/validate-activity-configuration.js.map +1 -0
- package/dist/plugins/spaces-home-control/controllers/space-mode-schedules.controller.d.ts +12 -0
- package/dist/plugins/spaces-home-control/controllers/space-mode-schedules.controller.js +97 -0
- package/dist/plugins/spaces-home-control/controllers/space-mode-schedules.controller.js.map +1 -0
- package/dist/plugins/spaces-home-control/controllers/space-modes.controller.d.ts +19 -0
- package/dist/plugins/spaces-home-control/controllers/space-modes.controller.js +220 -0
- package/dist/plugins/spaces-home-control/controllers/space-modes.controller.js.map +1 -0
- package/dist/plugins/spaces-home-control/controllers/space-occupancy.controller.d.ts +18 -0
- package/dist/plugins/spaces-home-control/controllers/space-occupancy.controller.js +147 -0
- package/dist/plugins/spaces-home-control/controllers/space-occupancy.controller.js.map +1 -0
- package/dist/plugins/spaces-home-control/controllers/spaces-domain.controller.js +4 -0
- package/dist/plugins/spaces-home-control/controllers/spaces-domain.controller.js.map +1 -1
- package/dist/plugins/spaces-home-control/dto/activity-mode.dto.d.ts +22 -0
- package/dist/plugins/spaces-home-control/dto/activity-mode.dto.js +119 -0
- package/dist/plugins/spaces-home-control/dto/activity-mode.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/dto/space-mode-schedule.dto.d.ts +18 -0
- package/dist/plugins/spaces-home-control/dto/space-mode-schedule.dto.js +127 -0
- package/dist/plugins/spaces-home-control/dto/space-mode-schedule.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/dto/space-occupancy.dto.d.ts +13 -0
- package/dist/plugins/spaces-home-control/dto/space-occupancy.dto.js +99 -0
- package/dist/plugins/spaces-home-control/dto/space-occupancy.dto.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-activity-config.entity.d.ts +12 -0
- package/dist/plugins/spaces-home-control/entities/space-activity-config.entity.js +72 -0
- package/dist/plugins/spaces-home-control/entities/space-activity-config.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-activity-state.entity.d.ts +14 -0
- package/dist/plugins/spaces-home-control/entities/space-activity-state.entity.js +105 -0
- package/dist/plugins/spaces-home-control/entities/space-activity-state.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-mode-schedule.entity.d.ts +19 -0
- package/dist/plugins/spaces-home-control/entities/space-mode-schedule.entity.js +110 -0
- package/dist/plugins/spaces-home-control/entities/space-mode-schedule.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/entities/space-occupancy.entity.d.ts +23 -0
- package/dist/plugins/spaces-home-control/entities/space-occupancy.entity.js +135 -0
- package/dist/plugins/spaces-home-control/entities/space-occupancy.entity.js.map +1 -0
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.d.ts +2 -0
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js +23 -0
- package/dist/plugins/spaces-home-control/listeners/space-climate-state.listener.js.map +1 -1
- package/dist/plugins/spaces-home-control/listeners/websocket-exchange.listener.js +3 -0
- package/dist/plugins/spaces-home-control/listeners/websocket-exchange.listener.js.map +1 -1
- package/dist/plugins/spaces-home-control/models/activity-configuration.model.d.ts +27 -0
- package/dist/plugins/spaces-home-control/models/activity-configuration.model.js +182 -0
- package/dist/plugins/spaces-home-control/models/activity-configuration.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/activity-response.model.d.ts +16 -0
- package/dist/plugins/spaces-home-control/models/activity-response.model.js +79 -0
- package/dist/plugins/spaces-home-control/models/activity-response.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/activity-result.model.d.ts +6 -0
- package/dist/plugins/spaces-home-control/models/activity-result.model.js +37 -0
- package/dist/plugins/spaces-home-control/models/activity-result.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/climate-contribution.model.d.ts +11 -0
- package/dist/plugins/spaces-home-control/models/climate-contribution.model.js +66 -0
- package/dist/plugins/spaces-home-control/models/climate-contribution.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/space-mode-schedule-response.model.d.ts +9 -0
- package/dist/plugins/spaces-home-control/models/space-mode-schedule-response.model.js +45 -0
- package/dist/plugins/spaces-home-control/models/space-mode-schedule-response.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/space-mode-schedule.model.d.ts +34 -0
- package/dist/plugins/spaces-home-control/models/space-mode-schedule.model.js +170 -0
- package/dist/plugins/spaces-home-control/models/space-mode-schedule.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/space-occupancy.model.d.ts +26 -0
- package/dist/plugins/spaces-home-control/models/space-occupancy.model.js +121 -0
- package/dist/plugins/spaces-home-control/models/space-occupancy.model.js.map +1 -0
- package/dist/plugins/spaces-home-control/models/spaces-response.model.d.ts +13 -0
- package/dist/plugins/spaces-home-control/models/spaces-response.model.js +81 -2
- package/dist/plugins/spaces-home-control/models/spaces-response.model.js.map +1 -1
- package/dist/plugins/spaces-home-control/occupancy/occupancy-admission.d.ts +7 -0
- package/dist/plugins/spaces-home-control/occupancy/occupancy-admission.js +57 -0
- package/dist/plugins/spaces-home-control/occupancy/occupancy-admission.js.map +1 -0
- package/dist/plugins/spaces-home-control/occupancy/space-occupancy.types.d.ts +31 -0
- package/dist/plugins/spaces-home-control/occupancy/space-occupancy.types.js +30 -0
- package/dist/plugins/spaces-home-control/occupancy/space-occupancy.types.js.map +1 -0
- package/dist/plugins/spaces-home-control/schedule/schedule-time.d.ts +9 -0
- package/dist/plugins/spaces-home-control/schedule/schedule-time.js +79 -0
- package/dist/plugins/spaces-home-control/schedule/schedule-time.js.map +1 -0
- package/dist/plugins/spaces-home-control/schedule/space-mode-schedule.types.d.ts +28 -0
- package/dist/plugins/spaces-home-control/schedule/space-mode-schedule.types.js +7 -0
- package/dist/plugins/spaces-home-control/schedule/space-mode-schedule.types.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/activity-test-support.d.ts +16 -0
- package/dist/plugins/spaces-home-control/services/activity-test-support.js +34 -0
- package/dist/plugins/spaces-home-control/services/activity-test-support.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/climate-contribution-planner.service.d.ts +15 -0
- package/dist/plugins/spaces-home-control/services/climate-contribution-planner.service.js +97 -0
- package/dist/plugins/spaces-home-control/services/climate-contribution-planner.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/climate-intent.service.d.ts +15 -2
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js +155 -15
- package/dist/plugins/spaces-home-control/services/climate-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/cover-group-intent.port.d.ts +31 -0
- package/dist/plugins/spaces-home-control/services/cover-group-intent.port.js +189 -0
- package/dist/plugins/spaces-home-control/services/cover-group-intent.port.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/covers-intent.service.d.ts +8 -3
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js +139 -65
- package/dist/plugins/spaces-home-control/services/covers-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/lighting-contribution-planner.service.d.ts +16 -0
- package/dist/plugins/spaces-home-control/services/lighting-contribution-planner.service.js +66 -0
- package/dist/plugins/spaces-home-control/services/lighting-contribution-planner.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.d.ts +13 -3
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js +93 -13
- package/dist/plugins/spaces-home-control/services/lighting-intent.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-activity-config.service.d.ts +25 -0
- package/dist/plugins/spaces-home-control/services/space-activity-config.service.js +144 -0
- package/dist/plugins/spaces-home-control/services/space-activity-config.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-activity-domains.service.d.ts +21 -0
- package/dist/plugins/spaces-home-control/services/space-activity-domains.service.js +139 -0
- package/dist/plugins/spaces-home-control/services/space-activity-domains.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-climate-automation.port.d.ts +17 -0
- package/dist/plugins/spaces-home-control/services/space-climate-automation.port.js +5 -0
- package/dist/plugins/spaces-home-control/services/space-climate-automation.port.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-climate-automation.service.d.ts +63 -0
- package/dist/plugins/spaces-home-control/services/space-climate-automation.service.js +722 -0
- package/dist/plugins/spaces-home-control/services/space-climate-automation.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.d.ts +8 -3
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.js +25 -19
- package/dist/plugins/spaces-home-control/services/space-climate-state.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-covers-state.service.d.ts +16 -2
- package/dist/plugins/spaces-home-control/services/space-covers-state.service.js +102 -18
- package/dist/plugins/spaces-home-control/services/space-covers-state.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-intent-base.service.d.ts +2 -0
- package/dist/plugins/spaces-home-control/services/space-intent-base.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.d.ts +4 -1
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js +94 -24
- package/dist/plugins/spaces-home-control/services/space-lighting-state.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.d.ts +8 -2
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js +79 -13
- package/dist/plugins/spaces-home-control/services/space-media-activity.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/services/space-mode-schedule-config.service.d.ts +24 -0
- package/dist/plugins/spaces-home-control/services/space-mode-schedule-config.service.js +132 -0
- package/dist/plugins/spaces-home-control/services/space-mode-schedule-config.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-mode-scheduler.service.d.ts +39 -0
- package/dist/plugins/spaces-home-control/services/space-mode-scheduler.service.js +289 -0
- package/dist/plugins/spaces-home-control/services/space-mode-scheduler.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-mode.service.d.ts +34 -0
- package/dist/plugins/spaces-home-control/services/space-mode.service.js +296 -0
- package/dist/plugins/spaces-home-control/services/space-mode.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy-config.service.d.ts +26 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy-config.service.js +134 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy-config.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy-inputs.service.d.ts +21 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy-inputs.service.js +84 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy-inputs.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy.service.d.ts +48 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy.service.js +285 -0
- package/dist/plugins/spaces-home-control/services/space-occupancy.service.js.map +1 -0
- package/dist/plugins/spaces-home-control/services/space-state-read.service.d.ts +5 -1
- package/dist/plugins/spaces-home-control/services/space-state-read.service.js +33 -7
- package/dist/plugins/spaces-home-control/services/space-state-read.service.js.map +1 -1
- package/dist/plugins/spaces-home-control/spaces-home-control.openapi.js +52 -0
- package/dist/plugins/spaces-home-control/spaces-home-control.openapi.js.map +1 -1
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.d.ts +5 -1
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js +57 -2
- package/dist/plugins/spaces-home-control/spaces-home-control.plugin.js.map +1 -1
- package/dist/spec/channels.d.ts +27 -4
- package/dist/spec/channels.js +37 -6
- package/dist/spec/channels.js.map +1 -1
- package/dist/spec/devices.d.ts +20 -0
- package/dist/spec/devices.js +20 -0
- package/dist/spec/devices.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +4 -3
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
import { Accessory } from '@homebridge/hap-nodejs';
|
|
2
|
-
import { DeviceEntity } from '../../../modules/devices/entities/devices.entity';
|
|
2
|
+
import { ChannelEntity, ChannelPropertyEntity, DeviceEntity } from '../../../modules/devices/entities/devices.entity';
|
|
3
3
|
import { CharacteristicBinding, IHomeKitAccessoryMapper, InputOccurrenceListener, PropertyEventListener } from '../mappers/homekit-mapper.interface';
|
|
4
4
|
import { HomeKitCommandDispatcher } from './homekit-command.dispatcher';
|
|
5
|
+
import { HomeKitPropertyStateService } from './homekit-property-state.service';
|
|
6
|
+
interface DeviceAvailabilityState {
|
|
7
|
+
online: boolean;
|
|
8
|
+
initialized: boolean;
|
|
9
|
+
revision: number;
|
|
10
|
+
propertyRevisions: Map<string, number>;
|
|
11
|
+
}
|
|
12
|
+
interface AccessoryAvailability {
|
|
13
|
+
active: boolean;
|
|
14
|
+
state: DeviceAvailabilityState;
|
|
15
|
+
}
|
|
5
16
|
export interface RegistrySnapshot {
|
|
17
|
+
admissionMetadata?: Map<string, Map<string, string>>;
|
|
18
|
+
availability?: Map<string, AccessoryAvailability>;
|
|
19
|
+
deviceStates?: Map<string, DeviceAvailabilityState>;
|
|
6
20
|
propertyBindings: Map<string, CharacteristicBinding[]>;
|
|
7
21
|
propertyListeners: Map<string, PropertyEventListener[]>;
|
|
8
22
|
occurrenceListeners: Map<string, InputOccurrenceListener[]>;
|
|
9
23
|
deviceProperties: Map<string, Set<string>>;
|
|
10
24
|
}
|
|
11
25
|
export interface StagedAccessory {
|
|
26
|
+
admissionMetadata?: Map<string, string>;
|
|
27
|
+
availability?: AccessoryAvailability;
|
|
12
28
|
accessory: Accessory;
|
|
13
29
|
deviceId: string;
|
|
14
30
|
bindings: CharacteristicBinding[];
|
|
@@ -16,18 +32,29 @@ export interface StagedAccessory {
|
|
|
16
32
|
occurrenceListeners: InputOccurrenceListener[];
|
|
17
33
|
}
|
|
18
34
|
export declare class HomeKitMapperRegistryService {
|
|
35
|
+
private readonly propertyState?;
|
|
19
36
|
private readonly logger;
|
|
20
37
|
private readonly mappers;
|
|
38
|
+
private readonly admissionMetadata;
|
|
39
|
+
private readonly availability;
|
|
40
|
+
private readonly deviceStates;
|
|
41
|
+
trackDevice(deviceId: string): void;
|
|
42
|
+
setDeviceOnline(deviceId: string, online: boolean): boolean;
|
|
43
|
+
notePropertyEvent(propertyId: string): void;
|
|
44
|
+
captureRefresh(deviceId: string): (propertyId?: string) => boolean;
|
|
21
45
|
private readonly propertyBindings;
|
|
22
46
|
private readonly propertyListeners;
|
|
23
47
|
private readonly occurrenceListeners;
|
|
24
48
|
private readonly deviceProperties;
|
|
25
|
-
constructor();
|
|
49
|
+
constructor(propertyState?: HomeKitPropertyStateService);
|
|
26
50
|
canMap(device: DeviceEntity): boolean;
|
|
27
51
|
findMapper(device: DeviceEntity): IHomeKitAccessoryMapper | null;
|
|
28
52
|
getSuggestedServiceType(device: DeviceEntity): string | null;
|
|
29
53
|
buildAccessory(device: DeviceEntity, commandDispatcher: HomeKitCommandDispatcher): StagedAccessory | null;
|
|
30
54
|
commitStaged(staged: StagedAccessory): void;
|
|
55
|
+
private metadataSignature;
|
|
56
|
+
admissionMetadataChanged(property: ChannelPropertyEntity, channel: ChannelEntity): boolean;
|
|
57
|
+
getDeviceIdForProperty(propertyId: string): string | undefined;
|
|
31
58
|
getBindingsForProperty(propertyId: string): CharacteristicBinding[];
|
|
32
59
|
getListenersForProperty(propertyId: string): PropertyEventListener[];
|
|
33
60
|
getOccurrenceListeners(propertyId: string, _channelId?: string): InputOccurrenceListener[];
|
|
@@ -36,3 +63,4 @@ export declare class HomeKitMapperRegistryService {
|
|
|
36
63
|
getSnapshot(): RegistrySnapshot;
|
|
37
64
|
restoreSnapshot(snapshot: RegistrySnapshot): void;
|
|
38
65
|
}
|
|
66
|
+
export {};
|
|
@@ -8,12 +8,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
var HomeKitMapperRegistryService_1;
|
|
12
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
16
|
exports.HomeKitMapperRegistryService = void 0;
|
|
17
|
+
const hap_nodejs_1 = require("@homebridge/hap-nodejs");
|
|
14
18
|
const common_1 = require("@nestjs/common");
|
|
15
19
|
const battery_mapper_1 = require("../mappers/battery.mapper");
|
|
16
20
|
const button_mapper_1 = require("../mappers/button.mapper");
|
|
21
|
+
const fan_mapper_1 = require("../mappers/fan.mapper");
|
|
17
22
|
const lightbulb_mapper_1 = require("../mappers/lightbulb.mapper");
|
|
18
23
|
const lock_mapper_1 = require("../mappers/lock.mapper");
|
|
19
24
|
const outlet_mapper_1 = require("../mappers/outlet.mapper");
|
|
@@ -21,10 +26,50 @@ const sensor_mapper_1 = require("../mappers/sensor.mapper");
|
|
|
21
26
|
const switch_mapper_1 = require("../mappers/switch.mapper");
|
|
22
27
|
const thermostat_mapper_1 = require("../mappers/thermostat.mapper");
|
|
23
28
|
const window_covering_mapper_1 = require("../mappers/window-covering.mapper");
|
|
29
|
+
const homekit_property_state_service_1 = require("./homekit-property-state.service");
|
|
24
30
|
let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKitMapperRegistryService {
|
|
25
|
-
|
|
31
|
+
trackDevice(deviceId) {
|
|
32
|
+
if (!this.deviceStates.has(deviceId)) {
|
|
33
|
+
this.deviceStates.set(deviceId, { online: false, initialized: false, revision: 0, propertyRevisions: new Map() });
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
setDeviceOnline(deviceId, online) {
|
|
37
|
+
this.trackDevice(deviceId);
|
|
38
|
+
const state = this.deviceStates.get(deviceId);
|
|
39
|
+
if (state.initialized && state.online === online)
|
|
40
|
+
return false;
|
|
41
|
+
const becameOnline = online;
|
|
42
|
+
state.online = online;
|
|
43
|
+
state.initialized = true;
|
|
44
|
+
state.revision++;
|
|
45
|
+
return becameOnline;
|
|
46
|
+
}
|
|
47
|
+
notePropertyEvent(propertyId) {
|
|
48
|
+
for (const [deviceId, properties] of this.deviceProperties) {
|
|
49
|
+
if (properties.has(propertyId)) {
|
|
50
|
+
const state = this.deviceStates.get(deviceId);
|
|
51
|
+
if (state)
|
|
52
|
+
state.propertyRevisions.set(propertyId, (state.propertyRevisions.get(propertyId) ?? 0) + 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
captureRefresh(deviceId) {
|
|
57
|
+
const holder = this.availability.get(deviceId);
|
|
58
|
+
const revision = holder?.state.revision;
|
|
59
|
+
const propertyRevisions = new Map(holder?.state.propertyRevisions);
|
|
60
|
+
return (propertyId) => !!holder?.active &&
|
|
61
|
+
this.availability.get(deviceId) === holder &&
|
|
62
|
+
holder.state.online &&
|
|
63
|
+
holder.state.revision === revision &&
|
|
64
|
+
(!propertyId || holder.state.propertyRevisions.get(propertyId) === propertyRevisions.get(propertyId));
|
|
65
|
+
}
|
|
66
|
+
constructor(propertyState) {
|
|
67
|
+
this.propertyState = propertyState;
|
|
26
68
|
this.logger = new common_1.Logger(HomeKitMapperRegistryService_1.name);
|
|
27
69
|
this.mappers = [];
|
|
70
|
+
this.admissionMetadata = new Map();
|
|
71
|
+
this.availability = new Map();
|
|
72
|
+
this.deviceStates = new Map();
|
|
28
73
|
this.propertyBindings = new Map();
|
|
29
74
|
this.propertyListeners = new Map();
|
|
30
75
|
this.occurrenceListeners = new Map();
|
|
@@ -33,6 +78,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
33
78
|
this.mappers.push(new switch_mapper_1.SwitchMapper());
|
|
34
79
|
this.mappers.push(new outlet_mapper_1.OutletMapper());
|
|
35
80
|
this.mappers.push(new thermostat_mapper_1.ThermostatMapper());
|
|
81
|
+
this.mappers.push(new fan_mapper_1.FanMapper());
|
|
36
82
|
this.mappers.push(new window_covering_mapper_1.WindowCoveringMapper());
|
|
37
83
|
this.mappers.push(new lock_mapper_1.LockMapper());
|
|
38
84
|
this.mappers.push(new sensor_mapper_1.SensorMapper());
|
|
@@ -62,8 +108,24 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
62
108
|
const stagedBindings = [];
|
|
63
109
|
const stagedListeners = [];
|
|
64
110
|
const stagedOccurrenceListeners = [];
|
|
111
|
+
this.trackDevice(device.id);
|
|
112
|
+
const state = this.deviceStates.get(device.id);
|
|
113
|
+
if (!state.initialized) {
|
|
114
|
+
state.online = device.status?.online === true;
|
|
115
|
+
state.initialized = true;
|
|
116
|
+
}
|
|
117
|
+
const availability = { active: true, state };
|
|
65
118
|
const context = {
|
|
119
|
+
availability: {
|
|
120
|
+
isAvailable: () => availability.active && state.online,
|
|
121
|
+
assertAvailable: () => {
|
|
122
|
+
if (!availability.active || !state.online) {
|
|
123
|
+
throw new hap_nodejs_1.HapStatusError(-70402);
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
},
|
|
66
127
|
commandDispatcher,
|
|
128
|
+
propertyState: this.propertyState,
|
|
67
129
|
registerBinding: (binding) => {
|
|
68
130
|
stagedBindings.push(binding);
|
|
69
131
|
},
|
|
@@ -82,6 +144,8 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
82
144
|
battery_mapper_1.BatteryMapper.attachBatteryService(accessory, device, context);
|
|
83
145
|
return {
|
|
84
146
|
accessory,
|
|
147
|
+
admissionMetadata: new Map((device.channels ?? []).flatMap((channel) => (channel.properties ?? []).map((property) => [property.id, this.metadataSignature(property, channel)]))),
|
|
148
|
+
availability,
|
|
85
149
|
deviceId: device.id,
|
|
86
150
|
bindings: stagedBindings,
|
|
87
151
|
listeners: stagedListeners,
|
|
@@ -90,6 +154,13 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
90
154
|
}
|
|
91
155
|
commitStaged(staged) {
|
|
92
156
|
this.clearDeviceBindings(staged.deviceId);
|
|
157
|
+
if (staged.admissionMetadata)
|
|
158
|
+
this.admissionMetadata.set(staged.deviceId, new Map(staged.admissionMetadata));
|
|
159
|
+
if (staged.availability) {
|
|
160
|
+
staged.availability.active = true;
|
|
161
|
+
this.availability.set(staged.deviceId, staged.availability);
|
|
162
|
+
this.deviceStates.set(staged.deviceId, staged.availability.state);
|
|
163
|
+
}
|
|
93
164
|
for (const binding of staged.bindings) {
|
|
94
165
|
const existing = this.propertyBindings.get(binding.propertyId) ?? [];
|
|
95
166
|
existing.push(binding);
|
|
@@ -124,6 +195,36 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
124
195
|
devProps.add(occListener.propertyId);
|
|
125
196
|
}
|
|
126
197
|
}
|
|
198
|
+
metadataSignature(property, channel) {
|
|
199
|
+
return JSON.stringify([
|
|
200
|
+
channel.id,
|
|
201
|
+
channel.category,
|
|
202
|
+
property.category,
|
|
203
|
+
property.identifier,
|
|
204
|
+
property.dataType,
|
|
205
|
+
property.unit ?? null,
|
|
206
|
+
property.format ?? null,
|
|
207
|
+
property.step ?? null,
|
|
208
|
+
[...(property.permissions ?? [])].sort(),
|
|
209
|
+
property.type,
|
|
210
|
+
property.requiresLiveValue,
|
|
211
|
+
]);
|
|
212
|
+
}
|
|
213
|
+
admissionMetadataChanged(property, channel) {
|
|
214
|
+
const owner = this.getDeviceIdForProperty(property.id);
|
|
215
|
+
const previous = owner ? this.admissionMetadata.get(owner)?.get(property.id) : undefined;
|
|
216
|
+
return previous === undefined || previous !== this.metadataSignature(property, channel);
|
|
217
|
+
}
|
|
218
|
+
getDeviceIdForProperty(propertyId) {
|
|
219
|
+
for (const [deviceId, properties] of this.deviceProperties) {
|
|
220
|
+
if (properties.has(propertyId))
|
|
221
|
+
return deviceId;
|
|
222
|
+
}
|
|
223
|
+
for (const [deviceId, properties] of this.admissionMetadata)
|
|
224
|
+
if (properties.has(propertyId))
|
|
225
|
+
return deviceId;
|
|
226
|
+
return undefined;
|
|
227
|
+
}
|
|
127
228
|
getBindingsForProperty(propertyId) {
|
|
128
229
|
return this.propertyBindings.get(propertyId) ?? [];
|
|
129
230
|
}
|
|
@@ -134,6 +235,12 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
134
235
|
return this.occurrenceListeners.get(propertyId) ?? [];
|
|
135
236
|
}
|
|
136
237
|
clearDeviceBindings(deviceId) {
|
|
238
|
+
this.admissionMetadata.delete(deviceId);
|
|
239
|
+
const holder = this.availability.get(deviceId);
|
|
240
|
+
if (holder)
|
|
241
|
+
holder.active = false;
|
|
242
|
+
this.availability.delete(deviceId);
|
|
243
|
+
this.deviceStates.delete(deviceId);
|
|
137
244
|
const propIds = this.deviceProperties.get(deviceId);
|
|
138
245
|
if (propIds) {
|
|
139
246
|
for (const propId of propIds) {
|
|
@@ -166,6 +273,11 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
166
273
|
}
|
|
167
274
|
}
|
|
168
275
|
clearAllBindings() {
|
|
276
|
+
this.admissionMetadata.clear();
|
|
277
|
+
for (const holder of this.availability.values())
|
|
278
|
+
holder.active = false;
|
|
279
|
+
this.availability.clear();
|
|
280
|
+
this.deviceStates.clear();
|
|
169
281
|
this.propertyBindings.clear();
|
|
170
282
|
this.propertyListeners.clear();
|
|
171
283
|
this.occurrenceListeners.clear();
|
|
@@ -189,6 +301,9 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
189
301
|
cloneProps.set(k, new Set(v));
|
|
190
302
|
}
|
|
191
303
|
return {
|
|
304
|
+
availability: new Map(this.availability),
|
|
305
|
+
deviceStates: new Map(this.deviceStates),
|
|
306
|
+
admissionMetadata: new Map([...this.admissionMetadata].map(([id, properties]) => [id, new Map(properties)])),
|
|
192
307
|
propertyBindings: cloneBindings,
|
|
193
308
|
propertyListeners: cloneListeners,
|
|
194
309
|
occurrenceListeners: cloneOcc,
|
|
@@ -197,6 +312,14 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
197
312
|
}
|
|
198
313
|
restoreSnapshot(snapshot) {
|
|
199
314
|
this.clearAllBindings();
|
|
315
|
+
for (const [id, properties] of snapshot.admissionMetadata ?? [])
|
|
316
|
+
this.admissionMetadata.set(id, new Map(properties));
|
|
317
|
+
for (const [k, holder] of snapshot.availability ?? []) {
|
|
318
|
+
holder.active = true;
|
|
319
|
+
this.availability.set(k, holder);
|
|
320
|
+
}
|
|
321
|
+
for (const [k, state] of snapshot.deviceStates ?? [])
|
|
322
|
+
this.deviceStates.set(k, state);
|
|
200
323
|
for (const [k, v] of snapshot.propertyBindings.entries()) {
|
|
201
324
|
this.propertyBindings.set(k, [...v]);
|
|
202
325
|
}
|
|
@@ -216,6 +339,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
|
|
|
216
339
|
exports.HomeKitMapperRegistryService = HomeKitMapperRegistryService;
|
|
217
340
|
exports.HomeKitMapperRegistryService = HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = __decorate([
|
|
218
341
|
(0, common_1.Injectable)(),
|
|
219
|
-
|
|
342
|
+
__param(0, (0, common_1.Optional)()),
|
|
343
|
+
__metadata("design:paramtypes", [homekit_property_state_service_1.HomeKitPropertyStateService])
|
|
220
344
|
], HomeKitMapperRegistryService);
|
|
221
345
|
//# sourceMappingURL=homekit-mapper-registry.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"homekit-mapper-registry.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/services/homekit-mapper-registry.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"homekit-mapper-registry.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/services/homekit-mapper-registry.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HomeKitUpdatePluginConfigDto } from '../dto/update-config.dto';
|
|
2
|
+
export interface MappingMaintenance {
|
|
3
|
+
removeDeviceIds?: string[];
|
|
4
|
+
rebuildDeviceIds?: string[];
|
|
5
|
+
reconcile?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function createMappingMaintenance(request: MappingMaintenance): HomeKitUpdatePluginConfigDto;
|
|
8
|
+
export declare function getMappingMaintenance(update: HomeKitUpdatePluginConfigDto): MappingMaintenance | undefined;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createMappingMaintenance = createMappingMaintenance;
|
|
4
|
+
exports.getMappingMaintenance = getMappingMaintenance;
|
|
5
|
+
const devices_homekit_constants_1 = require("../devices-homekit.constants");
|
|
6
|
+
const update_config_dto_1 = require("../dto/update-config.dto");
|
|
7
|
+
const requests = new WeakMap();
|
|
8
|
+
function createMappingMaintenance(request) {
|
|
9
|
+
const update = new update_config_dto_1.HomeKitUpdatePluginConfigDto();
|
|
10
|
+
update.type = devices_homekit_constants_1.DEVICES_HOMEKIT_PLUGIN_NAME;
|
|
11
|
+
requests.set(update, request);
|
|
12
|
+
return update;
|
|
13
|
+
}
|
|
14
|
+
function getMappingMaintenance(update) {
|
|
15
|
+
return requests.get(update);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=homekit-mapping-maintenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homekit-mapping-maintenance.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/services/homekit-mapping-maintenance.ts"],"names":[],"mappings":";;AAaA,4DAKC;AAED,sDAEC;AAtBD,4EAA2E;AAC3E,gEAAwE;AAUxE,MAAM,QAAQ,GAAG,IAAI,OAAO,EAAoD,CAAC;AAEjF,SAAgB,wBAAwB,CAAC,OAA2B;IACnE,MAAM,MAAM,GAAG,IAAI,gDAA4B,EAAE,CAAC;IAClD,MAAM,CAAC,IAAI,GAAG,uDAA2B,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAoC;IACzE,OAAO,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChannelPropertyEntity } from '../../../modules/devices/entities/devices.entity';
|
|
2
|
+
import { PropertyProducerQuality } from '../../../modules/devices/models/property-value-state.model';
|
|
3
|
+
import { PropertyProducerRegistryService } from '../../../modules/devices/services/property-producer.registry.service';
|
|
4
|
+
import { PropertyValueSourceRegistryService } from '../../../modules/devices/services/property-value-source.registry.service';
|
|
5
|
+
export interface HomeKitPropertyState {
|
|
6
|
+
readonly value: string | boolean | number | null;
|
|
7
|
+
readonly quality: PropertyProducerQuality | null;
|
|
8
|
+
readonly reasons: readonly string[];
|
|
9
|
+
readonly live: boolean;
|
|
10
|
+
readonly unavailable: boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare class HomeKitPropertyStateService {
|
|
13
|
+
private readonly producers;
|
|
14
|
+
private readonly sources;
|
|
15
|
+
constructor(producers: PropertyProducerRegistryService, sources: PropertyValueSourceRegistryService);
|
|
16
|
+
read(property: ChannelPropertyEntity): HomeKitPropertyState;
|
|
17
|
+
private isValue;
|
|
18
|
+
private unavailable;
|
|
19
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.HomeKitPropertyStateService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const property_producer_registry_service_1 = require("../../../modules/devices/services/property-producer.registry.service");
|
|
15
|
+
const property_value_source_registry_service_1 = require("../../../modules/devices/services/property-value-source.registry.service");
|
|
16
|
+
let HomeKitPropertyStateService = class HomeKitPropertyStateService {
|
|
17
|
+
constructor(producers, sources) {
|
|
18
|
+
this.producers = producers;
|
|
19
|
+
this.sources = sources;
|
|
20
|
+
}
|
|
21
|
+
read(property) {
|
|
22
|
+
try {
|
|
23
|
+
const reason = this.sources.unavailableReason(property);
|
|
24
|
+
if (reason)
|
|
25
|
+
return this.unavailable([reason]);
|
|
26
|
+
const key = this.sources.resolve(property);
|
|
27
|
+
const produced = this.producers.read(key);
|
|
28
|
+
if (produced) {
|
|
29
|
+
if (produced.producer.quality === 'unavailable')
|
|
30
|
+
return this.unavailable(produced.producer.reasons);
|
|
31
|
+
if (!this.isValue(produced.value))
|
|
32
|
+
return this.unavailable(['invalid_producer_value']);
|
|
33
|
+
return {
|
|
34
|
+
value: produced.value,
|
|
35
|
+
quality: produced.producer.quality,
|
|
36
|
+
reasons: [...produced.producer.reasons],
|
|
37
|
+
live: true,
|
|
38
|
+
unavailable: false,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
if (this.sources.requiresLiveValue(property) || property.value?.producer)
|
|
42
|
+
return this.unavailable(['producer_unavailable']);
|
|
43
|
+
const value = property.value?.value;
|
|
44
|
+
return {
|
|
45
|
+
value: this.isValue(value) ? value : null,
|
|
46
|
+
quality: null,
|
|
47
|
+
reasons: [],
|
|
48
|
+
live: false,
|
|
49
|
+
unavailable: false,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
catch {
|
|
53
|
+
return this.unavailable(['value_source_unavailable']);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
isValue(value) {
|
|
57
|
+
return (typeof value === 'string' || typeof value === 'boolean' || (typeof value === 'number' && Number.isFinite(value)));
|
|
58
|
+
}
|
|
59
|
+
unavailable(reasons) {
|
|
60
|
+
return { value: null, quality: 'unavailable', reasons: [...reasons], live: false, unavailable: true };
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.HomeKitPropertyStateService = HomeKitPropertyStateService;
|
|
64
|
+
exports.HomeKitPropertyStateService = HomeKitPropertyStateService = __decorate([
|
|
65
|
+
(0, common_1.Injectable)(),
|
|
66
|
+
__metadata("design:paramtypes", [property_producer_registry_service_1.PropertyProducerRegistryService,
|
|
67
|
+
property_value_source_registry_service_1.PropertyValueSourceRegistryService])
|
|
68
|
+
], HomeKitPropertyStateService);
|
|
69
|
+
//# sourceMappingURL=homekit-property-state.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homekit-property-state.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/services/homekit-property-state.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAI5C,6HAAuH;AACvH,qIAA8H;AAavH,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACvC,YACkB,SAA0C,EAC1C,OAA2C;QAD3C,cAAS,GAAT,SAAS,CAAiC;QAC1C,YAAO,GAAP,OAAO,CAAoC;IAC1D,CAAC;IAEJ,IAAI,CAAC,QAA+B;QACnC,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,MAAM;gBAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,QAAQ,EAAE,CAAC;gBACd,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,KAAK,aAAa;oBAAE,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACpG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;gBACvF,OAAO;oBACN,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;oBAClC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACvC,IAAI,EAAE,IAAI;oBACV,WAAW,EAAE,KAAK;iBAClB,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,KAAK,EAAE,QAAQ;gBACvE,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAEnD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;YACpC,OAAO;gBACN,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBACzC,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,EAAE;gBACX,IAAI,EAAE,KAAK;gBACX,WAAW,EAAE,KAAK;aAClB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YAER,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAEO,OAAO,CAAC,KAAc;QAC7B,OAAO,CACN,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAChH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAA0B;QAC7C,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IACvG,CAAC;CACD,CAAA;AAlDY,kEAA2B;sCAA3B,2BAA2B;IADvC,IAAA,mBAAU,GAAE;qCAGiB,oEAA+B;QACjC,2EAAkC;GAHjD,2BAA2B,CAkDvC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChannelPropertyEntity } from '../../../modules/devices/entities/devices.entity';
|
|
2
|
+
export interface NativeCoverStatus {
|
|
3
|
+
readonly id: number;
|
|
4
|
+
readonly state: 'open' | 'closed' | 'opening' | 'closing' | 'stopped';
|
|
5
|
+
readonly current_pos: number;
|
|
6
|
+
readonly slat_pos?: number | null;
|
|
7
|
+
readonly pos_control: true;
|
|
8
|
+
readonly tag?: unknown;
|
|
9
|
+
}
|
|
10
|
+
export declare function nativeCoverStatus(value: unknown, componentId: number): NativeCoverStatus | null;
|
|
11
|
+
export declare const coverStatusReason: (value: Readonly<Record<string, unknown>>) => string;
|
|
12
|
+
export declare function configuredCoverType(properties: readonly ChannelPropertyEntity[]): string | null;
|
|
13
|
+
export declare function nativeCoverPercentage(property: ChannelPropertyEntity | undefined): boolean;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.coverStatusReason = void 0;
|
|
4
|
+
exports.nativeCoverStatus = nativeCoverStatus;
|
|
5
|
+
exports.configuredCoverType = configuredCoverType;
|
|
6
|
+
exports.nativeCoverPercentage = nativeCoverPercentage;
|
|
7
|
+
const devices_constants_1 = require("../../../modules/devices/devices.constants");
|
|
8
|
+
const property_metadata_utils_1 = require("../../../modules/devices/utils/property-metadata.utils");
|
|
9
|
+
function nativeCoverStatus(value, componentId) {
|
|
10
|
+
if (!value || typeof value !== 'object')
|
|
11
|
+
return null;
|
|
12
|
+
const raw = value;
|
|
13
|
+
if (raw.id !== componentId ||
|
|
14
|
+
raw.pos_control !== true ||
|
|
15
|
+
typeof raw.state !== 'string' ||
|
|
16
|
+
!['open', 'closed', 'opening', 'closing', 'stopped'].includes(raw.state) ||
|
|
17
|
+
typeof raw.current_pos !== 'number' ||
|
|
18
|
+
!Number.isFinite(raw.current_pos) ||
|
|
19
|
+
raw.current_pos < 0 ||
|
|
20
|
+
raw.current_pos > 100 ||
|
|
21
|
+
(raw.tag !== undefined && raw.tag !== null && (typeof raw.tag !== 'string' || raw.tag.length > 20)) ||
|
|
22
|
+
(raw.errors !== undefined && (!Array.isArray(raw.errors) || raw.errors.length > 0)))
|
|
23
|
+
return null;
|
|
24
|
+
if ((raw.state === 'open' && raw.current_pos !== 100) || (raw.state === 'closed' && raw.current_pos !== 0))
|
|
25
|
+
return null;
|
|
26
|
+
return raw;
|
|
27
|
+
}
|
|
28
|
+
const coverStatusReason = (value) => Array.isArray(value.errors) && value.errors.includes('source_unavailable')
|
|
29
|
+
? 'cover_status_unavailable'
|
|
30
|
+
: value.pos_control !== true
|
|
31
|
+
? 'position_unavailable_uncalibrated'
|
|
32
|
+
: typeof value.current_pos !== 'number' ||
|
|
33
|
+
!Number.isFinite(value.current_pos) ||
|
|
34
|
+
value.current_pos < 0 ||
|
|
35
|
+
value.current_pos > 100
|
|
36
|
+
? 'position_unavailable_invalid'
|
|
37
|
+
: 'cover_status_invalid_or_faulted';
|
|
38
|
+
exports.coverStatusReason = coverStatusReason;
|
|
39
|
+
function configuredCoverType(properties) {
|
|
40
|
+
const types = properties.filter((property) => property.category === devices_constants_1.PropertyCategory.TYPE);
|
|
41
|
+
const property = types[0];
|
|
42
|
+
return types.length === 1 &&
|
|
43
|
+
property.dataType === devices_constants_1.DataTypeType.ENUM &&
|
|
44
|
+
property.format?.length === 1 &&
|
|
45
|
+
['curtain', 'roller', 'blind', 'venetian_blind', 'vertical_blind', 'shutter', 'outdoor_blind', 'awning'].includes(String(property.format[0])) &&
|
|
46
|
+
property.permissions.includes(devices_constants_1.PermissionType.READ_ONLY)
|
|
47
|
+
? String(property.format[0])
|
|
48
|
+
: null;
|
|
49
|
+
}
|
|
50
|
+
function nativeCoverPercentage(property) {
|
|
51
|
+
return (!!property &&
|
|
52
|
+
[devices_constants_1.PropertyCategory.POSITION, devices_constants_1.PropertyCategory.TILT].includes(property.category) &&
|
|
53
|
+
property.identifier === (property.category === devices_constants_1.PropertyCategory.POSITION ? 'current_pos' : 'slat_pos') &&
|
|
54
|
+
property.dataType === devices_constants_1.DataTypeType.UCHAR &&
|
|
55
|
+
(0, property_metadata_utils_1.resolvePropertyUnit)(property) === '%' &&
|
|
56
|
+
JSON.stringify(property.format) === '[0,100]' &&
|
|
57
|
+
(property.step == null || property.step === 1) &&
|
|
58
|
+
property.permissions.includes(devices_constants_1.PermissionType.READ_WRITE));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=cover-action.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cover-action.contract.js","sourceRoot":"","sources":["../../../../src/plugins/devices-shelly-ng/contracts/cover-action.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ShellyCoverSession } from '../services/shelly-cover-session';
|
|
2
|
+
export interface CoverRecoveryTarget {
|
|
3
|
+
readonly physicalIdentity: string;
|
|
4
|
+
readonly revision: string;
|
|
5
|
+
isCurrent(): boolean;
|
|
6
|
+
retire(): void;
|
|
7
|
+
begin(): {
|
|
8
|
+
session: ShellyCoverSession;
|
|
9
|
+
isCurrent(): boolean;
|
|
10
|
+
install(): void;
|
|
11
|
+
dispose(): void;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cover-recovery.contract.js","sourceRoot":"","sources":["../../../../src/plugins/devices-shelly-ng/contracts/cover-recovery.contract.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const SHELLY_GUARD_SOURCE = "/* Offline protocol candidate. See shelly-reconciliation.md before using it.\n * SP_GUARD_CONFIG must be prepended by the internal installation qualifier.\n * No default limits, firmware, component, or evidence are supplied here.\n */\nlet cfg = SP_GUARD_CONFIG;\nlet epoch = 0;\nlet ready = false;\nlet busy = false;\nlet pendingFence = null;\nlet pendingOn = null;\nlet fencePersisted = false;\nlet emergencyBusy = false;\nlet until = 0;\nlet floorLatched = true;\nlet floorObservedAt = 0;\nlet floorValue = null;\nlet fault = null;\nlet info = Shelly.getDeviceInfo();\n\n/** Reject NaN and infinities using arithmetic supported by the embedded script runtime. */\nfunction finiteNumber(n) {\n\treturn typeof n === 'number' && n === n && n - n === 0;\n}\n/** Bound epochs and millisecond expiries to the nonnegative integer range used by this protocol. */\nfunction integer(n) {\n\treturn typeof n === 'number' && n === Math.floor(n) && n >= 0 && n < 2147483647;\n}\n/** Use device uptime for lease and sensor age checks, independent of backend clocks. */\nfunction now() {\n\treturn Shelly.getUptimeMs();\n}\n/** Return a protocol error without claiming that earlier local ON work has drained. */\nfunction reject(request, reason) {\n\trequest.error(-1, reason);\n}\n/** Require finite installed Steinhart-Hart parameters before treating raw voltage as floor temperature. */\nfunction conversionQualified() {\n\tlet conversion = cfg.floorConversion;\n\treturn (\n\t\tcfg.floorComponentType === 'voltmeter' &&\n\t\tcfg.floorAttribute === 'voltage' &&\n\t\tconversion &&\n\t\tconversion.kind === 'steinhart_hart' &&\n\t\tfiniteNumber(conversion.referenceVoltage) &&\n\t\tconversion.referenceVoltage > 0 &&\n\t\tfiniteNumber(conversion.seriesResistance) &&\n\t\tconversion.seriesResistance > 0 &&\n\t\tfiniteNumber(conversion.a) &&\n\t\tfiniteNumber(conversion.b) &&\n\t\tfiniteNumber(conversion.c) &&\n\t\t(conversion.thermistorLeg === 'low' || conversion.thermistorLeg === 'high') &&\n\t\tconversion.inputRange && finiteNumber(conversion.inputRange.minimum) && finiteNumber(conversion.inputRange.maximum) && conversion.inputRange.minimum <= conversion.inputRange.maximum &&\n\t\tconversion.outputRange && finiteNumber(conversion.outputRange.minimum) && finiteNumber(conversion.outputRange.maximum) && conversion.outputRange.minimum <= conversion.outputRange.maximum\n\t);\n}\n/** Convert qualified divider voltage to Celsius; invalid electrical or conversion values yield no sample. */\nfunction floorCelsius(value) {\n\tif (!finiteNumber(value)) return null;\n\tif (cfg.floorAttribute !== 'voltage') return value;\n\tif (!conversionQualified() || value <= 0 || value >= cfg.floorConversion.referenceVoltage) return null;\n\tlet conversion = cfg.floorConversion;\n\tif (value < conversion.inputRange.minimum || value > conversion.inputRange.maximum) return null;\n\tlet resistance = conversion.thermistorLeg === 'low' ? (conversion.seriesResistance * value) / (conversion.referenceVoltage - value) : (conversion.seriesResistance * (conversion.referenceVoltage - value)) / value;\n\tif (!finiteNumber(resistance) || resistance <= 0) return null;\n\tlet logarithm = Math.log(resistance);\n\tlet inverse = conversion.a + (conversion.b + conversion.c * logarithm * logarithm) * logarithm;\n\tif (!finiteNumber(inverse) || inverse <= 0) return null;\n\tlet temperature = 1 / inverse - 273.15;\n\treturn finiteNumber(temperature) && temperature >= conversion.outputRange.minimum && temperature <= conversion.outputRange.maximum ? temperature : null;\n}\n\n/** Require unchanged installed sensor configuration, a fresh value and a cleared overtemperature latch. */\nfunction floorSafe() {\n\tlet floorConfig = Shelly.getComponentConfig(cfg.floorComponentType, cfg.floorComponentId);\n\tlet helper = floorConfig && floorConfig[cfg.floorAttribute];\n\tlet celsius =\n\t\tconversionQualified() ||\n\t\tcfg.floorComponentType === 'temperature' ||\n\t\t(helper &&\n\t\t\ttypeof helper.expr === 'string' &&\n\t\t\thelper.expr.length > 0 &&\n\t\t\t(helper.unit === 'C' || helper.unit === '\u00B0C' || helper.unit === 'Celsius' || helper.unit === 'celsius'));\n\treturn (\n\t\tcelsius &&\n\t\tJSON.stringify(floorConfig) === cfg.floorConfigurationJson &&\n\t\tfloorValue !== null &&\n\t\t!floorLatched &&\n\t\tnow() - floorObservedAt < cfg.floorMaxAgeMs\n\t);\n}\n/** Record an actual floor report and update the fail-closed temperature latch with hysteresis. */\nfunction observeFloor(status) {\n\tlet value = floorCelsius(status && status[cfg.floorAttribute]);\n\tfloorObservedAt = now();\n\tif (typeof value !== 'number' || !finiteNumber(value) || (status.errors && status.errors.length > 0)) {\n\t\tfloorValue = null;\n\t\tfloorLatched = true;\n\t} else {\n\t\tfloorValue = value;\n\t\tif (value >= cfg.floorLimitC) floorLatched = true;\n\t\telse if (value < cfg.floorLimitC - cfg.floorHysteresisC) floorLatched = false;\n\t}\n}\n/** Expose current identity, epoch, lease-readiness and output status for backend inspection. */\nfunction view() {\n\tlet output = Shelly.getComponentStatus('switch', cfg.componentId);\n\treturn {\n\t\tprotocol: 'sp-guard-candidate-1',\n\t\tdeviceId: info.id,\n\t\tfirmware: info.fw_id,\n\t\tcomponentId: cfg.componentId,\n\t\tevidenceId: cfg.evidenceId,\n\t\tepoch: epoch,\n\t\tnowMs: now(),\n\t\tready: ready,\n\t\tbusy: busy,\n\t\tfault: fault,\n\t\tfloorSafe: floorSafe(),\n\t\tfloorCelsius: floorValue,\n\t\toutput: output && typeof output.output === 'boolean' ? output.output : null,\n\t};\n}\n/** Revoke readiness and the lease, rejecting pending replies without asserting physical OFF or drainage. */\nfunction fail(reason) {\n\tfault = reason;\n\tready = false;\n\tuntil = 0;\n\tif (pendingOn) {\n\t\treject(pendingOn, reason);\n\t\tpendingOn = null;\n\t}\n\tif (pendingFence) {\n\t\treject(pendingFence, reason);\n\t\tpendingFence = null;\n\t}\n}\n/** Acknowledge a persisted fence only after matched OFF readback from an OFF cycle in its current epoch. */\nfunction readBack(result, code, message, cycleEpoch) {\n\tbusy = false;\n\tif (code !== 0 || !result || result.id !== cfg.componentId || result.output !== false) {\n\t\tfail('off_readback_unconfirmed');\n\t\treturn;\n\t}\n\tif (pendingFence && fencePersisted && cycleEpoch === epoch) {\n\t\tlet request = pendingFence;\n\t\tpendingFence = null;\n\t\t// Covers this script's earlier local IO only. External writer exclusion and\n\t\t// script-restart IO drainage still require installed firmware qualification.\n\t\trequest.result({\n\t\t\tepoch: epoch,\n\t\t\tdeviceId: info.id,\n\t\t\tcomponentId: cfg.componentId,\n\t\t\toutput: false,\n\t\t\tlocalOnDrained: fault === null,\n\t\t\texternalWriterBarrier: false,\n\t\t\tobservedAtMs: now(),\n\t\t\tevidenceId: cfg.evidenceId,\n\t\t});\n\t} else if (pendingFence && fencePersisted) {\n\t\tdriveOff();\n\t}\n}\n/** After acknowledged absolute OFF, request status readback; unknown execution faults without minting proof. */\nfunction offDone(result, code, message, cycleEpoch) {\n\tif (code !== 0 || !result || typeof result.was_on !== 'boolean') {\n\t\tbusy = false;\n\t\tfail('off_execution_unknown');\n\t\treturn;\n\t}\n\tShelly.call('Switch.GetStatus', { id: cfg.componentId }, readBack, cycleEpoch);\n}\n/** Allow another best-effort emergency OFF attempt; its callback supplies no serial drainage proof. */\nfunction emergencyDone() {\n\temergencyBusy = false;\n}\n/** Revoke the lease and drive absolute OFF, using emergency attempts while serial work or epoch persistence is pending. */\nfunction driveOff() {\n\tuntil = 0;\n\tif (pendingFence && !fencePersisted) {\n\t\tif (!emergencyBusy) {\n\t\t\temergencyBusy = true;\n\t\t\tShelly.call('Switch.Set', { id: cfg.componentId, on: false }, emergencyDone);\n\t\t}\n\t\treturn;\n\t}\n\tif (busy) {\n\t\t// Best-effort emergency OFF does not constitute a drain barrier. Never let a\n\t\t// stalled ON callback suppress all OFF attempts. Serial OFF/readback follows\n\t\t// only after that ON has genuinely completed; unknown completion stays faulted.\n\t\tif ((pendingOn || !ready) && !emergencyBusy) {\n\t\t\temergencyBusy = true;\n\t\t\tShelly.call('Switch.Set', { id: cfg.componentId, on: false }, emergencyDone);\n\t\t}\n\t\treturn;\n\t}\n\tbusy = true;\n\t// OFF never receives a flip-back timer. Native auto_on must be disabled by qualification.\n\tShelly.call('Switch.Set', { id: cfg.componentId, on: false }, offDone, pendingFence && fencePersisted ? epoch : null);\n}\n/** Acknowledge ON only while its lease and floor remain valid; failed or superseded completion triggers OFF. */\nfunction onDone(result, code) {\n\tbusy = false;\n\tlet request = pendingOn;\n\tpendingOn = null;\n\tif (code !== 0 || !result || typeof result.was_on !== 'boolean') {\n\t\tif (request) reject(request, 'on_execution_unknown');\n\t\tfail('on_execution_unknown');\n\t\tdriveOff();\n\t\treturn;\n\t}\n\tif (pendingFence || !ready || !floorSafe() || now() >= until) {\n\t\tif (request) reject(request, 'on_superseded');\n\t\tdriveOff();\n\t\treturn;\n\t}\n\tif (request) request.result({ epoch: epoch, accepted: true, untilMs: until });\n}\n/** Enable serial OFF/readback after durable epoch persistence without stealing an existing IO cycle. */\nfunction persistedFence(result, code) {\n\tif (code !== 0) {\n\t\tbusy = false;\n\t\tfail('epoch_persistence_failed');\n\t\tdriveOff();\n\t\treturn;\n\t}\n\tfencePersisted = true;\n\t// Existing ON/OFF/readback owns busy until completion. Never overwrite its ownership.\n\tif (!busy) driveOff();\n}\n/** Advance and persist the epoch before acknowledging correlated OFF and local ON drainage. */\nfunction fence(request) {\n\tif (!ready || pendingFence || epoch >= 2147483646) {\n\t\treject(request, 'fence_unavailable');\n\t\treturn;\n\t}\n\tepoch = epoch + 1;\n\tuntil = 0;\n\tpendingFence = request;\n\tfencePersisted = false;\n\t// Persist before acknowledging the barrier. A concurrently running ON callback\n\t// must not run OFF/readback before this persistence operation has completed.\n\tShelly.call('KVS.Set', { key: cfg.epochKey, value: epoch }, persistedFence);\n}\n/** Admit one current-epoch ON with a safe floor and bounded absolute expiry, backed by native flip-back. */\nfunction energize(request, params) {\n\tif (!ready || fault || busy || pendingFence || !params || params.epoch !== epoch || !floorSafe()) {\n\t\treject(request, 'on_not_admitted');\n\t\treturn;\n\t}\n\tlet remaining = params.untilMs - now();\n\tif (!integer(params.untilMs) || remaining < cfg.minLeaseMs || remaining > cfg.maxLeaseMs) {\n\t\treject(request, 'on_expired_or_unqualified');\n\t\treturn;\n\t}\n\tuntil = params.untilMs;\n\tpendingOn = request;\n\tbusy = true;\n\t// Native flip-back remains a second bound if this script crashes after dispatch.\n\tShelly.call('Switch.Set', { id: cfg.componentId, on: true, toggle_after: remaining / 1000 }, onDone);\n}\n/** Drive OFF for revoked or expired leases, unsafe floor data and unknown output while leaving idle confirmed OFF alone. */\nfunction watchdog() {\n\tif (fault || pendingFence || (pendingOn && until === 0)) {\n\t\tdriveOff();\n\t\treturn;\n\t}\n\tlet hasLease = until > 0;\n\tif (hasLease && (now() >= until || !floorSafe())) {\n\t\tdriveOff();\n\t\treturn;\n\t}\n\tlet output = Shelly.getComponentStatus('switch', cfg.componentId);\n\t// Pending ON owns its valid lease even while the cached output is still OFF;\n\t// revoked pending ON keeps requesting emergency OFF until its callback drains.\n\t// Unknown output fails closed; idle confirmed OFF needs no serial IO cycle.\n\tif (!output || typeof output.output !== 'boolean' || (!hasLease && output.output)) driveOff();\n}\n/** Process reports from the configured floor component and request OFF whenever floor safety is lost. */\nfunction floorUpdate(event) {\n\tif (event.component !== cfg.floorComponentType + ':' + cfg.floorComponentId) return;\n\tobserveFloor(event.delta);\n\tif (!floorSafe()) driveOff();\n}\n/** Enable readiness only after startup status reports the configured switch output as OFF. */\nfunction startupOff(result, code) {\n\tif (code !== 0 || !result || result.id !== cfg.componentId || result.output !== false) {\n\t\tfail('startup_off_unconfirmed');\n\t\treturn;\n\t}\n\tbusy = false;\n\tready = true;\n}\n/** Require acknowledged startup OFF before requesting the live status needed to enable readiness. */\nfunction startupSet(result, code) {\n\tif (code !== 0 || !result || typeof result.was_on !== 'boolean') {\n\t\tfail('startup_off_execution_unknown');\n\t\treturn;\n\t}\n\tShelly.call('Switch.GetStatus', { id: cfg.componentId }, startupOff);\n}\n/** After persisting the boot epoch, issue absolute OFF before the startup readiness readback. */\nfunction startupPersist(result, code) {\n\tif (code !== 0) {\n\t\tfail('epoch_persistence_failed');\n\t\treturn;\n\t}\n\tbusy = true;\n\tShelly.call('Switch.Set', { id: cfg.componentId, on: false }, startupSet);\n}\n/** Require commissioned epoch storage and persist its successor so packets from an earlier boot cannot reuse the epoch. */\nfunction startupEpoch(result, code) {\n\t// The key must have been initialized during commissioning. Missing/reset storage\n\t// cannot silently establish a fresh epoch and admit packets from an earlier boot.\n\tif (code !== 0 || !result || !integer(result.value) || result.value >= 2147483646) {\n\t\tfail('epoch_storage_unqualified');\n\t\treturn;\n\t}\n\tepoch = result.value + 1;\n\tShelly.call('KVS.Set', { key: cfg.epochKey, value: epoch }, startupPersist);\n}\n/** Restrict correlation tokens to a bounded alphabet accepted unchanged by the HTTP query parser. */\nfunction validNonce(nonce) {\n\tif (typeof nonce !== 'string' || nonce.length < 1 || nonce.length > 64) return false;\n\tlet allowed = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_-';\n\tfor (let index = 0; index < nonce.length; index++) if (allowed.indexOf(nonce.charAt(index)) < 0) return false;\n\treturn true;\n}\n\n/** Validate unique action parameters and nonce, then route one uncached correlated status, fence or ON reply. */\nfunction handleHttp(request, response) {\n\tlet params = {};\n\tlet reply = {\n\t\t/** Correlate a successful action result with the exact request nonce. */\n\t\tresult: function (value) {\n\t\t\tresponse.code = 200;\n\t\t\tresponse.body = JSON.stringify({ result: value, nonce: params.nonce });\n\t\t\tresponse.send();\n\t\t},\n\t\t/** Return a correlated protocol error without representing it as successful OFF evidence. */\n\t\terror: function (code, reason) {\n\t\t\tresponse.code = 409;\n\t\t\tresponse.body = JSON.stringify({ error: reason, nonce: params.nonce });\n\t\t\tresponse.send();\n\t\t},\n\t};\n\tresponse.headers = [\n\t\t['Content-Type', 'application/json'],\n\t\t['Cache-Control', 'no-store'],\n\t];\n\tif (request.method !== 'GET') {\n\t\treject(reply, 'method_not_allowed');\n\t\treturn;\n\t}\n\tlet action = null;\n\tlet parts = (request.query || '').split('&');\n\ttry {\n\t\tfor (let index = 0; index < parts.length; index++) {\n\t\t\tlet field = parts[index].split('=');\n\t\t\tif (field.length !== 2) {\n\t\t\t\treject(reply, 'invalid_query');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (field[0] === 'action' && action === null) action = field[1];\n\t\t\telse if (field[0] === 'nonce' && params.nonce === undefined) params.nonce = field[1];\n\t\t\telse if (field[0] === 'epoch' && params.epoch === undefined) params.epoch = JSON.parse(field[1]);\n\t\t\telse if (field[0] === 'untilMs' && params.untilMs === undefined) params.untilMs = JSON.parse(field[1]);\n\t\t\telse {\n\t\t\t\treject(reply, 'invalid_query');\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t} catch (error) {\n\t\treject(reply, 'invalid_query');\n\t\treturn;\n\t}\n\tif (!validNonce(params.nonce)) {\n\t\treject(reply, 'invalid_nonce');\n\t\treturn;\n\t}\n\tif (action === 'status' && parts.length === 2) reply.result(view());\n\telse if (action === 'fence' && parts.length === 2) fence(reply);\n\telse if (action === 'on' && parts.length === 4) energize(reply, params);\n\telse reject(reply, 'invalid_action');\n}\n\n/** Validate device identity, declared installation prerequisites and bounds; declarations alone are not commissioning evidence. */\nfunction validConfig() {\n\treturn (\n\t\tcfg &&\n\t\tcfg.deviceId === info.id &&\n\t\tcfg.model === info.model &&\n\t\tcfg.firmware === info.fw_id &&\n\t\tcfg.evidenceId &&\n\t\tcfg.scriptRestartDrainQualified === true &&\n\t\tcfg.nativeWritersExcluded === true &&\n\t\tinteger(cfg.componentId) &&\n\t\tinteger(cfg.floorComponentId) &&\n\t\t((cfg.floorComponentType === 'temperature' && cfg.floorAttribute === 'tC') ||\n\t\t\t(cfg.floorComponentType === 'voltmeter' && cfg.floorAttribute === 'xvoltage') ||\n\t\t\tconversionQualified() ||\n\t\t\t(cfg.floorComponentType === 'input' && cfg.floorAttribute === 'xpercent')) &&\n\t\ttypeof cfg.floorConfigurationJson === 'string' &&\n\t\tcfg.floorConfigurationJson &&\n\t\ttypeof cfg.epochKey === 'string' &&\n\t\tcfg.epochKey &&\n\t\tinteger(cfg.minLeaseMs) &&\n\t\tcfg.minLeaseMs > 0 &&\n\t\tinteger(cfg.maxLeaseMs) &&\n\t\tcfg.maxLeaseMs >= cfg.minLeaseMs &&\n\t\tinteger(cfg.watchdogMs) &&\n\t\tcfg.watchdogMs > 0 &&\n\t\tcfg.watchdogMs < cfg.minLeaseMs &&\n\t\tinteger(cfg.floorMaxAgeMs) &&\n\t\tcfg.floorMaxAgeMs > cfg.watchdogMs &&\n\t\ttypeof cfg.floorLimitC === 'number' &&\n\t\tfiniteNumber(cfg.floorLimitC) &&\n\t\ttypeof cfg.floorHysteresisC === 'number' &&\n\t\tfiniteNumber(cfg.floorHysteresisC) &&\n\t\tcfg.floorHysteresisC > 0\n\t);\n}\n\nif (!validConfig()) {\n\tfail('installation_qualification_missing');\n} else {\n\tHTTPServer.registerEndpoint('spguard', handleHttp);\n\t// A cached startup snapshot cannot refresh sensor freshness. Only actual\n\t// sensor status reports qualify floor input; equal-report behavior needs testing.\n\tShelly.addStatusHandler(floorUpdate);\n\tTimer.set(cfg.watchdogMs, true, watchdog);\n\tbusy = true;\n\tdriveOff();\n\tShelly.call('KVS.Get', { key: cfg.epochKey }, startupEpoch);\n}\n";
|