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

FhemPiUser

wie habt ihr das update von signal-cli gemacht? mit signal_install.sh?

Adimarantis

@sukram: gerade festgestellt, das meine amd64-2.28 eigentlich ein 2.27 ist. Probier die lib einfach.
Ich übersetze gerade noch eine echte 2.28 - zum Glück funktionieren 2.27 binaries üblicherweise auch mit glib2.28

@FhemPiUser: lies bitte mal ein paar Posts zurück, das ist wirklich oft genug beschrieben
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

FhemPiUser


sukram

Zitat von: Adimarantis am 07 Oktober 2022, 20:26:39
@sukram: gerade festgestellt, das meine amd64-2.28 eigentlich ein 2.27 ist. Probier die lib einfach.
Ich übersetze gerade noch eine echte 2.28 - zum Glück funktionieren 2.27 binaries üblicherweise auch mit glib2.28

Ich glaube, das hat funktioniert  ;D Vielen DANK! Das hat mir den Abend gerettet  8)


Okt 07 20:50:21 gpa systemd[1]: Starting Send secure messages to Signal clients...
-- Subject: Unit signal-cli.service has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit signal-cli.service has begun starting up.
Okt 07 20:50:33 gpa signal-cli[3521]: INFO  DaemonCommand - Starting daemon in multi-account mode
Okt 07 20:50:33 gpa signal-cli[3521]: INFO  TransportBuilder - Using transport dbus-java-transport-native-unixsocket to connect to unix:path=/var/run/dbus/system_bus_so
Okt 07 20:50:34 gpa systemd[1]: Started Send secure messages to Signal clients.
-- Subject: Unit signal-cli.service has finished start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
--
-- Unit signal-cli.service has finished starting up.
--
-- The start-up result is RESULT.
Okt 07 20:50:34 gpa signal-cli[3521]: INFO  DaemonCommand - DBus daemon running on SYSTEM bus: org.asamk.Signal


Gisbert

Hallo Adimarantis,

bei mir bricht die Installation nach Eingabe von
sudo -E ./signal_install.sh
mit folgendem Eintrag ab (vorher set reinit in Fhem ausgeführt):
Checking system Java version ... ./signal_install.sh: line 282: /usr/lib/jvm/java-8-openjdk-amd64/jre//bin/java: No such file or directory

Installing openjdk-17-jre-headless...failed


Ich kann noch folgende Informationen liefern:
echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/jre/

dpkg -l | grep "oracle\|openjdk"
ii  openjdk-11-jre-headless:amd64        11.0.16+8-1~deb11u1            amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-17-jdk:amd64                 17.0.4+8-1~deb11u1             amd64        OpenJDK Development Kit (JDK)
ii  openjdk-17-jdk-headless:amd64        17.0.4+8-1~deb11u1             amd64        OpenJDK Development Kit (JDK) (headless)
ii  openjdk-17-jre:amd64                 17.0.4+8-1~deb11u1             amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-17-jre-headless:amd64        17.0.4+8-1~deb11u1             amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
rc  openjdk-8-jre-headless:amd64         8u232-b09-1~deb9u1             amd64        OpenJDK Java runtime, using Hotspot JIT (headless)


nano /etc/systemd/system/signal.service liefert:
[Unit]
Description=Send secure messages to Signal clients
Requires=dbus.socket
After=dbus.socket
Wants=network-online.target
After=network-online.target

[Service]
Type=dbus
Environment="SIGNAL_CLI_OPTS=-Xms2m"
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64"
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


Wo muss ich ansetzen, um Signal upzudaten?
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

Gisbert

Zu allem Überfluss habe ich mir auch Signal in Fhem zerschossen:
Your registration for +492143103913 requires a Captcha to succeed.
Ich kann aber kein Captcha erzeugen, die PoweShell ist schneller zu als man kucken kann.
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

fettgu

Danke  @Adimarantis

Das neue Installationsskript hat es gelöst. Ich habe sonst nichts gemacht.

Zur Ausgangslage


sudo -u signal-cli /opt/signal/bin/signal-cli -c /var/lib/signal-cli -u +49xxx send -m "testmessage" +49xyz
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 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0

cat /etc/os-release
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"
pi@myfhem:~ $ uname -a
Linux myfhem 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux



Viele Grüße
Guido

Gisbert

Hallo Adimarantis,

ich habe ein Problem mit Captcha.

Sobald ich den Link ausführe, öffnet sich die PowerShell, nur um kurz danach wieder zu schließen.
Im Browser steht dann das:
ZitatFehler: Verbindung unterbrochen

Die Verbindung zum Server wurde zurückgesetzt, während die Seite geladen wurde.

    Die Website könnte vorübergehend nicht erreichbar sein, versuchen Sie es bitte später nochmals.
    Wenn Sie auch keine andere Website aufrufen können, überprüfen Sie bitte die Netzwerk-/Internetverbindung.
    Wenn Ihr Computer oder Netzwerk von einer Firewall oder einem Proxy geschützt wird, stellen Sie bitte sicher, dass Firefox auf das Internet zugreifen darf.

Die URL sieht dann so aus:
Zitathttp://192.168.1.46:8083/fhem?cmd= Signa captcha signalcaptcha://signal-recaptcha-v2.6lfbxs0baaaaaajkdyyi1lk5gbauwfhi_biyox5w.registration.03aiiukzhm8yfqb066hwlwwhcplsntcuzupiowgpg2ijlvpgjovqat4f2dddruds751kv_bmyqajiaadwy7b1wo_dyncqut1xruwqmszcqv5yggwceyxqpuszurv0ouc2nanvxwkrccy3bs2t7w6ifk0tvmmehf-trnyovssdcjp0tod_7jt2-fa4fydxacknpaoofgdshxged64wp8mlrlrv4d-ovzyorord_amvsxu-3svfn-4ppzely7xq2iwenia3lsjc71rlwziuv8pdjthm-osmdn1nybgbbr4wucbhkff3xlibdliiyhwpewvlagbh2ietmx8ehvgbzvowwel7ayuqshaetorokdtdeehzbcjaso4pplik0bxjtgosv4kiq9wjmd4qc5jp4ydhs18vd9acwqqjg_xqmk5oqpupqtyzfoknqvsczgkdf3h_fxxkkh5y_docqyztapk_woxklw1beshyonppbrjpyiufm4rabmcu9ecyq0zfnbeyw77j7j2whcoomkn9mqd9ztdwep3oy5odtloyqfmjngilhw09g_sa1bgt5a6h6vun-olhucnssiixn2dgcfontxvi8g5yqgy9oqixwi4xppnf9thh5e-hmahn744-z82s4oqil8kma3i9onuzfwc3w04pdeaedbl6knzxwg2fuxegkuslttbchjdfqyc9zmejckyxrsd0t6fyh-cborrtwdjyof9b8qyxeba5frnaholane121qjedwspqlu3e6tpyfg0lcuox3gj4vdcerh0-cvhbvfnzikvxzhm7-wmccavd5luqksdbf-xze7trazwjuy_ixdmdz1whfs4tiiid9-lrdr4k7ugyjidsoi1ulk8h1haxskb6i5rnc2mihxjioeefwssbyeqdvz5amf7shxcdb-h-5lics1mig4hrxgw-kwdogn0ef7x35hz8bgf3g73cvrvwc7r_tdf2kwmbp7ayr3aokpmknsrnptloyabugxjaigjptcpfrfpxu0edcu795lpqmbxvemteqvbdskagaco3pf1u4oxdecastgswjdht-esu-3_awdmn9ueqmuom0shtio1sdq4ok4o34mhuhqlky63uf5imhjlxm4vnv39espoymivrkicgidhd2ytfilhwlrbsmorygjtrfwub9vnegvxoy1uqonyifektg3yhxd6mme7oljin2wreudit103xdjracpv98phgwywdxgcppz6wxrxrxsrx_lwcckcsxpoii2u&fwcsrf=csrf_559413525547127

F12/Konsole ist komplett leer.

Ich hänge an dieser Stelle, was kann ich tun?

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

Adimarantis

@Gisbert:
Mach bitte vor der Installation
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64

Du bringst mein Script durcheinander, weil er feststellt dass du Java17 auf deinem System hast, es aber nicht Default ist.

Zum Captcha. Das ist grundsätzlich ja erstmal ok, die Powershell macht ja das F12 und copy & paste überflüssig, allerdings:
http://192.168.1.46:8083/fhem?cmd= Signa captcha signalcaptc....
Da sollte eigentlich "...cmd=set Signaldevice captcha signal....." stehen, wobei "Signaldevice" der Name deines FHEM Device ist - wie heisst das denn bei dir, vielleicht springt da die Ersetzung versehentlich falsch an?
Zumindest kannst du probieren die URL entsprechend zu editieren - dann sollte es eigentlich gehen.

Edit: Schau dir mal die Datei www/signal/signalcaptcha.reg an, ob das dort vernünftig aussieht (%%20 sind Leerzeichen)
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Gisbert

Hallo Adimarantis,

nachdem ich
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ausgeführt hatte, und das Captcha erneut ausgeführt hatte, läuft Signal wieder :)
Ich kann wieder Nachrichten versenden, die auch ankommen.

www/signal/signalcaptcha.reg sieht so aus, mein Signaldevice heißt unglücklicherweise "Signal" (ich werde das aber jetzt ändern etwas individuelles):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\signalcaptcha]
@="URL:signalcaptcha"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\signalcaptcha\shell]
[HKEY_CLASSES_ROOT\signalcaptcha\shell\open]
[HKEY_CLASSES_ROOT\signalcaptcha\shell\open\command]
@="powershell.exe Start-Process -FilePath ( $('http://192.168.1.46:8083/fhem?cmd=set%%20Signal%%20captcha%%20'+($('%1')+$('&fwcsrf=csrf_559413525547127') -replace '^(.*)/&','$1&') ) )"


Im Signaldevice steht noch:
Zitatsignal-cli v0.11.2+ required.
Please use installer to install or update
Note: The installer only supports Debian based Linux distributions like Ubuntu and Raspberry OS
and X86 or armv7l CPUs

You can download the installer here or your www/signal directory and run it with
sudo ./signal_install.sh

Das steht unter Internals:
ZitatVERSION Signalbot:3.11 signal-cli:Protocol::DBus::Type::Array=ARRAY(0x55eb815c1518) Protocol::DBus:0.22

Viele Grüße und allerliebsten Dank
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

Adimarantis

Das Problem mit der Versionen hatte schon jemand. Dort hatte ein Neustart geholfen.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Gisbert

Zitat von: Adimarantis am 08 Oktober 2022, 09:17:51
Das Problem mit der Versionen hatte schon jemand. Dort hatte ein Neustart geholfen.
Das hat geholfen :) :) :)
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

rubinho

@Adimarantis

Ich muss mal wieder das Thema Docker ansprechen.
Jedes mal wenn Signal irgendwas ändert wird dieser Thread schlagartig akiv und oftmals muss du viele Fragen doppelt beantworten.
Wäre es nicht sinnvoller das ganze signal-cli Gedöns in einen Container zu stecken und mittels Signalbot den Container aussteuern. (Ich weiß du bist da dran)
Mit dem Container hättest du eine homogene Umgebung und würde vielfältige Probleme reduzieren. Du könntest auch auf den fertigen Container signal-cli-rest-api zurückgreifen.
Damit könnte man einen zentralen Signal Server aufbauen das von mehreren Systemen genutzt werden kann.
Nur so als Vorschlag.
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

Gisbert

ZitatWäre es nicht sinnvoller das ganze signal-cli Gedöns in einen Container zu stecken und mittels Signalbot den Container aussteuern.
Na klasse, und was machen die, die keine Container haben, u.a. weil sie es gerade mal geschafft haben einen Raspi oder einen Server mit Debian einzurichten?
Bitte versteht mich nicht falsch, ich stelle keine Forderungen, denn ich nutze das, was Adimarantis in seiner Freizeit uns zur Verfügung stellt, sehr gerne.
Eine Lösung, die auch die mitnimmt, die sich mit Linux nicht sehr gut auskennen, würde mir besser gefallen.

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

oelkanne

Umstieg von SISI nach Signalbot

@Gisbert
...gerade mal geschafft haben einen Raspi oder einen Server mit Debian einzurichten...Eine Lösung, die auch die mitnimmt, die sich mit Linux nicht sehr gut auskennen, würde mir besser gefallen.

Da kann ich dir gar nicht genug zustimmen!. Ich gehöre zu dieser Gruppe und bin sehr froh dass ihr Profis soche wie mich abholt und mitnimmt.

@Adimarantis
Deine Srciptversion 3.12 mit signal-cli:0.11.3 und java 17 löste auch mein Problem mit den ausgehenden Nachrichten.
Deshald: Umstieg (Raspberry Pi3 mit Buster) von SISI nach Signalbot funktioniert mit dem Script vollständig!

Viele Grüße und ein super dickes DANKESCHÖN!