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

בית חכם, עוזרות חכמות, חשמל חכם, מערכות שליטה ובקרה, Amazon Echo, Alexa, Google home, Control4, RTI, מנעולים חכמים ועוד.
nangel
חבר פעיל מאוד
חבר פעיל מאוד
תגובות: 425
הצטרף: אוגוסט 2009

שליחה

הגדרתי את הברודלינק לפי המדריך (פומה, תבורך 1000 פעמים) ויכול ללמד את המכשיר ולשלוח פקודות מהווב.

למזגן שלי אין On/Off אלא מספר מצבים כך שהפעלה שלו דורשת שליחת מספר ה Mode.
הגדרתי item ורטואלי מסוג מספר
את שאר ההגדרות ניסיתי להשאיר כמה שיותר קרובות למדריך אבל מקבל בלוג בעיה ב rule

2019-01-24 08:11:05.007 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'demo.rules' has errors, therefore ignoring it: [18,5]: no viable alternative at input 'item'

קובץ items:

Number TherMode_Livingroom "מצב מזגן - סלון"



קובץ Rules:
rule "Send LivingRoom AC Commands"
when
item TherMode_Livingroom changed
then
val topic = "broadlink/ac/livingroom/0"
logInfo("Rule LR AC Press ", topic)
publish("mosquitto", topic, "play-770f78b3aed8")
end

מה הבעיה?

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

שליחה

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

ובכל מקרה חסך לך + אחרי ה-val topic = "broadlink/ac/livingroom/0" . כמו בדוגמה הזאת

val topic = "broadlink/tvswicher/selection/hdmi" + Tvswitcher.state

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

שליחה

@puma1
·הפקודות בברודלינק מוגדרות במספרים (1,2,3,4,0) לפי ה State ששולח ה ZXT120. לשם הפשטות הגדרתי ב Rule שבכל מקרה תשלח פקודה 0 (כיבוי) עם כל שינוי בפרמטר בגלל זה אין + בסוף הפקודה.

ב Sitemap מוגדר כמו ששמת במדריך Switch עם Selection ולפי הלוג הפרמטר נכנס ל Item. משום מה משהו בניסוח ה Rule לא עובד

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

שליחה

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

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

שליחה

@puma1
סליחה על חוסר הבהירות.
·אני מנסה להדליק ולכבות את המזגן דרך הברודלינק.
יצרתי לפי הדוגמא שלך בסייטמפ Switch עם Selections כדי לשלוח 4 פקודות (הפעלה, כיבוי, קירור, חימום) מהברודלינק למזגן. לפקודות קראתי 0, 1, 2, 3, 4 (פשוט כי הסטורית ככה זה נקרא במזגן אחר שנשלט על-ידי ZXT120 וחיפשתי אחידות).

יצרתי Item וירטואלי בשם TherMode_Livingroom מסוג מספר
כשאני לוחץ בממשק על ה selection רואים שהאייטם מקבל את הערך.

בקובץ ה Rule ניסיתי ללכת לפי הדוגמא המקורית שלך וליצור rule ששולח את הפקודה המתאימה דרך ברודלינק. כשזה לא עבד ניסיתי לוותר על המשתנה ושישלח תמיד את הפקודה 0.

משהו בניסוח ה rule לא תקין. ספציפית, בשורה של ה item TherMode_Livingroom changed

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

שליחה

אני עדיין לא מבין למה הוספת את השורה הזאת ?
logInfo("Rule LR AC Press ", topic)
פה נמצאת הבעיה שלך


2. תעתיק לפה את ה-SITEMAP שלך.

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

שליחה

puma1 כתב:לגבי השאלה שלך. נסה להגדיר את זה ככה

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

Switch Yamaha_up_down "Yamaha up down" {channel="yamahareceiver:zone:5f9ec1b3_ed59_1900_4530_00a0de95ca94:navigation_channels#navigation_updown", autoupdate="false" } 

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

  
Switch item=Yamaha_up_down mappings=[ON="למעלה", OFF="למטה"]
...
הנ"ל באמת הוסיף את הכפתור, אבל הוא לא משפיע על הרסיבר.
נסו למצוא תשובות לשאלות הקשורות לZ-Wave בשרשור הדביק שבראש הפורום
שתפו את הרעיונות שלכם בשרשור זה

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

שליחה

puma1 כתב:אני עדיין לא מבין למה הוספת את השורה הזאת ?
logInfo("Rule LR AC Press ", topic)
פה נמצאת הבעיה שלך


2. תעתיק לפה את ה-SITEMAP שלך.
...
·מצאתי את הטעות.
המילה אייטם צריך להיות Item עם I גדולה בקובץ ה Rules, אבל item עם i קטנה בקובץ ה Items.

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

שליחה

@cafri
·

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

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

שליחה

puma1 כתב:
*שימו לב. אם אתם מתכננים להתחבר מרחוק דרך השרת של openHAB cloud. כדי מאוד שתדאגו לעשות את החלק הבא.

כנסו בתפריט ההגדרות ל-Manual/Fresh Setup סמנו רק את Oracle Java 8 ולחצו Execut.

יש בתפריט ההגדרות עוד המון אפשרויות, כולל שינוי גירסה, עדכונים, וגם התקנה מחדש של openHABian או חלקים ממנה. אבל כרגע ניתן לצאת מזה.
...
אין אצלי אפשרות להתקנת Oracle Java 8.
אצלי מופיע
Install Zulu Embedded OpenJDK Java 8

איך מתקינים Oracle Java 8 בצורה ידנית?

(אני עובד כרגע עם PI)

עריכה:
למרות שהותקנה Zulu Java אני מצליח לגשת לUI מחוץ לבית.

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

[11:11:34] openhabian@openHABianPi:~$ java -version
openjdk version "1.8.0_152"
OpenJDK Runtime Environment (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build 1.8.0_152-b76)
OpenJDK Client VM (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build 25.152-b76, mixed mode, Evaluation)
[11:11:36] openhabian@openHABianPi:~$ java -version
openjdk version "1.8.0_152"
OpenJDK Runtime Environment (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build 1.8.0_152-b76)
OpenJDK Client VM (Zulu Embedded 8.25.0.76-linux-aarch32hf) (build 25.152-b76, mixed mode, Evaluation)
נסו למצוא תשובות לשאלות הקשורות לZ-Wave בשרשור הדביק שבראש הפורום
שתפו את הרעיונות שלכם בשרשור זה

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

שליחה

@cafri
·

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

למרות שמוזר שיש לך בתפריט לא של אורקל

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

שליחה

מנסה להגדיר את ה xiaomi smart home
לפי המדריך אבל אני לא רואה את הרכיבים ב inbox
מה אני מפספס?
באפליקציה של xiaomi מתחבר ל hub ושאר הרכבים

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

שליחה

@zovirax
·

תלחץ על הפלוס ואז תבחר שיאומי ותוסיף קודם את הגטואי ותגדיר אותו עם הקוד מפתחים

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

שליחה

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

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

שליחה

סבבה עובד

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

שליחה

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

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

שליחה

היי,
מה הלוגיקה שהשתמשתם על מנת ליצור מצב ״לילה״, מצב ״בחוץ״ ועוד מצבים?

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

items

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

String Mode "Mode"
Switch Mode_Night
Switch Mode_Away 
rules

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

rule "Modes"
when
 Item Mode changed 
then
 if( Mode.state == "0") {
 Mode_Night.sendCommand (ON)
 }
 if( Mode.state == "1") {
 Mode_Away.sendCommand (ON)
 }
end

rule "Night Mode"
when
 Item Mode_Night changed 
then
 if( Mode_Night.state == ON) {
 sendNotification("[email protected]", "Night mode is executed")
 //here will be all the thing i want to set in night mode
 Mode_Night.sendCommand (OFF)
 }
end

rule "Away Mode"
when
 Item Mode_Away changed 
then
 if( Mode_Away.state == ON) {
 sendNotification("[email protected]", "Away mode is executed")
 //here will be all the thing i want to set in night mode
 Mode_Away.sendCommand (OFF)
 }
end 
sitemap

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

Frame label="Mode"{
 Switch item=Mode mappings=[0="Night", 1="Away"]
נא להרשם/להכנס לחשבון בפורום על מנת לצפות בקבצים או בתמונות המצורפים לשרשור

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

שליחה

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

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

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

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

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

שליחה

@BarakMichaeli
·אני חושב שיש הסבר כאן המתייחס בדיוק לשאלה שלך: BasicUI momentary pushbutton to trigger something

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

שליחה

@cafri
·

מה ש-Catskinner המליץ. רציתי לכתוב גם מדריך לזה אבל כרגע אין לי זמן (אפילו לא סיימתי לעלות את המדריך שכבר כתבתי) לכן כרגע ניתן לעקוב אחרי המדריך בפורום של openhab. ש-Catskinner שם קישור שלו. זה גם במדריך שבו אני השמשתי כדי להתקין את התוספים האלה. ולהשתמש בגרפים.

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