HomeMatic CCU2 bei ELV bestellen

CuxD.Exec tut nichts

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

Werbung


CuxD.Exec tut nichts

Beitragvon Gawan » 09.01.2017, 17:46

Hallo,

ich habe gerade CuxD neu installiert und versuche jetzt wieder ein paar Skripte zum Laufen zu bringen.
Das CuxD Gerät erscheint korrekt in der Geräte-Liste, mehr hab ich vorerst nicht gemacht.

Eine meiner Skripte davon ruft mir einen Webservice auf und legt dort ein paar Daten ab.

Code: Alles auswählen
string    url       = "http://10.0.0.19:80/api/values";
string    postVars    = "param=Garagentor_Offen&user=10.0.0.21&value=1&p1=Homematic&p2=LAN&p3=HM&p4=x&p5=x";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -d '" # postVars # "' " # url);


Ich mache das ganze mit CUxD.CMD_EXEC.
Leider scheint das plötzlich nicht mehr zu funktionieren. Ich bekomme zwar beim Testen des Skripts keine Fehlermeldung, es wird aber scheinbar nie ausgeführt, d.h. es kommen keine Daten an.

Habe ich irgendwas beim CuxD Setup vergessen das die ganze Sache "einschaltet" ?

Edit 1:
Ich hab jetzt ein wenig herumprobiert und folgende Fehlermeldung im Log gefunden:

Code: Alles auswählen
Jan  9 18:12:42 homematic-raspi daemon.warn cuxd[324]: setValue 'CUX2801001:1.CMD_EXEC=LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -d 'param=Power_WZ' http://10.0.0.19:80/api/values' not found!



Edit 2:
Ich hab im Filesystem entdeckt, dass CURL in einem anderen Unterordner liegt und den Pfad angepasst:

Code: Alles auswählen
Jan  9 18:38:43 homematic-raspi daemon.warn cuxd[324]: setValue 'CUX2801001:1.CMD_EXEC=LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/extra/curl -s -d 'param=Power_WZ' http://10.0.0.19:80/api/values' not found!


Trotzdem noch diese Fehlermeldung


lG
Gawan
Zuletzt geändert von alchy am 10.01.2017, 18:27, insgesamt 1-mal geändert.
Grund: Code in Codetags posten :-(
Gawan
 
Beiträge: 314
Registriert: 11.12.2014, 23:40

Re: CuxD.Exec tut nichts

Beitragvon grissli1 » 09.01.2017, 19:36

Und du hast auch alles richtig installiert? Also mit den 2 Reboots?

Viele Grüße
Chris
System: LXCCU auf RPi2 mit Funkmodul und ReverseProxy, Creator, Mediola Gateway v2 und Harmony Hub
Testing: NEO Creator, NEO Server
grissli1
 
Beiträge: 1975
Registriert: 22.06.2012, 16:46
Wohnort: Tirol/Austria

Re: CuxD.Exec tut nichts

Beitragvon uwe111 » 11.01.2017, 15:54

grissli1 hat geschrieben:Also mit den 2 Reboots?

Müsste er eigentlich, denn sonst wäre da keine Meldung im Syslog.

Gawan hat geschrieben:Trotzdem noch diese Fehlermeldung

Funktioniert die Befehlszeile, wenn Du Dich direkt auf der CCU per Putty anmeldest und sie aufrufst?

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 1.8a, RFD-Monitor, Vellemann K8055, SSH KeyDir
211 Kanäle in 118 Geräten und 101 CUxD-Kanäle in 47 CUxD-Geräten:
Benutzeravatar
uwe111
 
Beiträge: 2957
Registriert: 26.02.2011, 22:22

Re: CuxD.Exec tut nichts

Beitragvon alchy » 12.01.2017, 11:37

Probier mal:
Code: Alles auswählen
string url = "http://10.0.0.19:80/api/values";
string postVars = "param=Garagentor_Offen&user=10.0.0.21&value=1&p1=Homematic&p2=LAN&p3=HM&p4=x&p5=x";
dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k "#url #" -d "#postVars);


oder

Code: Alles auswählen
string url = "'http://10.0.0.19:80/api/values'";
string postVars = "'param=Garagentor_Offen&user=10.0.0.21&value=1&p1=Homematic&p2=LAN&p3=HM&p4=x&p5=x'";
dom.GetObject("CUxD.CUX2801001:2.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k "#url #" -d "#postVars);


oder eine Kombination aus beiden.

Alchy

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


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

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 4577
Registriert: 24.02.2011, 01:34

Re: CuxD.Exec tut nichts

Beitragvon alchy » 12.01.2017, 13:13

Als da wären z.B.

Code: Alles auswählen
string url = "'http://10.0.0.19:80/api/values'";
string postVars = "param='Garagentor_Offen'&user='10.0.0.21'&value='1'&p1='Homematic'&p2='LAN'&p3='HM&p4=x'&p5='x'";
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:2.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k "#url #" -d "#postVars);


Und dabei ist mir noch etwas aufgefallen.
Sicher das das &p3=HM&p4=x&p5=x so da hin muss?

Am besten ist es aber immer noch den Curlbefehl auf der Kommandozeile auszuführen und die Rückgabe zu posten.
Oder aber noch viel besser das Script so abändern, das du gleich eine Rückgabe erhältst.

[EDIT]

Und das wäre dann ungefähr so mit meinem Favoritenversuch: :mrgreen:

Code: Alles auswählen
string url = "http://10.0.0.19:80/api/values";
string postVars = "param='Garagentor_Offen'&user='10.0.0.21'&value='1'&p1='Homematic'&p2='LAN'&p3='HM&p4'&p5='x'";
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_SETS").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k "#url #" -d "#postVars);
dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string srueck = dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_RETS").State();
WriteLine(srueck);


[/EDIT]

nun bist du dran. :mrgreen:

Alchy
Zuletzt geändert von alchy am 12.01.2017, 13:22, insgesamt 1-mal geändert.
Grund: EDIT

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


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

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 4577
Registriert: 24.02.2011, 01:34

Re: CuxD.Exec tut nichts

Beitragvon Gawan » 15.01.2017, 17:37

Hallo,

sodala, ich hab da jetzt LANG herumprobiert und letzten Endes die CCU zurückgeschickt und eine neue bekommen.
Damit hat es nach den 2-3x Reset nach der CuxD-Installation auf Anhieb beklappt. :D

Folgenden Code führe ich aus:

Code: Alles auswählen
var power = dom.GetObject("BidCos-RF.LEQ0966880:2.POWER").Value();
WriteLine(power);

string    url       = "http://10.0.0.19:80/api/values";
string    postVars    = "param=Power_Buero&user=10.0.0.21&value="#power#"&p1=Homematic&p2=LAN&p3=HM&p4=x&p5=x";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -d '" # postVars # "' " # url);



Ist es irgendwie möglich die Aktivitäten von CuxD kontrolliert (mit von mir definierten Werten) im Log mitzuprotokollieren ?
Mir gehen viele Aktionen ab die ich mit einem zeitgesteuerten Programm ausführen lasse und ich weiß nicht ob CuxD oder der Scheduler schuld ist.

lG
Gawan
Gawan
 
Beiträge: 314
Registriert: 11.12.2014, 23:40

Re: CuxD.Exec tut nichts

Beitragvon uwe111 » 16.01.2017, 14:47

Gawan hat geschrieben:Ist es irgendwie möglich die Aktivitäten von CuxD kontrolliert (mit von mir definierten Werten) im Log mitzuprotokollieren ?

Du kannst die Protokollierung für jedes Gerät auf der CCU (auch die CUxD-Geräte) kontrolliert unter den Geräteeinstellungen aktivieren/deaktivieren.

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 1.8a, RFD-Monitor, Vellemann K8055, SSH KeyDir
211 Kanäle in 118 Geräten und 101 CUxD-Kanäle in 47 CUxD-Geräten:
Benutzeravatar
uwe111
 
Beiträge: 2957
Registriert: 26.02.2011, 22:22

Re: CuxD.Exec tut nichts

Beitragvon alchy » 16.01.2017, 23:39

uwe111 hat geschrieben:Du kannst die Protokollierung für jedes Gerät auf der CCU (auch die CUxD-Geräte) kontrolliert unter den Geräteeinstellungen aktivieren/deaktivieren.


Das war zu einfach. :mrgreen:

Alchy

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


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

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 4577
Registriert: 24.02.2011, 01:34


Zurück zu CUxD

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.