Synthaxproblem osascript für Mac

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Antworten
Benutzeravatar
unlight
Beiträge: 484
Registriert: 23.12.2012, 13:03
Wohnort: Ruhrpott

Synthaxproblem osascript für Mac

Beitrag von unlight » 27.03.2013, 23:09

Nabend!

Habs chon im dropbear Unterforum probiert ob jemand einen Tipp hat, leider ohne Erfolg.

Mein Problem ist das ich zwar Apps über Cuxd und dropbear starten kann:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("sh -c 'export DROPBEAR_PASSWORD=passwortmac; /usr/local/addons/dropbear/dbclient benutzernamemac@netzwerknamemac/22 -y open /Users/benutzername/namedeinesprogramms.app '");
allerdings zB iTunes direkt anzusprechen haut nicht hin, ich denke dass die vielen Anführungszeichen nicht passen:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("sh -c 'export DROPBEAR_PASSWORD=passwortmac; /usr/local/addons/dropbear/dbclient benutzernamemac@netzwerknamemac/22 -y osascript -e 'tell application "iTunes" to start' '");
Der osascript Teil an sich funktioniert per ssh direkt; hat irgendjemand nen Vorschlag wie die korrekte Synthax aussähe?

Angenehme Nachtruhe,

Unlight
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Synthaxproblem osascript für Mac

Beitrag von Familienvater » 28.03.2013, 12:20

Moin,
unlight hat geschrieben:

Code: Alles auswählen

dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("sh -c 'export DROPBEAR_PASSWORD=passwortmac; /usr/local/addons/dropbear/dbclient benutzernamemac@netzwerknamemac/22 -y osascript -e 'tell application "iTunes" to start' '");
Ich würde es mal so probieren (Du musst die einfachen und doppelten Hochkomma innerhalb mit einem \ "escapen"):
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("sh -c 'export DROPBEAR_PASSWORD=passwortmac; /usr/local/addons/dropbear/dbclient benutzernamemac@netzwerknamemac/22 -y osascript -e \'tell application \"iTunes\" to start\' '");


Der Familienvater

Benutzeravatar
unlight
Beiträge: 484
Registriert: 23.12.2012, 13:03
Wohnort: Ruhrpott

Re: Synthaxproblem osascript für Mac

Beitrag von unlight » 28.03.2013, 19:43

Ich versteh es nicht! Sobald ich Anführungszeichen oder "escapete" Anführungszeichen in den letzten Teil packe gibts beim parsen einen Fehler.
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Synthaxproblem osascript für Mac

Beitrag von Familienvater » 28.03.2013, 20:23

Moin,

habe folgendes im Skript-Fenster ausprobiert:
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/bin/logger -t CL-2012.SPG -p local5.info 'TEST \'tell application \"iTunes\" to start\' '");

Und dann kommt die folgende Fehlermeldung im HomeMatik-Syslog: (EDIT 20:37, da hatte ich doch glatt die obere Fehler-Zeile unterschlagen)
Mar 28 20:18:30 ccu ReGaHss: Error: IseESP::SyntaxError= Error 1 at row 1 col 178 near ^/bin/logger -t CL-2012.SPG -p local5.info 'TEST \'tell application \"iTunes\" to^M [../Platform/DOM/iseESP.cpp (1067)]
Mar 28 20:18:30 ccu ReGaHss: Error: ParseProgram: SyntaxError= /bin/logger -t CL-2012.SPG -p local5.info 'TEST \'tell application \"iTunes\" to start\' '"); [../Platform/DOM/iseESP.cpp (348)]

OK ich habe das Problem jetzt verstanden, kenne aber keine Lösung dafür...

Vielleicht kann dazu Uwe was schreiben...

Der Familienvater

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: Syntaxproblem osascript für Mac

Beitrag von uwe111 » 28.03.2013, 22:14

Hallo,
Familienvater hat geschrieben:Vielleicht kann dazu Uwe was schreiben...
Naja... die Fehlermeldung kommt vom HM-Script. Da bin ich nicht so der Experte drin.

Ich würde als Workaround die Befehlszeile in ein Shell-Script packen und dann nur dieses Script aufrufen. Um das ganze variabler zu machen, könnte man dem Shell-Script ja auch Parameter übergeben.

Viele Grüße,

Uwe.
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Benutzeravatar
unlight
Beiträge: 484
Registriert: 23.12.2012, 13:03
Wohnort: Ruhrpott

Re: Synthaxproblem osascript für Mac

Beitrag von unlight » 28.03.2013, 22:28

Genau die Idee hatte ich auch. Bin grad dabei das umzusetzen, letzendlich kommts ja aufs gleiche raus; solange ich nur die Variablen übergeben bekomme.

Trotzdem Danke!
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Synthaxproblem osascript für Mac

Beitrag von anli » 29.03.2013, 00:21

Habe es gerade probiert. Eine funktionierende Lösung ist:

Code: Alles auswählen

var url = "/usr/bin/logger -t CL-2012.SPG -p local5.info 'TEST \'tell application \"iTunes\" to start\' '";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(url);
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Benutzeravatar
unlight
Beiträge: 484
Registriert: 23.12.2012, 13:03
Wohnort: Ruhrpott

Re: Synthaxproblem osascript für Mac

Beitrag von unlight » 29.03.2013, 07:36

Sehr schräg, das hatte ich mir gestern auch überlegt; habs aber nicht ausprobiert weil ich es zu abwegig fand einfach nur ne variable draus zu machen. Ist ja letztendlich genau der gleiche befehl.
Wollte es grade ausprobieren, dabei ist mir beim parsen 2x die CCU abgestürzt!

Ich probiers weiter mit dem Shell script.

Danke euch allen!
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”

Benutzeravatar
anli
Beiträge: 4326
Registriert: 10.06.2009, 14:01
Wohnort: 20 Min. nördlich von Hannover und bei Bremen
Hat sich bedankt: 1 Mal
Danksagung erhalten: 23 Mal
Kontaktdaten:

Re: Synthaxproblem osascript für Mac

Beitrag von anli » 29.03.2013, 12:47

unlight hat geschrieben:Wollte es grade ausprobieren, dabei ist mir beim parsen 2x die CCU abgestürzt!
Was heißt parsen? Der Button "Skript prüfen" im "Skript bearbeiten"-Dialog? Der arbeitet leider nicht zuverlässig, daher benutze ich den nie. Ich benutze nur den erweiterten Skript-Parser (siehe Signatur).
Herzliche Grüße, anli

Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.

Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)

Einsteiger-Hilfeerweiterter Skript-Parser

Benutzeravatar
unlight
Beiträge: 484
Registriert: 23.12.2012, 13:03
Wohnort: Ruhrpott

Re: Synthaxproblem osascript für Mac

Beitrag von unlight » 29.03.2013, 13:25

Ja , den meinte ich. Ist aber auch egal, ich hab mir mal ein Konzept für die Musiksteuerung gemacht, eigentlich ist es egal ob die appleskripte von der ccu aus gesendet werden oder auf dem mac liegen. Es dreht sich eh nur um 6-7 Programme die je nach Schaltzustand verschiedener Airports in unterschiedlichen Versionen vorliegen. Damit muss ich ja nicht auch noch die CCU zumüllen:)
“Sometimes I think the surest sign that intelligent life exists elsewhere in the universe is that none of it has tried to contact us.”

Antworten

Zurück zu „CUxD“