Μετάβαση στο περιεχόμενο

Βιβλιοθήκη Python

Το πακέτο Python hamapi κατεβάζει τα ιστορικά δεδομένα (datalogs) των συσκευών σας. Διαβάζει τις γραμμές για εσάς και δίνει μία λίστα τιμών για κάθε μέτρηση. Μπορείτε να το χρησιμοποιήσετε ελεύθερα (άδεια MIT).

Terminal window
pip install hamapi

Χρειάζεστε Python 3.6 ή νεότερη. Το πακέτο εγκαθιστά επίσης τα requests και 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: το παίρνετε από τη σελίδα Λογαριασμός της εφαρμογής. Δείτε το REST API.
  • 'e11:123': ο σειριακός αριθμός της συσκευής. Χρειάζεστε δικαίωμα ανάγνωσης στη συσκευή.
  • start, end: χρόνος Unix σε δευτερόλεπτα.
  • averaging_step: προαιρετικό. Το πακέτο δίνει μία μέση τιμή για κάθε βήμα με τόσα δευτερόλεπτα. Με 0 (η προεπιλογή) παίρνετε όλες τις γραμμές.

Το get_datalog_data επιστρέφει ένα λεξικό (dictionary):

  • timestamp: η ώρα κάθε τιμής, σε δευτερόλεπτα Unix.
  • Μία λίστα για κάθε μέτρηση και κάθε έξοδο της συσκευής, με κλειδί τον κωδικό της μέτρησης (για παράδειγμα T). Οι κωδικοί είναι στο Λεξικό μετρήσεων.

Όλες οι λίστες έχουν το ίδιο μήκος. Χωρίς averaging_step, οι λίστες έχουν ένα σημείο ακόμα λίγο πριν από κάθε αλλαγή. Έτσι ένα γράφημα δείχνει σκαλοπάτια.

  • ham.get_user_devices(): οι συσκευές του λογαριασμού σας, τα ίδια δεδομένα με το get_user_devices.php.
  • Το πακέτο κρατά τις παλιές ημέρες που κατέβασε στο αρχείο .cached.db, στον τρέχοντα φάκελο. Δεν κατεβάζει ξανά αυτές τις ημέρες. Για να τις κατεβάσετε ξανά, σβήστε το αρχείο.
  • Το πακέτο διαβάζει μόνο το ιστορικό. Για ζωντανά δεδομένα, χρησιμοποιήστε το WebSocket.
  • Το πακέτο περιέχει τους ορισμούς συσκευών της έκδοσής του. Για νέους τύπους συσκευών, ενημερώστε το με pip install -U hamapi.
  • Σελίδα του πακέτου: pypi.org/project/hamapi.
Chat με την υποστήριξη