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

Gisbert

Proxmox | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon

Adimarantis

Danke für den Hinweis. Dies geschieht nur unter bestimmten Umständen. Habe jetzt erstmal das Wiki aktualisiert - sollte wahrscheinlich bei der Aufforderung zum Update auch einen Link im Device anzeigen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Sany

Hallo Jörg,

danke für die Klarstellung im Wiki. Dann brauche ich ja nur den set reinit und kann es direkt in diesem Verzeichnis mit sudo starten. Das macht es einfacher, wenn es denn mal gebraucht wird.
Ich hab mir den Aufruf noch ins comment-Feld eingetragen. Sowas möchte ich mir gar nicht merken müssen.


Gruß


Sany


@Gisbert: Danke für den Link, aber ich schrieb ja, ich kenne Wege, das script zu bekommen....
fhem als LXC auf Proxmox auf einem minix Z100 , weitere LXC mit ZigBee2MQTT, volvo2mqtt, MariaDB und Grafana. Sowie Homematic, FS20, mySensors, Tasmota (MQTT2), Shelly(MQTT2), kein Z-Wave mehr  ....

BAfH

Mahlzeit,
ich hatte jetzt Zeit und alles auf Vordermann gebracht, erst hat sich die M2 SSD in meinem Proxmox Server verabschiedet, das hatte Prio.
Der SignalBot läuft jetzt super.
Signalbot:3.23
signal-cli:0.14.2
Protocol::DBus:0.22
Java 25

Ich nutze ja FHEM im Docker, hier mein Docker File.

# Change 13.04.26
#Neu 02.03.26
FROM ghcr.io/fhem/fhem-docker:5-bookworm

MAINTAINER holoarts<holoarts@yahoo.com>

ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm

# Change 13.04.26
ARG Signal="0.14.2"
ARG Libsignal="0.92.1"

RUN apt-get update
# Install dependencies
RUN wget https://download.oracle.com/java/25/latest/jdk-25_linux-x64_bin.deb
RUN dpkg -i jdk-25_linux-x64_bin.deb
RUN apt-get -q -y install zip nano
RUN apt-get clean && apt-get autoremove

WORKDIR "/tmp"
RUN wget -qN https://github.com/AsamK/signal-cli/releases/download/v${Signal}/signal-cli-${Signal}.tar.gz -O signal-cli-${Signal}.tar.gz
RUN tar zxf signal-cli-${Signal}.tar.gz
RUN mv signal-cli-${Signal}  /opt/signal
RUN wget -qN https://github.com/exquo/signal-libs-build/releases/download/libsignal_v${Libsignal}/libsignal_jni.so-v${Libsignal}-x86_64-unknown-linux-gnu.tar.gz
RUN tar zxf libsignal_jni.so-v${Libsignal}-x86_64-unknown-linux-gnu.tar.gz
COPY libsignal-client-0.58.2.jar /opt/signal/lib/
RUN zip -u /opt/signal/lib/libsignal-client-*.jar libsignal_jni.so

RUN rm -f signal-cli-${Signal}.tar.gz libsignal_jni.so
RUN cpan install Protocol::DBus

COPY org.asamk.Signal.conf /etc/dbus-1/system.d/org.asamk.Signal.conf
COPY org.asamk.Signal.service /usr/share/dbus-1/system-services/org.asamk.Signal.service
COPY pre-start.sh /docker/

# End Dockerfile
Danke für Eure Mithilfe.
Gruß Thorben
mit sonnige Grüße aus Schönow

Gisbert

Ich hatte es nach einigen Schwierigkeiten geschafft, die Version 0.14.1 zu installieren.

Muss ich für die Version nur das Installationsskript für 0.14.2 und im Device ein reinit machen oder noch etwas zusätzliches?
Proxmox | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | tuya local | Wlan-Kamera | SIGNALduino, Rauchmelder FA21/22RF | RHASSPY | DEYE | JK-BMS | ESPHome | Panasonic Heishamon

Ralli

Nach einem Update von FHEM und einem shutdown restart führe auf der Konsole das Installationsskript aus. Danach im Signalbot-Device ein ReInit und das war's.
Gruß,
Ralli

Proxmox 9 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte OpenCCU (3.85.7.20260404) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.62), FBDECT, Siri und Alexa

HarryT

Hi

I have reading all the german "Antworten" and understand them.

I have used:
  wget https://svn.fhem.de/fhem/trunk/fhem/contrib/signal/signal_install.sh
  sudo bash  ./signal_install.sh all -y

And get:

Checking for qrencode...installing (qrencode)done
Checking for /usr/include/dbus-1.0/dbus/dbus.h...installing (libdbus-1-dev)...done
Checking for /usr/share/build-essential/essential-packages-list...available
Checking for /usr/share/doc/libimage-librsvg-perl...installing (libimage-librsvg-perl)...done
Checking for /usr/share/perl5/URI.pm...available
Checking for Protocol::DBus...Can't locate Protocol/DBus.pm in @INC (you may need to install the Protocol::DBus module) (@INC entries checked: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.40.1 /usr/local/share/perl/5.40.1 /usr/lib/aarch64-linux-gnu/perl5/5.40 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.40 /usr/share/perl/5.40 /usr/local/lib/site_perl) at /tmp/signal5262.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal5262.tmp line 5.
Installing latest Protocol::DBus...done
Checking user signal-cli ...created
openjdk-21-jre-headless already installed but Java 21.0 found. Please use
sudo update-alternatives --config java
to activate Java 25.0 or set your JAVA_HOME environment variable
 
Should line 28 in signal-install.sh not be
  JDK_PACKAGE=openjdk-25-jre-headless
instead off
  JDK_PACKAGE=openjdk-21-jre-headless

?

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

weini

Great News!
Das neueste signal_install.sh Skript v3.35 in Kombination mit der neuesten Modulversion 3.23 funktioniert mit 32-Bit Raspbian GNU/Linux 13 (trixie).
Unter Trixie die openjdk-25-jdk-headless installieren. Ich habe eine ältere openjdk deinstalliert, so dass es zu keinem falschen Aufruf kommen kann.

@Adimarantis: In signal_install.sh werden in Zeile 178-181 weiterhin die Korrekten Daten für die Download-URL der native Library zusammengebaut.

Eine minimale Anpassung war auf meinem 10 Jahre alten Raspi 2B aber doch notwendig:
Ich brauche in der Service-Datei unter [Service] zusätzlich den Parameter
TimeoutStartSec=240, sonst läuft der Startversuch von Signal in einen Timeout.

Jetzt muss ich nur noch meine anderen Rapis auf Trixie upgraden, aber das sollte das geringere Übel sein.
Vielen Dank für die Unterstützung!

enno

Moin HarryT

I have checked which java I have installed on my system:

update-alternatives --list java
got this: /usr/lib/jvm/java-21-openjdk-amd64/bin/java
/usr/lib/jvm/java-25-openjdk-amd64/bin/java

sudo nano /etc/profile
and add this at the end:

export JAVA_HOME=/usr/lib/jvm/java-25-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH[

After log off and on I checked:

readlink -f $(which java)
Now the batch file worked for me.

sudo -E ./signal_install.shGruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

HarryT

Thanks Enno

but it seems to me this would bring the same as changing line 28 to jave25
After that change signal-install.sh itself worked.

Anyway I tried what you described. signal-install.sh installs but I get the same error when trying to register a phone number.

The error:
Failed to register: [403] Authorization failed.

I tried this over and over even installing a system new. Result is the same error.
I used a number off the fixed line, but also a mobil number. No difference.

I tried the method from #1405 except
--
Java 25 aktivieren
  export JAVA_HOME=/opt/java
---

Any other ideas?

Thanks




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

Adimarantis

You're right about the jre 25 - I updated the installer accordingly in the svn.
What puzzles me most is the errors you're getting with install Protocol::Dbus
That is mandatory for using Signalbot.
Something might be missing on your system. I recommend running
sudo cpan -T install Protocol::DBusby itself and see if you can understand what's going wrong and make it work.

Then you should try the installer again.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

HarryT

Hi Jörg

I think I always got that message about DBus

Anyway I tried your latest signal-install.sh:

Checking for /usr/share/perl5/URI.pm...installing (liburi-perl)...done
Checking for Protocol::DBus...Can't locate Protocol/DBus.pm in @INC (you may need to install the Protocol::DBus module) (@INC entries checked: /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.40.1 /usr/local/share/perl/5.40.1 /usr/lib/aarch64-linux-gnu/perl5/5.40 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl-base /usr/lib/aarch64-linux-gnu/perl/5.40 /usr/share/perl/5.40 /usr/local/lib/site_perl) at /tmp/signal35166.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal35166.tmp line 5.
Installing latest Protocol::DBus...done
....
Start signal-cli service
Checking installation via dbus-send command...success
Sending a message via perl Protocol::DBus...reply received

There was a reply received so I think it is functioning correct.


I tried: sudo cpan -T install Protocol::DBus

Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 14 Apr 2026 05:29:02 GMT
install is up to date (0.01).
Protocol::DBus is up to date (0.22).

So I guess there is no problem with the DBUs. Any thoughts about that?
FHEM 6.4 auf Raspberry Pi3  (1,2 Ghz)
RFXTRX433XL, ZWave, KFL200 and ConBeeIII
Raspberry Pi1 (0,7 Ghz), Raspberry Pi4 and RaspberryPi 5 for testing
German reading skills are good.

HarryT

Hi Jörg

First of all thanks for al your work.


About antwort 1405

I guess it should be
  systemctl stop signal

(my system, raspberry trixie, has no service command)

and I guess
  Java 25 aktivieren
    export JAVA_HOME=/opt/java
is not necessary. Or I don't understand what is happening here.
At least I have no /opt/java at the moment.

Thoughts?

btw my signal service is running, but I did not succeed to register a Dutch number yet. At the momeny "Rate Limited" so I have to be patient.


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

tomcat.x

Zitat von: HarryT am 14 April 2026, 10:08:53I guess it should be
  systemctl stop signal

(my system, raspberry trixie, has no service command)

Same here. I used systemctl.

Zitat von: HarryT am 14 April 2026, 10:08:53export JAVA_HOME=/opt/java
is not necessary. Or I don't understand what is happening here.
At least I have no /opt/java at the moment.

I entered path to Java JDK instead, but not sure if necessary. In my case: /usr/lib/jvm/java-25-openjdk-arm64
FHEM: 6.4 auf Raspi 4B, Raspbian (noch Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 8.25), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo