Ankündigung

Einklappen
Keine Ankündigung bisher.

executeCommandLine und Leerzeichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    executeCommandLine und Leerzeichen

    Hallo,

    habe ein Problem mit Leerzeichen in meiner Commandline.

    die folgende Zeile funktioniert ja wegen des Leerzeichens nicht.

    Code:
    executeCommandLine("curl -s -F \"token=XXX\" -F \"user=XXX\" -F  \"message=Terasse offen\"  \"https://api.pushover.net/1/messages.json\"",10000)
    im Code bin ich nun auf den CMD_LINE_DELIMITER @@ gestossen. Nach meinem Verständniss sollte es damit funktioneren.

    Code:
    executeCommandLine("curl@@-s@@-F \"token=XXX\"@@-F \"user=XXX\"@@-F  \"message=Terasse  offen\"@@\"https://api.pushover.net/1/messages.json\"",10000)
    aus irgendeinem Grund geht es aber nicht. Habe schon das DEBUG Level eingeschaltet und gesehen das die ' @@' Zeichen weiter in der Commandline stehen. Sie werden anscheinend nicht ersetzt.

    Wollte erstmal hier fragen. Falls ich "den Wald vor lauter Bäumen" nicht sehe :-)

    Vielen Dank schonmal im Voraus!

    #2
    Hi,

    Zitat von holger75 Beitrag anzeigen
    Wollte erstmal hier fragen. Falls ich "den Wald vor lauter Bäumen" nicht sehe :-)
    hm, dass sollte eigentlich genau so funktionieren. Sobald der Delimiter '@@' gefunden wird, wird an diesen Stellen der Kommandozeile umgebrochen. Kannst Du mal ein paar Logzeilen mit Deinen Beobachtungen schicken?

    Gruß,

    Thomas E.-E.
    Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

    Kommentar


      #3
      Hallo,

      ich habe auch Probleme mit dem Ausführen von Befehlen aus Skripten mit dem aktuellen Snapshot - und auch mit dem Programm curl.

      Hier meine Rule:
      Code:
      rule "OpenWeatherMap"
      when
        Item T_Outside changed or
        Time cron "0 */5 * * * ?"
      then
        executeCommandLine("/usr/bin/curl -d 'temp="+T_Outside.state+"&lat=51&long=8' --user 'USER:PASS' http://openweathermap.org/data/post")
      end
      Anm.: Lat, Long, USER:PASS angepasst fürs Posting.

      Auf der Konsole steht:
      Code:
      06:00:07.783 INFO  runtime.busevents[:26] - T_Outside state updated to 9.48
      06:00:07.806 INFO  o.openhab.io.net.exec.ExecUtil[:66] - executed commandLine '/usr/bin/curl -d 'temp=9.48&lat=51&long=8' --user 'USER:PASS' http://openweathermap.org/data/post'
      Wenn ich die Ausgabe, die Openhab angeblich ausführt auf der Konsole manuell starte, funktioniert es. Aber irgendwie scheint sich OH daneben zu benehmen - oder ich mache was falsch

      Für Hilfe wäre ich dankbar

      EDIT:
      Im Debug-Modus kommt auch nicht mehr:
      Code:
      06:09:00.012 DEBUG o.o.m.r.i.e.ExecuteRuleJob[:53] - Executing scheduled rule 'OpenWeatherMap'
      06:09:00.226 INFO  o.openhab.io.net.exec.ExecUtil[:66] - executed commandLine '/usr/bin/curl -d 'temp=9.47&lat=51&long=8' --user 'USER:PASS' http://openweathermap.org/data/post'
      Grüße
      Sascha

      Kommentar

      Lädt...
      X