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

Adimarantis

Zitat von: octek0815 am 28 April 2023, 07:34:51ist es möglich die registrierte Rufnummer zu ändern?
Du kannst mehrere Nummer registrieren und zwischen diesen wechseln (set signalAccount)
Theoretisch kannst du die alte Nummer mit der versteckten Option "set unregister" (geht nur über Eingabezeile) entfernen - dadurch wird sie aber auch nur lokal entfernt - beim Signal Server bleibt die Registrierung m.E. erhalten.

Du kannst sogar mehrere Instanzen von Signalbot haben die dann auf verschiedene Nummern hören.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

HarryT

Hi

The version on https://github.com/exquo/signal-libs-build/releases/tag/libsignal_v0.22.2 worked on aarch64. And it solved my issue.

Thanks for your work and your help.

ps the tar.gz file contains libsignal_jni.so  and not lib.so

{HT}
FHEM 6.3 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.

octek0815

Zitat von: Adimarantis am 28 April 2023, 08:40:26
Zitat von: octek0815 am 28 April 2023, 07:34:51ist es möglich die registrierte Rufnummer zu ändern?
Du kannst mehrere Nummer registrieren und zwischen diesen wechseln (set signalAccount)
Theoretisch kannst du die alte Nummer mit der versteckten Option "set unregister" (geht nur über Eingabezeile) entfernen - dadurch wird sie aber auch nur lokal entfernt - beim Signal Server bleibt die Registrierung m.E. erhalten.

Du kannst sogar mehrere Instanzen von Signalbot haben die dann auf verschiedene Nummern hören.

Alles klar, vielen Dank.

Deekay2000

Hallo,

ich habe heute OS-Updates eingespielt, und danach startet signal-cli nicht mehr  :(

Signal-cli ist die aktuellste Version:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.11.8 (libsignal-client v0.22.0)
System library path:          /usr/lib
System architecture:          armhf
System GLIBC version:         2.28
Using Java version:           /opt/java/bin/java
Native Java 17.0              no (current version:17.0)

Java bleibt mit einem Fehler hängen:
Failed to load native library:sqlite-3.41.2.1-dd6d22dc-38df-4e7c-9249-a1f400e18711-libsqlitejdbc.so. osinfo: Linux/aarch64
java.lang.UnsatisfiedLinkError: /tmp/sqlite-3.41.2.1-dd6d22dc-38df-4e7c-9249-a1f400e18711-libsqlitejdbc.so: /tmp/sqlite-3.41.2.1-dd6d22dc-38df-4e7c-9249-a1f400e18711-libsqlitejdbc.so: wrong ELF class: ELFCLASS64 (Possible cause: can't load AARCH64 .so on a ARM platform)

Hat noch Jemand Probleme mit dem Dienst, oder bin ich der Einzige?

Viele Grüße,
Daniel

Adimarantis

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

Deekay2000

Danke, genau das war es! Mit dem Eintrag in der /boot/config.txt und einem anschließenden Neustart läuft signal-cli wieder.

Nur für das Wiki: ich habe noch Buster im Einsatz - offenbar wurde hier erst im April umgestellt, letzten Monat ging es noch nach den OS-Updates.

Viele Grüße,
Daniel

FhemPiUser

Hallo,

seit Kurzem hat mein signal-Prozess in "top" immer 100% CPU, womit der Load des Raspberries auf >2 steigt. Fhem und auch Signalbot in Fhem funktionieren aber (wenn auch langsam). Die CPU Auslastung des fhem-Prozesses ist normal.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 5322 signal-+  20   0  378764  92096  18836 S 100,0   9,2   9:57.45 java

Ein Neustart des Prozesses mit "sudo service signal restart" und auch ein Neustarten des Raspberries hat keine Abhilfe geschaffen.

Im syslog ist nichts auffälliges zu finden bis auf eine Warnung "No profile name set":

May  7 09:50:41 rasp3fhem systemd[1]: Starting Send secure messages to Signal clients...
May  7 09:51:12 rasp3fhem signal-cli[5322]: INFO  DaemonCommand - Starting daemon in multi-account mode
May  7 09:51:13 rasp3fhem signal-cli[5322]: INFO  TransportBuilder - Using transport dbus-java-transport-native-unixsocket to connect to unix:path=/var/run/dbus/system_bus_socket
May  7 09:51:14 rasp3fhem systemd[1]: Started Send secure messages to Signal clients.
May  7 09:51:14 rasp3fhem signal-cli[5322]: INFO  DaemonCommand - DBus daemon running on SYSTEM bus: org.asamk.Signal
May  7 09:55:01 rasp3fhem CRON[6016]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
May  7 09:59:59 rasp3fhem signal-cli[5322]: WARN  ManagerImpl - No profile name set. When sending a message it's recommended to set a profile name wit the updateProfile command. This may become mandatory in the future.

Unter /opt/signal/lib sind folgende lib-Versions:

-rw-r--r-- 1 signal-cli signal-cli    17536 Jan  2  1970 annotations-13.0.jar
-rw-r--r-- 1 signal-cli signal-cli   121908 Jan  2  1970 argparse4j-0.9.0.jar
-rw-r--r-- 1 signal-cli signal-cli  5867298 Jan  2  1970 bcprov-jdk15on-1.70.jar
-rw-r--r-- 1 signal-cli signal-cli   306047 Jan  2  1970 dbus-java-core-4.2.1.jar
-rw-r--r-- 1 signal-cli signal-cli     7864 Jan  2  1970 dbus-java-transport-native-unixsocket-4.2.1.jar
-rw-r--r-- 1 signal-cli signal-cli   161902 Jan  2  1970 HikariCP-5.0.1.jar
-rw-r--r-- 1 signal-cli signal-cli    75717 Jan  2  1970 jackson-annotations-2.13.4.jar
-rw-r--r-- 1 signal-cli signal-cli   374895 Jan  2  1970 jackson-core-2.13.4.jar
-rw-r--r-- 1 signal-cli signal-cli  1536894 Jan  2  1970 jackson-databind-2.13.4.jar
-rw-r--r-- 1 signal-cli signal-cli    19936 Jan  2  1970 jsr305-3.0.2.jar
-rw-r--r-- 1 signal-cli signal-cli     4716 Jan  2  1970 jul-to-slf4j-2.0.3.jar
-rw-r--r-- 1 signal-cli signal-cli  1509405 Jan  2  1970 kotlin-stdlib-1.6.20.jar
-rw-r--r-- 1 signal-cli signal-cli   200631 Jan  2  1970 kotlin-stdlib-common-1.6.20.jar
-rw-r--r-- 1 signal-cli signal-cli    23898 Jan  2  1970 kotlin-stdlib-jdk7-1.6.20.jar
-rw-r--r-- 1 signal-cli signal-cli    17773 Jan  2  1970 kotlin-stdlib-jdk8-1.6.20.jar
-rw-r--r-- 1 signal-cli signal-cli   687037 Jan  2  1970 lib.jar
-rw-r--r-- 1 signal-cli signal-cli   365199 Jan  2  1970 libphonenumber-8.12.54.jar
-rw-r--r-- 1 signal-cli signal-cli  9040106 Okt  7  2022 libsignal-client-0.20.0.jar
-rw-r--r-- 1 signal-cli signal-cli   266201 Jan  2  1970 logback-classic-1.4.3.jar
-rw-r--r-- 1 signal-cli signal-cli   576787 Jan  2  1970 logback-core-1.4.3.jar
-rw-r--r-- 1 signal-cli signal-cli   782603 Jan  2  1970 okhttp-4.10.0.jar
-rw-r--r-- 1 signal-cli signal-cli   345115 Jan  2  1970 okio-jvm-3.2.0.jar
-rw-r--r-- 1 signal-cli signal-cli   704122 Jan  2  1970 protobuf-javalite-3.21.7.jar
-rw-r--r-- 1 signal-cli signal-cli    11369 Jan  2  1970 reactive-streams-1.0.3.jar
-rw-r--r-- 1 signal-cli signal-cli  2648536 Jan  2  1970 rxjava-3.0.13.jar
-rw-r--r-- 1 signal-cli signal-cli   384533 Jan  2  1970 signal-cli-0.11.3.jar
-rw-r--r-- 1 signal-cli signal-cli  2070647 Jan  2  1970 signal-service-java-2.15.3_unofficial_61.jar
-rw-r--r-- 1 signal-cli signal-cli    61409 Jan  2  1970 slf4j-api-2.0.3.jar
-rw-r--r-- 1 signal-cli signal-cli 12718409 Jan  2  1970 sqlite-jdbc-3.39.3.0.jar

Ein "sudo -E ./signal_install.sh test" gibt Folgendes zurück:

You chose the following option: test

Start signal-cli service
Checking installation via dbus-send command...unexpected reply
method return time=1683448496.418892 sender=:1.331 -> destination=:1.333 serial=5 reply_serial=2 string "0.11.3"
Sending a message via perl Protocol::DBus...reply received

Jemand eine Idee, wie ich die Ursache herausfinden und beheben kann?

P.S. Das Profil habe ich versucht wie im Wiki beschrieben mit "sudo -E ./signal_install.sh name" zu setzen, hat aber nicht geklappt. "arch" gibt "armv7l" zurück. und "JAVA_HOME" ist auf die Java17-Installation (openjdk 17.0.1 2021-10-19) gesetzt. System ist Raspian Buster, welches genau wie fhem auf aktuellem Stand ist.

Adimarantis

Ich sehe da jetzt auch nichts ungewöhnliches.
Wie schaut denn dein Gesamtsystem aus? Hast du z.B. noch genug freies RAM?

Du könntest auf jeden Fall mal versuchen das logging zu erhöhen und das in ein extra Logfile zu schreiben. Siehe
https://github.com/AsamK/signal-cli/blob/master/man/signal-cli.1.adoc

Das mit dem Profile darf nichts ausmachen. Das sollte aber übrigens inzwischen auch aus FHEM heraus gehen (set updateProfile).
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

FhemPiUser

ok, danke. Ich versuche es mal mit dem Logging.

Die Version von signal scheint nicht die Neueste zu sein. Oder hilft es einfach nochmal mit dem install-Skript neu drüber zu installieren?

RAM ist soweit ich das sehen kann ok, schwankt aber. Free zeigt:

              total        used        free      shared  buff/cache   available
Mem:         999036      391120      187540        6700      420376      539220
Swap:             0           0           0
...
              total        used        free      shared  buff/cache   available
Mem:         999036      313792      264872        6700      420372      616552


Habe jetzt nochmal mit dem "sudo -E ./signal_install.sh" drüber installiert bzw. auf signal-cli:0.11.8 aktualisiert, aber leider weiterhin 100% CPU...

Prozess sieht so aus:

signal-+  5287     1 99 12:42 ?        00:00:40 /opt/java/bin/java -Xms2m -classpath /opt/signal/lib/signal-cli-0.11.8.jar:/opt/signal/lib/lib.jar:/opt/signal/lib/bcprov-jdk15on-1.70.jar:/opt/signal/lib/signal-service-java-2.15.3_unofficial_68.jar:/opt/signal/lib/jackson-module-kotlin-2.14.2.jar:/opt/signal/lib/jackson-annotations-2.14.2.jar:/opt/signal/lib/jackson-core-2.14.2.jar:/opt/signal/lib/jackson-databind-2.14.2.jar:/opt/signal/lib/argparse4j-0.9.0.jar:/opt/signal/lib/dbus-java-transport-native-unixsocket-4.3.0.jar:/opt/signal/lib/jul-to-slf4j-2.0.7.jar:/opt/signal/lib/logback-classic-1.4.6.jar:/opt/signal/lib/dbus-java-core-4.3.0.jar:/opt/signal/lib/HikariCP-5.0.1.jar:/opt/signal/lib/slf4j-api-2.0.7.jar:/opt/signal/lib/logback-core-1.4.6.jar:/opt/signal/lib/protobuf-javalite-3.22.2.jar:/opt/signal/lib/sqlite-jdbc-3.41.2.1.jar:/opt/signal/lib/jsr305-3.0.2.jar:/opt/signal/lib/okhttp-4.10.0.jar:/opt/signal/lib/okio-jvm-3.3.0.jar:/opt/signal/lib/kotlin-stdlib-jdk8-1.8.0.jar:/opt/signal/lib/libphonenumber-8.12.54.jar:/opt/signal/lib/libsignal-client-0.22.0.jar:/opt/signal/lib/r java-3.0.13.jar:/opt/signal/lib/kotlin-reflect-1.5.32.jar:/opt/signal/lib/kotlin-stdlib-jdk7-1.8.0.jar:/opt/signal/lib/kotlin-stdlib-1.8.0.jar:/opt/signal/lib/reactive-streams-1.0.3.jar:/opt/signal/lib/kotlin-stdlib-common-1.8.0.jar:/opt/signal/lib/annotations-13.0.jar org.asamk.signal.Main --config /var/lib/signal-cli daemon --system

Die config unter /etc/systemd/system/signal.service sieht so aus:

[Unit]
Description=Send secure messages to Signal clients
Requires=dbus.socket network-online.target
After=dbus.socket network-online.target
Wants=network-online.target

[Service]
Type=dbus
Environment="SIGNAL_CLI_OPTS=-Xms2m"
Environment="JAVA_HOME=/opt/java"
ExecStartPre=/bin/sleep 10
ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli daemon --system
User=signal-cli
BusName=org.asamk.Signal

[Install]
WantedBy=multi-user.target
Alias=dbus-org.asamk.Signal.service

Oder ist die Java Version "17.0.1 2021-10-19" zu alt? Ich finde aber auch kein Update mit apt-get für mein altes Raspian OS Buster...

FhemPiUser

Ich habe jetzt nochmal mit "sudo -E ./signal_install.sh remove" alles gelöscht und mit "sudo -E ./signal_install.sh" mit anschließendem restore der config alles neu installiert mit dem nativen Java17. Trotzdem nimmt weiterhin der signal-Prozess 100% CPU...

FhemPiUser

Wenn ich alles neu installiere ohne die config zu restoren, dann bleibt der signal-Prozess unter 100%.

Ich versuche jetzt die config neu aufzubauen und mich neu zu registrieren. Jedoch nach Abarbeiten des Captchas und Powershell (oder manuellem copy&paste des links in fhem) die Fehlermeldung "Error with captcha:Error in registerWithCaptcha:RateLimitException [429] Rate limit exceeded: 429".

Kann hier jemand helfen?

Adimarantis

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

FhemPiUser

selbst nach 10 Stunden Warten kommt diese Meldung.

Error with captcha:Error in registerWithCaptcha:RateLimitException [429] Rate limit exceeded: 429

Ist das normal?

Adimarantis

War während deiner Wartezeit signal-cli aktiv? Nicht das der selbständig immer wieder was sendet und damit die Verbindung  weiter zuballert. Stopp mal den Service und lass den ein paar Stunden aus.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Hier noch ein Hinweis dazu im signal-cli Projekt:
https://github.com/AsamK/signal-cli/issues/1225

Evtl. zwischendrin mal SMS probieren (oder Voice - je nachdem was du probiert hast)
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)