דלגו לתוכן

ספריית 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.
צ'אט עם התמיכה