async def create_monitored_items(self, params: ua.CreateMonitoredItemsParameters): self.logger.info("create monitored items") if params.SubscriptionId not in self.subscriptions: res = [] for _ in params.ItemsToCreate: response = ua.MonitoredItemCreateResult() response.StatusCode = ua.StatusCode(ua.StatusCodes.BadSubscriptionIdInvalid) res.append(response) return res return await self.subscriptions[params.SubscriptionId].monitored_item_srv.create_monitored_items(params)
def _make_monitored_item_common(self, params): result = ua.MonitoredItemCreateResult() result.RevisedSamplingInterval = self.isub.data.RevisedPublishingInterval result.RevisedQueueSize = params.RequestedParameters.QueueSize self._monitored_item_counter += 1 result.MonitoredItemId = self._monitored_item_counter self.logger.debug("Creating MonitoredItem with id %s", result.MonitoredItemId) mdata = MonitoredItemData() mdata.mode = params.MonitoringMode mdata.client_handle = params.RequestedParameters.ClientHandle mdata.monitored_item_id = result.MonitoredItemId mdata.queue_size = params.RequestedParameters.QueueSize mdata.filter = params.RequestedParameters.Filter return result, mdata