diff --git a/server/package-lock.json b/server/package-lock.json index 2349a977a..f3284aebb 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,12 +1,12 @@ { "name": "@scrypted/server", - "version": "0.0.99", + "version": "0.0.101", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@scrypted/server", - "version": "0.0.99", + "version": "0.0.101", "license": "ISC", "dependencies": { "@scrypted/sdk": "^0.0.129", diff --git a/server/package.json b/server/package.json index eb0015c90..aa24752bb 100644 --- a/server/package.json +++ b/server/package.json @@ -1,6 +1,6 @@ { "name": "@scrypted/server", - "version": "0.0.99", + "version": "0.0.101", "description": "", "dependencies": { "@scrypted/sdk": "^0.0.129", diff --git a/server/python/plugin-remote.py b/server/python/plugin-remote.py index ebf73c3b7..3c2b8020b 100644 --- a/server/python/plugin-remote.py +++ b/server/python/plugin-remote.py @@ -34,7 +34,9 @@ class SystemManager(scrypted_python.scrypted_sdk.SystemManager): super().__init__() self.api = api self.systemState = systemState - + + async def getComponent(self, id: str) -> Any: + return await self.api.getComponent(id) class DeviceState(scrypted_python.scrypted_sdk.DeviceState): def __init__(self, id: str, nativeId: str, systemManager: SystemManager, deviceManager: scrypted_python.scrypted_sdk.DeviceManager) -> None: diff --git a/server/src/event-registry.ts b/server/src/event-registry.ts index 87175306b..d23fff295 100644 --- a/server/src/event-registry.ts +++ b/server/src/event-registry.ts @@ -8,6 +8,8 @@ export class EventListenerRegisterImpl implements EventListenerRegister { } } +const allowedEventInterfaces = new Set([ScryptedInterface.ScryptedDevice, 'Logger']) + export class EventRegistry { systemListeners = new Set<(id: string, eventDetails: EventDetails, eventData: object) => void>(); listeners: { [token: string]: Set<(eventDetails: EventDetails, eventData: object) => void> } = {}; @@ -57,7 +59,7 @@ export class EventRegistry { // system listeners only get state changes. // there are many potentially noisy stateless events, like // object detection and settings changes. - if (property || eventInterface === ScryptedInterface.ScryptedDevice) { + if (property || allowedEventInterfaces.has(eventInterface)) { for (const event of this.systemListeners) { event(id, eventDetails, value); }