Zum Inhalt springen

Python-Bibliothek

Das Python-Paket hamapi lädt die historischen Daten (Datalogs) Ihrer Geräte herunter. Es liest die Zeilen für Sie und gibt eine Liste von Werten für jeden Messwert zurück. Sie können es frei verwenden (MIT-Lizenz).

Terminal-Fenster
pip install hamapi

Sie brauchen Python 3.6 oder neuer. Das Paket installiert auch requests und 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: Sie erhalten ihn auf der Seite Konto der App. Siehe die REST-API.
  • 'e11:123': die Seriennummer des Geräts. Sie brauchen Leseberechtigung auf dem Gerät.
  • start, end: Unix-Zeit in Sekunden.
  • averaging_step: optional. Das Paket gibt einen Mittelwert für jeden Schritt mit dieser Anzahl Sekunden zurück. Mit 0 (Standard) erhalten Sie alle Zeilen.

get_datalog_data gibt ein Dictionary zurück:

  • timestamp: die Zeit jedes Werts, in Unix-Sekunden.
  • Eine Liste für jeden Messwert und jeden Ausgang des Geräts. Der Schlüssel ist der Code des Messwerts (zum Beispiel T). Die Codes stehen im Messwert-Wörterbuch.

Alle Listen haben die gleiche Länge. Ohne averaging_step haben die Listen einen zusätzlichen Punkt direkt vor jeder Änderung. So zeigt ein Diagramm Stufen.

  • ham.get_user_devices(): die Geräte Ihres Kontos. Das sind die gleichen Daten wie bei get_user_devices.php.
  • Das Paket speichert die heruntergeladenen vergangenen Tage in der Datei .cached.db im aktuellen Ordner. Es lädt diese Tage nicht erneut herunter. Um sie erneut herunterzuladen, löschen Sie die Datei.
  • Das Paket liest nur den Verlauf. Für Live-Daten siehe Live-Daten (WebSocket).
  • Das Paket enthält die Gerätedefinitionen seiner Version. Für neue Gerätetypen aktualisieren Sie es mit pip install -U hamapi.
  • Seite des Pakets: pypi.org/project/hamapi.
Chat mit dem Support