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

enno

Moin LuGu,

ich habe es damals auch über ssh direkt in der Konsole erledigt.

sudo service signal stop
cd /opt/signal/bin/
sudo -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +49 12456 register --voice --captcha signalcaptcha://03AG....
sudo -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +49 12456 verify 12345
sudo service signal start

und dann in FHEM weiter.

Gruss
  Enno

Einfacher FHEM Anwender auf Intel®NUC

Adimarantis

Nachdem das anscheinend doch öfter passiert, sollten wir dem mal auf den Grund gehen - eigentlich gibt es keinen Grund warum es aus FHEM nicht geht, wenn es von der Konsole funktioniert.
Ein Tipp war ja schon mal eine andere Webseite zu verwenden:
https://signalcaptchas.org/challenge/generate.html

Sonst doch bitte mal verbose=5 und den entsprechenden Ausschnitt aus dem Logfile.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

LuGu

Zitat von: Adimarantis am 30 November 2021, 20:07:05
Nachdem das anscheinend doch öfter passiert, sollten wir dem mal auf den Grund gehen - eigentlich gibt es keinen Grund warum es aus FHEM nicht geht, wenn es von der Konsole funktioniert.
Ein Tipp war ja schon mal eine andere Webseite zu verwenden:
https://signalcaptchas.org/challenge/generate.html

Sonst doch bitte mal verbose=5 und den entsprechenden Ausschnitt aus dem Logfile.

Danke euch für die Antworten.
Die alternative Website und auch die Eingabe in der fhem command line hatte ich schon getestet.
Dann werde ich es noch mal loglevel 5 versuchen und dann mit der Shell weiter testen.

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

Adimarantis

Ich habe das Problem jetzt nachstellen können:

Es scheint dann aufzutreten, wenn man eine Nummer registriert, die schon mal registriert war, also im Verzeichnis /var/lib/signal-cli/data dafür bereits Konfigurationsdaten vorliegen.
Bei mir hat es geholfen die +49xxxxx Datei und das +49xxxxx.d Verzeichnis der entsprechenden Nummer zu löschen.

Kann das wer bestätigen?

Edit: Die Methode von enno scheint auch zu helfen - das Problem ist spezifisch für DBus - passiert also auch wenn man mit "dbus-send" auf der Kommandozeile arbeitet (ist also erstmal kein Fehler von Signalbot selbst)

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

LuGu

Zitat von: Adimarantis am 30 November 2021, 22:28:12
Ich habe das Problem jetzt nachstellen können:

Es scheint dann aufzutreten, wenn man eine Nummer registriert, die schon mal registriert war, also im Verzeichnis /var/lib/signal-cli/data dafür bereits Konfigurationsdaten vorliegen.
Bei mir hat es geholfen die +49xxxxx Datei und das +49xxxxx.d Verzeichnis der entsprechenden Nummer zu löschen.

Kann das wer bestätigen?

Edit: Die Methode von enno scheint auch zu helfen - das Problem ist spezifisch für DBus - passiert also auch wenn man mit "dbus-send" auf der Kommandozeile arbeitet (ist also erstmal kein Fehler von Signalbot selbst)

Jörg

Moin Jörg,
das Löschen der Einträge hat leider auch nichts gebracht.

2021.12.01 10:34:04 5:  signal: Init: signal Signalbot
2021.12.01 10:34:04 4:  signal: Protocol::DBus version found 0.19
2021.12.01 10:34:04 5:  signal Setting number to default
2021.12.01 10:34:05 5:  signal: Sync Dbus Call: version Args:empty
2021.12.01 10:34:05 5:  signal: Sync Dbus Call: isRegistered Args:empty
2021.12.01 10:34:05 4:  signal: Sync Error for: isRegistered
2021.12.01 10:34:05 5:  signal: Sync Dbus Call: listAccounts Args:empty
2021.12.01 10:34:05 5:  signal: My Dbus Name is :1.286
2021.12.01 10:35:00 5:  signal: Sync Dbus Call: register Args:+49xxxxx,0
2021.12.01 10:35:01 4:  signal: Sync Error for: register
2021.12.01 10:37:13 5:  signal: Sync Dbus Call: registerWithCaptcha Args:+49xxxxx,0,03AGdBq26G3DtKGHF5b7WxN1-VE_yMlsadya4WiisQf3rryTufRgL4JjX-4YrRgi0p9JFTeUwbmaX2ayyBl_jSc9YyhHYE-zlGnEqUEeNjfUuXScNxIf_tIN5Xrl-_bAMimDIB5WpLfbhF4bUOOsrp3HaeA4NWUEdaDYoyuHMmw7kS7KTBs395mDoQTSbFF9g2zOXt3CVCXTY39ic9c6zjHlOmgsZE7wlUdNEq1VHctNwQb_HbBQd4MfWC1A4YRKsg_bx5QDQ9HPAQ7uXv0y4LSIuix8R2ZpaD5KoOdv8wuc6jQs0y9ZedzyAWyplXC4jw10IGhk959Hp-WmkfopMz68KSXJcTzVopMqIiAUWYO1wNuVj7EUVVmZx9u9EJZNQtAEZTTrtdT0R8vFEDz_a5ubnaugmZ5V64l-5EABT5zpQCaMnvKekj3-Zmsmt09wNa-PXEx74r0qXZx_oOIQYNMTvzOR7mvSc-tQ

Mache ich was in der Reihenfolge falsch?
1. set register +49xxxxx
2. set captcha signalcaptcha://03agdbq26g3dtkghf5b ...

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

Adimarantis

Hmm, da knallt es ja schon vorher (Sync Error for....).
Kannst du nach jedem Schritt (und gleich nach FHEM Start) mal schauen was im reading "lastErr" steht?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

LuGu

Zitat von: Adimarantis am 01 Dezember 2021, 10:59:20
Hmm, da knallt es ja schon vorher (Sync Error for....).
Kannst du nach jedem Schritt (und gleich nach FHEM Start) mal schauen was im reading "lastErr" steht?
fhem Start: No account registered - use set account to connect to an existing registration, link or register to get a new account

2021.12.01 11:02:54 5:  signal: Init: signal Signalbot
2021.12.01 11:02:54 4:  signal: Protocol::DBus version found 0.19
2021.12.01 11:02:54 5:  signal Setting number to default


set register: Error in register:Captcha required for verification

2021.12.01 11:05:35 5:  signal: Sync Dbus Call: register Args:+49xxxxxxxxx,0
2021.12.01 11:05:36 4:  signal: Sync Error for: register


set captcha: Error in register:Captcha required for verification

2021.12.01 11:07:35 5:  signal: Sync Dbus Call: registerWithCaptcha Args:+49xxxxxxxxx,0,03AGdBq27mng8c17REZ9v9SII3zZD8jIRY0f4ajyb6CNw2ka2cDeH5eV8Fqpb_yjLqf89fWbwK4Wm-d7pafZRtb8apRxYid1ZMP5kQoghv9n_v1Bx2KLWRIYDdiAqDbb7jcVouPOWyJziQkz9zfYFzjXLkKep3GiAFoWDciZawbq-8AfM8AViUYyQNmnYYXe9wiXGPLrP6J9G8Yoxx4JVNC_0SeN2CAX0zluGpvaNuHD6bb0UytVSfZRhiOUDZncRvGw4DTQrMXmPmA3rhCE6N_WCL3VQvcXswQZpma5hsPo0tOSG0ZdEHYA5F8rqQVW3YiTeoAAjToUWIXKCnQ7JUt8Ij4aOepsV1bRtp54FkTSIn1ZN7uu9uf9LBe_Mo9zO7BxlYQbDWHWltEJldot2AVAG3-CbFsHta8ADyc8jHPrG380vjgtjefk5mH5EqTwwxsySaOwN2C-w2S1JG2Ccl4lyIT1SQ0nK5TA


Ist ne Festnetznummer die ich zu registrieren versuche.
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

Adimarantis

Was mir jetzt nur auffällt: Du scheinst SMS Registrierung zu machen (ist default).
Bei Festnetz willst du aber wahrscheinlich eher angerufen werden, also
attr signal registerMethod Voice
Erklärt aber immer noch nicht warum diese "Incorrect captcha" Meldung kommt - oder hast du die beim letzten Mal gar nicht bekommen?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

LuGu

Ja, ich hatte es mit SMS und Voice versucht. Vorher hatte ich getestet, was bei einer SMS an die Festnetzummer passier. Die SMS wurde vorgelesen.
Die Registrierung hat aber in beiden Fällen nicht funktioniert.

Ich habe es jetzt in fhem aufgegeben und es über die shell nach dem Tip von enno gemacht.
Das hat auf Anhieb geklappt.

Danke für eure Unterstützung.
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

Adimarantis

Ich habe das Wiki Troubleshooting entsprechend mit dem Workaround von enno ergänzt und einen Bug für signal-cli aufgemacht.
Leider scheint das in manchen Fällen derzeit die einzige Lösung zu sein.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Update signal-cli 0.9.2

Nachdem ich festgestellt habe, dass die nächste signal-cli Version auch von Java 11 auf Java 17 updaten wird, habe ich mich dazu entschlossen jetzt signal-cli 0.9.2 als vorerst letzte signal-cli version freizugeben. Heisst leider auch dass es wohl erstmal keinen Fix für das weiter oben beschriebene Captcha Problem geben wird.
Wer updaten will holt mit "reinit" das neueste Script nach www/signal und führt es mit
sudo ./signal_install.sh
aus.
Sofern eine Warnung "[....] is an unsupported combination - signal-cli binary libraries might not work" kommt, sollte die Installation abgebrochen werden.
Es gibt aktuell aber keinen zwingenden Grund für das Update - V0.9.0 kann getrost weiter verwendet werden.

Hintergrund zu der Java Version:
In Debian bzw. Raspian "Buster" ist nur openJDK11 verfügbar. Es gibt zwar Java17, aber derzeit nicht offiziell über "apt install".
Java17 ist erst mit Debian "Bullseye" (11.x) offiziell verfügbar. Inzwischen ist zwar auch das entsprechende Raspberry OS basierend auf "Bullseye" verfügbar, es wird aber geraten eine Neuinstallation zu machen - und wer macht das mit einem Heimautomatisierungssystem, wenn sonst alles läuft.

Mittelfristig werde ich mir anschauen, ob neue signal-cli Versionen interessant genug sind, um den Aufwand zu betreiben, den Installer um eine "private" Java Version zu ergänzen bzw. "Bullseye" zu unterstützen. Ihr seht aber schon - die Platformabhängigkeiten werden immer komplexer.

@Jamo: Ich denke ich habe den richtigen Branch dafür gefunden um die Debian 10 libs zu übersetzen, hab diese aber nicht getestet. Wäre schön wenn du das überprüfen könntest.

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

Gisbert

Hallo Jörg,

ich hab den update-Prozess durchlaufen, ist auch ordentlich durchgelaufen, bekomme aber diese Info im Device:
VERSION Signalbot:3.1 signal-cli:0.9.0 Protocol::DBus:0.19
Das Modul habe ich auch noch per reload erneuert.

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

Gisbert

Ein nicht beabsichtigter Fhem-Neustart hat dazu geführt, dass jetzt die richtige Signal-Version angezeigt wird.
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

vaulie

Hi,
ich hatte gestern versucht, erstmalig Signal zu installieren. Das hat leider nicht geklappt...
Vor einigen Monaten war ich schonmal an einem völlig veralteten Betriebssystem gescheitert, weswegen ich dann mein Raspberry mal komplett neu aufgesetzt habe und nun "Linux raspi3 5.10.63-v7+ #1459 SMP Wed Oct 6 16:41:10 BST 2021 armv7l" läuft.
Außer fhem und Samba habe ich auch nichts besonderes noch installiert.
Dann habe ich mich an den Wiki-Beitrag und das install-script gehalten. Als erstes fiel mir dann "armhf-glibc2.31-0.9.0 is an unsupported combination" auf, habe aber weiter gemacht, weil ich dachte, ich habe doch die neuesten Pakete.
Nunja, bei start signal-cli service blieb er dann (wie erwarten?) hängen:
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Checking installation via dbus-send command...Error org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
unexpected reply
Sending a message via perl Protocol::DBus...Error getting reply.

OpenJDK Server VM warning: You have loaded library /tmp/resource3715067888090005771.so which might have disabled stack guard. The VM wi>
Dez 04 22:37:53 raspi3 signal-cli[2232]: It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.

Damit bin ich wohl beim "Standard-Fehler" auf Raspberrys wie im zweiten Eintrag der FAQ beschrieben. Das Löschen von /opt/signal hat aber nichts gebracht. Der erste der "weiteren Tests" zeigt dann auch tatsächlich Treffer:
sudo ldconfig -v | grep libzkgroup.so
ldconfig: Pfad »/usr/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: Pfad »/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: Pfad »/usr/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: Pfad »/usr/lib« mehrfach angegeben
ldconfig: /lib/arm-linux-gnueabihf/ld-2.31.so is the dynamic linker, ignoring
ldconfig: /lib/ld-linux.so.3 is the dynamic linker, ignoring


Ich bin in Linux nicht so zu Hause, dass ich dieses Ergebnis nun selbst beheben könnte.
Daher nun meine Fragen,
* bin ich nach dem "unsupported combination" überhaupt noch richtig davor? Wie könnte ich eine supported combination hinkriegen?
* wie kann ich die mehrfach angegebenen Pfade beheben?
* im Wiki war es für mich nicht klar, ob ich vor oder nach dem Skript, den Signalbot in fhem definieren muss.. Wann muss das geschehen?

Danke für Hinweise,
Gruß Volker

Adimarantis

Hi Volker,

Du bist dann schon auf "bullseye".
Dafür habe ich mangels eigenem System, leider die nativen Libs noch nicht übersetzt.
Diese hängen von der verwendeten glibc Version ab und die muss exakt stimmen, sonst gibt es beim Start einen Fehler.
Ich hab vor mein Testsystem demnächst auf bullseye zu ziehen, dann kann ich das machen.
Oder magst du dich dran probieren?

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