NEWS
Test Adapter Signal-cli-rest-api-client
-
@issr4k
Ich habe mir dazu ganz einfach eine globale Funktion gebaut:function sendSignalMessage(aMessage, aNumber) { sendTo("signalclirestapiclient.0", "send", { "text": aMessage, "numbers": [aNumber] }); }
-
@codierknecht das funktioniert ja leider nur wenn der Adapter läuft…
-
@issr4k
Bei mir laufen sowohl ioB als auch signal-cli als Container unter Synology DSM.
Eingestellt wie folgt:
-
@codierknecht Ok, das hilft mir nicht wirklich weiter.
Ich danke dir trotzdem!! -
@issr4k
Theoretisch müsste man sich doch eine JS-Funktion bauen können, die die Parameter entgegennimmt und dann per exec >= curl xxx den Request absetzt. -
@Issr4k
So sollte das auch ohne Adapter funktionierenfunction sendWithSignal(message, recipients) { var sendParams = { url: 'http://192.168.178.5:8086/v2/send', headers: {'Content-Type': 'application/json'}, body: '{"message": "' + message + '", "number": "+4915*****", "recipients": [ ' + recipients + ' ]}' }; request.post(sendParams, function(error, response, body) { if (error) { log(error); } else { log('Nachricht versendet!'); } }); }
Quick & Dirty - ohne große Fehlerbehandlung oder sonstige Features.
-
@codierknecht Geil! Probiere ich aus sobald ich zuhause bin! :))
Aktuell scheitert es wohl daran, dass ich signal-cli nicht im json-rpc Mode nutze.
Steht im Adapter ja auch eindeutig drin...Zum Nummer registrieren benötigt man aber native oder normal.
ich bekomme jetzt schlicht den Wechsel von native auf json-rpc über Kommandozeile nicht hin bzw. habe Angst wenn ich einfach
sudo docker run -d --name signal-api --restart=always -p 8080:8080 \ -v $HOME/.local/share/signal-cli:/home/.local/share/signal-cli \ -e 'MODE=json-rpc' bbernhard/signal-cli-rest-api
ausführe mein Container hinüber ist.
-
@issr4k
Bei mir stelle ich das über die Umgebungsvariablen des Containers ein.
1x Neustart und funzt. -
@codierknecht Mit der grafischen Oberfläche kann ich leider nicht dienen.
Wie gesagt docker läuft bei mir auf einem PI. Und generell kenne ich mich mit Docker nicht aus.
Hatte mal auf github mit bbernhard Kontakt und ggf muss ich mit nano ja einfach nur ein file anpassen... Werde berichten.Zuerst probiere ich auf jedenfall dein Script aus
Und dann kommt die KürDanke!!!
-
@codierknecht ... positives Feedback!
Das Script funzt, hat mich aber ein wenig Nerven gekostet weil die " bei recipients gefehlt haben. Daher ließen sich die Parameter bei aufrufen der Funktion nicht übergeben bzw. es kam keine Nachricht an.So siehts jetzt aus und das reicht völlig
Im übrigen geht das extrem fix. Nachdem der Trigger kommt dauert es keine 3 Sekunden und die Nachricht ist da
Daher auch keine Notwendigkeit für json-rpc
Schicke hier eine Nachricht mit dem aktuellen Messwert am Hausübergabepunkt
schedule("* * * * *", async function () { // Beispieltrigger sendWithSignal(getState('modbus.1.holdingRegisters.23316_power').val +"W" , "group.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>="); }); function sendWithSignal(message, recipients) { var sendParams = { url: 'http://192.168.128.15:8086/v2/send', headers: {'Content-Type': 'application/json'}, body: '{"message": "' + message + '", "number": "+4917*****", "recipients": [ "' + recipients + '" ]}' }; request.post(sendParams, function(error, response, body) { if (error) { log(error); } else { log('Nachricht versendet!'); } }); }
Nochmal vielen Dank!!!