Hoppa till innehåll

Python-bibliotek

Python-paketet hamapi laddar ner de historiska data (datalogs) för dina enheter. Det läser raderna åt dig och ger en lista med värden för varje avläsning. Du kan använda det fritt (MIT-licens).

Terminal window
pip install hamapi

Du behöver Python 3.6 eller senare. Paketet installerar också requests och 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 från sidan Konto i appen. Se REST API.
  • 'e11:123': enhetens serienummer. Du behöver läsbehörighet på enheten.
  • start, end: Unix-tid i sekunder.
  • averaging_step: valfri. Paketet ger ett medelvärde för varje steg med så många sekunder. Med 0 (standard) får du alla rader.

get_datalog_data returnerar en ordlista:

  • timestamp: tiden för varje värde, i Unix-sekunder.
  • En lista för varje avläsning och varje utgång på enheten, med avläsningens kod som nyckel (till exempel T). Koderna finns i Ordlista för avläsningar.

Alla listor har samma längd. Utan averaging_step har listorna en punkt till precis före varje ändring, så att ett diagram visar steg.

  • ham.get_user_devices(): enheterna i ditt konto, samma data som get_user_devices.php.
  • Paketet sparar de tidigare dagarna som det har laddat ner i filen .cached.db, i den aktuella mappen. Det laddar inte ner dessa dagar igen. För att ladda ner dem igen, ta bort filen.
  • Paketet läser bara historiken. För data i realtid, använd WebSocket.
  • Paketet innehåller enhetsdefinitionerna för sin version. För nya enhetstyper, uppdatera det med pip install -U hamapi.
  • Paketets sida: pypi.org/project/hamapi.
Chatta med supporten