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

andies

Irgendwas passt immer noch nicht. Inzwischen habe ich den Pfad richtig eingestellt
sudo systemctl status signal.service
● signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-06-18 21:57:27 CEST; 3min 48s ago
Main PID: 1747 (java)
    Tasks: 31 (limit: 2060)
   CGroup: /system.slice/signal.service
           └─1747 /home/pi/.sdkman/candidates/java/17.0.1-librca/bin/java -Xms2m -classpath /opt/signal/lib/signal-cli-0.9.2.jar:/opt/signal/lib/lib.jar

Jun 18 21:56:11 raspfhem systemd[1]: Starting Send secure messages to Signal clients...
Jun 18 21:57:27 raspfhem signal-cli[1747]: INFO DaemonCommand - Exported dbus object: /org/asamk/Signal/_493039831419
Jun 18 21:57:27 raspfhem systemd[1]: Started Send secure messages to Signal clients.


und das heißt, Java Version 17 läuft. Aber wenn ich signal_install.sh laufen lasse, erhalte ich nach wie vor
sudo ./signal_install.sh
./signal_install.sh: Zeile 27: /bin/java: Datei oder Verzeichnis nicht gefunden
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.9.2
System library path:          /usr/lib
System architecture:          armhf
System GLIBC version:         2.28
Using Java version:           11.0    <====== DAS IST FALSCH
This will update system packages, install or uninstall signal-cli


In Zeile 27 steht
JVER=`$JAVA_HOME/bin/java --version | grep -m1 -o '[0-9][0-9]\.[0-9]'
Liegt das am Pfad? JAVA_HOME lautet ja bei mir sinngemäß
/home/pi/.sdkman/candidates/java/17.0.1-librca

PS
printenv JAVA_HOME
/home/pi/.sdkman/candidates/java/current
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Auch ein anderer Pfad hat nicht geholfen, bei
sudo systemctl status signal.service
● signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-06-18 22:19:35 CEST; 51s ago
Main PID: 2126 (java)
    Tasks: 33 (limit: 2060)
   CGroup: /system.slice/signal.service
           └─2126 /home/pi/.sdkman/candidates/java/current/bin/java -Xms2m -classpath /opt/signal/lib/signal-cli-0.9.2.jar:/opt/signal/lib/lib.jar:/opt/

Jun 18 22:19:13 raspfhem systemd[1]: Starting Send secure messages to Signal clients...
Jun 18 22:19:35 raspfhem signal-cli[2126]: INFO DaemonCommand - Exported dbus object: /org/asamk/Signal/_493039831419
Jun 18 22:19:35 raspfhem systemd[1]: Started Send secure messages to Signal clients.

wieder das gleiche Ergebnis
sudo ./signal_install.sh
./signal_install.sh: Zeile 27: /bin/java: Datei oder Verzeichnis nicht gefunden
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.9.2
System library path:          /usr/lib
System architecture:          armhf
System GLIBC version:         2.28
Using Java version:           11.0
This will update system packages, install or uninstall signal-cli
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Gisbert

Hallo andies,

da ich Java8 für UniFi benötige, musste ich verhindern, dass UniFi die aktuelle Java-Version nimmt.

Dazu habe ich in der Datei .bashrc in der 1. Zeile ergänzt:
export JAVA_HOME=
Damit nimmt UniFi die Version 8 und Signal die aktuell installierte Version. Es kann sein, dass noch eine 2. Sache eingestellt werden muss, dass müsste ich aber extra nachschauen.

Probier's mal (ohne Gewähr auf Erfolg), ich warte auf eine Rückmeldung und schau ggf. nach.

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

selfarian

Hallo zusammen,

ich habe jetzt entsprechend der letzten Posts hier meine JAVA Version auf 17 aktualisiert, die neue signal_install.sh heruntergeladen und signal installiert. Das ging ziemlich gut. Leider lässt sich der signal-Service aber nicht starten:
● 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 Mon 2022-06-20 13:37:43 CEST; 7min ago
    Process: 10419 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli daemon --system (code=exited, status=2)
   Main PID: 10419 (code=exited, status=2)
        CPU: 15.709s

Jun 20 13:37:43 fhempi signal-cli[10419]:         at com.fasterxml.jackson.databind.exc.MismatchedInputException.from(MismatchedInputException.java:59)
Jun 20 13:37:43 fhempi signal-cli[10419]:         at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4765)
Jun 20 13:37:43 fhempi signal-cli[10419]:         at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4667)
Jun 20 13:37:43 fhempi signal-cli[10419]:         at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3666)
Jun 20 13:37:43 fhempi signal-cli[10419]:         at org.asamk.signal.manager.storage.recipients.RecipientStore.load(RecipientStore.java:59)
Jun 20 13:37:43 fhempi signal-cli[10419]:         ... 28 more
Jun 20 13:37:43 fhempi systemd[1]: signal.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jun 20 13:37:43 fhempi systemd[1]: signal.service: Failed with result 'exit-code'.
Jun 20 13:37:43 fhempi systemd[1]: Failed to start Send secure messages to Signal clients.
Jun 20 13:37:43 fhempi systemd[1]: signal.service: Consumed 15.709s CPU time.


Hat jemand eventuell eine Idee?

Vielen Dank!
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

Adimarantis

Das schaut fast nach einem Problem mit der Config aus. Eventuell war der Versionssprung zu hoch?
Du könntest im Script die Version mal auf 0.10.4 stellen und neu installieren.

Um zu prüfen ob es wirklich die Config ist, mal den Inhalt vom Order /var/lib/signal-cli woanders wegsichern und sehen um er dann zumindest unregistriert startet

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

selfarian

Hallo Jörg,

ohne Config startet er leider auch nicht. Mit 10.04 hat er zumindest eine andere Fehlermeldung:
● 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 Mon 2022-06-20 18:45:47 CEST; 41s ago
    Process: 15480 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli daemon --system (code=exited, status=1/FAILURE)
   Main PID: 15480 (code=exited, status=1/FAILURE)
        CPU: 12.847s

Jun 20 18:45:08 fhempi systemd[1]: Starting Send secure messages to Signal clients...
Jun 20 18:45:15 fhempi signal-cli[15480]: OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource13041507136788151969.so which might have disabled stack guard. The VM will try to fix the stack guard now.
Jun 20 18:45:15 fhempi signal-cli[15480]: It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
Jun 20 18:45:15 fhempi signal-cli[15480]: WARN  ServiceConfig - Failed to call libsignal-client: /tmp/resource13041507136788151969.so: /tmp/resource13041507136788151969.so: falsche ELF-Klasse: ELFCLASS64 (Possible cause: can't load AMD >
Jun 20 18:45:15 fhempi signal-cli[15480]: Missing required native library dependency: libsignal-client
Jun 20 18:45:47 fhempi systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Jun 20 18:45:47 fhempi systemd[1]: signal.service: Failed with result 'exit-code'.
Jun 20 18:45:47 fhempi systemd[1]: Failed to start Send secure messages to Signal clients.
Jun 20 18:45:47 fhempi systemd[1]: signal.service: Consumed 12.847s CPU time.
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

Adimarantis

Da stimmen jetzt die native libraries nicht.
Mal /opt/signal löschen und neu installieren, damit nichts durcheinanderkommt. "downgrade" ist nicht getestet
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

selfarian

Hallo Jörg,

ich habe signal jetzt über das Script einmal deinstalliert und neu installiert. Jetzt funktioniert es.
Eigentlich hätte ich das gleich so machen sollen :/
RasPi mit HMLAN, 5x HM-SEC-SC, HM LED16 als Alarmanlagendisplay, HM-TC-IT-WM-W-EU, 4x HM-CC-RT-DN, 1x HM PBU, 1x HM PBI-4

reibuehl

Ich hab über Signalbot eine Festnetznummer registriert und kann auch Nachrichten senden und Empfangen, würde aber gerne den accountName auf irgendwas mit FHEM-* setzen. Geht das? Im Moment ist das Reading leer.

[Update] Hab es gefunden: set updateProfile
Reiner.

laberlaib

Zitat von: andies am 10 April 2022, 09:11:09
Ich mache ja sehr selten updates, aber letztens ging SignalBot nicht mehr und da musste ich ran. War am Ende auch kein Problem. Ich hatte diese Fehlermeldung im Log
2022.04.10 08:49:44 1: reload: Error:Modul 50_Signalbot deactivated:
Can't locate FHEM/Text/Unicode.pm in @INC (you may need to install the FHEM::Text::Unicode module) (@INC contains: ./lib ./FHEM . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base ./FHEM/lib) at ./FHEM/50_Signalbot.pm line 31, <$fh> line 3450.
BEGIN failed--compilation aborted at ./FHEM/50_Signalbot.pm line 31, <$fh> line 3450.

...

Das hab ich nun auch, nach einem "update all".
Wo finde ich den die "Unicode.pm"?
Im SVN gibts doch nicht mal das Verzeichnis Text - oder bringe ich hier gerade was durcheinander?
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

Adimarantis

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

laberlaib

Danke für den Tipp, da habe ich die Datei dann auch gefunden.
Ich glaube, bei mir ist bei irgendeinem Update was schief gelaufen und es wurde nur halb durchgeführt. Dann war der Signalbot dann fort und die Fehlermeldung richtig, da die Datei wohl gefehlt hat. Und als das Update dann ganz durchlief war es logischeweise zu spät.

Jetzt wieder geholt, updatehinweis kam rein, genau nach Anleitung, d.h. skript aus dem www-Verzeichnis laufen lassen, geupdatet - alles klappt.

Schon immer wieder beeindruckend - danke!
--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

andies

Zitat von: Gisbert am 19 Juni 2022, 13:14:02
Dazu habe ich in der Datei .bashrc in der 1. Zeile ergänzt:
export JAVA_HOME=
Damit nimmt UniFi die Version 8 und Signal die aktuell installierte Version. Es kann sein, dass noch eine 2. Sache eingestellt werden muss, dass müsste ich aber extra nachschauen.
Danke, das hat mit der Java-Version geklappt, endlich
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.9.2
System library path:          /usr/lib
System architecture:          armhf
System GLIBC version:         2.28
Using Java version:           11.0   <====== HIER

Aber wieso installiert er nach wie vor 0.9.2? Zwischendrin wurde ich gefragt
Checking for /etc/systemd/system/signal.service...found
11c11
< Environment="JAVA_HOME=/home/pi/.sdkman/candidates/java/current"
---
> Environment="JAVA_HOME="
/etc/systemd/system/signal.service differs, update (Y/n)?
Y
/etc/systemd/system/signal.service updated
Start signal-cli service
Checking installation via dbus-send command...success
Sending a message via perl Protocol::DBus...reply received

aber ich habe nachher immer noch 0.9.2?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Adimarantis

Das Script erkennt Java 11.0 und erlaubt damit nur die installation von 0.9.2 das ja die 0.10.x Java 17 benötigt.
Du musst deine Umgebung so konfigurieren, dass
java --version
als Version 17.0 ausgibt (und den Installer dann mit sudo -E starten, damit das Environment übernommen wird).

Alternativ kannst du den Installer mit
sudo ./signal-install.sh experimental
starten, dann installiert er eine private Java 17 version nach /opt/java
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

andies

Bingo - danke. Das "Minus E" war das entscheidende. Jetzt habe ich endlich auch 10.5.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann