diff --git a/lib/get_internal_attribute_history.py b/lib/get_internal_attribute_history.py new file mode 100755 index 0000000000000000000000000000000000000000..0d5f79e737efe01e6b297eab17dac56109eac678 --- /dev/null +++ b/lib/get_internal_attribute_history.py @@ -0,0 +1,17 @@ +#! /usr/bin/env python3 + + +from tango import DeviceProxy +from numpy import array, transpose + + +def get_internal_attribute_history(device: DeviceProxy, attribute_name: str, depth: int = 10): + try: + history = array(device.attribute_history(attr_name = attribute_name, depth = depth)) + except Exception as e: + raise ValueError("An exception was raised when attempting to access the internal history of the attribute '{}/{}'.".format(device.name(), attribute_name)) from e + + history_values = array([entry.value for entry in history]) + history_values_transposed = history_values.transpose() + values = array([vals for vals in history_values_transposed]) + return values