דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. סלולרי
  3. מערכות IVR - ימות המשיח
  4. שאלות למומחים
  5. בקשת מידע | ימות המשיח VS אוטמציות בHome Assistant

בקשת מידע | ימות המשיח VS אוטמציות בHome Assistant

מתוזמן נעוץ נעול הועבר נפתר שאלות למומחים
27 פוסטים 7 כותבים 366 צפיות 6 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מ מנדי

    @2580
    בניתי משהו יש הרבה מה לשפץ אבל התחלה...
    זה ישום בתוך HA
    הקבצים צריכים להיות בנתיב config/custom_components שם צריך לפתוח תיקיה חדשה yemot_api ולהכניס לה את שתי הקבצים
    הראשון- שם הקובץ צריך להיות- manifest.json

    {
      "domain": "yemot_api",
      "name": "Yemot HaMashiach API Endpoint",
      "version": "1.0.0",
      "documentation": "https://www.home-assistant.io",
      "dependencies": ["http"],
      "codeowners": [],
      "requirements": [],
      "iot_class": "local_push"
    }
    

    וזה הקובץ השני- זה השם

    __init__.py
    

    וזה הקובץ

    import logging
    import asyncio
    from aiohttp import web
    from homeassistant.core import HomeAssistant
    from homeassistant.components.http import HomeAssistantView
    
    DOMAIN = "yemot_api"
    
    async def async_setup(hass: HomeAssistant, config: dict) -> bool:
        hass.http.register_view(YemotApiView(hass))
        return True
    
    class YemotApiView(HomeAssistantView):
        url = "/api/yemot/{token}/{entity_id}"
        extra_urls = ["/api/yemot/{token}/{entity_id}/{action}"]
        name = "api:yemot"
        requires_auth = False 
    
        def __init__(self, hass: HomeAssistant):
            self.hass = hass
    
        async def get(self, request: web.Request, token: str, entity_id: str, action: str = None) -> web.Response:
            await request.read()
            return await self._process_request(token, entity_id, action)
    
        async def post(self, request: web.Request, token: str, entity_id: str, action: str = None) -> web.Response:
            await request.read()
            return await self._process_request(token, entity_id, action)
    
        async def _process_request(self, token: str, entity_id: str, action: str) -> web.Response:
            if token != "123456":
                return self._build_response("שגיאת הרשאה")
    
            domain = entity_id.split(".")[0]
    
    
            if action:
                try:
                    await self.hass.services.async_call(domain, action, {"entity_id": entity_id}, blocking=True)
                    
                    await asyncio.sleep(2.5)
                    
                    new_state = self.hass.states.get(entity_id)
                    if new_state:
                        ans = self._translate_state(domain, new_state)
                        return self._build_response(f"הפעולה בוצעה, והמכשיר כרגע {ans}")
                    else:
                        return self._build_response("הפעולה נשלחה אך לא ניתן לוודא את הסטטוס החדש")
                except Exception:
                    return self._build_response("שגיאה בביצוע הפעולה")
    
    
            state = self.hass.states.get(entity_id)
            if not state:
                return self._build_response("המכשיר לא נמצא")
    
            ans = self._translate_state(domain, state)
            return self._build_response(f"הסטטוס כרגע {ans}")
    
        def _translate_state(self, domain: str, state_obj) -> str:
            st = str(state_obj.state)
            
            if st in ["unavailable", "unknown"]:
                return "לא זמין"
                
            if domain == "sensor":
                try:
                    if '.' in st:
                        st = str(round(float(st)))
                except ValueError:
                    pass
                    
                unit = str(state_obj.attributes.get("unit_of_measurement", "")).lower()
                
                if "c" in unit or "מעלות" in unit or "°" in unit:
                    return f"{st} מעלות"
                elif "%" in unit:
                    return f"{st} אחוזים"
                else:
                    return st
            
            if st in ["on", "cool", "heat"]:
                return "דולק"
            elif st == "off":
                return "כבוי"
            elif st in ["locked", "lock"]:
                return "נעול"
            elif st in ["unlocked", "unlock"]:
                return "פתוח"
            else:
                return "במצב לא מוכר"
    
        def _build_response(self, text: str) -> web.Response:
            response_text = f"id_list_message=t-{text}&go_to_folder=/&"
            return web.Response(text=response_text, content_type="text/plain", charset="utf-8")
    

    שמתי את זה כקוד בגלל שעדיף להעתיק ןלהדביק מאשר לעלות את זה כקובץ ל HA בגלל שיכול להיות בעיות בקידוד,
    כדאי לשנות את הסיסמה שמה,

    בימות אתה מכניס בשלוחה שתבחר בהגדרות,

    type=api
    api_url_post=yes
    api_link=https://הכתובת שלך/api/yemot/הסיסמה שבחרת/lightאו כל התקן שתבחר
    

    זה מקבל את סטטוס של ההתקן,
    בשביל להפעיל או לכבות התקנים, תוסיף בסוף אחרי שם ההתקן turn_off/ או להפעלה turn_on/
    בהצלחה

    25802 מנותק
    25802 מנותק
    2580
    מדריכים
    כתב נערך לאחרונה על ידי
    #18

    @מנדי הקבצים האלו זה במקום הYAML של האוטומציה או בנוסף?

    בקרו - https://yo-2580.github.io/profile2580/

    תגובה 1 תגובה אחרונה
    0
    • 25802 2580 סימן נושא זה כנפתר
    • 25802 2580 סימן נושא זה כנפתר
    • מ מנותק
      מ מנותק
      מנדי
      כתב נערך לאחרונה על ידי
      #19

      הכנסתי את זה ל- גיטהוב וכל ההגדרות דרך ממשק, בנוסף הוא מגדיר לבד את השלוחות בימות דרך HA וגם שולח התראות צינתוקים וטקסט מHA זה המאגר
      https://github.com/meni123/ha-yemot

      ליצור איתי קשר mendiforum@gmail.com

      א תגובה 1 תגובה אחרונה
      2
      • מ מנדי

        הכנסתי את זה ל- גיטהוב וכל ההגדרות דרך ממשק, בנוסף הוא מגדיר לבד את השלוחות בימות דרך HA וגם שולח התראות צינתוקים וטקסט מHA זה המאגר
        https://github.com/meni123/ha-yemot

        א מנותק
        א מנותק
        אאA
        כתב נערך לאחרונה על ידי אאA
        #20

        @מנדי
        קצת הסתבכתי...
        אלו 2 קבצים אותם יש לעלות לשרת?
        ואיך אני מוצא את ההתקן שלי?
        אשמח לתשובה!!

        מ 2 תגובות תגובה אחרונה
        0
        • א אאA

          @מנדי
          קצת הסתבכתי...
          אלו 2 קבצים אותם יש לעלות לשרת?
          ואיך אני מוצא את ההתקן שלי?
          אשמח לתשובה!!

          מ מנותק
          מ מנותק
          מנדי
          כתב נערך לאחרונה על ידי
          #21

          @אאA
          חכה קצת יש קובץ יותר מסודר עוד כמה דקות

          ליצור איתי קשר mendiforum@gmail.com

          א תגובה 1 תגובה אחרונה
          2
          • מ מנדי

            @אאA
            חכה קצת יש קובץ יותר מסודר עוד כמה דקות

            א מנותק
            א מנותק
            אאA
            כתב נערך לאחרונה על ידי
            #22

            @מנדי
            אני עדיין צריך להיכנס לאתר שהובא בהתחלה ולהגדיר את החיבור נכון?

            מ תגובה 1 תגובה אחרונה
            0
            • א אאA

              @מנדי
              אני עדיין צריך להיכנס לאתר שהובא בהתחלה ולהגדיר את החיבור נכון?

              מ מנותק
              מ מנותק
              מנדי
              כתב נערך לאחרונה על ידי
              #23

              @אאA כתב:

              אני עדיין צריך להיכנס לאתר שהובא בהתחלה ולהגדיר את החיבור נכון?

              איזה אתר, לא הבנתי?

              ליצור איתי קשר mendiforum@gmail.com

              א תגובה 1 תגובה אחרונה
              0
              • מ מנדי

                @אאA כתב:

                אני עדיין צריך להיכנס לאתר שהובא בהתחלה ולהגדיר את החיבור נכון?

                איזה אתר, לא הבנתי?

                א מנותק
                א מנותק
                אאA
                כתב נערך לאחרונה על ידי
                #24

                @מנדי
                סליחה.
                טעות שלי.
                התבלבלתי עם פוסט של מישהו אחר.

                תגובה 1 תגובה אחרונה
                0
                • א אאA

                  @מנדי
                  קצת הסתבכתי...
                  אלו 2 קבצים אותם יש לעלות לשרת?
                  ואיך אני מוצא את ההתקן שלי?
                  אשמח לתשובה!!

                  מ מנותק
                  מ מנותק
                  מנדי
                  כתב נערך לאחרונה על ידי מנדי
                  #25

                  @אאA כתב:

                  קצת הסתבכתי...
                  אלו 2 קבצים אותם יש לעלות לשרת?
                  ואיך אני מוצא את ההתקן שלי?
                  אשמח לתשובה!!

                  אתה לא צריך לעלות אותם לשרת, יש דרך יותר פשוטה ומסודרת,
                  אם יש לך HACS אתה יכול להוסיף את המאגר הזה למאגרים מותאמים אישית, ובכל אופן ניתן לעלות את התיקה ha_yemot לנתיב הזה config/custom_components/ha_yemot/
                  זה המאגר https://github.com/meni123/ha-yemot

                  ליצור איתי קשר mendiforum@gmail.com

                  א תגובה 1 תגובה אחרונה
                  0
                  • מ מנדי

                    @אאA כתב:

                    קצת הסתבכתי...
                    אלו 2 קבצים אותם יש לעלות לשרת?
                    ואיך אני מוצא את ההתקן שלי?
                    אשמח לתשובה!!

                    אתה לא צריך לעלות אותם לשרת, יש דרך יותר פשוטה ומסודרת,
                    אם יש לך HACS אתה יכול להוסיף את המאגר הזה למאגרים מותאמים אישית, ובכל אופן ניתן לעלות את התיקה ha_yemot לנתיב הזה config/custom_components/ha_yemot/
                    זה המאגר https://github.com/meni123/ha-yemot

                    א מנותק
                    א מנותק
                    אאA
                    כתב נערך לאחרונה על ידי
                    #26

                    @מנדי
                    יש סיכוי שאתה כותב לי הדרכה קצרה איך לעלות לאן שכתבת?!

                    מ תגובה 1 תגובה אחרונה
                    1
                    • א אאA

                      @מנדי
                      יש סיכוי שאתה כותב לי הדרכה קצרה איך לעלות לאן שכתבת?!

                      מ מנותק
                      מ מנותק
                      מנדי
                      כתב נערך לאחרונה על ידי
                      #27

                      @אאA כתב:

                      יש סיכוי שאתה כותב לי הדרכה קצרה איך לעלות לאן שכתבת?!

                      בל"נ בהמשך זה יקח קצת זמן

                      ליצור איתי קשר mendiforum@gmail.com

                      תגובה 1 תגובה אחרונה
                      1

                      שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                      בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                      הרשמה התחברות

                      • התחברות

                      • אין לך חשבון עדיין? הרשמה

                      • התחברו או הירשמו כדי לחפש.
                      • פוסט ראשון
                        פוסט אחרון
                      0
                      • חוקי הפורום
                      • פופולרי
                      • לא נפתר
                      • משתמשים
                      • חיפוש גוגל בפורום
                      • צור קשר