חיבור מד-המים הדירתי ל-HA

SIRI, CORTANA, ALEXA, ECHO, GOOGLE HOME, HOME PAD, שלטים חכמים, KEY PADS, אפליקציות
ma0r (פותח השרשור)
חבר שרק התחיל
חבר שרק התחיל
הודעות: 41
הצטרף: דצמבר 2019
נתן תודות: 9 פעמים
קיבל תודות: 8 פעמים

חיבור מד-המים הדירתי ל-HA

נושא שלא נקרא #1 

אם אתם משלמים את חשבון המים שלכם לאחד מתאגידי המים שבתמונה, אז יש סיכוי טוב שאתם יכולים לחבר את המונה מים למערכת הבית החכם שלכם.

כתבתי אינטגרציה פשוטה עבור Home Assistant עם השרות קריאת מונים של חברת ארד טכנולוגיות, שמספקת את המונים לתאגידי המים האלה.

אפשר להתקין בקלות באמצעות HACS. כל הפרטים כאן:
https://github.com/maorcc/citymind_water_meter


אשמח לשמוע כל פידבק.
נא להרשם/להכנס לחשבון בפורום על מנת לצפות בקבצים או בתמונות המצורפים לשרשור

hsafra
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 417
הצטרף: מאי 2011
נתן תודות: 18 פעמים
קיבל תודות: 88 פעמים

נושא שלא נקרא #2 

התקנתי עכשיו, חיכיתי בסבלנות 30 דקות :) ואז קיבלתי את השגיאה הזאת בלוג:
2020-07-23 11:55:30 WARNING (SyncWorker_3) [custom_components.citymind_water_meter.sensor] response status code 500

לא השתמשתי ב- !secret אם זה משנה

עריכה: גם עם secret מקבל 500. היוזר עובד באתר שלהם כמובן. תודה!

DudeShemesh
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 846
הצטרף: מאי 2016
נתן תודות: 151 פעמים
קיבל תודות: 87 פעמים

נושא שלא נקרא #3 

נראה מגניב, אני מתכוון לנסות.
מהסתכלות על הקוד, אני לא בטוח שאני מבין את המשמעות של הסנסור של הצריכה בלי יחידת זמן. בכל מקרה, אתה גם לא חייב לממש בעצמך - ל HA יש תמיכה בנגזרת (https://www.home-assistant.io/integrations/derivative/).

עוד משהו (שוב, מהסתכלות על הקוד, עוד אין לי חשבון בארד) - נראה שאתה עושה scraping, אבל בסוף יש שם JSON. אם ה JSON הזה נטען דינמית, יכול להיות שאפשר למצוא את הקריאה הישירה אליו, ואז לא צריך קוד בכלל - אפשר להשתמש ב restful sensor.

ma0r (פותח השרשור)
חבר שרק התחיל
חבר שרק התחיל
הודעות: 41
הצטרף: דצמבר 2019
נתן תודות: 9 פעמים
קיבל תודות: 8 פעמים

נושא שלא נקרא #4 

hsafra כתב:התקנתי עכשיו, חיכיתי בסבלנות 30 דקות :) ואז קיבלתי את השגיאה הזאת בלוג:
2020-07-23 11:55:30 WARNING (SyncWorker_3) [custom_components.citymind_water_meter.sensor] response status code 500

לא השתמשתי ב- !secret אם זה משנה

עריכה: גם עם secret מקבל 500. היוזר עובד באתר שלהם כמובן. תודה!
...
·וואו, מוזר. אני צריך לחשוב איך אני יכול לשחזר את זה... אולי ננסה מתישהו ביחד בזום.

ma0r (פותח השרשור)
חבר שרק התחיל
חבר שרק התחיל
הודעות: 41
הצטרף: דצמבר 2019
נתן תודות: 9 פעמים
קיבל תודות: 8 פעמים

נושא שלא נקרא #5 

DudeShemesh כתב:נראה מגניב, אני מתכוון לנסות.
מהסתכלות על הקוד, אני לא בטוח שאני מבין את המשמעות של הסנסור של הצריכה בלי יחידת זמן. בכל מקרה, אתה גם לא חייב לממש בעצמך - ל HA יש תמיכה בנגזרת (https://www.home-assistant.io/integrations/derivative/).

עוד משהו (שוב, מהסתכלות על הקוד, עוד אין לי חשבון בארד) - נראה שאתה עושה scraping, אבל בסוף יש שם JSON. אם ה JSON הזה נטען דינמית, יכול להיות שאפשר למצוא את הקריאה הישירה אליו, ואז לא צריך קוד בכלל - אפשר להשתמש ב restful sensor.
...
·מה שהקוד עושה זה פעולת POST ללוג-אין רגיל. התשובה שמתקבלת זה HTML שמכיל בתוכו טאג עם נתונים במבנה JSON. זה משהו די מוזר שמבוסס על טכנולוגיות ASP עתיקות. אין כרגע API שאפשר לקבל דרכו ישר את ה-JSON

DudeShemesh
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 846
הצטרף: מאי 2016
נתן תודות: 151 פעמים
קיבל תודות: 87 פעמים

נושא שלא נקרא #6 

מה שאתה מתאר - HTML סטטי שמכיל JSON, מאוד לא נפוץ. בד"כ ה JSON מגיע בקריאה דינמית (אחרת השרת כבר היה יכול להחזיר HTML "מעובד").
אתה בטוח שאין שום קריאה מאחורי הקלעים לקבל את ה JSON? נשמע שבדקת לעומק, אבל זה ממש מפתיע.

ma0r (פותח השרשור)
חבר שרק התחיל
חבר שרק התחיל
הודעות: 41
הצטרף: דצמבר 2019
נתן תודות: 9 פעמים
קיבל תודות: 8 פעמים

נושא שלא נקרא #7 

DudeShemesh כתב:מה שאתה מתאר - HTML סטטי שמכיל JSON, מאוד לא נפוץ. בד"כ ה JSON מגיע בקריאה דינמית (אחרת השרת כבר היה יכול להחזיר HTML "מעובד").
אתה בטוח שאין שום קריאה מאחורי הקלעים לקבל את ה JSON? נשמע שבדקת לעומק, אבל זה ממש מפתיע.
...
כן, אני אכן בטוח שיש שם JSON בתוך טאג של HTML.
יותר מזה, יש באתר תערובת חסרת הגיון של נתונים שמשולבים בתוך ה-HTML, נתונים שמשולבים ב-JSON בתוך הHTML וקריאות נוספות דרך API לנתונים הסטוריים. ממש תערובת חסרת הגיון. אבל זה מה יש, ולשימחתי, לא היה קשה להוציא את הנתון של "קריאת מונה" משם בקריאת http post יחידה.

theone
חבר ותיק
חבר ותיק
הודעות: 1577
הצטרף: אוקטובר 2005
נתן תודות: 15 פעמים
קיבל תודות: 53 פעמים

נושא שלא נקרא #8 

ma0r כתב:
...
...
·וואו, מוזר. אני צריך לחשוב איך אני יכול לשחזר את זה... אולי ננסה מתישהו ביחד בזום.
...
·גם אני מקבל את אותה השגיאה ולא מקבל נתונים. Unknown.

ma0r (פותח השרשור)
חבר שרק התחיל
חבר שרק התחיל
הודעות: 41
הצטרף: דצמבר 2019
נתן תודות: 9 פעמים
קיבל תודות: 8 פעמים

תוקן הבאג. עכשיו זה עובד

נושא שלא נקרא #9 

@theone, @hsafra :

תיקנתי את התקלה. תוכלו בבקשה לאשר כאן שעכשיו זה עובד אצלכם?

תודה!

hsafra
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 417
הצטרף: מאי 2011
נתן תודות: 18 פעמים
קיבל תודות: 88 פעמים

נושא שלא נקרא #10 

עובד תקין אצלי. תודה רבה

theone
חבר ותיק
חבר ותיק
הודעות: 1577
הצטרף: אוקטובר 2005
נתן תודות: 15 פעמים
קיבל תודות: 53 פעמים

נושא שלא נקרא #11 

עובד אצלי גם.

כרגע אני רואה רק נתונים ב- sensor.water_meter_reading

כל כמה זמן אמור sensor.water_consumption להתעדכן כי זה הרי צריכה ולא קריאה רגעית? (עדיין מראה UNKNOWN) אבל אין שגיאה בלוגים.

hsafra
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 417
הצטרף: מאי 2011
נתן תודות: 18 פעמים
קיבל תודות: 88 פעמים

נושא שלא נקרא #12 

@theone
·
אמור להתרענן כל חצי שעה (1800 שניות). אצלי עובד בפעם הראשונה ואז מקבל בלוג.

קוד: בחירת הכל

2020-07-27 16:28:53 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.water_meter_reading fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 272, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 465, in async_device_update
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/citymind_water_meter/sensor.py", line 131, in update
    self._data_provider.refresh_data()
  File "/config/custom_components/citymind_water_meter/sensor.py", line 96, in refresh_data
    json_str = soup.select_one("#cphMain_div_properties").text  # The data is hidden as json text inside the html
AttributeError: 'NoneType' object has no attribute 'text'
מופיע גם אצלך?

theone
חבר ותיק
חבר ותיק
הודעות: 1577
הצטרף: אוקטובר 2005
נתן תודות: 15 פעמים
קיבל תודות: 53 פעמים

נושא שלא נקרא #13 

אכן

קוד: בחירת הכל

2020-07-27 14:19:19 ERROR (MainThread) [homeassistant.helpers.entity] Update for sensor.water_meter_reading fails
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 272, in async_update_ha_state
    await self.async_device_update()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 465, in async_device_update
    await self.hass.async_add_executor_job(
  File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/citymind_water_meter/sensor.py", line 131, in update
    self._data_provider.refresh_data()
  File "/config/custom_components/citymind_water_meter/sensor.py", line 96, in refresh_data
    json_str = soup.select_one("#cphMain_div_properties").text  # The data is hidden as json text inside the html
AttributeError: 'NoneType' object has no attribute 'text'

zula
חבר פעיל
חבר פעיל
הודעות: 56
הצטרף: ינואר 2006
מיקום: רמת גן
נתן תודות: 7 פעמים
קיבל תודות: 1 פעם

נושא שלא נקרא #14 

אתם יודעים אם ניתן גם במי-אונו (קריית אונו)?

hsafra
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 417
הצטרף: מאי 2011
נתן תודות: 18 פעמים
קיבל תודות: 88 פעמים

נושא שלא נקרא #15 

@zula
·
מי אונו מופיעם באתר של ארד https://cp.city-mind.com/ אז כנראה שכן

שלח תגובה

חזור אל “עוזרות קוליות, שליטה ובקרה”