Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli

Begonnen von Adimarantis, 31 Januar 2021, 19:16:19

Vorheriges Thema - Nächstes Thema

Adimarantis

Wenn du signal-cli von der Kommandozeile probierst muss
export JAVA_HOME=/opt/java gesetzt sein - sonst nimmt er möglicherweise trotzdem das falsche.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Sailor

Moin Adimarantis

Ich mus mich jetzt leider auch um Hilfe bitten.

Ich habe das letzte Installer-Script aus dem /opt/fhem/contrib verwendet (SCRIPTVERSION="3.26") ausgefuehrt, welches die Installation ohne Fehler übernimmt.

Doch nach wie vor unter "Voice" nur die Fehlermeldung
"Error with captcha:Error in registerWithCaptcha:VerificationMethodNotAvailableException Invalid verification method "

unter "SMS" die folgende Fehlermeldung:
"Error with captcha:Error in registerWithCaptcha:RegistrationRetryException StatusCode: 429 "

Ich habe nebenbei den SIGNAL - Client auf meinem Linux - Rechner laufen, welcher sich sofort nach lösen des Captchas öffnet.
Ich hoffe das Captcha "verbraucht" sich dadurch nicht.

Gruß
    Sailor
******************************
Man wird immer besser...

Adimarantis

Das ist natürlich möglich. Erzeuge das Captcha doch einfach auf einem anderen Rechner und kopiere ihn ins "set ... captcha".
Also wie beschrieben, erst SMS, 1 Minute warten, dann nochmal (neues Captcha) mit Voice.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Sailor

Hallo Adimarantis
Zitat von: Adimarantis am 26 März 2024, 20:32:25Das ist natürlich möglich. Erzeuge das Captcha doch einfach auf einem anderen Rechner und kopiere ihn ins "set ... captcha".
Also wie beschrieben, erst SMS, 1 Minute warten, dann nochmal (neues Captcha) mit Voice.

Danke für den Tipp!

Also, das war ja 'ne Nummer!

Ich beschreibe mal Schritt für Schritt was letztendlich zum Erfolg geführt hat:
1. Den neusten Installer heruntergeladen: http://svn.fhem.de/fhem/trunk/fhem/contrib/signal/signal_install.sh
2. Rechte vergeben und als sudo ausgeführt.
3. Signal Desktop deinstallieren.
4. Alten SignalBot in fhem gelöscht und neu angelegt.
5. Attribut "registerMethod" auf "SMS" gesetzt.
6. Den Befehl "set myBotti register +49301234567" ausgeführt.
7. Captcha ausgeführt und mittel "set myBotti setCaptcha ..." implementiert.
7. Was zu trinken geholt.
8. Attribut "registerMethod" auf "Voice" gesetzt
9. Den Befehl "set myBotti register +49301234567" ausgeführt.
10. Den Anruf weggedrückt, da kein Menüpunkt "verify" vorhanden war.
11. Den Befehl "set myBotti register +49301234567" nochmal ausgeführt.
12. Captcha ausgeführt und mittel "set myBotti setCaptcha ..." implementiert.
13. Anruf entgegengenommen und Nummer von der Tante mit eindeutigen ADHS-Syptomen aufgeschrieben.
14. Den Code mit "set myBotti verify 1234567" bestätigt.
Funzt!

Wat'n Aufriss!

Gruss
    Sailor
******************************
Man wird immer besser...

Adimarantis

Ja, irgendwie wird das immer schlimmer mit den Sicherheitsmechanismen.

Ich habe mich jetzt mal hingesetzt und versucht das so weit möglich zu automatisieren.

Keine Ahnung ob sich jemand findet, der es mal probieren will. Das Ganze ist extrem umständlich zum Testen und ich habe jetzt nur den häufigsten Fall (Registrierung mit Voice) durchgetestet.

Die angehängt Version funktioniert jetzt so:
1. set register +49xxxxxx  (mit registerMethod=Voice)
Es erscheint eine Seite die darüber aufklärt wie man ein Captcha bekommt und einen drauf hinweist, dass man bei Voice 60s Sekunden warten muss

2. set captcha signalcaptcha://xxxxxx
Es erscheint eine neue Seite mit dem Hinweis das es 60s Sekunden dauern wird, bis man einen Anruf kriegt und den Code mit set verify eingeben muss
Intern sendet Signalbot das Captcha erst mit SMS, setzt einen Timer auf 60s und sendet es erneut mit Voice. Das scheint zu funktionieren, da die Captchas eine Weile gültig bleiben und nicht kontrolliert wird, wenn man das selbe Captcha 2x verwendet.

3. Man kriegt den Anruf und macht set verify
Dann sollte soweit alles abgeschlossen sein und man ist registriert.

Wenn es jemand probieren will, vielleicht mit einer zweiten Festnetznummer, bzw. man kann seine eigenen Nummer rauswerfen - leider gar nicht so einfach:
Ich hatte mit folgender Prozedur Erfolg:
set Signalbot unregister +49xxxxxx

Dann in der Shell - am besten gleich mit "sudo bash", da das Verzeichnis geschützt ist.
cd /var/lib/signal-cli/data
service signal stop
Datei "accounts.json" editieren und den Abschnitt mit der entsprechenden Nummer rauslöschen
Unter "path" steht der Dateiname für die eigentlichen Daten. Zum aufräumen diese Datei und das zugehörige Verzeichnis (mit ".d") löschen.
service signal start

Jetzt sollte die Nummer zuverlässig entfernt sein und man kann sie erneut registrieren.
Hab das erfolgreich paar mal hintereinander gemacht.

Gerne probieren, was passiert wenn man was falsch macht oder SMS probiert - da sind sicher noch Fehler im Ablauf drin.


Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Sailor

Moin tosammen

Habe mir mal erlaubt offiziell das Signal Messenger Logo ins repository unter fhem/www/images/fhemSVG/signal_messenger.svg aufnehmen zu lassen.
Damit haben wir jetzt ein anständiges icon fuer den SignalBot.

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Moin Adimarantis

Zitat von: Adimarantis am 28 März 2024, 17:52:47Wenn es jemand probieren will, vielleicht mit einer zweiten Festnetznummer, bzw. man kann seine eigenen Nummer rauswerfen - leider gar nicht so einfach:

Ich bin froh, dass es läuft.
Aber ich gehe davon aus, das sich der Nächste mit Problemen nicht lange auf sich warten lassen wird.

Dann haben wir ja ganz automatisch unseren unfreiwilligen Freiwilligen.  :o

Gruß
    Sailor
******************************
Man wird immer besser...

Adimarantis

Nice  :)
Dann setze ich das doch einfach standardmäßig im "define" als icon (sofern nicht schon gesetzt)
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)