Zweiter exec über CUxD wird nicht ausgeführt

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

Moderator: Co-Administratoren

Antworten
D-Brane42
Beiträge: 8
Registriert: 24.01.2018, 12:02

Zweiter exec über CUxD wird nicht ausgeführt

Beitrag von D-Brane42 » 10.01.2020, 21:50

Hallo,

ich wollte system.Exec durch die CUxD Version ersetzen. Mit folgendem Code schicke ich normalerweise Push-Nachrichten an zwei Handys:

Code: Alles auswählen

...
system.Exec("/bin/sh /etc/config/addons/mh/prowl.sh "# APIKey1 # " " # sendevent # " " # sendtext, &stdout, &stderr);
system.Exec("/bin/sh /etc/config/addons/mh/prowl.sh "# APIKey2 # " " # sendevent # " " # sendtext, &stdout, &stderr);
Den Code habe ich von http://kb.easy-smarthome.de/CloudMatic_ ... tteilungen

Wenn ich das nun ändere in

Code: Alles auswählen

...
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/sh /etc/config/addons/mh/prowl.sh "# APIKey1 # " " # sendevent # " " # sendtext, &stdout, &stderr);
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("/bin/sh /etc/config/addons/mh/prowl.sh "# APIKey2 # " " # sendevent # " " # sendtext, &stdout, &stderr);
dann kommt auf dem zweiten Handy keine Push-Nachricht an. Was muss ich anders machen?

Vielen Dank!

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 Mal

Re: Zweiter exec über CUxD wird nicht ausgeführt

Beitrag von alchy » 10.01.2020, 22:00

D-Brane42 hat geschrieben:
10.01.2020, 21:50
Was muss ich anders machen?
Wenn man Scripte von externen Webseiten verwendet, dann fragt man auf den Webseiten den Ersteller des Codes wenn es nicht funktioniert. :evil:
In meiner Signatur wäre dann noch CUxD ersetzt system.exec vorhanden.

Alchy

Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.

© Sandra Pulsfort (*1974)

Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.

D-Brane42
Beiträge: 8
Registriert: 24.01.2018, 12:02

Re: Zweiter exec über CUxD wird nicht ausgeführt

Beitrag von D-Brane42 » 10.01.2020, 23:07

Hallo,

bitte nur Antworten auf die Frage, also nochmal:

- Der erste Code, also mit system.Exec, also der von der externen Webseite funktioniert, von daher muss ich den Ersteller des Codes nichts fragen.
- Der zweite Code, also der mit CuXD funktioniert nicht. Auf dem ersten Handy kommt die Push-Mitteilung an, auf dem zweiten nicht, warum nicht?

Vielen Dank

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

Re: Zweiter exec über CUxD wird nicht ausgeführt

Beitrag von uwe111 » 11.01.2020, 13:18

D-Brane42 hat geschrieben:
10.01.2020, 23:07
Der zweite Code, also der mit CuXD funktioniert nicht. Auf dem ersten Handy kommt die Push-Mitteilung an, auf dem zweiten nicht, warum nicht?
Weil Du den von Alchy verlinkten Artikel nicht gelesen hast! Bei system.Exec() handelt es sich um eine integrierte Funktion. Bei CUxD-System.CMD_EXEC um den Datenpunkt eines virtuellen Gerätes. Dem Datenpunkt kannst Du im Gegensatz zur Funktion nur einen Wert übergeben. stdout und stderr musst Du da weglassen. Ins Syslog müsste m.E. beim Aufruf ein Fehler geschrieben werden.

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

D-Brane42
Beiträge: 8
Registriert: 24.01.2018, 12:02

Re: Zweiter exec über CUxD wird nicht ausgeführt

Beitrag von D-Brane42 » 11.01.2020, 21:15

Hallo,

wenn ich stdout und stderr weglasse, funktioniert alles, vielen Dank!


Viele Grüße

Ralph

Antworten

Zurück zu „CUxD“