Przejdź do głównej zawartości

Biblioteka Python

Pakiet Python hamapi pobiera dane historyczne (datalogi) urządzeń. Sam odczytuje wiersze i zwraca jedną listę wartości dla każdego odczytu. Pakiet można używać bez ograniczeń (licencja MIT).

Okno terminala
pip install hamapi

Wymagany jest Python 3.6 lub nowszy. Pakiet instaluje także requests i 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: klucz jest na stronie Konto w aplikacji. Zobacz REST API.
  • 'e11:123': numer seryjny urządzenia. Wymagane jest uprawnienie do odczytu urządzenia.
  • start, end: czas Unix w sekundach.
  • averaging_step: opcjonalny. Pakiet zwraca jedną wartość średnią dla każdego kroku o tej liczbie sekund. Z wartością 0 (domyślną) pakiet zwraca wszystkie wiersze.

get_datalog_data zwraca słownik:

  • timestamp: czas każdej wartości, w sekundach Unix.
  • Jedna lista dla każdego odczytu i każdego wyjścia urządzenia. Kluczem jest kod odczytu (na przykład T). Kody są na stronie Słownik odczytów.

Wszystkie listy mają tę samą długość. Bez averaging_step listy mają jeden dodatkowy punkt tuż przed każdą zmianą. Dzięki temu wykres pokazuje schodki.

  • ham.get_user_devices(): urządzenia na koncie. To te same dane co z get_user_devices.php.
  • Pakiet zapisuje pobrane minione dni w pliku .cached.db w bieżącym folderze. Nie pobiera tych dni ponownie. Aby pobrać je ponownie, usuń plik.
  • Pakiet odczytuje tylko historię. Dane na żywo opisuje strona Dane na żywo (WebSocket).
  • Pakiet zawiera definicje urządzeń ze swojej wersji. Dla nowych typów urządzeń zaktualizuj go poleceniem pip install -U hamapi.
  • Strona pakietu: pypi.org/project/hamapi.
Czat z pomocą techniczną