Gå til indhold

Python-bibliotek

Python-pakken hamapi downloader dine enheders historiske data (datalogs). Den læser rækkerne for dig og giver én liste over værdier for hver måling. Du kan bruge den frit (MIT-licens).

Terminal window
pip install hamapi

Du skal have Python 3.6 eller nyere. Pakken installerer også requests og 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: du får den fra siden Konto i app’en. Se REST API.
  • 'e11:123': enhedens serienummer. Du skal have læsetilladelse til enheden.
  • start, end: Unix-tid i sekunder.
  • averaging_step: valgfri. Pakken giver én gennemsnitsværdi for hvert trin på dette antal sekunder. Med 0 (standard) får du alle rækkerne.

get_datalog_data returnerer en ordbog:

  • timestamp: tidspunktet for hver værdi i Unix-sekunder.
  • Én liste for hver måling og hver udgang på enheden med målingens kode som nøgle (for eksempel T). Koderne er i Ordbog over målinger.

Alle lister har den samme længde. Uden averaging_step har listerne ét punkt mere lige før hver ændring, så en graf viser trin.

  • ham.get_user_devices(): enhederne på din konto, de samme data som get_user_devices.php.
  • Pakken gemmer de downloadede tidligere dage i filen .cached.db i den aktuelle mappe. Den downloader ikke disse dage igen. Slet filen for at downloade dem igen.
  • Pakken læser kun historikken. Brug WebSocket til aktuelle data.
  • Pakken indeholder enhedsdefinitionerne for sin version. Opdatér den med pip install -U hamapi for nye typer af enheder.
  • Pakkens side: pypi.org/project/hamapi.
Chat med support