|
9 | 9 | CreateOrUpdateAlarmRequest, |
10 | 10 | QueryAlarmsWithFilterRequest, |
11 | 11 | SetAlarmTransition, |
| 12 | + TransitionInclusionOption, |
12 | 13 | ) |
13 | 14 | from nisystemlink.clients.core import HttpConfiguration |
14 | 15 |
|
15 | 16 | # Setup the server configuration to point to your instance of SystemLink Enterprise |
16 | 17 | server_configuration = HttpConfiguration( |
17 | | - server_uri="https://test-api.lifecyclesolutions.ni.com/", |
18 | | - api_key="oVu4EpiijnlgwjPlY58lke8H1xv2XLuCo1QmAvveMI", |
| 18 | + server_uri="https://yourserver.yourcompany.com", |
| 19 | + api_key="YourAPIKeyGeneratedFromSystemLink", |
19 | 20 | ) |
20 | 21 | client = AlarmClient(configuration=server_configuration) |
21 | 22 |
|
|
53 | 54 | client.create_or_update_alarm(update_request) |
54 | 55 |
|
55 | 56 | # Query alarms with a filter (can filter by alarm_id to find all instances) |
| 57 | +# Include all transitions to see the full alarm history |
56 | 58 | query_request = QueryAlarmsWithFilterRequest( |
57 | 59 | filter="alarmId=@0", |
58 | 60 | substitutions=[alarm_id], |
59 | 61 | order_by=AlarmOrderBy.UPDATED_AT, |
60 | 62 | order_by_descending=True, |
| 63 | + transition_inclusion_option=TransitionInclusionOption.ALL, |
| 64 | + return_count=True, |
61 | 65 | ) |
62 | 66 | query_response = client.query_alarms(query_request) |
63 | 67 |
|
| 68 | +# Display query results |
| 69 | +print(f"Total alarms found: {query_response.total_count}") |
| 70 | +for alarm in query_response.alarms: |
| 71 | + print(f" Alarm ID: {alarm.alarm_id}, Transitions: {len(alarm.transitions)}") |
| 72 | + for transition in alarm.transitions: |
| 73 | + print(f" - {transition.transition_type}: {transition.condition}") |
| 74 | + |
64 | 75 | # Acknowledge the alarm |
65 | 76 | client.acknowledge_alarms(ids=[id]) |
66 | 77 |
|
|
0 commit comments