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

HarryT

Zitat von: Adimarantis am 29 Juni 2025, 14:05:15Maybe you should consider learning how to use git/github  :)

Point taken. I fiddle around a bit, at least I tried to add a comment for a type in your patch.
ZitatFor now I applied your patch there, but had to do some additional fixes, as you did not consider the case when no option and just "-y" is given. Please check

The code looks nice/clean and the addition is usefull but doesn´t work. I think there is a typo in it and I tried to enter a comment in the code. Hope you can see my comment.


I can´t see my own comment so I guess I failed. On line 32 it should be UNATTENDED I guess. (Missing D ) The same type is in 2 other places.
 
FHEM 6.4 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.

Adimarantis

You're right, I had a couple of wrong spellings in the variable which magically where consistently correct for my test case.
Please check again now.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

HarryT

Jo Jörg

signal_install.sh works now correct for me.

>  which magically where consistently correct

And Murphy's Law is still valid :-)

Thanks for your work.

Harry
FHEM 6.4 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz) and Raspberry Pi4 for testing
German reading skills are good.

kabanett

Hallo zusammen,
ich muss jetzt auch mal etwas erfragen.
Ich habe die Installation vor ein oder zwei Monaten durchgeführt und wollte mein Telegramm damit ersetzen.
Leider hat die Registrierung nicht funktioniert. Die letzte Fehlernummer ergab dem suchen nach, einen zu häufigen Versuch.
Ich habe die Nummer gelöscht und bis jetzt abgewartet.

Heute habe ich es erneut versucht. Methode ist auf Voice gestellt und Powershell ist auch aktiviert.
Nach lösen des Captcha öffnet sich kurz Powershell und danach die WebGUI von fhem mit folgenden Eintrag:

Error with captcha:Error in registerWithCaptcha:InvalidTransportModeException StatusCode: 400

Hatte ich damals auch schon... Wie verfahre ich denn jetzt am besten weiter?

Gruß

Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Adimarantis

Zitat von: kabanett am 06 Juli 2025, 18:43:46registerWithCaptcha:InvalidTransportModeException

Die Fehlermeldung scheint normal zu sein - das kommt daher, dass Signalbot zuerst SMS probiert (das ist notwendig) und das mit der Festnetznummer nicht geht.
Nach 60s löst er dann eine nochmalige Registrierung mit Voice aus - und das sollte dann gehen.
Vielleicht ist der 60s Timer zu knapp bemessen. Du könntest mal probieren im Modul in der Zeile 2078
            InternalTimer(gettimeofday()+60, "Signalbot_setCaptcha", $hash, 0);die Zahl 60 durch z.B. 100 zu ersetzen.
Letztendlich ist das Ziel, dass ein Anruf auf der Festnetznummer erfolgt und du den dort genannte Code dann per "set verify" setzt.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

kabanett

Danke für den Versuch zu helfen!

Ich habe die Zeit gleich auf 120 gesetzt und fhem mit shutdown restart neu gestartet.
Das Verhalten bleibt identisch.

Mein nächster Versuch war captcha lösen, anschliessend den Link kopieren und unter set Signal captcha einfügen, Enter.
Gleiches Ergebnis. Auch nach zehn Minuten warten kein Anruf.

Was mich wundert ist, wenn ich das Modul aufrufe, wird mir immer der Hinweistext gezeigt das ich für diese Nummer ein captcha lösen muss.
Unter set habe ich auch kein verify.

Hier mal die Angaben zum Modul, vieleicht ist da schon etwas falsch...
VERSION Signalbot:3.21 signal-cli:0.13.13 Protocol::DBus:0.22
model Debian GNU/Linux 12 (bookworm)


Gruß
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Adimarantis

Auch wenn ich nichts glaube dass es daran liegt, aber deine signal-cli Version ist recht alt. Lass mal den Installer laufen um auf die aktuelle Version 0.13.17 zu aktualisieren.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

kabanett

OK, ein Versuch ist es wert.
Ich habe mich vor einem oder zwei Monaten durch die Wiki entlang gehangelt und auch die Verlinkung dort verwendet. Wieso ich eine alte Version habe...?

Führt der Link denn zur richtigen Version?
https://svn.fhem.de/fhem/trunk/fhem/contrib/signal/
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Adimarantis

Auch. Bei einem "set reinit" holt Signalbot ausserdem die aktuelle Version lokal nach www/signal
Neue Versionen gibt es regelmäßig und ich aktualisiere den Installer auch nicht jedesmal. Es ist halt schon vorgekommen, dass Signal (Server) Änderungen vorgenommen hat, die eine Änderung in signal-cli notwendig gemacht haben um weiter reibungslos zu funktionieren.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

kabanett

"set reinit" hatte keine Auswirkung.
Ich habe die Version über ssh in deinem Script angepasst und dann nochmal durchlaufen lassen. Die Version ist jetzt aktuell, aber wie Du schon vermutet hast, funktioniert es trotzdem nicht.
Hier mal die Ausgabe von der Aktualisierung:
pi@Fhem-raspberrypi:~ $ sudo -E ./signal_install.sh
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settings are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:              0.13.17 (libsignal-client v0.66.2)
System library path:          /usr/lib
System architecture:          aarch64
System GLIBC version:        2.36
Using Java version:          /opt/java/bin/java
Native Java 21.0              no (current version:21.0)
This will update system packages, install or uninstall signal-cli

system  : prepare required system package (except signal-cli)
install  : install signal-cli and setup as dbus system service
test    : run a basic test if everything is installed and registered correctly
remove  : Remove signal-cli and all configurations (will be archived)
start    : Start the signal-cli service (or respective docker processes)
all      : Run system, install, start and test (default)


Proceed (Y/n)? y
Checking for /usr/lib...found
Checking for /etc/dbus-1...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for /run/dbus...found
Checking for apt-ftparchive...available
Checking for wget...available
Checking for sudo...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for zip...available
Checking for qrencode...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/build-essential/essential-packages-list...available
Checking for /usr/share/doc/libimage-librsvg-perl...available
Checking for /usr/share/perl5/URI.pm...available
Checking for Protocol::DBus...V0.22 found
Checking user signal-cli ...found
Checking for Java 21.0...successful
Checking/downloading native library...done
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...found
Checking signal-cli version...signal-cli 0.13.13
Update to current version 0.13.17 (y/N)? y
Proceed with signal cli installation
Stopping signal-cli service
Downloading signal-cli 0.13.17...done
Unpacking ...
Updating native libs for libsignal_v0.66.2/libsignal_jni.so-v0.66.2-aarch64-unknown-linux-gnu.tar.gz
  adding: libsignal_jni.so (deflated 61%)
done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
Start signal-cli service
Checking installation via dbus-send command...success
Sending a message via perl Protocol::DBus...reply received

Gruß
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Adimarantis

Dann kann ich dir nur raten es mal "zu Fuss" - also auf der Kommandozeile mit signal-cli zu probieren.
Die Doku dazu ist unter
https://github.com/AsamK/signal-cli

Die Kommandozeile muss dann immer so anfangen, damit es korrekt mit der Installation funktioniert, z.B. für den Register Befehl
sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +4912456 register --voice --captcha signalcaptcha://03AG....
Hier muss du aber auf jeden Fall sicherstellen vor Voice erstmal SMS zu machen

Wenn du es so hinbekommst, dann wird im nächsten Schritt interessant warum Signalbot es nicht schafft
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

kabanett

Mhh, ich frag lieber vorher nochmal nach.
Deine Zeile weicht ja erheblich von der verlinkten Seite ab.
Dem Wiki und der verlinkten Seite nach müsste ich dann zuerst per SMS registrieren, warten, dann Voice registrieren und im Falle das ich diese Fehlermeldung erhalte (The captcha token, required if registration failed with a captcha required error.) mit dem Captcha weiter machen.

Wäre die richtige Abfolge dann so?
1.
sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +4912456 register2.
sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +4912456 register --voice3.
sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +4912456 register --voice --captcha signalcaptcha://03AG....
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Adimarantis

Genau - mein Beispiel war nur um sicherzustellen, dass du die richtigen Optionen für User und Config-Directory nimmst.
Den Schritt 2 kannst du dir sparen und gleich von https://signalcaptchas.org/registration/generate ein Captcha holen.
Zwischen Schritt 1 und 2/3 mindestens 60s warten.
Und dann zuletzt wenn du hoffentlich einen Anruf bekommen hast noch "verify" mit dem Code.
Bitte auch sicherstellen, dass du Java 21 verwendest und ggf JAVA_HOME anpassen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

kabanett

Ich komme leider nicht sonderlich weit:
pi@Fhem-raspberrypi:~ $ sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +49xxxxxxxxx register
sudo: ./signal-cli: Befehl nicht gefunden

Muss ich in das Verzeichnis signal-cli wechseln?
Wenn ja, der User ist bei mir signal-cli und ich habe keine Berechtigung...

Gruß

Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

Adimarantis

Ist immer schwierig zu beurteilen wieviel Linux Kenntnisse die Leute haben.
Mach
sudo -E -u signal-cli /opt/signal/bin/signal-cli --config /var/lib/signal-cli -u +49xxxxxxxxx register
Edit:
Und natürlich vorher den Service stoppen: sudo service signal stop
Und sicherstellen dass Java 21 verwendet wird
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)