Ankündigung

Einklappen
Keine Ankündigung bisher.

"exec binding" wie übergibt man einen String richtig?

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

    "exec binding" wie übergibt man einen String richtig?

    Hallo,

    ich versuche gerade per Signal Nachrichten zu versenden.

    Ich habe dazu ein Exec-Binding erstellt, das in der Command Zeile folgendes stehen hat:

    Code:
    /opt/signal-cli-0.5.6/bin/signal-cli --dbus-system send -m %2$s +491xxxxxxx
    ITEM:
    Code:
    String Sende_Signal_TEST "Signal Test" { channel="exec:command:402f56fb:input", autoupdate="false" }
    SITEMAP:
    Code:
    Switch item=Sende_Signal_TEST mappings=[ "Test 3"="Nachricht 3", "Test 4"="Nachricht 4" ]
    An sich funktioniert das ganze, außer das ich keine Leerstellen übergeben kann.
    Ich bekomme nur ein "Test" im Signal Client angezeigt.

    Wenn ich das manuell machen möchte, sieht der Signal aufruf so aus:

    Code:
    /opt/signal-cli-0.5.6/bin/signal-cli --dbus-system send -m "Test 1" +491xxxxxxx
    Ich habe schon alles mögliche Versucht.

    1) /opt/signal-cli-0.5.6/bin/signal-cli --dbus-system send -m "%2$s" +491xxxxxxx
    Anzeige: "Test

    2) Switch item=Sende_Signal_TEST mappings=[ ""Test 3 ""="Nachricht 3", ' "Test 4" '="Nachricht 4" , "%"Test 5%""="Nachricht 5"]
    Anzeige in allen Fälle: "Test

    Idealerweise würde ich gerne auch die ZIEL-Rufnummer mit übergeben.

    Ursprünglich wollte ich das so realisieren:

    mappings=[ '"Test 3" +491xxxxx' ="Nachricht 3", '"Test 4" +491xxxx'="Nachricht 4" ]

    Vielleicht hat jemand eine Idee




    --
    Gruß
    Lothar

    #2
    Ich habe das jetzt so erfolgreich testen können:

    Item
    Code:
    Switch Signal_Schalter_exec "Exec: Signal Nachricht senden" <switch>
    Sitemap
    Code:
    Switch item=Signal_Schalter_exec
    Rule
    Code:
    rule "rule_Nachricht_über_Signal_versenden_exec"
    when
        Item Signal_Schalter_exec received command ON
    then
        logInfo("RuleExecutionLog", "home01.rules::rule_Nachricht_über_Signal_versenden_exec")
    
        executeCommandLine("/openHAB/scripts/signal.sh +49... Aktuelle Leistung ServerInfoACCurrNow_" + ServerInfoACCurrNow.state.toString() + "_W")
    end
    (Meine Zusatzzeile zum Ersetzen der Underscore tut hier auch seinen Dienst parallel ;-)

    Auf jeden Fall Syslog im Auge behalten, da hatte er mir zwischenzeitlich was von Permissions erzählt.

    2017-10-06 15_05_37-Signal.png
    Zuletzt geändert von FlyingEaglE; 06.10.2017, 14:06.

    Kommentar

    Lädt...
    X