@razserv2010
בקטנה... הבנתי...
אם ככה יכול להיות שיש פה בעיה כלשהיא.
הפקודות שרשמתי יגרמו ל- OH להריץ את הפקודה על המכונה שעליה היא מותקנת. כלומר על מחשב ה- Win10.
האם אתה מסוגל להריץ את הפקודה הזאת ב- CMD של מחשב ה- Win10?
אני מניח שלא כי curl למיטב היכרותי היא פקודה של linux.
ואם הפקודה הזאת מיועדת להרצה על ה- RPi, אז אין סיבה שהיא תעבוד כמו שהיא מתוך Win10.
האם הבנתי נכון את המצב?
אם כן יש שני רעיונות שעלו לי בשלב זה:
1. לראות האם יש פקודה שעושה את מה שאתה צריך שאפשר להריץ אותה ישירות ממחשב ה- Win10 בממשק CMD. אם כן, היא זו שצריכה להיכנס לתוך executeCommandLine
2. לנסות להבין איך להריץ מתוך windows סקריפט או פקודה שנמצאים ב- RPi. מחיפוש קצר עלה לי ה thread הבא:
https://community.openhab.org/t/windows ... -rpi/81622
לכאורה מישהו מנסה לעשות בדיוק את מה שאתה מנסה. עוד לא קראתי הכל כדי להבין האם ואיך נפתר.
כן נראה שיש דרך מתוך ה- CMD להריץ פקודת SSH ישירות ואולי בשיטה זו לגורם לסקריפט שתכין מראש ב- RPi שיכיל את הפקודה שאתה רוצה.
סתם כי סיקרנת אותי אני אמשיך לקרוא על זה. אעדכן אם יש אמצא משהו מועיל.
ותעדכן אם הצלחת ואיך...
צריך עזרה בלהוסיף פקודה curl לrule OH
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
תודה אני אבדוק שם את התרד ונפל לי האסימון שאם curl מותקן בlinux אז הוא גם אמור להיות מותקן בwindows אז התקנתי אותו אבל אני לא מצליח להפעיל את הפקודה דרך cmd
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
הי יש לי פיתרון שאתה יכול לנסות.
הרעיון הוא דרך putty (בהנחה שמותקן) להריץ ב- RPi סקריפט שנמצא על מחשב ה- windows.
כנראה שאפשר לעשות עם תוכנות אחרות של SSH אבל זה מה שיש לי וגם מצאתי באינטרנט את הדוגמא.
נניח שעל מחשב ה- Win10 יש את הקובץ הבא:
השורה הראשונה חשובה (למיטב הבנתי), השורה השניה היא הערה- תחליף במה שאתה רוצה או תמחק, בשורה השלישית רשמתי סתם פקודה שתרוץ ושאני אוכל לוודא שהיא בוצעה. לצורך העניין במקום שורה זו תשים את פקודת ה- curl על שלל הפרמטרים כמו שהם (בלי כל השטויות של מרכאות ופסיקים שרשמתי קודם).
הקובץ צריך להיות שמור עם סיומת sh (שוב, למיטב הבנתי).
ואז הפקודה שאתה צריך להריץ ב- CMD על מחשב ה- Win היא:
שים לב להחליף את <user> בשם המשתמש (בלי מרכאות) שאיתו אתה עושה login ל- Pi, לשים את ה- IP הנכון של ה- Pi ואת הסיסמא (להשאיר את המרכאות), וכמובן לשנות את ה- path הנכון לקובץ.
הניסוי הזה שביצעתי הצליח...
מקווה שעוזר.
הרעיון הוא דרך putty (בהנחה שמותקן) להריץ ב- RPi סקריפט שנמצא על מחשב ה- windows.
כנראה שאפשר לעשות עם תוכנות אחרות של SSH אבל זה מה שיש לי וגם מצאתי באינטרנט את הדוגמא.
נניח שעל מחשב ה- Win10 יש את הקובץ הבא:
קוד: בחירת הכל
#!/bin/bash
# This script should creat a direcory named test
mkdir /etc/openhab/test
הקובץ צריך להיות שמור עם סיומת sh (שוב, למיטב הבנתי).
ואז הפקודה שאתה צריך להריץ ב- CMD על מחשב ה- Win היא:
קוד: בחירת הכל
putty.exe -ssh <user>@192.168.XXX.XXX -pw "password" -m "C:\Users\chenta\startservice.sh"
הניסוי הזה שביצעתי הצליח...
מקווה שעוזר.
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
@chentaתודה
הצלחתי להפעיל את הפקודה בcmd, מסתבר ש windows לא מסתדר עם ' אחד וצריך לשים "
הנה הפקודה: אבל לא הצלחתי לממש את זה בopenhab
הצלחתי להפעיל את הפקודה בcmd, מסתבר ש windows לא מסתדר עם ' אחד וצריך לשים "
הנה הפקודה: אבל לא הצלחתי לממש את זה בopenhab
קוד: בחירת הכל
curl -d "{\"id\": \"clear\", \"action\": \"activate\"}" -H 'Content-Type: application/json' -X PUT http://192.168.0.111:8888/api/scenes
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
@chenta
קוד: בחירת הכל
executeCommandLine("curl -d "{\"id\": \"clear\", \"action\": \"activate\"}" -H 'Content-Type: application/json' -X PUT http://192.168.0.111:8888/api/scenes")
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
נא להרשם/להכנס לחשבון בפורום על מנת לצפות בקבצים או בתמונות המצורפים לשרשור
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
@razserv2010
חסרים לך פסיקים שם...
תנסה את הפקודה הבאה כמו שהיא בדיוק:
פשוט Copy ו- Paste כמו שזה.
תגיד מה התוצאה...
חסרים לך פסיקים שם...
תנסה את הפקודה הבאה כמו שהיא בדיוק:
קוד: בחירת הכל
executeCommandLine(Duration.ofSeconds(15),"curl","-d","{\"id\":\"clear\",\"action\":\"activate\"}","-H","'Content-Type:application/json'","-X","PUT","http://192.168.0.111:8888/api/scenes")
תגיד מה התוצאה...
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
נא להרשם/להכנס לחשבון בפורום על מנת לצפות בקבצים או בתמונות המצורפים לשרשור
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
טוב ה syntax ששלחתי לך הוא של הגרסה החדשה... ונראה שהוא לא מתאים לגרסה שלך. לא זכרתי מתי התחלף ה syntax...
אנסה אחרי ארגון הילדים לשלוח לך גרסה אחרת...
אנסה אחרי ארגון הילדים לשלוח לך גרסה אחרת...
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
@razserv2010
לא הספקתי אתמול...
קודם כל סליחה על ההטעיה עם ה- syntax, טעיתי בגרסה.
בגרסה הזו executrCommandLine מקבלת רק שני ארגומנטים- הראשון זה string אחד ארוך של הפקודה, השני זה int של ה- timeout.
ב- string הארוך צריך להחליף רווחים ב- @@.
אז הפקודה שלך צריכה להיראות כך:
מקווה שהפעם זה יעבוד...
לא הספקתי אתמול...
קודם כל סליחה על ההטעיה עם ה- syntax, טעיתי בגרסה.
בגרסה הזו executrCommandLine מקבלת רק שני ארגומנטים- הראשון זה string אחד ארוך של הפקודה, השני זה int של ה- timeout.
ב- string הארוך צריך להחליף רווחים ב- @@.
אז הפקודה שלך צריכה להיראות כך:
קוד: בחירת הכל
executeCommandLine("curl@@-d@@{\"id\":\"clear\",\"action\":\"activate\"}@@-H@@'Content-Type:application/json'@@-X@@PUT@@http://192.168.0.111:8888/api/scenes",5000)
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
@razserv2010
יתכן שאתה צודק.
אין לי ניסיון עם OH על Win.
ממה שקראתי ואיך שנאי מבין את המערכת, נשמע לי הגיוני שאם זה עובד בצורה תקינה דרך CMD זה ירוץ גם ככה אבל אולי יש עוד משהו שצריך לדאוג לו ב- Win. (הרשאות? משהו אחר...)
אם עוד לא ניסית, תנסה אולי את הדרך הזאת:
יתכן שאתה צודק.
אין לי ניסיון עם OH על Win.
ממה שקראתי ואיך שנאי מבין את המערכת, נשמע לי הגיוני שאם זה עובד בצורה תקינה דרך CMD זה ירוץ גם ככה אבל אולי יש עוד משהו שצריך לדאוג לו ב- Win. (הרשאות? משהו אחר...)
אם עוד לא ניסית, תנסה אולי את הדרך הזאת:
יש עוד סיכוי שהיא תעבוד..05/05/2021 16:41chenta כתב: ↑ הי יש לי פיתרון שאתה יכול לנסות.
הרעיון הוא דרך putty (בהנחה שמותקן) להריץ ב- RPi סקריפט שנמצא על מחשב ה- windows.
כנראה שאפשר לעשות עם תוכנות אחרות של SSH אבל זה מה שיש לי וגם מצאתי באינטרנט את הדוגמא....
- razserv2010 (פותח השרשור)
-
- חבר פעיל במיוחד
- הודעות: 806
- הצטרף: אוקטובר 2013
- נתן תודות: 114 פעמים
- קיבל תודות: 66 פעמים
Re: צריך עזרה בלהוסיף פקודה curl לrule OH
@chentaכבר הצלחתי להפעיל את הפקודה כשהיא בתוך קובץ script, אבל רציתי לנסות לשים את הפקודה ישירות ולא דרך script.
תודה לך על העזרה
תודה לך על העזרה