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

Dr. Boris Neubert

Zitat von: reibuehl am 07 August 2023, 09:25:22Ich versuche gerade meine Signal Anbindung wieder zum laufen zu bringen. Ich hatte eine zu alte signal-cli Version. Diese habe ich jetzt auf 0.11.11 upgedatet und dann versucht, meine (Festnetz-)Nummer wieder zu registrieren. Mit signal-cli -u <+49...> register --voice hat es nicht geklappt, da ein Captcha nötig war. Dieses habe ich über https://signalcaptchas.org/registration/generate generiert und dann mit signal-cli -u <+49...> register --voice --captcha 'signal-hcaptcha.5f...' verwendet. Leider bekomme ich dann nur die Fehlermeldung "Failed to register: [429] Rate limit exceeded: 429 (RateLimitException)". Ich hab es bisher zwar ein paar Mal probiert, das letze mal aber mehrere Stunden pause zwischen zwei Versuchen gelassen. Was könnte ich noch machen?

Voice-Anmeldung ist extrem wiggelig. Ich habe das vor drei Wochen durchgemacht, siehe die unmittelbar vorausgehenden Beiträge in diesem Thema hier.

Da ich zig Fehlerstellen im Prozess hatte, kann ich nicht sagen, was am Ende geholfen hat. Aber Du solltest erst die Registrierung mit SMS versuchen. Wenn Du Glück hast, ruft Dich der Automat Deines Telefonieproviders an und liest Dir die SMS vor. Ansonsten versuchst Du es danach erneut mit --voice. Zur Sicherheit solltest Du auch einen Tag zwischen dem Erhalt der Fehlermeldung wegen Rate limit und dem neuen Versuch vergehen lassen.
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Adimarantis

#1051
Das "rate limit exceeded" scheint leider ein hartnäckiges Problem zu sein. Siehe
https://github.com/AsamK/signal-cli/issues?q=rate+limit+exceeded
Es gibt da ein paar Tipps, das meiste ist aber nur Spekulation und "Trial+Error" - aber vielleicht hilft irgendwas davon.

P.S. Ich sehe, dass bei Signal-Cli gerade ein deutlicher Versionssprung der native Library eingecheckt wurde. Vielleicht behebt die ja auch was. Da müssen wir aber wohl noch auf das offizielle release warten - oder signal-cli selber bauen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Neue Version Signalbot V3.15

Benötigt signal-cli V0.12 für einige der neuen Funktionen. Dazu nach dem FHEM update einfach signal_install.sh (V3.18) starten + "set reinit"
Verfügbar auf SVN und ab morgen, 12.8. per update

Was ist neu?
  • get identityDetails:
          Zeigt Informationen bezüglich des Vertrauensstatus (Trust) eines Kontakts, sowie einen QR Code womit FHEM als "trusted" mit der Signal App verifziert werden kann
  • get chat
          Zeigt eine kleine History (maximal 20 Zeilen) der Nachrichten die mit einer Person oder einer Gruppe verschickt wurden
          Diese ist "flüchtig", geht also durch einen Neustart etc. verloren
  • set trust <all oder Kontakt>
          Setzt den Trust eines Kontakts oder aller Kontakte auf "TRUSTED_UNVERIFIED". Damit wird z.B. nach dem Wechsel des Smartphone sichergestellt, dass man mit diesem Kontakt uneingeschränkt kommunizieren kann
  • set trustVerified <Kontakt> <Sicherheitsnummer>
          Setzt den Trust eines Kontakts auf "TRUSTED_VERIFIED". Dazu ist die Sicherheitsnummer für den jeweiligen Kontakt anzugeben. Wer auf Nummer sicher gehen will lässt sich die von dem jeweiligen Kontakt auf einem vetrautem Kanal zukommen (oder tippt sie vom Telefon ab). Die Nummer ist aber symetrisch, d.h. "get identityDetails" zeigt diese auch an - kann man also auch per copy + paste von dort nehmen, wenn man sich sicher ist

Die Optionen befüllen die entsprechenden Pulldowns überlicherweise mit bekannten Kontakten und schränken die Liste auf sinnvolle Kontakte ein (z.B. zeigt "set trust" keine Kontakte an, denen schon vertraut wird). Manchmal muss man die Seite neu laden, damit die Pulldowns Änderungen korrekt reflektieren.

Durch die Möglichkeit die Identität des Kommunikationspartners zweifelsfrei zu validieren, ergibt sich die Option dies für die Remote Kommandos zu nutzen. Wenn das Attribut "authTrusted" auf "yes" steht, dann dürfen Kontakte die "TRUSTED_VERIFIED" sind, Kommandos nach FHEM schicken ohne sich per GoogleAuth zu authentifizieren.

Da eine Weile seit dem letzten Update vergangen ist, sind sicher einige andere kleinere Änderungen eingeflossen. Lasst mich wissen falls ihr noch Fehler findet - bei so einem grossen Update sind wahrscheinlich noch welche drin.

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

Ralli

Hallo Jörg,

danke für deine Arbeit.

Update bei mir erfolgreich.
Gruß,
Ralli

Proxmox 8.1 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.2 dev, virtualisierte RaspberryMatic (3.73.9.20231130) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

Carsten K.

Hallo,
ich habe signalbot mit aktueller Version installiert.
Versenden von Nachrichten funktioniert.
Empfangen leider nicht.
Im Log-File konnte ich nichts in der Richtung sehen.
In den Readings kommt auch nichts an.

Wo könnte ich suchen?

Grüße
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Adimarantis

Schon alles nochmal durchgestartet (signal-cli, FHEM)?
Steht was in /var/log/syslog - da sollte signal-cli selbst protokollieren?
Wie ist der "trust" Status des Absenders (get identityDetails) ?
Wenn der "UNTRUSTED" mal zumindest ein "set trust all" machen.
Selbsttest geht (sudo signal_install.sh test)?

Auf meinem Raspi's läuft alles, daher denke ich nicht das dies ein grundsätzliches Problem mit der Version ist. X86 hab ich aber nicht getestet.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

LuGu

@Adimarantis
Danke für deine tolle Arbeit.
Auf x86 bei mir keine Probleme.

Gruß LuGu
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

Carsten K.

Vielen Dank für die weiterführenden Testschritte !!!

Zitat von: Adimarantis am 13 August 2023, 11:37:01Schon alles nochmal durchgestartet (signal-cli, FHEM)?
ja

Zitat von: Adimarantis am 13 August 2023, 11:37:01Steht was in /var/log/syslog - da sollte signal-cli selbst protokollieren?
Sent by unidentified/sealed sender

Zitat von: Adimarantis am 13 August 2023, 11:37:01Wie ist der "trust" Status des Absenders (get identityDetails) ?
Wenn der "UNTRUSTED" mal zumindest ein "set trust all" machen.
get signal signal identityDetails klappt nicht. ich wüsste nicht, welcher Wert bei "get identityDetails <group>" für <group> gesetzt werden sollte. Mit der Ziel-Telefonnummer klappt es nicht.
set signal trust all liefert not implemented.

Zitat von: Adimarantis am 13 August 2023, 11:37:01Selbsttest geht (sudo signal_install.sh test)?
Scheint fehlerfrei zu laufen. Am Ende kommt "...received".
???
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Adimarantis

Hallo Carsten,

das "<group>" ist ein copy&paste Dokumentationsfehler, natürlich ist hier die Telefonnummer gefragt. Die Liste sollte eigentlich vorbefüllt sein - außer du hast mehr als 20 Kontakte, dann lasse ich das Textfeld.
Ist dein signal-cli denn wirklich auf 0.12.0 geupdated? Sonst funktionieren nämlich die neuen Funktionen nicht.
Das "unidentified/sealed sender" deutet für mich ziemlich auf ein "trust" issue hin.

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

Carsten K.

Hallo Jörg,

ich habe am Freitag wieder Zeit zum weitermachen.
Die CLI-Version ist 0.12.0:
ZitatDEBUG org.asamk.signal.App - Starting signal-cli 0.12.0

Danke,
Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

Jamo

Hallo Jörg,
ich habe beim restart des signal service folgenden "version `GLIBC_2.33' not found" Fehler, der allerdings mit meinem Betriebssystem zusammenhängt.
Eine Google suche bringt tausende Ergebnisse, aber ich moechte mir nichts kaputtmachen, vielleicht hast Du eine Idee:
Aug 16 18:37:12 inuc signal-cli[2674622]: WARN  Manager - Failed to call libsignal-client: /tmp/16915875883731263645libsignal_jni.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /tmp/16915875883731263645libsignal_jni.so)
jamo@inuc:/opt/fhem$ lsb_release -d && uname -r
Description:    Debian GNU/Linux 11 (bullseye)
5.10.0-23-amd64
jamo@inuc:/opt/fhem$ arch
x86_64
jamo@inuc:/opt/fhem uname -a
Linux inuc 5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.12.0 (libsignal-client v0.30.0)
System library path:          /usr/lib
System architecture:          amd64
System GLIBC version:         2.31
Using Java version:           java
Native Java 17.0              yes (current version:)

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Adimarantis

Das Problem ist bekannt und es gibt dazu schon ein paar Post auf github, z.B.
https://github.com/AsamK/signal-cli/issues/1247
Leider besteht der Author von signal-cli darauf immer mit relativ neuen OS Versionen zu compilieren. Aktuell wohl mit Ubuntu 22.04 welches bereits GLIBC 2.34 verwendet. Dadurch sind die Binaries nicht rückwärtskompatibel.

Mein Installer holt allerdings die Libraries von https://github.com/exquo/signal-libs-build und die Binaries dort verwenden maximal glibc 2.28 was funktionieren sollte. Hab das gerade selbst auf meiner Ubuntu 20.04 getested (glibc2.31) und signal-cli funktioniert dort (wenn mit dem Installer installiert, welcher die Library eben austauscht).

Hast du denn den Installer fürs upgrade verwendet? Denn wenn du einfach nur signal-cli vom https://github.com/AsamK/signal-cli nimmst und drüber installierst, dann erklärt sich der Fehler
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Jamo

Danke Danke, das wars!
Habe die Libraries wie Du geschrieben hast ausgetauscht, und jetzt ist alles bene:VERSION Signalbot:3.15 signal-cli:0.12.0 Protocol::DBus:0.22Ich habe den Installer nicht benutzt. Damals, als ich von SiSi wechselte, wurde meine Architektur glaube ich, noch nicht unterstützt. Seitdem mache ich alle Updates immer manuell. Ich überlege aber ständig auf deinen Installer zu wechseln, habe aber Angst vor einer re- Registrierung, falls es evtl nicht klappt. Vor allem wenn ich hier manchmal über die Schwierigkeiten einiger User mit der Registrierung lese.
Danke nochmal und beste Grüsse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Carsten K.

Hi Jörg,
leider immer noch kein Erfolg.
Ich habe jetzt signal-cli 0.12.0 neu installiert (debian bullseye). "signal-cli test" hat funktioniert.
Ich kann über "/opt/bin/signal-cli" senden und empfangen.

Problem: Signal-Bot hat Reading lastError: "No account registered - use set account to connect to an existing registration, link or register to get a new account".
Allerdings ist beim "Set"-Button lediglich link, register und reinit verfügbar.
Wenn ich jetzt in FHEM ein "register" ausführe, kommt danach die Captcha-Anfrage. Beim Captcha-Befehl kommt dann die Meldung mit dem Code 829 (too many requests?).

weiß gerade nicht weiter  :-[

Carsten
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

enno

Moin Jörg,

seit dem letzten Update bekomme ich bei jedem Senden einen Eintrag ins Log geschrieben. Ich habe schon Verbose 0 gestellt, aber trotzdem. Kann das aus dem Update stammen? Sonst funktioniert alles normal.

Smarthome::
Smarthome:Enno:
Smarthome:Enno:
Smarthome::

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC