נפתר| 2 rules בOH3 לא עובדים

SIRI, CORTANA, ALEXA, ECHO, GOOGLE HOME, HOME PAD, שלטים חכמים, KEY PADS, אפליקציות
razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

נפתר| 2 rules בOH3 לא עובדים

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

אני צריך עזרה עם 2 מהrules לא עובדים, VS code לא מראה שגיאות ובכלל לא מראה שגיאות גם אם אני רושם בכוונה משהו לא תקין (הכוונה לקו האדום מתחת למילה)
בOH לא מראה שגיאות גם כן
הrules עבדו נהדר בOH2, רק עשיתי copy paste.
הrule הראשון זה מיקום דרך APP gps logger באנדרואיד, אני רואה במפה בOH שהטלפון זז אבל ITEM לא משתנה מON לOFF ונשאר תקוע על ON, בדקתי דרך Fake GPS ודרך זה הITEM כן משתנה לOFF כשאני בוחר מיקום מזוייף

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

val Number DistanceArrived = 150
val Number DistanceLeft = 150
val Number AccuracyThreshold = 200

/* sapir at home */
rule "sapir at home"
when
Item distanceHomesapir received update
then
	var Number distance = (distanceHomesapir.state as QuantityType<Number>).doubleValue
	var Number accuracy = (accuracysapir.state as QuantityType<Number>).doubleValue
	
if (accuracy < AccuracyThreshold) { // do only something if the accuracy is high enough
	if ((distance < DistanceArrived) && (sapirAtHome.state == OFF)) {
		sendCommand(sapirAtHome,ON)
	}
	else if ((sapirAtHome.state == ON) && (distance > DistanceLeft)) {
		sendCommand(sapirAtHome,OFF)

	}
}
end
הrule השני הוא שינוי של המנורה בחדר ממד שבין 7 בערב ל5 בבוקר אם המתג של המנורה משתנה לON אז בהירות והצבע שלה ישתנו ל70 אחוז,
ובשעות אחרות ישתנו ל100 אחוז

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

rule "now.getHourOfDay() >19 && now.getHourOfDay() <5"
when
    Item SecurityRoomLight_Switch changed to ON
then

 if   
        (now.getHourOfDay() > 19  &&  now.getHourOfDay() < 5)
          {
       SecurityRoomLightBulb_LightTemperature.sendCommand(70)
       SecurityRoomLightBulb_Brightness.sendCommand(70)
        }



else
{
    SecurityRoomLightBulb_LightTemperature.sendCommand(100)
   SecurityRoomLightBulb_Brightness.sendCommand(100)
}

end
נערך לאחרונה על ידי razserv2010 ב 18/05/2021 11:45, נערך פעם 1 בסך הכל.

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 11:17  
razserv2010 כתב:
הrule השני הוא שינוי של המנורה בחדר ממד שבין 7 בערב ל5 בבוקר אם המתג של המנורה משתנה לON אז בהירות והצבע שלה ישתנו ל70 אחוז,
ובשעות אחרות ישתנו ל100 אחוז
...
הי חבר,
לגבי החוק הראשון, לא זיהיתי משהו לא תקין בקוד.
כדי לבדוק איפה הכשל הייתי מציע לך להוסיף כמה שורות logInfo כדי לאתר את הבעיה.

כמה הצעות:
להוסיף שורה כזאת כשורה ראשונה לפני הכל:

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

logInfo(filename, "Distance Changed To: " + distanceHomesapir.state)
וזה יעזור לך להבין שבכלל הגיע עדכון ל- item וגם לראות מה הוא ולראות שהוא תקין.
אם תראה את הלוג הזה זה אומר שה- binding עובד, מגיע עדכון ולפי הערך תוכל לנסות להבין שהוא תקין.

אחרי זה הייתי מוסיף שורה כזאת לאחר חישוב ה- accuracy.

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

logInfo(filename, "Accuracy is: " + accuracy)
וזה יאפשר לך להבין שיש ערך תקין ב- item הזה ולהבין שהוא אכן אמור לגרום לחוק שלך לרוץ (כלומר קטן מהערך שרצית)

ובסוף הייתי מוסיף שורה בכל אחד מה- if-ים כדי שתוכל לוודא שמה שאמור לרוץ אכן רץ.

אם תראה משהו מוזר בלוג עדכן..

לגבי החוק השני,
הם שינו הרבה דברים שקשורים לחישוב זמנים ועכשיו הם משתמשים ב- JavaTime (לעומת JODA Time ב- OH2).
לדעתי כל מה שאתה צריך לשנות זה להחליף את getHourOfDay() ל- getHour()

תעדכן אם הסתדר...

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 16:24  
chenta כתב:
16/05/2021 11:17  
razserv2010 כתב:
הrule השני הוא שינוי של המנורה בחדר ממד שבין 7 בערב ל5 בבוקר אם המתג של המנורה משתנה לON אז בהירות והצבע שלה ישתנו ל70 אחוז,
ובשעות אחרות ישתנו ל100 אחוז
...
לגבי החוק השני,
הם שינו הרבה דברים שקשורים לחישוב זמנים ועכשיו הם משתמשים ב- JavaTime (לעומת JODA Time ב- OH2).
לדעתי כל מה שאתה צריך לשנות זה להחליף את getHourOfDay() ל- getHour()

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

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

2021-05-16 18:10:39.959 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'testbutton' received command ON
2021-05-16 18:10:39.964 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'testbutton' changed from OFF to ON
2021-05-16 18:10:40.092 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'SecurityRoomLightBulb_LightTemperature' received command 100
2021-05-16 18:10:40.093 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'SecurityRoomLightBulb_LightTemperature' predicted to become 100
2021-05-16 18:10:40.096 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'SecurityRoomLightBulb_Brightness' received command 100
2021-05-16 18:10:40.098 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'SecurityRoomLightBulb_Brightness' predicted to become 100

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

נראה שהכל תקין.
כלומר, נראה שזה עושה מה שרצית שזה יעשה, לא?
טמפרטורת הצבע והבהירות השתנו ל- 100.

חסר משהו?

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 18:15  
chenta כתב:
נראה שהכל תקין.
כלומר, נראה שזה עושה מה שרצית שזה יעשה, לא?
טמפרטורת הצבע והבהירות השתנו ל- 100.

חסר משהו?
...
הורדתי את הבהירות ל70 ואת השעה ל18 בשביל לבדוק אם זה עובד אבל זה לא עובד
ניסיתי לבדוק אולי יותר מדי פרמטרים מפריעים אז שינתי לזה: אבל גם לא עובד

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

rule "test"
when
   Item testbutton changed to ON
then

if   
        (now.getHour() > 18  ||  now.getHour() < 5)
          {
       SecurityRoomLightBulb_Brightness.sendCommand(70)
        }

end

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

כרגע התנאי שלך לא אמור לפעול...
now.getHour יחזיר לך 18.
אז הוא לא גדול מ- 18 ולא קטן מ- 5.
או שתשנה ל- 17 רק כדי לבדוק, או שתוסיף = להשוואה ל- 18.

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 18:25  
chenta כתב:
כרגע התנאי שלך לא אמור לפעול...
now.getHour יחזיר לך 18.
אז הוא לא גדול מ- 18 ולא קטן מ- 5.
או שתשנה ל- 17 רק כדי לבדוק, או שתוסיף = להשוואה ל- 18.
...
אתה תותח!!
הוספתי = ל18

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

@razserv2010
בכיף!
עובד תקין עכשיו?
מה עם החוק של המיקום? מצאת מה לא עובד שם?

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 21:49  
chenta כתב:
@razserv2010
בכיף!
עובד תקין עכשיו?
מה עם החוק של המיקום? מצאת מה לא עובד שם?
...
לא היה לי זמן לשבת על זה, אני יחזור הביתה ואני יכניס את הערכים שהצעת, יצא לסיבוב ויעדכן

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

בהצלחה 😊

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 21:56  
chenta כתב:
בהצלחה 😊
...
הbindibg עובד כי אני מסתכל בitems של הbinding והם משתנים לפי המיקום, אז את השני להוסיף ככה?
Screenshot_20210516-221137_VNC Viewer.jpg
נא להרשם/להכנס לחשבון בפורום על מנת לצפות בקבצים או בתמונות המצורפים לשרשור

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

לא, שורה אחת למטה כי אתה צריך קודם ליצוק את המשתנה הזה ואז להציג אותו.
ולגבי השורה הראשונה, מבחינתי זה good practice כדי לוודא שבכלל החוק מופעל.

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

@chenta
אני מקבל את השגיאה הזאת אבל זה המיקום של השורה שהוספתי

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

 Script execution of rule with UID 'raz_phone-1' failed: The name 'filename' cannot be resolved to an item or type; line 12, column 10, length 8 in raz_phone

chenta
חבר פעיל מאוד
חבר פעיל מאוד
הודעות: 183
הצטרף: ינואר 2011
נתן תודות: 22 פעמים
קיבל תודות: 29 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

אויש... טעות שלי... זה מה שקורה כשאני עושה העתק והדבק בלי להסתכל... :?

במקום filename תרשום סתם מחרוזת משלך מוקפת במרכאות.
למשל "presence"
זה סתם כדי להגיד לאיזה לוגר אתה מתכוון... אם יצרת לוגרים אישיים אז מכאן אתה מפנה אליהם.
ואם לא, כל ערך שתשים פה יפנה את זה ל openhab.log הרגיל.

razserv2010 (פותח השרשור)
חבר פעיל במיוחד
חבר פעיל במיוחד
הודעות: 806
הצטרף: אוקטובר 2013
נתן תודות: 114 פעמים
קיבל תודות: 66 פעמים

Re: עזרה| 2 rules בOH3 לא עובדים

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

16/05/2021 23:50  
chenta כתב:
אויש... טעות שלי... זה מה שקורה כשאני עושה העתק והדבק בלי להסתכל... :?

במקום filename תרשום סתם מחרוזת משלך מוקפת במרכאות.
למשל "presence"
זה סתם כדי להגיד לאיזה לוגר אתה מתכוון... אם יצרת לוגרים אישיים אז מכאן אתה מפנה אליהם.
ואם לא, כל ערך שתשים פה יפנה את זה ל openhab.log הרגיל.
...
בלוג:

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

[INFO ] [g.openhab.core.model.script.presence] - Accuracy is: 1.0
והITEM distanceHomeraz מראה 8840km

הוספתי לthing גם מה שהצעת וזאת התוצאה:

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

 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'razphone.things' has errors, therefore ignoring it: [1,1]: no viable alternative at input 'logInfo'
[1,48]: no viable alternative at input 'distanceHomeraz'
[1,64]: no viable alternative at input 'state'

שלח תגובה

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