FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: matze1999 am 09 Februar 2025, 13:17:38

Titel: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 13:17:38
Hallo, ich versuche ein signalbot Device anzulegen,

mit define fhemSignal Signalbot
bekomme da aber immer

unavailable
Das Install script habe ich ausgeführt, da kommt zwar immer ein Fehler:

Sending a message via perl Protocol::DBus...Can't locate Protocol/DBus/Client.pm in @INC (you may need to install the Protocol::DBus::Client module) (@INC contains: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.36.0 /usr/local/share/perl/5.36.0 /usr/lib/aarch64-linux-gnu/perl5/5.36 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.36 /usr/share/perl/5.36 /usr/local/lib/site_perl) at /tmp/signal1862029.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal1862029.tmp line 5.
und ich werde nie nach einem Chapta  gefragt.

manuell geht auch nicht:

./signal-cli -u +49XXXXXXXXXXXXXX register --voice --captcha CHAPTA
Fehler: Beim Laden der Klasse org.asamk.signal.Main ist ein LinkageError aufgetreten
java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0

Kann man da was tun?

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: rudolfkoenig am 09 Februar 2025, 14:29:53
Ich hatte mit aehnlichen Problemen zu kaempfen, und dann ein ausfuehrbares Programm gefunden (signal-cli0135_ubuntu2004_amd64), was das java-Programm samt Java Interpreter enthaelt: eine Datei, 103MB.
Funktioniert, auch wenn ich mich damit nicht wohl fuehle.

Etwas off-topic: damit signal die Endstelle nicht als verwaist deklariert, wird in einer Schleife stuendlich  "./signal-cli0135_ubuntu2004_amd64 receive" ausgefuehrt.

Nachtrag: das FHEM Modul verwende ich nicht, ich rufe das externe Programm (s.o.) direkt auf.
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 16:15:34
Auf welchem OS bist du?
Das Problem ist, dass signal-cli nicht reines Java ist, sondern auch eine executable library beinhaltet die zum OS passen muss - und da wird nicht jedes unterstützt.
Das zweite Problem ist, dass der Autor von signal-cli etwas übereifrig ist ein aktuelles Java zu verwenden - aktuell mindestens Java 21 - und das ist für ältere OS nicht per Paket Installer verfügbar.

Das Install Script versucht hier einige Workarounds und sollte eigentlich auch warnen, wenn etwas nicht passt. Was hast du da für Output?
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 16:17:58
Hallo,

ein Pi

PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

und

openjdk version "17.0.14" 2025-01-21
OpenJDK Runtime Environment (build 17.0.14+7-Debian-1deb12u1)
OpenJDK 64-Bit Server VM (build 17.0.14+7-Debian-1deb12u1, mixed mode, sharing)

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 16:19:21
...vergessen:

Fehler: Beim Laden der Klasse org.asamk.signal.Main ist ein LinkageError aufgetreten
java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 16:36:23
Ja, der Fehler liegt an Java 17.
Die selbe Konfiguration hab ich auch am Laufen.
Daher verstehe ich jetzt nicht ganz, warum der Installer das bei dir nicht schafft.
Der sollte eigentlich eine Java 21 Distro holen und nach /opt/java installieren.

Was gibt das Installer Script aus?
Was steht in /tmp/signal_install.log
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 16:46:13
Hallo,

sudo /tmp/signal_install.sh system
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.11 (libsignal-client v0.64.1)
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)
You chose the following option: system

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
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 16:49:00
jetzt,, nach einem remove und neuem install:

sudo systemctl status signal.service
● signal.service - Send secure messages to Signal clients
     Loaded: loaded (/etc/systemd/system/signal.service; enabled; preset: enabled)
     Active: active (running) since Sun 2025-02-09 16:48:03 CET; 8s ago
    Process: 34907 ExecStartPre=/bin/sleep 10 (code=exited, status=0/SUCCESS)
   Main PID: 34917 (java)
      Tasks: 25 (limit: 9559)
        CPU: 3.843s
     CGroup: /system.slice/signal.service
             └─34917 /opt/java/bin/java -Xms2m -classpath /opt/signal/lib/signal-cli-0.13.11.jar:/opt/signal/lib/lib.jar:/opt/signal/lib/bcprov-jdk18on-1.79.jar:/opt/signal/lib/signal-service-java-2.15.3_unofficial_114.jar:/opt/signal>

Feb 09 16:47:51 fhem systemd[1]: Starting signal.service - Send secure messages to Signal clients...
Feb 09 16:48:03 fhem signal-cli[34917]: INFO  DaemonCommand - Starting daemon in multi-account mode
Feb 09 16:48:03 fhem systemd[1]: Started signal.service - Send secure messages to Signal clients.
Feb 09 16:48:03 fhem signal-cli[34917]: INFO  DbusHandler - Started DBus server on SYSTEM bus: org.asamk.Signal
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 16:51:57
Ok, das schaut doch gut aus.
Die normale Installation als Service sollte dann gehen.
Wenn du selber aus der Kommandozeile signal-cli starten willst, musst du allerdings sicherstellen, dass er Java21 nimmt:
export JAVA_HOME=/opt/java
export PATH=/opt/java/bin:$PATH
Dann sollte folgendes funktionieren:
java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode, sharing)
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 16:58:10
das ist verrückt:

matze@fhem:/opt/signal/bin $ java --version
openjdk 21.0.2 2024-01-16 LTS
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13-LTS, mixed mode)
matze@fhem:/opt/signal/bin $ sudo ./signal-cli -u +49XXXXXXXXXXX register -voice -captcha CHAPTA
Fehler: Beim Laden der Klasse org.asamk.signal.Main ist ein LinkageError aufgetreten
    java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes class file versions up to 61.0
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 17:00:09
noch was:

sudo update-alternatives --config java
Es gibt 1 Auswahlmöglichkeit für die Alternative java (welche /usr/bin/java bereitstellt).

  Auswahl      Pfad                                         Priorität Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-arm64/bin/java   1711      automatischer Modus
  1            /usr/lib/jvm/java-17-openjdk-arm64/bin/java   1711      manueller Modus

Drücken Sie die Eingabetaste, um die aktuelle Wahl[*] beizubehalten,
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 17:02:54
Das ist normal. Die Java Installation ist separat und nicht in die "alternatives" integriert. Ich weiss nur nicht ganz was du da eigentlich probierst. Selbst wenn da kein Fehler käme, würde die Kommandozeile nichts bringen.
Über die FHEM GUI geht's nicht?
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 17:04:36
Das ist das zweite Problem:

ich versuche ein signalbot Device anzulegen,

mit

define fhemSignal Signalbot
bekomme ich da aber immer
unavailable
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 17:08:00
Kannst du denn andere Devices definieren?
Steht was im fhem log?
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 17:20:06
das ging jetzt,

nach einem reload des Signalbot modules konnte ich ein device anlegen, jetzt scheitere ich and der Registrierung, die ich gern mit voice an einer Festnetznummer machen möchte. Ich  registriere mich also it sms, dann warte ich min 60s und dann mit voice, aber da passiert nichts?
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 17:26:56
Schwer zu sagen.
Funktioniert leider anscheinend nicht immer zuverlässig (wobei ich irgendwie nie Probleme hatte).
Einfach mal später nochmal probieren oder per Kommandozeile wie im Wiki beschrieben
https://wiki.fhem.de/wiki/Signalbot
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 17:33:40
noch eine Frage, muss ich selbst das registerMethod attribut von sms auf voice stellen? oder macht das das Modul automatisch, wenn ich voise einstelle?


wenn ich einfach ein captcha hole (nicht auf dem pi, und eintrage kommt folgende Fehlermeldung

Error with captcha:Error in registerWithCaptcha:ExternalServiceFailureException StatusCode: 502

oder muss ich das captcha auf dem pi im Browser holen?
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 17:47:04
Hallo,

ich kann das im wiki nicht finden:

oder per Kommandozeile wie im Wiki beschrieben
matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 09 Februar 2025, 17:53:29
Wiki:
SMS: Hier sollte relativ zeitnah eine SMS mit einem 6-stelligen Code übermittelt werden
Voice: Die Registrierung per Sprachanruf ist mit einigen Hürden versehen. Man muss erst mit SMS registrieren, 1 Minute warten, dann mit Voice. Ab Signalbot V3.19 wird dieser Vorgang automatisiert. Dauert aber durch die zwingende Wartezeit von 1 Minute ein wenig.

Wiki - in der Troubleshooting Tabelle am Schluss:

Alternativ kann die Registrierung auch in der Kommandozeile vorgenommen werden
sudo service signal stop

cd /opt/signal/bin/

sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +4912456 register --voice --captcha signalcaptcha://03AG....

sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +4912456 verify 12345

sudo service signal start
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 18:33:15
wann muss ich den captcha holen, vor den o.g.Befehlen? Muss ich nicht erst per sms Methode registrieren (mit einem neuen  captcha)?

ich bekomme immer invalid captcha given
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: rudolfkoenig am 09 Februar 2025, 19:51:20
Bei mir hat Folgendes geklappt:

Browser, open javascript console: preserve log!, then
  https://signalcaptchas.org/registration/generate
Copy the captcha-string starting with signal-hcaptcha

./signal-cli0135_ubuntu2004_amd64 -u +49XXX register --captcha 'signal-hcaptcha....'
wait one minute
./signal-cli0135_ubuntu2004_amd64 -u +49XXX register --voice --captcha 'signal-hcaptcha....'
note the number
./signal-cli0135_ubuntu2004_amd64 -u +49XXX verify ...
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 20:44:19
Hallo,

ich habe es mit einer bestehenden Signal-Handynummer probiert, geht tadellos, per SMS ohne captcha, hab ich aber wieder gelöscht, da hoher Signal Verkehr.

Ich möchte es gern auf einer Festnetznummer probieren.


Ich bin nicht ganz sicher, ob ich die zeitlichen Abläufe richtig mache/verstanden habe:

Ich versuche es manuell, per ssh auf dem pi, nachdem ich den Signal.Service gestoppt habe:


1. welche Form hat der captcha (mit oder ohne: signalcaptcha://), und vor allem, in welcher zeitlichen Abfolge muss er geholt werden, wie lange ist er gültig, und muss er auf dem gleichen rechner geholt werden oder reicht es wie bei mir der signal-cli läuft auf dem PI ich hole den captcha am PC.:

sudo -E -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +49XXXXXXXXXXXXXX register --captcha signalcaptcha://signal-hcaptcha.XXXX...
2. muss man dann genau eine minute warten für --voice oder kann es etwas mehr (wie viel max?) sein, mit dem gleichen captcha wie oben, oder muss ein neuer geholt werden?

Bei mir ist schon 1. nicht erfolgreich:  Invalid captcha given.
matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 09 Februar 2025, 20:54:34
ähnliches gilt für meine Versuche in FHEM:

Muss ich hier auch selbsständig erst das sms und dann voice attribut ändern?

wann muss ich den captcha senden?

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 10 Februar 2025, 09:11:03
Ist schon eine Weile her seit ich das zum letzten Mal probiert habe, aber der Ablauf ist so, dass Signalbot bei "voice" automatisch erst per SMS registriert. Da braucht er dann den Captcha Code, was mit dem Registry Hack unter Windows halb-automatisch ablaufen sollte.
Signalbot wartet dann 60s und sendet das selbe Captcha nochmal mit "voice" - zumindest früher war das Captcha wohl so lange gültig. Dann sollte der Anruf kommen.
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 10 Februar 2025, 18:30:58
was mit dem Registry Hack unter Windows halb-automatisch ablaufen sollte
und auf einem Linux PC?

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 10 Februar 2025, 19:07:27
Unter Linux hat sich das nie richtig automatisieren lassen - je nach Browser etc. alles anders.
Erleichtert aber auch nur den copy&paste Schritt des Captcha - das war früher etwas komplizierter. Inzwischen nimmt das wahrscheinlich sowieso keiner mehr her.
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 11 Februar 2025, 07:32:46
Hallo,

es scheint ein Problem beim SMS nbieter auf signalseite zu sein, auch am Handy kann ich kiene Festnetznummer registrieren.

Hab jetzt eine andere Lösung mit Mobilnummer, funktioniert.

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 11 Februar 2025, 07:42:58
noch eins, wie bekomme ich die ganzen Accounts der Fehlversuche wieder raus:

WARN  MultiAccountManager - Ignoring +49XXXXXXXXXXXXX: User is not registered. (NotRegisteredException)
matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 11 Februar 2025, 10:30:54
Die einfachste Methode dürfte sein, die Nummern direkt in der signal-cli Registrierung (/var/lib/signal-cli/data/accounts.json) zu löschen.
Vorher natürlich den Service stoppen und als user "signal-cli" editieren.
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 11 Februar 2025, 13:16:07
Hi,

wenn ich mich als "signal-cli" einloggen will, verlangt er ein Passwort, wie lautet das?

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 11 Februar 2025, 13:32:57
Wie wärs mit
sudo -u signal-cli bashoder gleich
sudo -u signal-cli nano /var/lib/signal-cli/data/accounts.json
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 11 Februar 2025, 18:42:25
Hallo,

hat funktioniert, Danke.

Jetzt habe ich nur noch ein Problem, ich habe zwei Kontakte in fhem, beide in einer Gruppe, das senden per reply funktioniert und auch an die Gruppe, aber direkt an den zweiten Kontakt geht nichts raus, immer sentMsgTimestamp pending. Der zwite kontakt kann aber an FHEM senden.

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 11 Februar 2025, 19:10:59
Eventuell "trust" herstellen?
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 11 Februar 2025, 21:22:42
Hall,

wenn ich set fhem_signal trust all mache, kommt:

not implemented
ich kann nur all auswählen, obwohl ich zwei Kontakte habe und mit get auch angezeigt bekomme.

matze1999
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: matze1999 am 12 Februar 2025, 08:45:39
Hallo,

ich habe gerade herausgefunden, das die Sicherheitsummern des zweiten Kontaktes nicht übereinstimmen, aber ich kann sie auch nicht ändern, weder am Telefon noch in FHEM.

mit set signalFhem trustVerified geht es nicht.

Wahrcheinlich fehlt mir hier ein grundsätzliches Versständnis, warum der erste Kontakt tadellos funktioniert und beim zweiten diese Probleme auftauchen.

matze199
Titel: Aw: Anfängerprobleme Signalbot
Beitrag von: Adimarantis am 12 Februar 2025, 09:13:48
Die unterschiedliche Sicherheitsnummer dürfte die Ursache sein.
Der Grund dafür und wie das zu beheben ist, ist eher eine Sache für den generellen Signal Support.
Ich würde mal probieren in FHEM ein "set contact delete" zu machen und dann erneut eine Nachricht an FHEM senden - vielleicht aktualisiert es dann.