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

matze1999

Hallo,

getIdentityDetails geht nicht, da die Nummer in der Liste nicht auftaucht.

Ich hab jetzt mal noch ein anderen Signalaccount versucht, ich kann an Fhem senden, die Nachricht kommt auch in fhem an, wird allerdings nicht als "gelesen" markiert. Aber auch diesen Kontakt kann ich nicht anlegen.

Zum Trust: ich weiss gar nicht, wie das geht? welchen QR code, wohin?

matze

Adimarantis

Das ist das Problem - der QR-Code wird von getIdentityDetails erzeugt.
Vielleicht kannst du beide Aktionen (Empfangen der Nachricht und versuchtes Senden) mal mit verbose=5 mitloggen.
Signal-Cli schreibt auch Dinge ins syslog - vielleicht findet sich auch da noch was.

Vielleicht auch einfach ein Versionsproblem. Manchmal ist ein älteres signal-cli nicht mehr 100% kompatibel zum offiziellen Signal Messenger - und wir sind schon zwei minor versions hinten dran (FHEM: 0.13.20 - Github: 0.13.22) - da schau ich ob ich übers WE ein update teste

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)

matze1999

Hallo,

verbose ist schon auf 5.

Ich hab jetzt erst mal eine Lösung (für mich):

Auf einem der registrierten Kontakte wird eine Gruppe inkl. Fhem angelegt, zu der können neue Nummern hinzugefügt werden. Diese Gruppe erscheint dann auch in fhem, und kann genutzt werden. Nachrichten an diese Gruppe aus Fhem erreichen alle Gruppenmitglieder. Bei get groups taucht dann auch der neue Kontaktname auf.

Zusatz:

"Name" ist der neue Kontakt, den ich nicht direkt in fhem anlegen kann, "Kontakt1" ist der in fhem vorhandene Kontakt

getGroupProperties

Group Neu
==============================
Description:
IsMember:yes
SendMessage:EVERY_MEMBER
EditDetails:EVERY_MEMBER
IsBlocked:no
IsAdmin:no

Members:Protocol::DBus::Type::Array=ARRAY(0x555610b01f80),Name,Kontakt1
Requesting members:
Admins: Kontakt1
Pending members:


matze

matze1999

Hier mal die Logs,

empfangen der Nachricht in fhem:

2026.01.09 15:08:25 5: fhem_Signal: Sync Callback: MessageReceived Args:1767967705829,9fe1ca61-7dd0-46e1-998d-7f41ec4bcd39,Protocol::DBus::Type::Array=ARRAY(0x55561f3d2b48),Fhem,Protocol::DBus::Type::Array=ARRAY(0x555621309d08)
2026.01.09 15:08:25 5: fhem_Signal: Message Callback
2026.01.09 15:08:25 4: fhem_Signal: Message from name : Fhem processed
2026.01.09 15:08:25 5: fhem_Signal: Sync Callback: MessageReceivedV2 Args:1767967705829,9fe1ca61-7dd0-46e1-998d-7f41ec4bcd39,Protocol::DBus::Type::Array=ARRAY(0x55561da638a8),Fhem,Protocol::DBus::Type::Dict=HASH(0x5556205798c0)
2026.01.09 15:08:25 5: fhem_Signal: Message CallbackV2 - ignored

und senden aus fhem:

2026.01.09 15:10:42 3: fhem_Signal: Before parse:@+491512345678 fhemtest:
2026.01.09 15:10:42 4: fhem_Signal: sendMessage called for +491512345678::fhemtest
2026.01.09 15:10:42 5: fhem_Signal: Dbus Call sync:0 sendMessage(sasas) /org/asamk/Signal/_491712345678 Args:fhemtest,ARRAY(0x55561d6c4700),ARRAY(0x55561f4ca170)
2026.01.09 15:10:43 4: fhem_Signal: Dbus Error for: sendMessage (details in reading lasterr)

lasterror ist leer

Adimarantis

Ich denke das da höchstens das syslog (z.B. mit journalctl -f -n 500) mehr Aufschluss gibt.

Probier aber erstmal ob ein signal-cli update was hilft. Neuer Installer ist eingecheckt. Mit einem "set reinit" wird er in www/signal installiert.

Ich habe jetzt auch eine neue Version von Signalbot online gestellt, die ggf. darauf hinweist, wenn über den Installer eine neuere signal-cli Version zur Verfügung stehen würde. Allersdings wird dieser eben nur bei Neustart oder set reinit aktualisiert.

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)

matze1999

Hallo,

ein "journalctl -f -n 500" zeigt zwar die regelmäßigen Signalnachrichten an, bei contactadd bleibt es aber "stumm".

Angezeigt werden aber Infos im Zusammenhang des per group angelegten Kontakts, der aber nicht in der Kontaktliste auftaucht:

Jan 10 15:14:05 fhem signal-cli[1713]: Envelope from: "Name" 47c9b287-30f4-4342-b783-0f260e016c21 (device: 1) to +491712345678
Jan 10 15:14:05 fhem signal-cli[1713]: Timestamp: 1768054443837 (2026-01-10T14:14:03.837Z)
Jan 10 15:14:05 fhem signal-cli[1713]: Server timestamps: received: 1768054445381 (2026-01-10T14:14:05.381Z) delivered: 1768054445383 (2026-01-10T14:14:05.383Z)
Jan 10 15:14:05 fhem signal-cli[1713]: Sent by unidentified/sealed sender
Jan 10 15:14:05 fhem signal-cli[1713]: Received a receipt message
Jan 10 15:14:05 fhem signal-cli[1713]:   When: 1768054443837 (2026-01-10T14:14:03.837Z)
Jan 10 15:14:05 fhem signal-cli[1713]:   Is delivery receipt
Jan 10 15:14:05 fhem signal-cli[1713]:   Timestamps:
Jan 10 15:14:05 fhem signal-cli[1713]:   - 1768054442695 (2026-01-10T14:14:02.695Z)


nach einem "set reinit" hat sich nichts geändert.

matze

Adimarantis

Nach dem "set reinit" wird das aktuelle Installer Script geladen.
Das muss von einer Shell noch ausgeführt werden:
sudo www/signal/signal_install.sh
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

matze1999

Hallo,

update v0n 0.13.11 auf 0.13.22 und siehe da, jetzt klappt alles, neuer Kontakt ohne Probleme hinzugefügt.

Vielen Dank, mein Problem ist gelöst,

matze

FilliFairy

Hallo,
nach dem letzten Update auf 0.13.22 startet der signal.service nicht mehr. Hier die Fehlermeldungen und die Ergebnisse der Hinweise zur Fehlerbehebung aus dem Wiki:

signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2026-02-28 11:39:20 CET; 4min 37s ago
  Process: 9951 ExecStartPre=/bin/sleep 10 (code=exited, status=0/SUCCESS)
  Process: 10174 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli daemon --system (code=exited, stat
 Main PID: 10174 (code=exited, status=1/FAILURE)
Feb 28 11:39:06 Raspi06 systemd[1]: Starting Send secure messages to Signal clients...
Feb 28 11:39:20 Raspi06 signal-cli[10174]: WARN  Manager - Failed to call libsignal-client: /tmp/libsignal82849004091
Feb 28 11:39:20 Raspi06 signal-cli[10174]: Missing required native library dependency: libsignal-client

 sudo ldconfig -v | grep libsignal_jni.so
ldconfig: Pfad »/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: Pfad »/usr/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: /lib/arm-linux-gnueabihf/ld-2.28.so is the dynamic linker, ignoring
ldconfig: /lib/ld-linux.so.3 is the dynamic linker, ignoring

 find / -name libsignal-client-*.jar 2>/dev/null
/opt/signal/lib/libsignal-client-0.86.1.jar

 cat /tmp/signal_install.log
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Mir ist klar, dass ich mit buster eine relativ alte Version verwende. Einen Hinweis, dass signal-cli mit buster nicht mehr läuft habe ich bisher nicht entdeckt.

Kennt jemand das Fehlerbild oder hat ggf. Hinweise wo ich noch suchen könnte?
Hat jemand signal-cli 0.13.22 unter buster am Laufen?

Vielen Dank für Eure Mühe Euch mit dem Fall zu beschäftigen!

Gruß
Gerhard
FHEM auf Raspi mit
HMLAN: HM-CC-RT-DN,HM-CC-TC,HM-CC-VD,HM-LC-BL1-FM,HM-LC-SW1-PL2,HM-LC-SW2-FM,HM-LC-Sw1PBU-FM,HM-RC-4-B,HM-SCI-3-FM,HM-SEC-MDIR,HM-SEC-MDIR-2,HM-SEC-SC-2,HM-SEC-TIS,HM-Sen-MDIR-O,HM-WDS10-TH-O,HM-WDS40-TH-I
OWDevice: DS18B20,DS2408,DS2413,DS2438

Adimarantis

Ich vermute dass es tatsächlich an "Buster" liegt.
signal-cli verwendet eine native library (genau die wird angemeckert) die ich für den Raspberry von einer Site runterlade, die diese vorgebaut anbietet.
Wahrscheinlich haben diese ihre Build Umgebungen aktualisiert, was zu dem Problem führen kann, dass eine neuere glibc vorrausgesetzt wird.

signal-cli ist generell leider gerne vorne dabei, wenn es dabei geht das neuste vom neuen zu verwenden. Mit der aktuellen Version 0.13.24 haben sie jetzt auf Java 25 umgestellt - und das gibt es für den Raspberry standardmässig noch nicht mal für Trixie geschweige denn Bookworm oder älter.

Bis zur 0.13.23 reicht Java 21 - aber auch das gibt es z.B. auf dem von mir verwendeten 64bit Bookworm nicht. Daher muss ich auch die von einer alternativen Quelle installieren. Das ist aber schon eine Weile so.

Daher wird 0.13.24 von mir aktuell nicht angeboten. Muss erst den Installer umbauen und testen - da komme ich aber aktuell nicht dazu.

Für dich heisst das wohl aktualisieren - am Besten gleich auf Trixie damit wieder eine Zeit Ruhe ist.

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)

Adimarantis

Kleines Update. Hab jetzt doch noch auf die schnelle versucht die 0.13.24 mit Java 25 zu installieren.

Für aarch64 (also Raspberry mit echten 64 Bit Betriebssystem) klappt das, weil ein Java 25 auf adoptium.net bereits vorhanden ist.

Für die alten 32 Bit armv7l hatte ich damals eigens ein Java 21 kompiliert. Dafür habe ich aktuell weder die Zeit noch eine geeignete Umgebung. Wer also nicht auf 64 Bit aarch64 umsteigt oder sich ein Java 25 übersetzt wird wohl auf signal-cli 0.13.23 bleiben müssen - in der Hoffnung dass die Version noch länger kompatibel bleibt.

Für die aarch64 Anwender hängt der neue Installer an diesem Post. Werde ich jetzt nicht offiziell releasen, weil sonst alle armv7l user auf der Strecke bleiben.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)