בית חכם מבוסס על openHAB המדריך השלם (מתעדכן)

בית חכם, עוזרות חכמות, חשמל חכם, מערכות שליטה ובקרה, Amazon Echo, Alexa, Google home, Control4, RTI, מנעולים חכמים ועוד.
zovirax
סמל אישי של משתמש
חבר במועדון ה-15K
חבר במועדון ה-15K
תגובות: 15950
הצטרף: פברואר 2006
שם מלא: zovirax

שליחה

שאלה על rules

אני מעוניין כשהמערכת עולה item מסויים יקבל ערך דיפולטיבי
לדוגמא - המזגן אני מעוניין שיקבל Mode וטמפרטורה

מצאתי בפורומים דרך לעשות , אבל לא עובד לי,
אשמח לעזרה
[left]
rule "Init"
when
System started
then

createTimer(now.plusSeconds(180)) [|
if (AC_Mode.state == NULL) AC_Mode.postUpdate(hot)
AC_Temp.postUpdate(24)

]
end
[/left]

puma1 פותח השרשור
חבר ותיק
חבר ותיק
תגובות: 1574
הצטרף: פברואר 2012

שליחה

@zovirax
·
כשאתה שומר את הקובץ של החוקים את אמור לראות אם יש שגיאה בקוד. הסברתי את זה במדריך. תנסה את זה ככה. ותראה אם יש שגיאה שאתה שומר את הקוד

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

rule "Init" 
when 
System started 
then 

createTimer(now.plusSeconds(180)) [| 
if (AC_Mode.state == NULL){ 
AC_Mode.postUpdate(hot)  
AC_Temp.postUpdate(24) 
} 
] 
end 

zovirax
סמל אישי של משתמש
חבר במועדון ה-15K
חבר במועדון ה-15K
תגובות: 15950
הצטרף: פברואר 2006
שם מלא: zovirax

שליחה

@puma1
אין שגיאה.
למה ... אתה רואה משהו לא נכון בקוד?

Catskinner
סמל אישי של משתמש
חבר במועדון HT
חבר במועדון HT
תגובות: 16019
הצטרף: נובמבר 2006
מיקום: הוד השרון

שליחה

@zovirax
·אני לא בטוח שבמקרה זה ערך ה NULL קביל. מה עוד שאם לא הגדרת persistence אז רוב הסיכויים שהערך שלו כשהמערכת תעלה יהיה UNDEF. בקצרצר, הנסיון שלי הוא לא לקבל כמובן מאיליו מהם הערכים שאיתם המערכת עולה.

למה שלא תנסה:

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


if (AC_Mode.state !=hot)

 
במקום?

ahiel
חבר ותיק
חבר ותיק
תגובות: 1308
הצטרף: פברואר 2016

שליחה

@zovirax
·אתה יכול לעשות סתם rule שיגדיר את הערכים שאתה רוצה והוא יעבוד?
לדוג׳ תרשום rule:

rule "Init"
when
System started
then
AC_Mode.postUpdate(hot)
AC_Temp.postUpdate(24)

end

כשתשמור את הקובץ הrule צריך לרוץ ולעדכן את הערכים.
האם הערכים עודכנו והתוצאה היא כפי שאתה רוצה?

zovirax
סמל אישי של משתמש
חבר במועדון ה-15K
חבר במועדון ה-15K
תגובות: 15950
הצטרף: פברואר 2006
שם מלא: zovirax

שליחה

Catskinner כתב:@zovirax
·אני לא בטוח שבמקרה זה ערך ה NULL קביל. מה עוד שאם לא הגדרת persistence אז רוב הסיכויים שהערך שלו כשהמערכת תעלה יהיה UNDEF. בקצרצר, הנסיון שלי הוא לא לקבל כמובן מאיליו מהם הערכים שאיתם המערכת עולה.

למה שלא תנסה:



if (AC_Mode.state !=hot)



במקום?
...
אהבתי את הרעיון

אבל למה הוא לא אוהב את hot
יש לי error על השורה


Caused by: org.eclipse.smarthome.model.script.engine.ScriptExecutionException: The name 'hot' cannot be resolved to an item or type; line 12, column 28, length 3

·

Catskinner
סמל אישי של משתמש
חבר במועדון HT
חבר במועדון HT
תגובות: 16019
הצטרף: נובמבר 2006
מיקום: הוד השרון

שליחה

@zovirax
·יש לך במקרה Transform בדרך? כי אני מתחיל לחשוד שהערך של ה state הוא מספרי.

אתה יכול לבדוק את זה בבדיקת ה log של ה events כשהמערכת עולה ולראות מהו הערך המדווח ע"י ה AC_Mode ולאיזה ערך זה משתנה כאשר אתה משנה את המצב של המזגן.

zovirax
סמל אישי של משתמש
חבר במועדון ה-15K
חבר במועדון ה-15K
תגובות: 15950
הצטרף: פברואר 2006
שם מלא: zovirax

שליחה

היה כמה טעויות

הייתי צריך גרשיים השוואה של סטרינג
if (AC_Mode.state !="hot")

עכשיו עובד טוב

ahiel
חבר ותיק
חבר ותיק
תגובות: 1308
הצטרף: פברואר 2016

שליחה

@zovirax
·בשביל שזה יעבוד בטוח תמיד עדיף לעשות:

if (!"hot".equals(AC_Mode.state))

yaya77
חבר פעיל
חבר פעיל
תגובות: 54
הצטרף: פברואר 2016

Re: הגדרת xiaomi gateway

שליחה

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

לגבי ה Gateway של שיאומי, קראתי את השרשור הארוך המצורף, וכנראה שמדובר בתופעה מוכרת.
ממליצים שם לעשות עדכון גרסה רק אחרי שנכנסים למצב מפתחים ולא לפני, אחרת נחסם port 9898.
השגתי Gateway חדש ופעלתי לפי ההמלצה הזו, ולשמחתי ה OpenHAB מצא את הגטווי.
(כדאי אולי להוסיף במדריך הערה על כך)

https://community.openhab.org/t/solved- ... /52963/152

מה שכן, כשנכנסתי ל Thing של חיישן הדלת או הגטווי ציפיתי לראות את ה Channels עם עיגולים מלאים, אך הם היו כולם ריקים. ולמעשה יכולתי להוסיף את ה Items רק דרך הקובצים. לא מבין למה.

puma1 פותח השרשור
חבר ותיק
חבר ותיק
תגובות: 1574
הצטרף: פברואר 2012

Re: הגדרת xiaomi gateway

שליחה

@yaya77
·

אמרת שגם בתוסף של הרשת לא יוצא לך כלום.לכן אמרתי שיכול להיות שיש לך חסימה. התוסף רשת לא תלוי בכלום. ולכן אין סיבה שלא ימצא רכיבים ברשת

לגבי השיאומי. אני עשיתי עדכון לפני שבכלל היה לי openhab ולא פתחתי את אופציית המפתח באפליקציה. אבך אני אעבור על הדיון ואוסיף את זה במידת הצורך. מה גם שאם זה נכון אז כל גטואי שיגיע מעודכן לא יעבוד . נשמע לי לא הגיוני. היות ואופציית המפתח עדיין קיימת. לכן אולי פשוט הפורט השתנה

Dor1
חבר שרק התחיל
חבר שרק התחיל
תגובות: 11
הצטרף: דצמבר 2018

שליחה

שלום,

2 עניינים שאני מנסה לפתור אך ללא הצלחה ואשמח לעזרתכם,

1. בניסיון לחבר את מתג הבוילר מסוג switcheat, מסתבר שמדובר במתג של חברת tuya ובקישור הבא יש הסבר איך להוסיף ל openhab:

https://community.openhab.org/t/step-by ... entk/59371

הסתבכתי בחלק של "Next, install the Tuya-MQTT-Client....." בו יש קישור ל GitHub וצריך להתקין את tuya-mqtt ,
לפי ההוראות המופיעות בדף ב GitHub , הורדתי את הקובץ כ ZIP, את הקבצים העתקתי לתיקיה בשם tuyaapi_mqtt תחת הכתובת \openHAB-conf\scripts ואז ניסיתי להתקין ,
בשורה האחרונה :

npm install //downloads codetheweb/tuyapi
...
קיבלתי שגיאות , צירפתי תמונה, אין לי מושג למה


בנוסף, ראיתי במקום אחר כלשהו, אזכור ל node ול- npmjs , על מה מדובר והאם וכיצד להתקין אותם?


2. אשמח לדעת כיצד ניתן להפעיל מתג תאורה של broadlink מסוג tc2 ?
המתג פעיל ונשלט באמצעות האפליקציה של broadlink, ועל מכשירים אחרים כגון טלוויזיה ומזגן אני כבר יכול לשלוט באמצעות openhab .


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

thechorba
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 226
הצטרף: ספטמבר 2013

שליחה

משום מה אני לא מצליח לגשת ל openhabian דרך windows.
דרך המחשב שלי, מיקומי רשת- אני רואה את ה"מחשב" openhabianpi
אבל כשאני לוחץ עליו אני מקבל הודעת שגיאה.

האם פספסתי איזה שלב בשיתוף?

*נמצאה התקלה- קשור לווינדוס 10
להלן לינק לפתרון שעזר לי:
https://tech.nicolonsky.ch/windows-10-1 ... st-access/

thechorba
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 226
הצטרף: ספטמבר 2013

שליחה

עברתי על כל שלבי ההגדרות הראשוניות.
עד שיגיע ה Z WAVE סטיק אני רוצה להתנסות עם OH באמצעות שליטה על הרמוני ואלקסה.
התקנתי את ה bindings של שני המכשירים וזה נראה תקין- אני יכול לשלוט עליהם דרך ה CONTROL.

לפי הבנתי אני אמור עכשיו להגדיר ITEM עבור שני המכשירים ולאחר מכן את ה SITEMAP, לצערי מכאן התחלתי טיפה להסתבך.

בשביל הניסיון, ברצוני להתקין רק DEVICE אחד שמוגדר לי בהרמוני( טלויזית סמסונג) וגם שתהיה לי אפשרות נורמלית לשלוט על זה מהאפליקציה.
זה מה שרשמתי ב home.items

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

{"switch samsung_tv"טלויזית סמסונג" [ "Switchable" ]} harmonyhub:device:HarmonyHub:30982315:buttonPress
האם זה נכון?

אחרי זה בשביל הלימוד אשמח לדעת מה לרשום ב home.sitemap
רק בשביל לכבות ולהדליק את הטלויזיה.

בשלב זה אני רואה באפליקציה של OH את כל המכשירים והפעילות של הרמוני.
אבל אין שום כפתור שאפשר ללחוץ אשר מאפשר שליטה.
מה שאני רואה כרגע זה:
נא להרשם/להכנס לחשבון בפורום על מנת לצפות בקבצים או בתמונות המצורפים לשרשור

cafri
חבר ותיק
חבר ותיק
תגובות: 1137
הצטרף: נובמבר 2009

שליחה

Catskinner כתב:@cafri
·אני משתמש ב InfluxDB משתי סיבות:

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

2. כי זה משתלב נפלא עם Grafana שממנו אני מייצר גראפים להצגה בממשק ה Basic UI. יש הסבר ודיון בנושא בפורום של OH כאן: InfluxDB+Grafana persistence and graphing

אני לא משתמש בטכניקה שהוסברה בהודעה הראשונה להצגת הגראפים כתמונות סטאטיות. אני מציג אותם כגראפים דינמיים באמצעות Webview .
...
·
התקנתי את InfluxDB ואת Grafana.
הצלחתי גם להיכנס לממשק של Grafana באמצעות גלישה לשרת בפורט 3000.

בנוסף הגדרתי בקובץ influxdb.persist מספר ITEMS עם

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

strategy = everyChange, restoreOnStartup
לאחר-מכן ביצעתי כיבוי מסודר של הopenhab:

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

sudo openhab-cli stop
sudo poweroff
לאחר הדלקה מחדש,לאף אחד מהפריטים שהגדרתי לא שוחזר הערך - כולם נשארו לא מוגדרים.

האם הנ"ל כתוצאה מהגדרות לא נכונות?


עריכה: הבעיה נפתרה.
הגורם לבעיה: לא הגדרתי שרות ברירת מחדל לpersistence.
נסו למצוא תשובות לשאלות הקשורות לZ-Wave בשרשור הדביק שבראש הפורום
שתפו את הרעיונות שלכם בשרשור זה

Catskinner
סמל אישי של משתמש
חבר במועדון HT
חבר במועדון HT
תגובות: 16019
הצטרף: נובמבר 2006
מיקום: הוד השרון

שליחה

@cafri
·בקריאת ההודעה חשבתי שאתה שכחת לציין מהו שרות ה persistence אבל אני רואה שעלית על זה בעצמך.

סתם כהערה כללית, אני די פראנואיד בנוגע לגישה מרחוק לרשת ולשימוש בשירותי ענן. אז בשירותי ענן אני כמעט שלא משתמש, מלבד ב Netatmo אבל אני בכל זאת צריך את myopenhab ורוצה להתחבר ל grafana מרחוק בשביל האפליקציה הסלולרית.

בעיה, כי אני רוצה לפתוח פורטים בראוטר בדיוק כמו שאני רוצה להתיישב על נעץ ואני מריץ את OH על W10 כך שלהפעיל reverse proxy עם NGINX אולי אפשרי, אבל רוב ההסברים מיועדים למי שמריץ openhabian וגם שם אני רואה בדיונים שזה לא תמיד כזה פשוט.

הפתרון שלי הוא כהרגלו, לא שגרתי, עקום ומתוסבך, אבל עובד נהדר: אני עושה https tunneling באמצעות שילוב של noIP DDNS ו ngrok. למי שמתעניין זה עובד גם אם משתמשים ב webhook כפי ש netatmo עושה, פשוט מגדירים tunnel נוסף ונפרד.

BarakMichaeli
סמל אישי של משתמש
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 333
הצטרף: אוגוסט 2012

שליחה

מה הדרך לבצע המתנה?
אני רוצה לממש חוק שברגע שמשהו משתנה אז הוא סופר זמן מסויים ורק לאחר מכן בודק תנאי נוסף ואז מפעיל משהו
מה הדרך הנכונה לממש את ההמתנה הזאת?

Catskinner
סמל אישי של משתמש
חבר במועדון HT
חבר במועדון HT
תגובות: 16019
הצטרף: נובמבר 2006
מיקום: הוד השרון

שליחה

@BarakMichaeli
·רעיון אפשר: סוויץ וירטואלי שמופעל עליו expire binding . הוא מופעל ברגע ש"משהו משתנה" ואתה מנטר את המעבר שלו מ ON ל OFF עבור ההפעלה השניה שלך.

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

BarakMichaeli
סמל אישי של משתמש
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 333
הצטרף: אוגוסט 2012

שליחה

@Catskinner
·
תודה,
אני כרגע מבצע זיהוי כניסה ויציאה מהבית ע״ IFTTT, לרוב זה עובד מצויין, לפעמים יש בעיה בענן של openHAB ואז המידע לא עובר
אני רוצה הוסיף גם זיהוי דרך פינגים הבעיה שלפעמים האייפון מפסיק להגיב לפינגים וחוזר אחרי דקה (בדקתי לאורך כמה ימים ע״י שליחה של התראה כאשר מתחבר וכאשר מתנתק)
ברגע שיש זיהוי שאין פינגים אני רוצה שיופעל טיימר של דקה -שתיים ואז יבדק עניין הפינגים שוב אם אין עדיין פינגים הוא ישלח פקודה שיצאתי וא יש פינגים הוא יתעלם

nangel
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 425
הצטרף: אוגוסט 2009

"פתאום" ה OH התחיל לדבר

שליחה

הגדרתי אתמול Voice באמצעות VoiceRSS + גוגל הום מיני כדי להשתמש בפקודה say.
הוספתי את הפקודה ככה שלפני 2 rules ספציפיים המערכת אומרת שהיא מפעילה את ה rule. עובד.

פתאום שמתי לב שכשאני פותח את הדלת נשמע מהרמקול "Door is open". יש כמובן חיישן של שיאומי על הדלת אבל לא הגדרתי לשום דבר לדבר כשהדלת נפתחת :?.

ממש קריפי. איך מכבים את הדבר הזה?

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