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