Перейти к содержимому

Библиотека Python

Пакет Python hamapi загружает исторические данные (datalogs) Ваших устройств. Он читает строки за Вас и даёт один список значений для каждого показания. Вы можете использовать его свободно (лицензия MIT).

Окно терминала
pip install hamapi

Вам нужен Python 3.6 или новее. Пакет также устанавливает requests и brotli.

import time
import hamapi
ham = hamapi.hamapi(api_key='YOUR_API_KEY')
end = int(time.time())
start = end - 7 * 86400
data = ham.get_datalog_data('e11:123', start, end, averaging_step=120)
print(list(data.keys()))
print(data['timestamp'][:5])
  • api_key: Вы получаете его на странице Аккаунт в приложении. См. REST API.
  • 'e11:123': серийный номер устройства. Вам нужно право чтения на устройство.
  • start, end: время Unix в секундах.
  • averaging_step: необязательно. Пакет даёт одно среднее значение на каждый шаг этого количества секунд. С 0 (по умолчанию) Вы получаете все строки.

get_datalog_data возвращает словарь:

  • timestamp: время каждого значения, в секундах Unix.
  • Один список для каждого показания и каждого выхода устройства, с кодом показания как ключом (например T). Коды находятся в Словаре показаний.

Все списки имеют одинаковую длину. Без averaging_step списки имеют одну дополнительную точку прямо перед каждым изменением, чтобы график показывал ступени.

  • ham.get_user_devices(): устройства Вашего аккаунта, те же данные, что у get_user_devices.php.
  • Пакет хранит загруженные прошлые дни в файле .cached.db в текущей папке. Он не загружает эти дни снова. Чтобы загрузить их снова, удалите файл.
  • Пакет читает только историю. Для данных в реальном времени используйте WebSocket.
  • Пакет содержит определения устройств своей версии. Для новых типов устройств обновите его командой pip install -U hamapi.
  • Страница пакета: pypi.org/project/hamapi.
Чат с поддержкой