read_event_history
Read OPC UA events stored in a past time range to recover alarms and changes that live subscriptions missed, such as what happened overnight or before a line stopped.
Instructions
Read events the OPC UA server stored, for a time range that has already passed. subscribe_events only sees what arrives after you subscribe, so it cannot answer 'what happened overnight' or 'what fired in the ten minutes before the line stopped' — the events are gone by the time anyone asks. This reads them back out of the server's own event archive instead. Same records as read_events and the same fields, so an alarm looks identical whether it was watched live or recovered afterwards. Needs a server that reports AccessHistoryEventsCapability — storing values and storing events are separate features and many servers do one without the other — and against one that does not, a call is refused with capability_not_supported and what to use instead. Point node_id at the notifier that emits the events — the Server object by default, which is where events are collected on most servers. The structured result's completeness says whether the range held more events than came back.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | No | The notifier node whose stored events to read. Defaults to the Server object 'ns=0;i=2253', which is where most servers collect events. This is the same node subscribe_events takes. | |
| end_time | No | End of the time range, ISO-8601 with a timezone. Defaults to now. | |
| num_values | No | Maximum number of events to return, capped at 5000. 0 (the default) means as many as that cap allows, not every event in the range — an alarm burst can be tens of thousands of events, and asking for all of them is a request that never returns. | |
| start_time | No | Start of the time range, ISO-8601 with a timezone: '2026-09-09T12:00:00Z' or '2026-09-09T14:00:00+02:00'. A timestamp with no timezone is refused rather than guessed. Defaults to one hour before `end_time`. | |
| severity_min | No | Keep only events of at least this OPC UA severity (1-1000). Default 0, which keeps every event. Filtered here rather than by the server, exactly as subscribe_events does, so a server that mishandles a filter cannot silently drop events. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes | ||
| completeness | Yes |