Hallo,
ich bastel gerade an einem einfachen SMS-Gateway mit Openhab und Gammu. Die Logik ist: Variable mit Nummer und Nachricht => Rule => Bash-Script
Mein Problem liegt jetzt darin, dass Nachrichten mit Leerzeichen nicht richtig übergeben werden. Wenn ich den Befehl aber genauso in der Bash ausführe, funktioniert alles entsprechend.
Die Rule
Das Bash-Skript:
Wenn ich jetzt das Item update (openhab> smarthome:update TelNr_Msg "0171XXXXXXX;Test Test"), dann wird das Script zwar wie gewünscht ausgeführt und die richtigen Variablen übergeben, ankommen tut aber nur 'Test.
Openhab-Log:
Gammu-Log:
Wie gesagt, in der Bash funktioniert alles: sudo -u openhab /etc/openhab2/scripts/sms-gateway.sh 0171XXXXXXX 'Test Test' >/dev/null. Die Nachricht geht auch entsprechend raus. Gammu-Log:
Ich habe schon versucht, die Single-Quotes mit \ zu escapen, aber das funktioniert genauso wenig.
Jemand eine Idee?
Viele Grüße
ich bastel gerade an einem einfachen SMS-Gateway mit Openhab und Gammu. Die Logik ist: Variable mit Nummer und Nachricht => Rule => Bash-Script
Mein Problem liegt jetzt darin, dass Nachrichten mit Leerzeichen nicht richtig übergeben werden. Wenn ich den Befehl aber genauso in der Bash ausführe, funktioniert alles entsprechend.
Die Rule
Code:
rule "SMS-Gateway" when Item TelNr_Msg received update then val TelNr = TelNr_Msg.state.toString.split(';').get(0) val Msg = TelNr_Msg.state.toString.split(';').get(1) logInfo("SMS-Gateway", "TelNr: "+TelNr+" | Msg: "+Msg) executeCommandLine("/etc/openhab2/scripts/sms-gateway.sh " + TelNr + " '" + Msg + "' >/dev/null") end
Code:
#!/bin/bash ### Variablen # $1 = Telefonnummer # $2 = Text echo -e "$2" | gammu-smsd-inject TEXT $1
Openhab-Log:
Code:
2019-07-18 18:50:12.414 [INFO ] [e.smarthome.model.script.SMS-Gateway] - TelNr: 0171XXXXXXX | Msg: Test Test 2019-07-18 18:50:12.416 [INFO ] [lipse.smarthome.io.net.exec.ExecUtil] - executed commandLine '/etc/openhab2/scripts/sms-gateway.sh 0171XXXXXXX 'Test Test' >/dev/null'
Code:
Thu 2019/07/18 18:58:23 gammu-smsd[29005]: Found 1 sms to "0171XXXXXXX" with text "'Test" cod 1 lgt 5 udh: t 1 l 0 dlr: -1 fls: -1
Code:
Thu 2019/07/18 19:01:57 gammu-smsd[29005]: Found 1 sms to "0171XXXXXXX" with text "Test Test" cod 1 lgt 9 udh: t 1 l 0 dlr: -1 fls: -1
Jemand eine Idee?
Viele Grüße
Kommentar