Suche eine alternative für IPScommand

Hi IPS Command funktioniert nicht mehr bei mir seit IPS 3.0.

Bekomme immer eine komische Fehlermeldung.

Gibt es eine Alternative wie ich per Dos Befehl ein Script in IPS starten kann ?

Na, dann gabs ja wenigstens was zu lachen :stuck_out_tongue:

Hast sie auch gelesen, versucht zu verstehen, und den beschriebenen Fehler abzustellen? Falls das nicht klappt könntest du sie hier im Forum veröffendlichen und Andere fragen was sie bedeutet und was man dagegen tun kann. Meisstens gibt es gleich 3 oder 4 Lösungsvorschläge aus der Community von denen mindestens auch einer funktioniert.

Wenn das alles nichts hilft, und auch erst dann, kannst du mit dem Entwickler (entweder paresy oder mir) kontakt aufnehmen. In dem Fall musst du dann haarklein ausführen was deine letzten Schritte waren bevor der Fehler das erste mal aufgetreten ist, wann exakt die Meldung auftritt, ob sie das regelmäßig tut und vor Allem den genauen Wortlaut damit wir versuchen können ihn nachzustellen und ggf. beheben.

Da du [u]hier[/u] nichts davon versucht hast nehme ich mal an du wolltest uns nur mitteilen, das du schon an dem Problem arbeitest. Leute die zukünfigt mal das Gleiche haben werden sich über deine Lösung freuen.

Ich kann dir auch ne Alternative anbieten falls du nicht weiter kommst.

Für jede Aktion, die du über die Kommandozeile anstoßen willst legst du ein PHP-Script auf den Webserver. Also nicht zu deinen IPS-Scripts in den Scripts-Ordner sondern in das einstellbare DocumentRoot des Servers. Ich empfehle dafür eine zusätzliche Instanz des Webservers anzulegen damit du dir nicht versehendlich das Webfront zerschießt. Natürlich braucht dieser dann einen anderen Port.

Mit dem Tool WGet für Windows kannst du dann folgende exemplarische Zeile von der Konsole tippen:

c:\Programme\WGet\wget.exe "http://192.168.2.100:85/DrAppleCLI/WohnzimmerLichtAn.php"

Mit entsprechendem PHP Know-How kannst du auch mit HTTP-GET Variablen übergeben, in deinem Script parsen und an IPS durchreichen. Natürlich musst du Sonderzeichen URL-Encoden. So wird aus einem kleinen ä zum Beispiel %C3%A4. Damit solltest du keine Probleme bei der Übertragung bekommen. Ein funktionierendes Beispiel findest du wenn du die Forensuche bemühst. So hab ichs auch gemacht bevor ich mir das IPSCommand ausgedacht hab, dass im Übrigen immer noch hervorragend mit der v3.0 funktioniert.

Gruß,

Toni

Hallo Toni,
die Fehlermeldung bekomme ich seit dem Update auf 3.0 auch, jedoch wird das zugeordnete Skript korrekt ausgeführt.
Die Fehlermeldung kommt bei mir nicht immer und die Zeichenkette ist bei jedem Skript unterschiedlich.
Hier mal ein Screenshot einer Meldung:
Fehlermeldung IPS-Command.jpg

Hast Du eine Idee was ich falsch mache? Aufgerufen wird das Ganze durch einen Link auf dem Desktop.

Gruß
Thorsten

Danke Thorsten für die sachlichen Informationen. Damit lässt sich schon was anfangen.

Ich hatte noch eine sehr frühe 3.0, die tadellos funktioniert hat, und hab grad mal ein Update auf die aktuelle #2978 gefahren. Dort machen das manche Scripte tatsächlich auch. Beim Testen hab ich, nach dem ich wusste wonach ich suchen muss, herausgefunden, dass das genau die Skripte sind, die eine Debugausgabe machen. Mit Anderen Worten: Steht etwas nach der Ausführung unter dem Script, kommt die Meldung. Steht da nichts kommt sie nicht.

Es handelt sich dabei um den Text, der sonst in der Scriptausgabe erscheinen würde Base64 encodiert. Wenn ihr ihn hier eingebt (Strg-C, Strg-V) könnt ihr ihn wieder lesbar machen. Ich denke paresy wird das fixen. Bis dahin könnt ihr mal alle echos und Prints aus den betreffenden Scripten nehmen.

Gruß,

Toni

Hi Danke für deine Hilfe.

Hier meine Fehlermeldung:

Toni du schreibst:

Beim Testen hab ich, nach dem ich wusste wonach ich suchen muss, herausgefunden, dass das genau die Skripte sind, die eine Debugausgabe machen. Mit Anderen Worten: Steht etwas nach der Ausführung unter dem Script, kommt die Meldung. Steht da nichts kommt sie nicht.

Also dachte ich mir, das es einfach so löse:

ich starte mit ipscommand ein script was nix anderes macht als ein anderes Script zu starten, und siehe da es funktioniert :wink:

Noch genau erklärt:

ich lege in IPS ein Script an:


<?
ips_runscript(42218 );
?>

42218 ist das Script was eine Fehlermeldung bringt, wenn ich es direkt mit ipscommand starten will.

Mit ipscommand starte ich nun das eben erstellte Script und es gibt keine Fehlermeldung mehr !

Link zum Bug-Tracker: http://www.ip-symcon.de/forum/tracker.php#IPSD-34

Toni

Ich hab mal im Tracker geantwortet. Meiner Recherche nach war das verhalten schon immer so. Vielleicht ein „Problem“ das einfach nur mal wieder nach einem Update aufgefallen ist?

paresy

Asche auf mein Haupt… Hab deine Zeit verschwendet weil ich ja mein eigenes „SOAP SDK“ hab. Das IPSCommand ist schon so alt, dass ich noch das offizielle 2.04 SDK verwendet hab und da war mir irrtümlich sofort klar, dass da von dir ne Exception ausgelöst worden sein muss. Unsinn.

In meiner Readme von 2009 steht sogar drin, dass man das mittels Parameter unterdrücken kann. :rolleyes:

Hab eine Version mit dekodierter Meldung auf meiner Homepage. Der Rest ist gleich.

Toni