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

Nobbynews

Hallo,

ich habe die Installation mit der aktuellen Version des Sriptes auf einem jungfräulichen Bookworm soweit erfolgreich durchgeführt.
Das Script lief sauber durch und bei den Ausgaben waren auch keine Auffälligkeiten.
Allerdings gab es beim Captcha eine Fehlermeldung im Browser:
RegistrationRetryException StatusCode: 429Daraufhin habe ich mal nachgesehen, wie die aktuellen Versionsstände sind, und siehe da:
signal-cli: 0.13.6
libsignal: 0.57.0
Mit den entsprechenden Änderungen im Script habe ich es dann noch einmal zur Aktualisierung gestartet.
Captcha ließ sich danach sofort ohne Fehlermeldung lösen.
Nach dem verify über voice läuft SIGNALBOT jetzt.
Vielen Dank dafür.

Norbert

Adimarantis

Habe ich jetzt auch im offizellen Repo auf 0.13.6 und 0.56 (die 0.57 geht sicher auch, aber die 0.56 ist offizell dabei) aktualisiert.
Dabei leider festgestellt, dass neuere libsignal Versionen nicht mehr auf alten (Buster) Systemen laufen.
Wer also noch auf Buster (Debian 10) ist, muss hier eine ältere Version verwenden, da jetzt eine neuere glibc Version verlangt wird.
Nach ein paar Experimenten wäre das die 0.52 - also entsprechend vor der Installation auf Buster im Script abändern.

Ich weiss nicht wie viele jetzt noch auf Buster sind, aber langsam wird es schwierig alte Systeme zu unterstützen. Werde mich wohl auch langsam mal an an Update meines Produktivsystems machen müssen.
Irgendwann wird signal-cli (und Signal) mit älteren Versionen der libsignal nicht mehr sauber funktionieren und jedesmal extra eine Version zu übersetzen ist schon sehr mühsam.

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

Jamo

Hallo Jörg,
unter Bullseye das gleiche, ich konnte nur auf 0.13.5 und libsignal 0.52.2 updaten.
Grüsse und Danke!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

CQuadrat

Zitat von: Jamo am 11 September 2024, 12:26:41Hallo Jörg,
unter Bullseye das gleiche, ich konnte nur auf 0.13.5 und libsignal 0.52.2 updaten.
Grüsse und Danke!

Ich habe auch Bullseye (Debian 11). Aber die 0.13.5 mit libsignal 0.52.2 läuft bei mir wegen glibc nicht. Ich habe da noch die Version 2.31. Gefordert ist wohl mindestens Version 2.33. Was hast Du denn unter Bullseye?
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

Gisbert

Zitat von: Adimarantis am 09 September 2024, 20:58:26Habe ich jetzt auch im offizellen Repo auf 0.13.6 und 0.56 (die 0.57 geht sicher auch, aber die 0.56 ist offizell dabei) aktualisiert.

Hallo Jörg,
ich sehe beim Update Check nicht, dass eine neue Modulversion vorhanden ist.
Was muss ich ggf. zusätzlich tun, um die neueste Modulversion zu erhalten.

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome

Jamo

Zitat von: CQuadrat am 11 September 2024, 13:29:57
Zitat von: Jamo am 11 September 2024, 12:26:41Ich habe auch Bullseye (Debian 11). Aber die 0.13.5 mit libsignal 0.52.2 läuft bei mir wegen glibc nicht. Ich habe da noch die Version 2.31. Gefordert ist wohl mindestens Version 2.33. Was hast Du denn unter Bullseye?
Hallo CQuadrat,
jamo@inuc:~$ ldd --version
ldd (Debian GLIBC 2.31-13+deb11u11) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

jamo@inuc:~$ lsb_release -d && uname -r
Description:    Debian GNU/Linux 11 (bullseye)
5.10.0-32-amd64
jamo@inuc:~$

Hast Du das script vom Joerg benutzt, oder ersetzt Du die libsignal_jni.so haendisch mit der aus https://github.com/exquo?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

Adimarantis

Bei mir funktioniert 0.13.6 grundsätzlich (und das mit Buster, also sollte Bullseye erst recht gehen) sofern man eben die library "downgraded"
Dazu sicherstellen, dass das neuste Installer Script runtergeladen wurde (set .... reinit)
Dann www/signal/signal_install.sh editieren und die Zeile
LIBRARYVERSION="0.56.0"ersetzen durch
LIBRARYVERSION="0.52.0"Falls schon ein upgrade auf 0.13.6 gemacht wurde, erzwingen, dass das Script eine Neuinstallations macht. Dazu reicht es mit
sudo rm /opt/signal/bin/signal-clidas aktuelle signal-cli Startscript zu löschen
jetzt
sudo ./signal_install.shDanach sollte eigentlich alles gehen.

Wenn ich mal mehr Zeit habe, muss ich mir ansehen, ob man das Modul nicht von Dbus auf Rest API umstellen kann.
Dann wäre es möglich vorgefertigte Container zu nutzen und signal-cli potentiell auch auf einem anderen System als FHEM zu installieren.

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

CQuadrat

Also das System und die Versionen sind so wie bei Dir. Mein Kernel ist noch zwei Minorversionen hinter Deinem, aber daran sollte es nicht liegen:
cc@spock:~$ ldd --version
ldd (Debian GLIBC 2.31-13+deb11u11) 2.31
Copyright © 2020 Free Software Foundation, Inc.
Dies ist freie Software; in den Quellen befinden sich die Lizenzbedingungen.
Es gibt KEINERLEI Garantie; nicht einmal für die TAUGLICHKEIT oder
VERWENDBARKEIT FÜR EINEN ANGEGEBENEN ZWECK.
Implementiert von Roland McGrath und Ulrich Drepper.

cc@spock:~$ lsb_release -d && uname -r
Description: Debian GNU/Linux 11 (bullseye)
5.10.0-30-amd64
cc@spock:~$

signal-cli habe ich selber gebaut (Quelle: https://github.com/AsamK/signal-cli). Allerdings habe ich gerade gesehen, dass dort wohl eine gepatchte libsignal-service-java verwendet wird (https://github.com/Turasa/libsignal-service-java).

Kann das Script auch Update? Ich dachte bisher immer, das Skript wäre nur für Neuinstallationen. Ich will meine Registrierung nämlich nicht verlieren, da die mich relativ viel Mühe gekostet hat.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

Adimarantis

Ja, das Script macht automatisch nur update, wenn schon etwas da ist. Keine Gefahr.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

CQuadrat

Selbes Problem auch mit dem Script. Es wird GLIBC_2.33 benötigt:

Sep 12 09:54:00 spock signal-cli[197588]: SLF4J(I): Connected with provider of type [ch.qos.logback.classic.spi.LogbackServiceProvider]
Sep 12 09:54:02 spock signal-cli[197588]: WARN  Manager - Failed to call libsignal-client: /tmp/libsignal13019587028985708797/libsignal_jni_amd64.so: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /tmp/l>
Sep 12 09:54:02 spock signal-cli[197588]: Missing required native library dependency: libsignal-client
S
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), MQTT, SONOS (div. Gimmicks), OneWire, Hue

Adimarantis

Dann geh Stück für Stück mit der Version der library runter. Ich weiss halt nicht wie wohin die noch voll kompatibel ist.
Auf die 0.52 bin ich unter armv7 auf meinem Raspberry gekommen - vielleicht wurde unter X86 schon früher ein neueres Buildsystem verwendet, welches auch eine neuere glibc braucht.

Habe gerade mal versucht die libsignal auf meinem Buster System selbst zu übersetzen, aber da gibt es so viele Abhängigkeiten die man manuell updaten müsste (weil die neusten Standardpakete zu alt sind), dass es langsam keinen Sinn mehr macht.

Deswegen habe ich jetzt auch nochmal auf einer X86 VM unter Debian 11 probiert. Das hat besser geklappt. Wenn es jemand probieren will (basiert auf 0.57): http://bublath.de/libsignal_jni.zip
Also das Zip aufpacken und die Datei nach /opt/signal/lib kopieren und dann
sudo -u signal-cli zip -u libsignal-client-*.jar libsignal_jni.so
Wie gesagt, das ist für X86 64Bit!



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

Jamo

Hallo Jörg,
ich bin jetzt auch auf Bookworm! Damit gehts jetzt auch out of the Box.
Danke!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/Conbee III, FB7690, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack, Sonos, ESPresence

Sailor

Moin tosammen

Da ich es irgendwie geschafft habe zwei Gruppen mit dem gleichen Namen zu erstellen, was mir nur Probleme bereitet, mal eine ganz bescheidene Frage:
Wie kann ich den Signal-Account komplett löschen und mit der gleichen Telefonnummer neu anfangen?

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

Adimarantis

Es gäbe das versteckte Kommando "set ... unregister <nummer>" - die <nummer> muss mit der aktuell aktiven Nummer übereinstimmen (zur Sicherheit).
So richtig vollständig fliegt das aber m.E. deswegen trotzdem nicht raus.
Danach eben wieder mit "set .. register" die Nummer neu einrichten.

Aber schiesst du da nicht mit Kanonen auf Spatzen?
Wie wäre es z.B. mit "group delete"? Wenn du das zweimal machst müssten doch eigentlich beide Gruppen weg sein.
Außerdem hat jede Gruppe einen Zahlencode (den man bei "list <device>" auch sieht, allerdings als Liste von Dezimalzahlen) - direkt aus der Kommandozeile kann man mit diesem Code (ich denke mal im Hexformat) auch mit den Gruppen arbeiten - statt mit dem Namen - und der Code ist eindeutig.
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

Tja, wenn ich den Befehl "group delete" ausführe, kommt das zurück:
Error in deleteGroup:Failure: The local group information cannot be removed, as the user is still a member of the group
Und das obwohl da nur der Account selbst als Member drin steht, welchen man nicht löschen kann.

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