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

Danke Heiko, ich habe die Änderung (und noch einen weiteren kleinen Fix) als v2.2 am Anfang des Threads aktualisert.

Jörg
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 10 Juni 2021, 22:41:38
Danke Heiko, ich habe die Änderung (und noch einen weiteren kleinen Fix) als v2.2 am Anfang des Threads aktualisert.

Jörg

Hallo Jörg,
kommt das Update automatisch per Fhem, oder was muss ich genau beachten?

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

Signalbot ist kein offizielles Modul (was hauptsächlich daran liegt, dass es für sich alleine nicht funktioniert und den Installer und andere Abhängigkeiten benötigt).
Daher findet sich immer im ersten Post dieses Threads die aktuelle Version inkl. eines kurzen Changelog.

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

Dr. Boris Neubert

Hallo Jörg,

Zitat von: Adimarantis am 11 Juni 2021, 14:57:10
Signalbot ist kein offizielles Modul (was hauptsächlich daran liegt, dass es für sich alleine nicht funktioniert und den Installer und andere Abhängigkeiten benötigt).

es gibt ja eine Menge Module, die zusätzlich zu der Software, die standardmäßig beim Betriebssystem/bei der Distribution dabei ist, Nachinstallationen verlangen und sich dennoch großer Popularität erfreuen (Alexa, Tradfri) und im Standard mitverteilt werden. Eine gute, verständliche und leicht nachvollziehbare Doku ist das A und O. Beim Signalbot macht es die Doku leicht, die restliche Software zu installieren. Die Infos oder zumindest der Verweis aufs Wiki sollte in der Commandref sein.

Ich fände es gut, wenn Signalbot als Standard-Modul für Signal in die offizielle Modul-Verteilung käme.

Viele Grüße
Boris

Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

remo

Hi. Wie ist der Stand der Dinge?
Ist das Skript inzwischen ausgereift?
Ich würde Boris Vorschlag ebenfalls befürworten.

Schönen Abend.

Adimarantis

Werde ich mir mal anschauen, wenn ich wieder mehr Luft habe. Derzeit gehts mit Arbeit und privaten Projekten ziemlich rund.

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

remo

Klar. Ist verständlich.
Aber trotzdem erstmal Dankeschön für deine Arbeit ;)

remo

Hallo,

das Skript läuft bei mir durch.
Aber ich bekommen weder einen Anruf noch eine SMS - auch nach einer Stunde warten tut sich nix ...

Update:
Es funktioniert nicht mit Festnetznummern!
Mit einer Mobilnummerfunktioniert es!


Dr. Boris Neubert

Hallo Remo,

es funktioniert grundsätzlich auch mit Fetznetznummern. Das habe ich dreimal erfolgreich durchgeführt.

Beim ersten Mal hatte ich jedoch dasselbe Erlebnis. Es kommt einfach kein Rückruf. Recherche hat ergeben, dass es damals an einem Serverproblem (Überlastung?) lag. Eine Woche später ging es bei einem erneuten Registrierungsversuch, ohne dass ich etwas dazu getan hätte.

Viele Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

remo

Hallo Boris.
Danke für den Hinweis.
Ich hatte es allerdings über drei Wochen mit insgesamt vier Anläufen versucht.
Bisher ohne Erfolg. Wann war denn deine erfolgreiche Registrierung mit einer Festnetznummer?
Vor Kurzem?
Ich würde es gerne noch einmal versuchen wollen.

BTW:
Kann man über das Skript auch wieder Nummern unregistern?

Liebe Grüße

Adimarantis

Hallo,

Festnetz geht definitiv. Ich habe nur Festnetznummern registriert. Wenn kein Anruf kommt - wird ein Captcha verlangt? Bevor dies nicht gelöst wurde, gibt es auch keinen Anruf.
Nummer zu "de-registrieren" ist nicht nötig. Eine erneute Registrierung überschreibt die vorherige.

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

remo

Hallo.

Gerade nochmals versucht.
Captcha klappt.

Bei einer Mobilfunknummer kommt sofort nach eingabe des Captcha-Hashes die SMS.
Bei Festnetz passiert nix.

Werder Anruf noch wird mir die SMS vorgelesen...


EDIT:

Jetzt hat es auf einmal funktioniert.
Captcha ok.
SMS kam als Anruf (Festnetz beim Provider aufs Handy weitergeleitet) ok.

Keine Ahnung - Habe nix anders gemacht als vorher ...

jascha

Hallo zusammen,

erst einmal vielen Dank für die ganzen Mühen & Arbeit! Stelle mein Setup gerade von SiSi auf den Signalbot um. Zu meinem Problem: Die Skriptausführung bricht mit einem Fehler ab:

./signal_install.sh: 406: ./signal_install.sh: Syntax error: "(" unexpected (expecting "fi")

Ich nutze das Docker Image nicht, also habe ich die folgende Stelle

#398 stop_service() {
#399   if [ -z "$DOCKER" ]; then
#400         echo "Stopping signal-cli service"
#401         service signal stop
#402   else
#403         SIGSERVICE=`ps -eo pid,command | grep $SIGNALVAR | grep -v grep`
#404         if [ -n "$SIGSERVICE" ]; then
#405                 echo "Stopping signal-cli daemon for Docker"
#406 >>              ARRAY=($SIGSERVICE)
#407                 PID=${ARRAY[0]}
#408                 kill $PID
#409         fi
#410   fi
#411 }


wie folgt angepasst:

stop_service() {
        echo "Stopping signal-cli service"
        service signal stop
}


Dann habe ich folgenden Fehler bekommen:

./signal_install.sh: 659: ./signal_install.sh: Syntax error: "(" unexpected (expecting "fi")

Auch hier dasselbe Spiel. Dieser Block

#651 if [ -z "$DOCKER" ]; then
#652         systemctl daemon-reload
#653         systemctl disable signal.service
#654         systemctl reload dbus.service
#655 else
#656         DBDAEMON=`ps -eo pid,command | grep dbus-daemon | grep -v grep`
#657         if [ -n "$DBDAEMON" ]; then
#658                 echo "Stopping dbus daemon for Docker"
#659 >>              ARRAY=($DBDAEMON)
#660                 PID=${ARRAY[0]}
#661                 kill $PID
#662        fi
#663 fi


wird zu

        systemctl daemon-reload
        systemctl disable signal.service
        systemctl reload dbus.service


Dann klappt die Ausführung, allerdings beschwert sich das Skript, dass die Ausführung, die ich so ausführe (vielleicht ist das sh das Problem? Ein Aufruf ohne vorangestelltes sh mit sudo -E ./signal_install.sh liefert aber sudo: ./signal_install.sh: command not found)

$ sudo -E sh ./signal_install.sh

nicht mit bash erfolgt:

[...]
Checking for zip...available
This script requires bash for some functions. Check if bash is installed.
Checking for bash...available
Please re-run using bash


Die default shell ist aber bash:

$ finger $USER|grep -oP 'Shell: \K.*'
/bin/bash


Der Aufruf explizit mit bash funktioniert:

$ /bin/bash ./signal_install.sh

Zum Schluss scheint das Verschicken von Nachrichten noch nicht zu klappen, aber da schaue ich noch weiter rein.

[...]
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Sending a message via dbus-send command
Error org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
Sending a message via perl Protocol::DBus
Error getting message
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM


== Update ==

Das Skript lief nun erfolgreich durch. Vermutlich trat der vorherige Fehler auf, weil ich die Option -E weggelassen hatte. Mit Angabe von -E und der Pflege der Nummer in ~/.bash_profile lief das Skript erfolgreich durch und ich konnte meinen Account verlinken.  :)

Viele Grüße,
Jascha

acw81

Hallo zusammen,

ich habe mit dem Installationsskript den Signal Client soweit am laufen (Der Test schickt 3 Meldungen, die auch auf der Gegenseite ankommen). Leider kann ich aber kein Signal Device in FHEM anlegen, obwohl Protocol::DBus installiert ist. Ich halte nur folgende Meldung im Log:


2021.06.29 14:10:57.055 1: Define init_done: SignalClient Signalbot
2021.06.29 14:10:57.055 1: SignalClient: Init: Please make sure that Protocol::DBus is installed, e.g. by 'sudo cpan install Protocol::DBus'
2021.06.29 14:10:57.055 1: define SignalClient Signalbot: Please make sure that Protocol::DBus is installed, e.g. by 'sudo cpan install Protocol::DBus'



root@rpi:/home/xxx# cpan install Net:DBus
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 29 Jun 2021 09:29:03 GMT
Net::DBus is up to date (1.2.0).
root@rpi:/home/xxx# cpan install Protocol::DBus
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 29 Jun 2021 09:29:03 GMT
Protocol::DBus is up to date (0.17).




remo

Wie stehen die Chancen die Datei "50_Signalbot.pm" standardmäßig mit aufzunehmen, ohne,
dass diese manuell abgelegt werden muss?