Gå til innholdet

Python-bibliotek

Python-pakken hamapi laster ned de historiske dataene (datalogger) for enhetene dine. Den leser radene for deg og gir én liste med verdier for hver avlesning. Du kan bruke den fritt (MIT-lisens).

Terminal window
pip install hamapi

Du trenger 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 appen. Se REST API.
  • 'e11:123': serienummeret til enheten. Du trenger lesetilgang til enheten.
  • start, end: Unix-tid i sekunder.
  • averaging_step: valgfritt. Pakken gir én gjennomsnittsverdi for hvert steg med så mange sekunder. Med 0 (standard) får du alle radene.

get_datalog_data returnerer en ordbok:

  • timestamp: tiden for hver verdi, i Unix-sekunder.
  • Én liste for hver avlesning og hver utgang på enheten, med koden for avlesningen som nøkkel (for eksempel T). Kodene er i Ordbok for avlesninger.

Alle listene har den samme lengden. Uten averaging_step har listene ett punkt til rett før hver endring, slik at en graf viser trinn.

  • ham.get_user_devices(): enhetene på kontoen din, de samme dataene som get_user_devices.php.
  • Pakken lagrer de nedlastede tidligere dagene i filen .cached.db, i den aktuelle mappen. Den laster ikke ned disse dagene på nytt. For å laste dem ned på nytt, slett filen.
  • Pakken leser bare historikken. For data i sanntid, bruk WebSocket.
  • Pakken inneholder definisjonene for enheter fra sin versjon. For nye typer enheter, oppdater den med pip install -U hamapi.
  • Siden for pakken: pypi.org/project/hamapi.
Chat med support