diff --git a/fhem/CHANGED b/fhem/CHANGED
index 03789a995..e7cb92342 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -1,5 +1,6 @@
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
# Do not insert empty lines here, update check depends on it.
+ - change: 50_Signalbot: Mandatory signal-cli v0.11.2 update
- change: 88_HMCCU: Fixed set pct/level bug
- change: 37_SHC: Support current smarthomatic version.
Basestation uses 115200 Baud by default and CRC.
diff --git a/fhem/FHEM/50_Signalbot.pm b/fhem/FHEM/50_Signalbot.pm
index d74e3d396..f0dd99095 100755
--- a/fhem/FHEM/50_Signalbot.pm
+++ b/fhem/FHEM/50_Signalbot.pm
@@ -1,6 +1,6 @@
##############################################
#$Id$
-my $Signalbot_VERSION="3.10";
+my $Signalbot_VERSION="3.11";
# Simple Interface to Signal CLI running as Dbus service
# Author: Adimarantis
# License: GPL
@@ -33,6 +33,7 @@ use FHEM::Text::Unicode qw(:ALL);
use vars qw(%FW_webArgs); # all arguments specified in the GET
use vars qw($FW_detail); # currently selected device for detail view
use vars qw($FW_RET);
+use vars qw($FW_wname);
#maybe really get introspective here instead of handwritten list
my %signatures = (
@@ -1832,7 +1833,8 @@ sub Signalbot_createRegfiles($) {
if (! -d "www/signal") {
mkdir("www/signal");
}
-
+ my $http="http";
+ $http="https" if (AttrVal($FW_wname,"HTTPS",0) eq 1);
my $fh;
#1. For Windows
my $tmpfilename="www/signal/signalcaptcha.reg";
@@ -1843,8 +1845,8 @@ sub Signalbot_createRegfiles($) {
$msg .= '[HKEY_CLASSES_ROOT\signalcaptcha\shell]'."\n";
$msg .= '[HKEY_CLASSES_ROOT\signalcaptcha\shell\open]'."\n";
$msg .= '[HKEY_CLASSES_ROOT\signalcaptcha\shell\open\command]'."\n";
- $msg .= '@="powershell.exe Start-Process -FilePath ( $(\'http://';
- $msg .= $ip;
+ $msg .= '@="powershell.exe Start-Process -FilePath ( $(\'';
+ $msg .= $http."://".$ip;
$msg .= ':8083/fhem?cmd=set%%20'.$hash->{NAME}.'%%20captcha%%20\'+($(\'%1\')';
#Captcha has an extra "\" at the end which makes replacing with CSRF a bit more complicated
if ($FW_CSRF ne "") {
@@ -1863,7 +1865,7 @@ sub Signalbot_createRegfiles($) {
$tmpfilename="www/signal/signalcaptcha.desktop";
$msg = "[Desktop Entry]\n";
$msg .= "Name=Signalcaptcha\n";
- $msg .= 'Exec=xdg-open http://'.$ip.':8083/fhem?cmd=set%%20'.$hash->{NAME}.'%%20captcha%%20%u'.$FW_CSRF."\n";
+ $msg .= 'Exec=xdg-open '.$http.'://'.$ip.':8083/fhem?cmd=set%%20'.$hash->{NAME}.'%%20captcha%%20%u'.$FW_CSRF."\n";
$msg .= "Type=Application\n";
$msg .= "Terminal=false\n";
$msg .= "StartupNotify=false\n";
@@ -1965,21 +1967,18 @@ sub Signalbot_Detail {
my $multi=$hash->{helper}{multi};
my $version=$hash->{helper}{version};
$multi=0 if !defined $multi;
- if($version<900) {
- $ret .= "signal-cli v0.9.0+ required.
Please use installer to install or update
";
+ if($version<1100) {
+ $ret .= "signal-cli v0.11.2+ required.
Please use installer to install or update
";
$ret .= "Note: The installer only supports Debian based Linux distributions like Ubuntu and Raspberry OS
";
$ret .= " and X86 or armv7l CPUs
";
}
- if($version==901) {
- $ret .= "Warning: signal-cli v0.9.1 has issues affecting Signalbot.
Please use installer to upgrade to 0.9.2+
";
- }
if ($multi==0 && $version>0) {
$ret .= "Signal-cli is running in single-mode, please consider starting it without -u parameter (e.g. by re-running the installer)
";
}
- if($version<900 || $multi==0) {
+ if($version<1100 || $multi==0) {
$ret .= '
You can download the installer here or your www/signal directory and run it with
sudo ./signal_install.sh
';
}
- return $ret if ($hash->{helper}{version}<900);
+ return $ret if ($hash->{helper}{version}<1100);
my $current=ReadingsVal($name,"account","none");
my $account=$hash->{helper}{register};
diff --git a/fhem/contrib/signal/signal_install.sh b/fhem/contrib/signal/signal_install.sh
index f20635c8e..138640929 100755
--- a/fhem/contrib/signal/signal_install.sh
+++ b/fhem/contrib/signal/signal_install.sh
@@ -1,14 +1,13 @@
#!/bin/bash
#$Id:$
-SCRIPTVERSION="3.9"
+SCRIPTVERSION="3.10"
# Author: Adimarantis
# License: GPL
#Install script for signal-cli
SIGNALPATH=/opt
SIGNALUSER=signal-cli
LIBPATH=/usr/lib
-SIGNALVERSION="0.9.2" #Default for systems that don't hava Java17
-ALTVERSION="0.10.9" #Default for systems with Java17
+SIGNALVERSION="0.11.2"
SIGNALVAR=/var/lib/$SIGNALUSER
DBSYSTEMD=/etc/dbus-1/system.d
DBSYSTEMS=/usr/share/dbus-1/system-services
@@ -33,23 +32,16 @@ if [ -e "/opt/java" ]; then
fi
JVER=`$JAVACMD --version | grep -m1 -o '[0-9][0-9]\.[0-9]'`
if [ "$J17" != "" ] || [ "$JVER" = "17.0" ]; then
- SIGNALVERSION=$ALTVERSION
VEXT="-Linux"
JAVA_VERSION=17.0
NATIVE_JAVA17=yes
else
- JAVA_VERSION=11.0
+ echo "Warning: No Java17 found - will try experimental download of a Java 17 package"
+ JAVA_VERSION=17.0
NATIVE_JAVA17=no
VEXT=
fi
-if [ "$OPERATION" = "experimental" ]; then
- SIGNALVERSION=$ALTVERSION
- VEXT="-Linux"
- JAVA_VERSION=17.0
- OPERATION=
-fi
-
#Get OS data
if [ -e /etc/os-release ]; then
source /etc/os-release
@@ -179,7 +171,7 @@ fi
GLIBC=`ldd --version | grep -m1 -o '[0-9]\.[0-9][0-9]' | head -n 1`
IDENTSTR=$ARCH-glibc$GLIBC-$SIGNALVERSION
-KNOWN=("amd64-glibc2.27-0.9.2" "amd64-glibc2.28-0.9.2" "amd64-glibc2.31-0.9.2" "armhf-glibc2.28-0.9.2" "armhf-glibc2.31-0.9.2" "amd64-glibc2.28-0.10.9" "amd64-glibc2.31-0.10.9" "armhf-glibc2.28-0.10.9" "armhf-glibc2.31-0.10.9")
+KNOWN=("amd64-glibc2.28-0.11.2" "amd64-glibc2.31-0.11.2" "armhf-glibc2.28-0.11.2" "armhf-glibc2.31-0.11.2")
GETLIBS=1
if [[ ! " ${KNOWN[*]} " =~ " ${IDENTSTR} " ]]; then
@@ -379,18 +371,10 @@ if [ $NEEDINSTALL = 1 ]; then
echo -n "Downloading native libraries..."
cd /tmp
rm -rf libsignal_jni.so libzkgroup.so
- if [ $JAVA_VERSION = "11.0" ]; then
- wget -qN https://github.com/bublath/FHEM-Signalbot/raw/main/$IDENTSTR/libzkgroup.so
- fi
wget -qN https://github.com/bublath/FHEM-Signalbot/raw/main/$IDENTSTR/libsignal_jni.so
echo "done"
echo "Updating native libs for $IDENTSTR"
- if [ $JAVA_VERSION = "11.0" ]; then
- zip -u $SIGNALPATH/signal/lib/zkgroup-java-*.jar libzkgroup.so
- zip -u $SIGNALPATH/signal/lib/signal-client-java-*.jar libsignal_jni.so
- else
- zip -u $SIGNALPATH/signal/lib/libsignal-client-*.jar libsignal_jni.so
- fi
+ zip -u $SIGNALPATH/signal/lib/libsignal-client-*.jar libsignal_jni.so
#Use updated libs in jar instead of /usr/lib
#mv libsignal_jni.so libzkgroup.so $LIBPATH