NEWS
Test Adapter Signal-cli-rest-api-client
-
@carstendergroße
Heute Abend mal ein bisschen Arbeit reingesteckt, um das zum Fliegen zu bringen.
Hier meine Erfahrungen:- Es hat 'ne Weile gedauert, bis ich das Mounting unter Docker auf der Synology hinbekommen habe. War aber wohl eher mein eigenes Unvermögen (das lokale Verzeichnis muss als
/home/.local/share/signal-cli/
gemountet werden. Der abschließende Slash darf nicht vergessen werden! - Nicht unwichtiger Hinweis: Der Container muss zunächst im Modus "normal" gestartet werden. Nur so kommt man an den QR-Code, da ansonsten das Verzeichnis "data" nicht angelegt wird und der Container dann nicht gestartet werden kann. Wenn das alles einmal eingerichtet ist, kann man den Container wieder stoppen und im Modus "json-rfc" neu starten.
- Für mich der schwerwiegenste Nachteil: Nachrichten werden (logischwerweise) mit meiner eigenen Nummer versendet. An mich dann als "Nachricht an mich" und an andere (Familie) natürlich unter meinem Namen. Nur wenige dürften die Möglichkeit haben und bereit sein, dass mit einer separaten SIM-Karte für den ioB einzurichten. Man möchte ja schließlich Nachrichten auch als solche vom ioBroker identifizieren können.
- Das Versenden von Nachrichten z.B. aus Blockly ist wenig intuitiv. So funktioniert's aber:
Technisch funktioniert das Ganze dann aber problemlos
- Es hat 'ne Weile gedauert, bis ich das Mounting unter Docker auf der Synology hinbekommen habe. War aber wohl eher mein eigenes Unvermögen (das lokale Verzeichnis muss als
-
Ist denn überhaupt vorgesehen, dass es mit einer eigenständigen Sim / Nummer laufen soll?
-
@issr4k sagte in Test Adapter Signal-cli-rest-api-client:
Ist denn überhaupt vorgesehen, dass es mit einer eigenständigen Sim / Nummer laufen soll?
Das mag dann jeder für sich selbst entscheiden.
-
@codierknecht
Ich glaube ein Missverständnis...Bietet die Software, die du getestet hast, die Funktion eine eigenständige Nummer zu verwenden?
-
@issr4k sagte in Test Adapter Signal-cli-rest-api-client:
@codierknecht
Ich glaube ein Missverständnis...Bietet die Software, die du getestet hast, die Funktion eine eigenständige Nummer zu verwenden?
Natürlich. Sonst wäre das für mich eigentlich unbrauchbar. Ich will ja, dass sich der ioBroker mit 'ner eigenen Nummer meldet.
-
@codierknecht said in Test Adapter Signal-cli-rest-api-client:
Natürlich. Sonst wäre das für mich eigentlich unbrauchbar. Ich will ja, dass sich der ioBroker mit 'ner eigenen Nummer meldet.
Ah ok, dann habe ich dich anfangs falsch verstanden.
Es wäre auch meine Vorstellung ioBroker mit eigener Nummer zu nutzenEdit: Was meinst du dann genau hiermit?
@codierknecht said in Test Adapter Signal-cli-rest-api-client:- Für mich der schwerwiegenste Nachteil:
-
@issr4k sagte in Test Adapter Signal-cli-rest-api-client:
Was meinst du dann genau hiermit?
@codierknecht said in Test Adapter Signal-cli-rest-api-client:
Für mich der schwerwiegenste Nachteil:
Das muss ich mittlerweile relativieren:
Prinzipiell hat hier erstmal der CallMeBot die Nase vorn, da er ja mit seiner Nummer sendet und damit leicht als ioBroker identifiziert werden kann.
Ich hatte aber noch eine SIM-Karte "übrig" und auch noch ein Reservehandy, um das soweit einzurichten.
Aber das kann oder will halt nicht jeder. -
@codierknecht
Ok verstehe
Ich bin auch bereit irgendein Prepaid oder günstigen Vertrag abzuschließen um eine eigenständige Nummer für ioBroker zu habenIch versuche mich die nächsten Tage ebenfalls mal daran.
Habe zwar noch nie Docker benutzt, aber habe noch einen Raspi, wo ich das installieren kannKomme dann bestimmt nochmal auf dich zurück, falls es Probleme gibt
Danke! -
@issr4k
Wenn Du eine Raspi hast, brauchst Du ja kein Docker. -
@codierknecht
Nicht?Was dann?
Diese CallmetBot Geschichte?
Da hängt dann ja leider wieder eine dritte Partei drin… -
@issr4k
Im Detail bin ich da leider überfragt, aber ich bin mir fast sicher dass das auch ohne geht.
Vielleicht springt hier ja mal einer der Spezialisten ein. -
@codierknecht Hast du hier nochmal weitergearbeitet?
Habe das mittlerweile auch endlich, mal vorsichtig ausgedruckt "am Laufen"...
leider steht die Verbindung zu ioBroker noch nicht.der Docker Container läuft auf externer Hardware (Raspi), über ssh kann ich mit dem entsprechenden curl Befehl auch eine Nachricht senden die auch erfreulicherweise ankommt
curl -X POST -H "Content-Type: application/json" 'http://localhost:8080/v2/send' \ -d '{"message": "Test via Signal API!", "number": "+4917****", "recipients": [ "+4917*****" ]}'
ioBroker sagt mir aber folgendes... der Adapter wird nur kurz gelb und springt direkt wieder auf rot.
signalclirestapiclient.0 28862 2023-03-26 17:28:44.275 error SignalRestAPI Webscocket: not Connected
Welche url muss ich aufrufen bzw wie muss der Syntax aussehen um manuell über den Browser eine Nachricht zu verschicken?
// Wie muss die Adresse kmplettiert werden um z.B. die gleiche Nachricht wie oben an die entsprechende Nummer zu schicken? http://XXX.XXX.XXX.XXX:8080/v2/send/ ....
Eine Verbindung ist logischerweise da wie man hier sehen kann wenn ich im Browser .../about aufrufe kommt zumindest Antwort.
http://XXX.XXX.XXX.XXX:8080/v1/about
{"versions":["v1","v2"],"build":2,"mode":"normal","version":"0.65","capabilities":{"v2/send":["quotes","mentions"]}}
Danke vorab!!!
-
@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.