PRONTEDIT - חוסר תאימות סקריפט לאחר שדרוג

בית חכם, עוזרות חכמות, חשמל חכם, מערכות שליטה ובקרה, Amazon Echo, Alexa, Google home, Control4, RTI, מנעולים חכמים ועוד.
שלח תגובה
omrib פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 4
הצטרף: פברואר 2010
נתן תודות: 0
קיבל תודות: 0

שליחה #1 

שלום,
ברשותי PHILIPS PRONTO 9600.
עד כה השתמשתי בגרסה 2.1.18 בכדי לערוך את הסקריפט שלי (שליטה על MCE ועל מערכת בית חכם HAI OMNI).
היום שדרגתי לגרסה 2.4.18 וחלק מהמסכים שהיו נעלמו.
כאשר אני נכנס אל ה DEBUGGER (במצב סימולטור) אני רואה כי המסך קיים ברשימה אך הוא בצבע אפור.
מה המשמעות לכך שהוא נמצא בצבע אפור?
(אגב, אני נמצא ב ADVANCED MODE ולא ב NORMAL.

תודה מראש,
עמרי

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

שליחה #2 

הבעיה היא לא שהמסכים מופיעים באפור.
מסכים פעילים ב-DEBUGGER רק אם יש בהם פעילויות או פונקציות הכתובות ב-PRONTOSCRIPT וככאלה ניתן לשים בהן BREAKPOINTS.
מסכים הכוללים רק פעילויות ופונקציות "רגילות" מהתפריטים יופיעו באפור כלא פעילים כי ה-DEBUGGER אינו יכול לעצור בהם.

כשאתה אומר שהמסכים נעלמו למה אתה מתכוון נעלמו מאיפה? (Screen Capture של מסך ה-PC היה עוזר)

רן

omrib פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 4
הצטרף: פברואר 2010
נתן תודות: 0
קיבל תודות: 0

מצ"ב תצלום מסך

שליחה #3 

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

לגבי ה DEBUGGER, טוב לדעת...

בעקרון מה שאני עושה זה משתמש בפקודה
w = CF.widget("IssueOmniCmd", "OMNI_CMD_ISSUE", "HAI Controller");
אשר אמורה להריץ את IssueOmniCmd
ממסך OMNI_CMD_ISSUE
אשר נמצא בפעילות HAI Controller

העניין הוא שברשימת המסכים בצד שמאל אני לא רואה את "מסך" OMNI_CMD_ISSUE
(אמור להיות מסך ללא תוכן גרפי, אלא סקריפטים בלבד).
ייתכן והוא מוסתר ברשימה מכיוון שאין בו תוכן?
הפרוייקט המקורי נמצא בכתובת :
http://www.homeauto.com/Downloads/Produ ... Hebrew.xcf

תודה מראש,
עמרי

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

שליחה #4 

טענתי את קובץ ה-XCF שלך וקיים בו קובץ ("חלון") בשם "OmniCmdIssue" שה-Pronto Script Name שלו הוא "OMNI_CMD_ISSUE"

האם יכול להיות שאתה מתבלבל בין שם החלון ל-Pronto Script Name?

omrib פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 4
הצטרף: פברואר 2010
נתן תודות: 0
קיבל תודות: 0

תגובה

שליחה #5 

תודה,

אכן אני מתבלבל בין שם החלון לבין שם הסקריפט, אך יש לכך סיבה,
הרעיון הוא שאני מגדיר משתנה גלובאלי :

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

System.setGlobal("OmniIssueCmds", 
                 "(99, 0, 1)"+    // toggle unit 1
                 "(7,  0, 1)"     // execute Button 1
                 );
ואחריו פונה אל "החלון"

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

w = CF.widget("IssueOmniCmd", "OMNI_CMD_ISSUE",  "HAI Controller");
if (w) eval(w.label);
בשלב הזה השלט שולח פקודה לבקר..
מה שאני לא מצליח להבין זה איך הסקריפט OMNI_CMD_ISSUE שולח פקודה לבקר בזמן שהוא ריק?

בפועל זה עובד.. אך אני מנסה להבין באיזה שלב נשלחת הפקודה אל הבקר.

תודה מראש,
עמרי[/code]

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

שליחה #6 

הי עומרי,

הסקריפט OMNI_CMD_ISSUE אכן רחק אך לא הוא זה שמופעל.

הסקריפט שמופעל הוא IssueOmniCmd.

יכול להיות שפספת אותו מכיוון שהוא מוסתר על ידי הכותרת "Omni Command Issuer". תעיף אותה אחורה (קליק ימני ו-Send To Back) ואז תראה את הסקריפט של IssueOmniCmd.

omrib פותח השרשור
חבר שרק התחיל
חבר שרק התחיל
תגובות: 4
הצטרף: פברואר 2010
נתן תודות: 0
קיבל תודות: 0

תודה רבה.

שליחה #7 

עכשיו הכל ברור..
השלב של הסקריפט היה חסר לי...

אתה יודע במקרה האם יש דרך להריץ פונקציה* דרך סקריפט?

אני מתכוון לפונקציה של מכשיר (IR) ולא פונקציה בסקריפט.
כלומר, אני רוצה ליצור כפתור שברגע שאני לוחץ עליו הוא יריץ 2 שורות סקריפט ויפעיל את הטלוויזיה.
יש דרך לבצע זאת ישירות (באמצעות קוד) או שאני צריך להריץ את הסקריפט ואח"כ לקרוא לכפתור הפעלת הטלוויזיה מהסקריפט ?

תודה מראש,
עמרי

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

שליחה #8 

במילה אחת - לא :(

כל פונקציית IR שאתה רוצה להריץ צריכה להיות "מולבשת" על כפתור ואז מתוך הסקריפט תוכל לקרוא לה על ידי

CF.widget(...).executeActions

שלח תגובה

חזור אל “בית חכם ובקרה”