Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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