FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: Quantum am 26 Februar 2018, 14:32:42

Titel: Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 26 Februar 2018, 14:32:42
Hallo FHEM-Gemeinde

da es noch kein Modul für den quelloffenen Messenger "Signal" gibt,

Android: https://play.google.com/store/apps/details?id=org.thoughtcrime.securesms&hl=de
iOS: https://itunes.apple.com/de/app/signal-private-messenger/id874139669?mt=8

habe ich versucht, etwas dafür zu schreiben.
Das Modul setzt auf die Kommandozeilenschnittstelle signal-cli: https://github.com/AsamK/signal-cli
und ist nur für Linux verfügbar !

Der Vorteil gegenüber WhatsApp/Telegram ist die Quellofenheit sowohl der Clienten, als auch des !!Servers!!.
Auch das zugrundeliegende Verschlüsselungsprotokoll zur E2E-Verschlüsselung ist durchgehnd einsehbar.
Es können auch ohne Probleme Festnetznummern registriert werden, ohne Gefahr zu laufen, dass diese wieder gelöscht werden.

Den Code und eine zusätzliche Beschreibung zur Einrichtung und Bedienung findet ihr unter:
https://github.com/Quantum1337/32_SiSi.pm
!! Das Modul Net::DBus >= 1.1.0 muss für die Funktion installiert sein !!

Die Entwicklung befindet sich in einem frühen Stadium. Fehlverhalten ist deshalb nicht ausgeschlossen.

Was sollte es können ;):
Empfangen von Nachrichten jeglicher Art
Senden von Nachrichten an einen oder mehrerer Empfänger, wahlweise mit Anhang
Senden von Gruppennachrichten

Was kann es noch nicht:
Vieles :)
.
.

Probleme bitte direkt auf GitHub melden !

Anregungen und konstruktive Kritik gern gesehen !

Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ma_Bo am 26 Februar 2018, 17:28:06
Hallo Quantum,
werde es die Tage mal testen, klingt aber recht interessant...

Arbeitet das Modul komplett nonBlocking...?

Grüße Marcel
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 26 Februar 2018, 17:52:19
Hallo Marcel,

ja das war mein Hauptanliegen.
Um dies zu erreichen wird der FHEM-Prozess geforkt. Der Kindsprozess hört dann auf entsprechende D-Bus-Signale.
Der Kindsprozess wartet des Weiteren auf Events des Vaterprozesses und gibt dies an eine DBus-Methode weiter. Zum Beispiel das senden einer Nachricht durch den Benutzer.
Um keine DBus Signale zu verpassen bleibt der Kindsprozess nach dem enable dauerhaft am Leben.

Wäre dankbar wenn es der eine oder andere Testen könnte. Bis jetzt lief es nur bei mir und man selber bedient sein "Kind" immer anders als andere :)

Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ma_Bo am 26 Februar 2018, 17:54:52
Klingt gut...
Gibt es eine Übersicht, was mit dem Messanger möglich ist, z.B. Nachrichten mit einem bestimmten Klingelton versehen oder komplett ohne Ton, Kursivschrift usw...?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 27 Februar 2018, 00:12:44
im Moment scheitere ich noch an dbus selbst  :-\
signal-cli in Version 0.5.6 läuft, einen Nummer ist registriert und ich kann Nachrichten senden und empfangen.
libunixsocket-java habe ich auf dem Raspian Jessie installiert.
signal-cli -u USERNAME daemon bringt den Fehler:
org.freedesktop.dbus.exceptions.DBusException: Cannot Resolve Session Bus Address
        at org.freedesktop.dbus.DBusConnection.getConnection(DBusConnection.java:244)
        at org.asamk.signal.Main.handleCommands(Main.java:625)
        at org.asamk.signal.Main.main(Main.java:80)
was habe ich übersehen?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 27 Februar 2018, 10:31:34
@Marcel: Ich kann dich bzgl des Funktionsumfanges nur auf die offizielle Seite weiterleiten: https://signal.org/ Oder auf die AppStore links verweisen, die ich gepostet habe.
Signal ist aber noch nicht so umfangreich wie vergleichbare Dienste. Was nicht ist, kann aber noch werden :)

@klausw:
Hast du diese Schritte unter dem Kapitel "System Bus" erledigt ?
https://github.com/AsamK/signal-cli/wiki/DBus-service

Wenn hier alles korrekt eingerichtet wurde kann mit
dbus-send --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:MessageText array:string: string:RECIPIENTdas senden einer Nachricht getriggert werden. Dabei startet DBus automatisch den entsprechenden systemd Service, wenn er noch nicht gestartet wurde, und springt die Methode "sendMessage" an. RECIPIENT entsprechend mit +49XXXXX ersetzen

Wichtig zu erwähnen sind vielleicht noch folgende Dinge, die in diesem Text etwas untergehen:

Die Dateien die du dafür benötigst findest du unter: https://github.com/AsamK/signal-cli/tree/master/data

Durch den Schritt
sed -i -e "s|%dir%|<INSERT_INSTALL_PATH>|" -e "s|%number%|<INSERT_YOUR_NUMBER>|" /etc/systemd/system/signal.servicewerden Installationspfad des signal-cli und USERNAME/NUMBER in der systemd service datei gesetzt. Dies ist notwendig, damit systemd den daemon richtig starten kann.

Es muss der user signal-cli existieren. Wenn nicht entsprechend anlegen.

und ganz wichtig!!
wenn du schon eine nummer registriert hast findest du bei dem entsprechenden Nutzer im Homeverzeichnis unter ~/.config/signal einen Ordner "data". Dierser Ordner enthält die Schlüssel des Benutzers. Der Ordner "data" muss dann rekursiv nach /var/lib/signal-cli/ kopiert werden. Danach mit root die Rechten den Ordner rekursiv auf den Nutzer "signal-cli" anpassen.
sudo chown -R signal-cli:signal-cli /var/lib/signal-cli/data
Danach sollte es klappen :)

Freundliche Grüße
Quantum

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 27 Februar 2018, 12:18:28
mir ist noch was aufgefallen:

Du benutzst mit

signal-cli -u USERNAME daemon
den "Session Bus"  von DBus. Dieser ist auf headless systemen meistens nicht gestartet (wird normalerweise vom Grafischen Loginmanger gestartet). Um dennoch zu Testzwecken den signal-cli in diesem Modus zu starten muss also der "Session Bus" für den angemeldeten Benutzer erst gestartet werden. Hierfür einfach zuerst
dbus-launch
eintippen und es sollte funktionieren. Dann kann mit
dbus-send --session --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:MessageText array:string: string:RECIPIENTüberprüft werden ob das senden einer Nachricht funktioniert. Man beachte den Unterschied session/system !

Der "System Bus" muss trotzdem eingerichtet werden, da das Modul bis jetzt nur "System Bus" adressen anspringt.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 27 Februar 2018, 23:07:27
Danke Quantum,

/var/lib/signal-cli hatte ich nicht angelegt. Das ganze ist meiner Meinung nach etwas irreführend beschrieben.
Das Programm dbus-launch ist bei dem Paket fürs Raspbian gar nicht mit dabei. Aber es geht ja auch ohne.

Senden und empfangen klappt mit Deinem Modul super. signal-cli hatte ich bisher nicht in der näheren Auswahl, weil alles so ewig dauert. Aber als Daemon passt die Geschwindigkeit.

Ein paar Anregungen hätte ich  ;)

Wenn Du im sub SiSi_Initialize($) die benötigten Module über eval lädst kannst du fehlende Module direkt abfangen. Andernfalls kann es passieren das FHEM abschmiert wenn ein Modul fehlt. So z.B.:
eval "use Net::DBus;";
return "please install Net::DBus" if($@);

Eventuell würde es Sinn machen, soweit es geht, die Readings und sets wie im Modul TelegramBot zu benennen.
Das würde Parallelnutzung/Umstieg vereinfachen. Z.B. beim benutzen von eigenen Scripten zur Steureung von FHEM über die Messenger.

Attribut für Standard Empänger in welchem Nummern abgelegt werden können, an die gesendet wird wenn r= nicht angegeben wird.

Attribut für Nummern die man Empfangen möchte. (wenn gesetzt werden alle anderen ignoriert)

Grüße
Klaus
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 28 Februar 2018, 17:18:34
Hallo Quantum,

gibt es für das senden von Dateien spezielle Vorgaben?

set signal sendMessage r=+49171234567 m="test" a="/opt/fhem/www/images/default/weather/partly_cloudy.png"
geht bei mir nicht raus, es gibt auch nix im Log (verbose 5)

wenn ich Parameter a weglasse geht es:
set signal sendMessage r=+49171234567 m="test"2018.02.28 17:15:37 3: SiSi signal - Trying to send message to DBus method 'sendMessage' on service org.asamk.Signal
2018.02.28 17:15:38 3: SiSi signal - The message: 'test' with attachment(s): 'NONE' was sended to recipient(s): '+49171234567'
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 28 Februar 2018, 17:43:30
Hallo klausw,

schön das es zunächst mal mit der Einrichtung geklappt hat. Und danke für die Anregungen hab Sie aufgenommen.

Zitat
gibt es für das senden von Dateien spezielle Vorgaben?

Was ich mir vorstellen könnte sind Berechtigungsprobleme. Kann der Nutzer "signal-cli" auf die Datei zugreifen ?

EDIT:
ok hab es jetzt mal selbst ausprobiert. Sowohl mit keinen Berechtigungen als auch wenn die Datei nicht vorhanden ist.
Die Fehler sollten im Log erscheinen. Das Modul initiiert dann einen reconnect. Das sollte so nicht sein, werde das gleich beheben.

Wird beim senden mit Anhang im Log garnichts angezeigt ? Nicht mal

Zitat
Trying to send message to DBus method 'sendMessage' on service org.asamk.Signal
?

Hast du die neueste Modulversion ? Hab gestern noch ein bisschen war dran gemacht, da mir selber noch sachen aufgefallen sind.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 01 März 2018, 00:23:45
Hallo Quantum,

Die Datei kann von allen geleden werden.
Es erscheint gar nix im Log wenn a=".." mit übergeben wird
Stimmt, ich hatte es mit der alten Version versucht.
Habe gerade die neue aufgespielt. Leider funktioniert es jetzt gar nicht mehr  :-\
2018.03.01 00:11:25 4: SiSi signal - Connected to DBus' System Bus.
2018.03.01 00:11:25 5: SiSi signal - Setting DBus Timeout to 60s.
2018.03.01 00:11:25 3: SiSi signal - An unexpected error occured. Closing connection to DBus service org.asamk.Signal Can't locate object method "timeout" via package "Net::DBus" at ./FHEM/32_SiSi.pm line 386.
2018.03.01 00:11:25 3: SiSi signal - Reconnect to DBus service org.asamk.Signal.
2018.03.01 00:11:25 4: SiSi signal - Closing connection to DBus service org.asamk.Signal.
2018.03.01 00:11:25 4: SiSi signal - Trying to kill PID '30515'.
2018.03.01 00:11:25 4: SiSi signal - Killing PID '30515' failed. Maybe the process crashed due to an error?.
2018.03.01 00:11:25 3: SiSi signal - Connection to DBus service org.asamk.Signal closed.
2018.03.01 00:11:25 3: SiSi signal - Trying to connect to DBus' System Bus.
2018.03.01 00:11:25 4: SiSi signal - Connected to DBus' System Bus.
2018.03.01 00:11:25 5: SiSi signal - Setting DBus Timeout to 60s.
2018.03.01 00:11:25 3: SiSi signal - An unexpected error occured. Closing connection to DBus service org.asamk.Signal Can't locate object method "timeout" via package "Net::DBus" at ./FHEM/32_SiSi.pm line 386.
2018.03.01 00:11:25 3: SiSi signal - Reconnect to DBus service org.asamk.Signal.
2018.03.01 00:11:25 4: SiSi signal - Closing connection to DBus service org.asamk.Signal.
2018.03.01 00:11:25 4: SiSi signal - Trying to kill PID '30516'.
2018.03.01 00:11:25 4: SiSi signal - PID '30516' killed.
2018.03.01 00:11:25 3: SiSi signal - Connection to DBus service org.asamk.Signal closed.
2018.03.01 00:11:25 3: SiSi signal - Trying to connect to DBus' System Bus.

Grüße
Klaus
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 01 März 2018, 00:54:38
mhm ok. Welche Modul Version von Net::DBus hast du ?
Einfach mal:
Zitat
perl -MNet::DBus -le 'print $Net::DBus::VERSION'
eintippen.

Habe gerade die Änderungen von heute (gestern) gepushed. Bitte nochmal aktualisieren.

EDIT: Hab gerade nochmal auf cpan.org geschaut.
Du hast bestimmt eine Modulversion < 1.1.0. Die Timeoutfunktion kam nämlich erst mit 1.1.0 hinzu.
Ich mach das ganze auf ArchLinuxARM die liefern die neuste Version aus. Debian liefert hier ne ältere Version aus.
Besteht die Möglichkeit diese auf die neuste Version zu aktualisieren, evtl direkt mittels cpan ?

Danke&
Viele Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 01 März 2018, 12:26:37
du hast recht, es ist die 1.0.0 drauf
Über cpan schlug fehl, da die installierter DBus Version zu alt.

nach
sudo aptitude install -y libapparmor1
export VERSION="1.13.0-1"
wget http://ftp.fr.debian.org/debian/pool/main/d/dbus/libdbus-1-3_$VERSION_armhf.deb
sudo dpkg --auto-deconfigure -i libdbus-1-3_$VERSION_armhf.deb
wget http://ftp.fr.debian.org/debian/pool/main/d/dbus/dbus_$VERSION_armhf.deb
sudo dpkg -i dbus_$VERSION_armhf.deb
wget http://ftp.fr.debian.org/debian/pool/main/d/dbus/libdbus-1-dev_$VERSION_armhf.deb
sudo dpkg --auto-deconfigure -i libdbus-1-dev_$VERSION_armhf.deb
sudo perl -MCPAN -e 'install Net::DBus'
sudo reboot
sollte es passen:
pi@drham:~ $ dpkg -l dbus
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                                 Version                 Architektur             Beschreibung
+++-====================================-=======================-=======================-==============================================================================
ii  dbus                                 1.13.0-1                armhf                   simple interprocess messaging system (daemon and utilities)
pi@drham:~ $ perl -MNet::DBus -le 'print $Net::DBus::VERSION'
1.1.0

Neuste Version deines Moduls funktioniert jetzt, incl. senden von Anhängen
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 01 März 2018, 12:36:14
sehr gut :) Freut mich zu hören
Hab nun einen Modul und Versionscheck implementiert. Werd ich heute abend dann pushen.

Ersetz mal --session durch --system. Dann sollte es gehen :)

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 01 März 2018, 12:58:15
Hab nun einen Modul und Versionscheck implementiert. Werd ich heute abend dann pushen.
sehr schön, ich werde zeitnah testen

Ersetz mal --session durch --system. Dann sollte es gehen :)
auch gerade gemerkt  ::)
ich meine es funktionierte vorher mit session
Kannst du mir sagen wann was verwendet wird?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 01 März 2018, 13:16:55
Zitat
Kannst du mir sagen wann was verwendet wird?

Session
Ist auf den Benutzer begrenzt. Auf grafischen Oberflächen dient der Session Bus beispielsweise dazu Nutzerprogramme untereinander zu verbinden.
Bsp: Pidgin->newMessage => Session-Bus => Notify-Dienst->show

System
Nutzübergreifender Bus. Wird vorallem von Systemkomponenten verwendet. Nicht Nutzerspezifisch. Und genau das machen wir hier.
signal-cli (user:signal-cli)->newMessage => System-Bus => FHEM-Modul (user:fhem)->show

Zitat
ich meine es funktionierte vorher mit session

Ich denke durch dein sudo reboot hast du vorigere expermiente am Session Bus wieder zurückgesetzt.
Der session Bus wird auf headless Systemen normalerweise nicht automatisch gestartet.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 02 März 2018, 00:53:52
war nun ein bisschen fleißig:

Neue Features:
-> Anzeige der letzten und der vorigen Nachricht (Die Namen der readings wurden an TelegramBot angelehnt)
-> Neues Attribut. defaultRecipient
-> neue Set-Kommandos für das senden von Nachrichten (angelehnt an TelegramBot)
-> Modul und Versionscheck

für weitere Änderungen und nähere Beschreibung siehe GitHub Repo https://github.com/Quantum1337/32_SiSi.pm

Es wurde viel internes verändert. Wenn aktualisiert wird und ein bestehendes Modul vorhanden ist. Am besten löschen und neu einbinden.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: malted am 04 März 2018, 14:55:10
da es noch kein Modul für den quelloffenen Messenger "Signal" gibt,

Ich sag nicht, dass die Lösung besser ist. Aber sicherheitshalber... das kennst? https://forum.fhem.de/index.php?topic=30745.0

Bei mir funktioniert das seit über drei Jahren ohne Probleme.

Ich habe unlängst mal auf den Fork geupdatet, damit die Attachments wieder gehen.
https://github.com/aebruno/textsecure

Braucht zumindest kein DBUS etc..
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 04 März 2018, 21:10:58
Hallo malted,

klar hab auch ein Beitag in deinem Thread hinterlassen.
Viele wege führen nach Rom. Und DBus ist bei meisten Distributionen im Standard
installiert. Wenn der signal-cli hierfür auch noch eine Schnittstelle bietet... Wieso nicht nutzen ?
Wenn es bei dir so funktioniert ist doch alles ok :)

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 08 März 2018, 22:04:47
hab gerade die Änderungen der letzten Tage gepushed

Neue Features:
-> Senden von Gruppennachrichten
-> Es werden Internals über den Status und den Inhalt der letzten Nachricht gesetzt.

Änderungen:
-> die Bedienung der set Kommandos send|msg|_msg|message wurde verändert. Verhält sich nun ähnlich wie TelegramBot

Bugfixes:
-> GruppenIds werden nun richtig angezeigt

Für nähere Informationen siehe: https://github.com/Quantum1337/32_SiSi.pm

Weitere Wünsche und konstruktive Kritik gerne gesehen !

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 09 März 2018, 16:32:42
Hallo Quantum,

getestet und für gut befunden  8)

Gruppennachrichten funktionieren (wusste bis dahin gar nicht, das sowas existiert)
defaultRecipient auch

Für mich kann dein Modul derzeit alles was ich benötige und läuft stabil.
Hast du vor das Modul dem FHEM Repository hinzuzufügen?

Grüße
Klaus

PS: Das telegram Modul hat noch einige nette Funktionen, die ich selbst nicht nutze bzw. anderweitig umgesetzt habe. Aber vielleicht ist da was dabei das du auch sinnvoll findest
- FHEM Befehle direkt über ein Hotword absetzen (auch limitierbar nach Client und Befehl).
- Standard Antworten an nicht autorisierte User oder die Möglichkeit die NAchrichten von diesen an einen Definierten Client weiterzuleiten.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 10 März 2018, 12:06:42
Hallo klausw,

super, dass es bei dir funktioniert :)

Ja, es gibt allerdings noch ein paar interne Baustellen die ich hier notiert habe. Danach könnte man es sich überlegen, das Modul dem Repo hinzuzufügen.
Was ich auf jedenfall noch machen werde, ist, dass nur noch definierte Nummern durchgelassen werden. Und Standardantworten bzw. Weiterleiten an einen definieten Nutzer.

Beim Thema FHEM Befehle direkt über das Modul abzusetzen, hab ich den Vorteil, der sich dadurch ergibt noch nicht wirklich erkannt.
Ich bin ein Freund des KISS (Keep it simple, stupid) Prinzips und des Leitsatzes "Do one thing, but do it well". Und so wie ich das erkenne, kann das ganze über Notifys etc. erledigt werden.
So mach ich das... Oder erkenne ich da etwas nicht ?

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 10 März 2018, 17:22:20
Hallo Quantum,

Beim Thema FHEM Befehle direkt über das Modul abzusetzen, hab ich den Vorteil, der sich dadurch ergibt noch nicht wirklich erkannt.
...
So mach ich das... Oder erkenne ich da etwas nicht ?

Letztendlich lassen sich auch Standardantworten mit notifys lösen.
Der Vorteil einer direkten Implementierung ist ein geringerer Konfigurationsaufwand.
Aber dein Modul deine Entscheidung  8)
Mit der aktuellen Funktionalität bin ich mehr als zufrieden.
Ich hatte nur ein paar Funktionen aufgezählt die mir beim Telegram Modul aufgefallen waren.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: subseven am 19 April 2018, 16:16:47
Hallo,

gerade habe Signal auf meinem FHEM-System(Arch-Linux) in Betrieb genommen.
Es funktioniert soweit echt Super. Um das bestehende Telegram abzulösen zu können benötige ich allerdings Gruppenchats (also eine Gruppe als DefaultRecipient). Wie ist das möglich?
Bei der Ausgabe meiner notfiys habe ich nämlich zZ das Problem, dass es nicht mehr komplett ankommt.
Beispiel:
.*:[Hh]umidity:.* { if($EVTPART1 > 70 ) {if($TYPE =~ m/LaCrosse/) {{ fhem ("set fhemsignal send @#SHxxxxxxxxKmuJ+w== Feuchtigkeitswarnung:\n$NAME $EVENT:\nLuftfeuchte zu hoch!"); Log 3, "$NAME: Feuchtigkeitswarnung $EVENT";}}}}
Hier kommt nur noch "Feuchtigkeitswarnung:" an der Zeilenumbruch und die Variable wird nicht mit ausgegeben.
Nutze ich das selbe mit Telegram funktioniert es. Das ist dann so:
.*:[Hh]umidity:.* { if($EVTPART1 > 70 ) {if($TYPE =~ m/LaCrosse/) {{ fhem ("set fhemcallebot message Feuchtigkeitswarnung:\n$NAME $EVENT:\nLuftfeuchte zu hoch!"); Log 3, "$NAME: Feuchtigkeitswarnung $EVENT";}}}}
Edit: Scheint an dem Zeilenumbruch zu liegen. Ohne geht es. Eine Gruppe als DefaultRecipient wäre aber trotzdem ganz praktisch.

Grüße und vielen Dank für die Arbeit bisher! ;)
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 19 April 2018, 22:33:32
Hallo subseven,

den newline Fehler hab ich behoben. Da hat sich ein "\" zuviel eingenistet :).
DefaultGroup gibt es zZ noch nicht. Werde es angehen sobald ich wieder etwas Zeit finde.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: subseven am 20 April 2018, 13:23:55
Zeilenumbrüche funktionieren nun.  8)
Für den DefaultRecipient wäre es am einfachsten, wenn wie bei Telegramm anstelle einer Nummer auch eine Gruppe angegeben werden kann. Dein Modul müsste es verarbeiten, dass entweder eine Nummer oder eben die GruppenID angegeben wird. Dann entsprechend den Parameter von signal-cli setzen.
Denn so ist ohne Einschränkungen das
set <NAME> message verwendebar und man muss nicht auf
set <NAME> send @#SHxxxxxxxxKmuJ+w==zurückgreifen.

Danke für die schnelle Umsetzung der Zeilenumbrüche!
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 11:03:22
Hallo, ich bin gerade dabei bei meinem FHEM dem MEssanger Dienst Signal mit einzubauen, habe aber Probleme dieses hinzubekommen.
Ich habe folgendes System
Raspberry PI3 auf dem FHEM läuft seit einigen Jahren Problemlos, mit Tablet UI als Oberfläche.
Ich habe signal-cli installiert mit Java und ich kann über

/signal-cli -u +49xxxxxxxxx send -m "Hallo Handy" +49xxxxxxxxx

Machrichten schicken.
Ich habe dbbus installiert

 perl -MNet::DBus -le 'print $Net::DBus::VERSION'
1.1.0

Schicken einer Nachricht über dbus-send geht nicht

sudo dbus-send --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:MessageText array:string: string:+49xxxxxxxx

es kommt die Fehlermeldung:

Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

Den Benutzer habe ich hinzugefügt:

sudo adduser signal-cli

Als passwort habe ich auch signal-cli genutzt. Muß ich mit dem Benutzer noch irgend was machen ?

Vielen Dank für die Hilfe
Gruß Ralf

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 11:41:07
Hast Du die in https://github.com/AsamK/signal-cli/wiki/DBus-service beschriebenen Schritte (als User root) gemacht?

Schau mal, ob die Dateien
  /etc/dbus-1/system.d/org.asamk.Signal.conf
  /usr/share/dbus-1/system-services/org.asamk.Signal.service
  /etc/systemd/system/signal.service
existieren und das der Pfad zu signal-cli in /etc/systemd/system/signal.service stimmt. Dann mal mit
  systemctl status signal.service
  systemctl status dbus.service
checken, ob beide Services laufen.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 12:05:57
Hallo,

der signal.service läuft nicht.

* signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled)
   Active: failed (Result: exit-code) since Fr 2018-05-25 11:00:59 CEST; 1h 2min ago
 Main PID: 6468 (code=exited, status=203/EXEC)

Mai 25 11:00:59 xxxxx.xx systemd[1]: signal.service: main process exited, code=exited, status=203/EXEC
Mai 25 11:00:59 xxxxx.xx systemd[1]: Failed to start Send secure messages to Signal clients.
Mai 25 11:00:59 xxxxx.xx systemd[1]: Unit signal.service entered failed state.

In der Datei signal.service ist unter User der signal-cli eingetragen.

Muss ich den noch auf dateien oder Verzeichnisse berechtigen ? könte das das Problem sein ?

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 12:15:27
Also bei mir hat der user signal-cli das Homeverzeichnis /var/lib/signal-cli in dem das data Verzeichnis mit der Konfiguration liegt. /var/lib/signal-cli und alles darunter gehört bei mir dem User signal-cli.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 12:35:53
Hi, bei mir gehören die Ganzen Datein und Verzeichnisse dem root.
Wenn ich in der Datei signal.servie den User auf root setze und neu starte (den ganz Pi neu boote) bekomme ich folgende Meldung:

sudo systemctl status signal.service -l
* signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled)
   Active: inactive (dead)

Seinbar wird dieses nicht automatisch gestartet ?

Wie bekomme ich das denn jetzt ncoh hin bzw. was stimmt da denn jetzt nicht ?

Gruß Ralf

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 13:17:00
Hallo, bei starten von signal.service bekomme ich folgenden fehler

Failed password for root from 218.65.30.107 port 42586 ssh2

Verstehe ich das richtig das es zwingend der User signal-cli sein muss der das ganze macht ?

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 13:29:38
Hi, nein es ist egal welchen USER ich bei signal.service eintrage der Fehler bleibt der gleiche.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 14:11:26
Bist Du dir sicher, dass der ssh Password Fehler was mit dem Signal Service zu tun hat?

Ich würde mal erst die Zugriffsrechte richten. Woliegt den bei Dir das data Verzeichnis mit der Signal Konfiguration und was ist das Home Verzeichnis des Users signal-cli?

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 14:20:46
Hallo ,
100% kann ich das nicht sagen, aber wenn ich sudo service signal start machen bekomme ich folgendes:

Job for signal.service failed. See 'systemctl status signal.service' and 'journalctl -xn' for details.

mit sudo jornalctl -xn bekomme ich folegndes:
 Failed password for root from 21
Mai 25 14:09:39 xxxx sshd[8337]: Failed password for root from 21
Mai 25 14:09:41 xxxx sshd[8337]: Failed password for root from 21
Mai 25 14:09:41 xxxx sshd[8337]: Received disconnect from 218.65.
Mai 25 14:09:41 xxxx sshd[8337]: PAM 2 more authentication failur
Mai 25 14:10:01 xxxx CRON[8374]: pam_unix(cron:session): session
Mai 25 14:10:01 xxxx CRON[8378]: (root) CMD (/home/pi/online_chec
Mai 25 14:10:02 xxxx CRON[8249]: pam_unix(cron:session): session
Mai 25 14:10:13 xxxx sudo[8409]: pi : TTY=pts/0 ; PWD=/home/pi ;
Mai 25 14:10:13 xxxx sudo[8409]: pam_unix(sudo:session): session


Das Home Verzeichnis /home/signal-cli
Das data Verzeichnis liegt  /var/lib/signal-cli/data

Hatte die Rechte wie folgt gesetzt
sudo chown -R signal-cli:signal-cli /var/lib/signal-cli/data

Gruß
Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 15:13:53
Das sudo chown -R signal-cli:signal-cli /var/lib/signal-cli/data passt. Damit sind die Rechte in Ordnung.

Dann sollte Deine /etc/systemd/system/signal.service so aussehen:

[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"
ExecStart=/usr/bin/signal-cli -u <Signal ID> --config /var/lib/signal-cli daemon --system
User=signal-cli
BusName=org.asamk.Signal

[Install]
Alias=dbus-org.asamk.Signal.service

mit <Signal ID> gleich Deiner Signal ID, also etwa +491231234567. Stimmt das soweit auch noch und hast Du unter /var/lib/signal-cli/data eine Datei <Signal ID> und ein Unterverzeichnis <Signal ID>.d ?

Wenn ja, dann nochmal den Service starten. Ich nehme dazu nicht "sudo service signal start" sondern "sudo systemctl start signal.service".
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 15:25:29
Hallo meine Datei siht fast so aus der UNterschied ist der Pfad zu signal-cli

ExecStart=/opt/signal-cli-0.6.0/bin/signal-cli -u +49xxxxxxxxx --config /var/lib/signal-cli daemon --system

Unter /usr/bin habe ich keine signal-cli !


Wenn ich mit sudo systemctl start signal.service starte kommt folgende Meldung:
Job for signal.service failed. See 'systemctl status signal.service' and 'journalctl -xn' for details.

* signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled)
   Active: failed (Result: exit-code) since Fr 2018-05-25 15:22:40 CEST; 2min 5s ago
  Process: 13534 ExecStart=/opt/signal-cli-0.6.0/bin/signal-cli -u +49x1x3x33xx1 --config /var/lib/signal-cli daemon --system (code=exited, status=1/FAILURE)
 Main PID: 13534 (code=exited, status=1/FAILURE)

Mai 25 15:22:40 xxxx signal-cli[13534]: User is not registered.
Mai 25 15:22:40 xxxx systemd[1]: signal.service: main process exited, code=exited, status=1/FAILURE
Mai 25 15:22:40 xxxx systemd[1]: Failed to start Send secure messages to Signal clients.
Mai 25 15:22:40 xxxx systemd[1]: Unit signal.service entered failed state.




Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 15:34:02
Hallo , das ist komisch. In der Felhermeldung steht ja User

Mai 25 15:22:40 xxxx signal-cli[13534]: User is not registered.

Wenn ich aber direkt dieses mache mit

./signal-cli -u +49xxxxxxx send -m "Hallo Handy" +49yyyyyyyy

Funtioniert es ?!?!?

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 15:42:03
Dann hast Du die Konfig nicht (vollständig) nach /var/lib/signal-cli/data kopiert.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 15:48:51
Führe mal

cp -R ~/.config/signal/data/* /var/lib/signal-cli/data
als der User aus, mit dem ./signal funktioniert.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 15:52:54
Hallo,
cp -R ~/.config/signal/data/* /var/lib/signal-cli/data

da habe ich nicht die Berechtigung. Kann dieses nur mit SUDO machen.

 ./signal-cli -u +49.... geht ohne SUDO !


In dem Verzeichnis ist nur die Datei +49xxxxxx drin.

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 15:57:17
Hallo,

das Verzeichnis hat folgende Berechtigung:

$ sudo ls -lsa /var/lib/signal-cli/
insgesamt 12
4 drwx------  3 root       root       4096 Mai 25 15:45 .
4 drwxr-xr-x 40 root       root       4096 Mai 24 11:57 ..
4 drwx------  2 signal-cli signal-cli 4096 Mai 25 15:49 data


den Benutzer signal-cli habe ich nachträglich angelegt.
Da wurde ja auch nach einem Passort gefragt.
Als Passwort habe ich dann das gleiche genommen wie auch der Benutzer heißt !

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 16:25:30
cp -R ~/.config/signal/data/* /var/lib/signal-cli/data

da habe ich nicht die Berechtigung. Kann dieses nur mit SUDO machen.

Dann mach mal mit sudo. Meine Vermutung ist, dass die /var/lib/signal-cli/data/+49xxxxxx nicht korrekt ist und Du unter ~/.config/signal/data/+49xxxxxx eine Version der Datei hast, die die korrekten Zugangsdaten für Signal hat.

Bei ./signal -u +49xxxxxx wird ~/.config/signal/data/+49xxxxxx verwendet. Wenn der signal Service gestartet wird, wird /var/lib/signal-cli/data/+49xxxxxx verwendet, weil --config /var/lib/signal-cli angegeben ist.

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 17:47:53
Hallo, habe das Verzeichnis nochmal gelöscht und neu kopiert und dann die Berechtigung mit chmod 777 gesetzt um zu sehen ob es an der Berechtigung liegt.

Nach dem neustart bekomme ich jetzt einen andere Feherl meldung

sudo systemctl status signal.service -l
* signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled)
   Active: failed (Result: exit-code) since Fr 2018-05-25 17:38:09 CEST; 1min 4s ago
  Process: 24149 ExecStart=/opt/signal-cli-0.6.0/bin/signal-cli -u +49xxxxxx --config /var/lib/signal-cli daemon --system (code=exited, status=1/FAILURE)
 Main PID: 24149 (code=exited, status=1/FAILURE)

Mai 25 17:38:09 xxxx signal-cli[24149]: Missing native library dependency for dbus service: no unix-java in java.library.path
Mai 25 17:38:09 xxxx systemd[1]: signal.service: main process exited, code=exited, status=1/FAILURE
Mai 25 17:38:09xxxx systemd[1]: Failed to start Send secure messages to Signal clients.
Mai 25 17:38:09 xxxx systemd[1]: Unit signal.service entered failed state.


Jetzt sieht es so aus als irgend was von Java fehlt...

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 25 Mai 2018, 17:51:56
sudo apt-get install libunixsocket-java
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 25 Mai 2018, 18:42:57
Hallo,

jetzt habe ich es ganz geschossen.
Jetzt läuft nicht mal dbus-send mehr .. das kennt er nicht mehr.

Na ja werde nächste WOche weiter sehen ob ich es zum laufen bekommen.

Bishierher erstmal danke für die tolle Unterstützung.

Gruß Ralf  :-*
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 26 Mai 2018, 12:17:56
Hallo, habe es jetzt hinbekommen das ich mit

sudo systemctl status signal.service -l

* signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled)
   Active: active (running) since Sa 2018-05-26 11:52:20 CEST; 17min ago
 Main PID: 16249 (java)
   CGroup: /system.slice/signal.service

Also das läuft jetzt und der dbus.service auch :

dbus.service - D-Bus System Message Bus
   Loaded: loaded (/lib/systemd/system/dbus.service; static)
   Active: active (running) since Sa 2018-05-26 11:46:04 CEST; 25min ago
     Docs: man:dbus-daemon(1)
  Process: 16019 ExecReload=/usr/bin/dbus-send --print-reply --system --type=method_call --dest=org.freedesktop.DBus / org.freedesktop.DBus.ReloadConfig (code=exited, status=0/SUCCESS)
 Main PID: 15857 (dbus-daemon)
   CGroup: /system.slice/dbus.service


sudo dbus-send --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:MessageText array:string: string:+4915758261296

geht jetzt auch ;-)

Nun geht es weiter bei FHEM.
Ich habe die Datei 32_SiSi.pm im FHEM Ordner abgelet.

Wenn ich nun

reload 32_SiSi.pm

ausführe bekomme ich folgende Fehlermeldung:#
Too many arguments for main::RemoveInternalTimer at ./FHEM/32_SiSi.pm line 63, near ""SiSi_MessageDaemonWatchdog")"
Not enough arguments for main::InternalTimer at ./FHEM/32_SiSi.pm line 69, near "$hash)"
Too many arguments for main::RemoveInternalTimer at ./FHEM/32_SiSi.pm line 84, near ""SiSi_MessageDaemonWatchdog")"
Too many arguments for main::RemoveInternalTimer at ./FHEM/32_SiSi.pm line 96, near ""SiSi_MessageDaemonWatchdog")"
Too many arguments for main::RemoveInternalTimer at ./FHEM/32_SiSi.pm line 108, near ""SiSi_MessageDaemonWatchdog")"
Not enough arguments for main::InternalTimer at ./FHEM/32_SiSi.pm line 110, near "$hash)"
Too many arguments for main::RemoveInternalTimer at ./FHEM/32_SiSi.pm line 178, near ""SiSi_MessageDaemonWatchdog")"
Not enough arguments for main::InternalTimer at ./FHEM/32_SiSi.pm line 180, near "$hash)"
Too many arguments for main::RemoveInternalTimer at ./FHEM/32_SiSi.pm line 268, near ""SiSi_MessageDaemonWatchdog")"
Not enough arguments for main::InternalTimer at ./FHEM/32_SiSi.pm line 270, near "$hash)"
./FHEM/32_SiSi.pm has too many errors.

Muss hier noch was anderes Installiert werden?

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 26 Mai 2018, 17:26:15
Normalerweise nicht. Ist dein FHEM aktuell? Evtl. mal ein update all und dann ein shutdown reload in FHEM machen...?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 26 Mai 2018, 17:27:26
Net::DBus hast Du installiert?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 26 Mai 2018, 21:00:43
Hallo, mein FHEM ist nicht ganz aktuell ca. 1 Jahr alt.
Wie installiert man NET::DBUS dazu habe ich nichts weiter gefunden,  du meinst doch in FHEM.

Gruss Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 26 Mai 2018, 21:51:04
Nein, Net::DBus ist ein Perl Modul. Das wird mit

sudo apt-get install libnet-dbus-perl
installiert.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 26 Mai 2018, 22:25:39
Hallo, das Perl Module ist installiert.   Auch nach der Aktualiesoeeunh vom FHEM hat sich nichts geändert.

Gruss Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 26 Mai 2018, 23:02:52
Ich glaube, dann weiß ich auch nicht mehr weiter.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 27 Mai 2018, 13:34:29
Hallo,

ich habe das Problem gefunden, es lag an den Berechtigungen für den User signal-cli. Ich habe folgendes Gemacht:

sudo chown -R signal-cli: /var/lib/signal-cli
 su signal-cli
cd /opt/signal-cli-0.6.0/bin/
./signal-cli --config /var/lib/signal-cli -u +49xxxxxxxx register -v
./signal-cli --config /var/lib/signal-cli -u +49xxxxxxxx verify code

So und jetzt bekomme ich bei reload 32_SiSi.pm im FHEM auch keine fehler mehr.

Wie definiere ich ich jetzt Signal in FHEM ?
Um mit

set signal sendMessage r=+49xxxxxxx m="test"
einen nachricht zu schicken ?

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 27 Mai 2018, 15:02:38
Anlegen in FHEM mit:

define signal SiSi
attr signal enable yes

Eventuell noch:

attr signal defaultRecipient +49xxxxxxx
damit Du nicht immer mit r=+49xxxxxxx den Empfänger angeben musst.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 28 Mai 2018, 07:00:54
Hallo, im FHEM konnte ich alles einrichten aber leider ist immer disconnected.

Im Lag steht folgendes:

2018.05.28 06:53:32 3: SiSi signal - Failed to connect to DBus service org.asamk.Signal: Timed out (service_start_timeout=50000ms).
2018.05.28 06:53:32 1: PERL WARNING: Use of uninitialized value $sysreadReturn in numeric lt (<) at ./FHEM/32_SiSi.pm line 175.
2018.05.28 06:53:32 3: SiSi signal - Error while reading data from child.
2018.05.28 06:53:32 3: SiSi signal - Connection to DBus service org.asamk.Signal closed.
2018.05.28 06:53:37 3: SiSi signal - Reconnect to DBus service org.asamk.Signal.
2018.05.28 06:53:37 3: SiSi signal - Trying to connect to DBus' System Bus.
2018.05.28 06:54:28 3: SiSi signal - Failed to connect to DBus service org.asamk.Signal: Timed out (service_start_timeout=50000ms).

Wenn ich mit sudo systemctl status dbus.service -l teste ob dbus läuft bekomme ich die Meldung active (running) aber auch

[system] Faild to activate service 'org.asamk.Signal': timed out (service_start_timeout=50000ms)

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 28 Mai 2018, 07:56:00
Hallo,

so jetzt kann ich aus FHEM raus Meldungen schicken allerdings nur wie folgt :

set signal @+49xxxxxx "Message Text"

Empfangen geht leider nicht ...

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 28 Mai 2018, 08:09:32
Hallo, so jetzt geht auch der Empfang.

vielen danke für die Unterstützung.

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: takaze am 30 Mai 2018, 11:22:44
Hallo zusammen,

zunächst danke für das Modul, funktioniert nach ein paar Versuchen problemlos :)

Gibt es den mittlerweile die Möglichkeit Nachrichten nur von bekannten oder explizit erlaubten Nummern zu empfangen. Bin da beim querlesen des Threads darübergestolpert, konnte aber dazu keine weiteren Infos finden.

Grüße,
Florian
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 30 Mai 2018, 12:02:35
HI,

ich habe das wie folgt gelöst:
define signal_not notify signal:msgText.* {
  my $msgSender = ReadingsVal("signal","msgSender",0);
  my $msgText = ReadingsVal("signal","msgText",0);
  if ($msgSender eq "+49xxxxxx") {
    Log3 "signal","+49xxxxxx", "$msgText";
  }
}

Nur wenn die Rufnummer stimmt wird ein Log Eintrag geschrieben. Bei allen anderen Rufnummern passiert nichts.

Gruß´Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 30 Mai 2018, 21:28:43
Hallo FHEM-Gemeinde,

schön dass das Modul mittlererweile zuspruch findet.
Ich war die letzten zwei Wochen im Urlaub. Urlaub bedeutet bei mir auch digitale Abstinenz ;)
Aber wie es aussieht helft ihr euch gegenseitig :).
Da es wohl immer mehr anklang findet und ich dazu auch immer mehr Nachrichten bekomme,
werde ich demnächst daran wieder weiterentwickeln.
Features wie defaultGroup und restrictedNumbers sind auf der Liste.
Im Frühjahr und Sommer verschieben sich, naturbedingt, die Prioritäten. Deshalb ist es gerde etwas still :)

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 31 Mai 2018, 07:03:05
Hallo Quantum, klasse Modul übrigens. Weißt du zufällig ob es bei Signal die Möglichkeit gibt Nachrichten zu schicken die Links enthalten die man dann nur anklicken muss und automatisch wieder zurück geschickt werden? Bei Telegramm ist so was möglich.

Gruss Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 31 Mai 2018, 11:45:48
Hallo Ralf,

nein, das gibt es meines Wissens nicht.

Freundliche Grüße
Quantum

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: reibuehl am 31 Mai 2018, 12:05:49
Ein Commandref Eintrag für das Modul wäre schön. Vielleicht könntest Du das bei der kommenden Überarbeitung/Erweiterung ja mit rein nehmen?

Wie weit ist das Modul eigentlich mit dem Telegramm Modul kompatibel was die Kommando-Syntax angeht? Evtl. könnte man da ja von dort das Gerüst der commandref übernehmen? Ich denke mal das eine gemeinsame Syntax was Kommandos, Readings, etc angeht eh sehr gut wäre.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 31 Mai 2018, 12:29:12
Hallo reibuehl

ja, Commandref Eintrag werde ich machen. Die Syntax wurde, soweit es geht/sinnvoll ist mit Telegramm harmonisiert.
Werde auch bei neuen Funktionen darauf achten, dass die unterschiede nicht all zu groß werden.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 14 Juni 2018, 10:20:39
Hallo,

Textnachrichten zu verschicken klappt wunderbar.
Nun wolte ich auch Bilder verschicken aber das klappt leider nicht .
ich habe es folgendemaßen versucht:

set signal msg @+49xxxxxxxx a='/home/pi/test.jpg'

dann bekomme ich die Text Nachricht : a='/home/pi/test.jpg'

Gruß Ralf
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 14 Juni 2018, 10:39:06
Hallo Ralf,

ich weis nicht wie du auf die Syntax a=Path kommst. Die Syntax hat es vor Monaten gegeben. Wurde aber schon längst ersetzt.
Um ein Bild zu versenden vor dem Pfad ein & voranstellen, also:

set signal msg @+49xxxxxxxx &PATH Sometext

Siehe auch Commandref :)

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Ralf Kruppa am 14 Juni 2018, 10:43:22
Hallo,

danke für die schnelle Antwort.

Jetzt funktioniert auch das.

Super
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Morgennebel am 05 Juli 2018, 19:03:37
Moin,


die gesamten Anleitungen für signal-cli und den DBus beziehen sich auf systemd.

Den habe ich (zum Glück) nicht auf meinem Systemen laufen und kenne mich auch nicht genügend aus.
Was müsste ich bei einem SysV-System machen, um den signal-cli korrekt zu starten (welche Parameter)?

Danke, -MN
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 06 Juli 2018, 18:35:16
Hallo Morgennebel,

zu SysVInit hab ich keinerlei Bezug. Und kann dir demach leider nicht weiterhelfen.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: subseven am 14 August 2018, 11:03:13
Hallo,
seit April läuft das Modul bei mir Reibungslos, auch das Update auf 0.6.0 bzw. ein Update von 32_SiSi.pm waren kein Problem. Mich würde aber interessieren ob eine Integration in das msg-Modul geplant ist?
Ziel wäre dann die Verwendung von MsgDialog. Ich bin mir nicht sicher, ob das Analog Telegram funktionieren würde, aber wünschenswert wäre es.

Grüße
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 14 August 2018, 11:23:51
Hallo subseven,

bei mir läuft das Modul schon seit Monaten mit msg und msgDialog. Ohne an den Modulen direkt etwas geändert zu haben.
Wenn du wissen willst wie ich das gemacht habe, kann ich es gerne veröffentlichen.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: darkness am 16 August 2018, 19:38:15
Hallo Quantum.

Ich habe heute dein Modul mal installiert. Läuft so weit und wird vielleicht bald jabber bei mir ablösen.
In msg konnte ich es auch einbinden. Allerdings musste ich im msgConfig noch das Attribut

msgCmdPush set SignalCLI msg @%RECIPIENT% %MSG%
setzen.

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 16 August 2018, 20:40:20
Hallo darkness,

ja das Attribut mit diesem Wert musste ich auch setzen. msgCmdPushHigh und msgCmdPushLow hab ich ebenfalls auf den gleichen Wert gesetzt. Man weiß ja nie :)

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: subseven am 10 September 2018, 15:21:10
Danke für die Infos, wenn es außer dem Attribute nichts weiter zu beachten gibt werde ich das bei mir auch so einsetzen :-).

Mir ist aufgefallen, dass (vermutlich durch Betrieb als virtuelle Maschine) der Nachrichtenversand nicht funktioniert wenn nach dem Systembot unter /dev/random nicht genug Entropy verfügbar sind. Diese mehren sich bei mir leider recht langsam, dass Java ständig das vermehren durch neue Anfragen auffrisst.

Prüfen kann man seine Entropy mit:
cat  /proc/sys/kernel/random/entropy_avail
Probleme können auftreten wenn der Wert <1000 ist

Gelöst habe ich es durch die Erweiterung haveged, welches mir den Entropy-Pool weiter füttert. Nach der Installation den dienst haveged starteten/enablen.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 10 September 2018, 23:31:00
Hallo Quantum,

...
Wenn du wissen willst wie ich das gemacht habe, kann ich es gerne veröffentlichen.

bin zwar nicht angesprochen, aber es würde mich trotzdem interessieren.
besonders msgdialog.

Klaus
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 20 September 2018, 23:00:02
Hallo klausw,

ich hoffe ich krieg alles zusammen:

1) Das Modul msg und alles was dazugehört, ist eingerichtet (ROOMMATE etc..). in msgConfig mindestens dieses Attribut setzen:
attr globalMsg msgCmdPush set %DEVICE% msg @%RECIPIENT% %MSG%
2) Beim entsprechenden ROOMMATE folgendes Attribut setzen:

attr <ROOMMATE> msgContactPush <SIGNAL_DEVICENAME>:<SIGNAL_NUMBER>Beispiel:
attr rr_Max msgContactPush Signal:+49123456789
3) Wenn die Einrichtung soweit fehlerfrei war, sollte mit
msg push @rr_Max Testnachrichteine Nachricht an Max gesendet werden können.

4) msgDialog wie im entsprechenden Thread beschreiben einrichten. Anpassung am Gerät "msgPushReceived".
Der Code des Notify sieht bei mir wie folgt aus:

.*(msgText|queryData|(OTR)?LastMessage|message):(\n|.)* {
  my ($recipient, $recipientMask, $received);
  my $TYPE = InternalVal($NAME, "TYPE", "");

  if($TYPE eq "SiSi" && $EVENT =~ m/^msgText/){
    $recipient = ReadingsVal($NAME, "msgSender", undef);
if($recipient =~ /^\+.*$/){
$recipientMask = "\\" . $recipient;
}
    $received = ReadingsVal($NAME, "msgText", undef);
  }

  return unless($recipient && $received ne "");
 
  my @contacts = devspec2array("TYPE=(ROOMMATE|GUEST):FILTER=msgContactPush=.*$recipientMask.*");
 
  if(@contacts){
    foreach (@contacts){
      my $dev_hash = $defs{$_};

      readingsBeginUpdate($dev_hash);
      readingsBulkUpdate($dev_hash, "fhemMsgPushReceived", $received);
      readingsBulkUpdate($dev_hash, "fhemMsgPushReceivedContact", $NAME);
      readingsEndUpdate($dev_hash, 1);
    }
  }
  else{
    fhem("msg push Unbekannter Kontaktversuch über $NAME von $recipient:\n$received");
  }
}

Hauptunterschied ist, dass das + nocheinmal maskiert wird, ansonsten wird es falsch interpretiert.

Hoffe konnte helfen, bei Fragen gerne melden.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: subseven am 21 September 2018, 09:35:20
Mir sind noch zwei Dinge in den Sinn gekommen, weil ich heute mein Handy mal neu aufgesetzt hab.
Sobald sich durch eine Neuinstallation von Signal der Fingerprint ändert, kommen Nachrichten nicht mehr an. Auf der Signal-CLI wird das auch entsprechend quittiert. Man kann nun den neuen Fingerprint hinzufügen oder mit
signal-cli -u <FHEM-NUMMER> --config /var/lib/signal-cli trust -a <Nummer mit geänderten Fingerprint> der Nummer ohne den Fingerprint einzeln hinzuzufügen wieder vertrauen (signal-cli fügt den Fingerprint dann hinzu)

Praktisch wäre auch wenn man auf Gruppen austreten kann. Letzt endlich hab ich es dann doch nicht gebraucht, aber leider kann man bei Signal keine Teilnehmer aus Gruppen werfen, das müssen die Teilnehmer immer selbst tun.
Mit:
signal-cli -u <FHEM-NUMMER> --config /var/lib/signal-cli quitGroup -g <GroupID>
verlässt man Gruppen.
Wenn diese beiden Funktionen noch hinzukommen würden und auch die Meldungen mit dem Fingerprint vom FHEM-Modul erkannt/interpretiert würden, wäre echt toll :-)

Bei Bedarf kann ich Log und CLI-Ausgabe zur Verfügung stellen.

Grüße
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 21 September 2018, 10:04:00
Hallo subseven,

ja, auf diese Probleme bin ich selbst auch schon gestoßen. Aber: Weder der Befehl trust noch quitGroup sind Bestandteil der DBus-API.
Was diese alles kann, kann hier nachvollzogen werden: https://github.com/AsamK/signal-cli/blob/master/src/main/java/org/asamk/Signal.java

Klar kann es gelöst werden, indem das Module Systembefehle ausführt. Halte ich aber für den falschen Weg. Eher soll bestrebt werden, dass
fehlende Befehle in die DBus-API aufgenommen werden. Wenn diese dort zur Verfügung stehen, kann ich diese gerne integrieren.
Bin mit Java leider noch nicht so vertraut um hierfür Upstream Pull-Requests aufzumachen. Aber vielleicht jemand anderes ?

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: drhirn am 27 November 2018, 16:06:26
Wollte nur schnell vermelden, dass ich jetzt auch zu den glücklichen Modul-Benutzern gehöre. Und soweit keine Probleme feststellen kann. Hab's aber noch nicht wirklich ausführlich getestet. User Neubert und ich sind auch schon mit einem Wiki-Artikel beschäftigt: https://wiki.fhem.de/wiki/SiSi (https://wiki.fhem.de/wiki/SiSi)

Danke Quantum!
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 01 Dezember 2018, 18:03:24
Hallo drhirn,

der Wiki-Artikel liest sich gut. Hätte ich nicht besser hinbekommen. Danke für deine/eure Mühen!

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: enno am 02 Januar 2019, 22:30:38
Wollte nur schnell vermelden, dass ich jetzt auch zu den glücklichen Modul-Benutzern gehöre. Und soweit keine Probleme feststellen kann. Hab's aber noch nicht wirklich ausführlich getestet. User Neubert

Vielen Dank für Modul und Wiki. Mit dem Wiki hat es gut geklappt, bis auf den Punkt Außerdem muss unter Umständen der Pfad des FHEM-Wurzelverzeichnisses angepasst werden.
Bei mir hat sich die Datei unter folgenden Pfad "versteckt". ExecStart=/usr/local/bin/signal-cli -u +49xxxxxxxxxx --config /opt/fhem/.local/share/signal-cli daemon --system
Der Rest war dann wieder einfach :)

Gruss
  Enno
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: kunze am 05 Januar 2019, 13:09:40
Hallo,

erstmal ein Danke an den Ersteller des Moduls.
Leider funktioniert bei mir das senden an Telefonnummern nicht.

ich bekomme immer:
sentMsgError
Error Executing Method org.asamk.Signal.sendMessage: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found - Maybe wrong Number?
sentMsgRecipient
+4917xxxxxxxx
sentMsgResult
FAILED
sentMsgText
test

Senden an Gruppen über eine Gruppen ID und empfangen von Nachrichten funktioniert hingegen.
Senden an Telefonnummern über DBus mit dem beiden Kommandos aus dem Wiki funktioniert auch.

Wo kann ich weiter Logs finden um das Problem zu analysieren?

Einrichtung hab ich nach dem Wiki gemacht.

Danke,
Michael
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 05 Januar 2019, 15:27:12
Hallo,

da das senden von Gruppennachrichten funktioniert, hat die prinzipielle Einrichtung geklappt.
Den Fehler den du beschreibst ist eine NotFound Exception, die eigentlich nur dann auftritt, wenn dem Signal-Server die Nummer an die du senden willst, nicht bekannt ist. Dafür kann das Modul erstmal nichts.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: kunze am 05 Januar 2019, 15:55:35
Hallo Quantum,

ich hab jetzt ein wenig weiter gesucht.
Im dbus-monitor sehe ich folgendes:
method call time=1546696417.808746 sender=:1.22 -> destination=org.asamk.Signal serial=15 path=/org/asamk/Signal; interface=org.asamk.Signal; member=sendMessage
   string "testnachricht_global"
   array [
   ]
   string "ARRAY(0x55cbef974d18)"
error time=1546696418.647312 sender=:1.14 -> destination=:1.22 error_name=org.freedesktop.dbus.exceptions.DBusExecutionException reply_serial=15
   string "Error Executing Method org.asamk.Signal.sendMessage: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found"

Es wird also der Empfänger nicht richtig weiter gereicht.
Ich hab dann im code in Zeile  589;
$hash->{DBUS}->{OBJECT}->sendMessage($text,\@attachment,\@recipients); 1den \ vor @recipients entfernt. Jetzt wird der Empfänger als String übergeben und das senden funktioniert.

Schöne Grüße
Michael
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 05 Januar 2019, 18:28:34
Welche Version von signal-cli verwendest du? Evtl hat sich etwas in der DBus Api geändert.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: kunze am 05 Januar 2019, 19:02:15
Verwende die aktuellste, 0.6.2.
Laut Interface auf GitHub erwartet die entweder einen String oder ein Array von strings.

In meinem Fall wurde aber was ganz anderes übergeben, zumindest sieht es aus wie eine Referenz auf ein Array das in einen string umgewandelt wurde.
Bin allerdings in Perl nicht wirklich gut.

string "ARRAY(0x55cbef974d18)"

So sieht es mit einem Attachment aus (nach meiner Änderung):

method call time=1546700703.486987 sender=:1.31 -> destination=org.asamk.Signal serial=12 path=/org/asamk/Signal; interface=org.asamk.Signal; member=sendMessage
   string ""
   array [
      string "/opt/fhem/www/images/default/icoKLIMA.png"
   ]
   string "+49xxxxxxxxxx"

Ohne meine Änderung hätte ich sowas erwartet:

method call time=1546700703.486987 sender=:1.31 -> destination=org.asamk.Signal serial=12 path=/org/asamk/Signal; interface=org.asamk.Signal; member=sendMessage
   string "message text"
   array [
      string "/opt/fhem/www/images/default/icoKLIMA.png"
   ]
   array [
      string "+49xxxxxxxx"
   ]
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 05 Januar 2019, 21:11:45
würdest du bei dir kurz die 0.6.0 testen und deine Änderung rückgängig machen? Und kurz schreiben wie es sich dann verhält?
Danke
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: kunze am 05 Januar 2019, 21:54:34
Die 0.6.0 startet leider nicht mit der config der 0.6.2.

Muss morgen mal schauen ob ich das ohne Neuregistierung hinbekomme.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 05 Januar 2019, 22:10:49
okay schade. Ich komm erst im Laufe der nächsten Woche dazu selbst Tests durchzuführen. Ich hab bei mir noch die 0.5.6 im Einsatz mit der ich das damals entwickelt hab. Können andere das Problem mit der 0.6.2 bestätigen?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: enno am 06 Januar 2019, 13:28:41
Bis gestern Abend lief bei mir mit 0.6.2 alles gut. Heute morgen ging es dann bei mir auch nicht mehr:

SiSi SIGNAL - Trying to send message to DBus method 'sendMessage' on service org.asamk.Signal
2019.01.06 13:25:07 3: SiSi SIGNAL - Failed to send message: Error Executing Method org.asamk.Signal.sendMessage: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found - Maybe wrong Number?

Gruss
  Enno

Edit: Nach einem Neustart des Servers geht es nun wieder. Ich habe Verbose auf 5 gestellt und beobachte ob zu  erkennen ist woran sich das Ganze verschluckt hat.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: kunze am 06 Januar 2019, 15:00:01
Hi Quantum,

mit der 0.6.0 erhalte ich:
Error Executing Method org.asamk.Signal.sendMessage: java.security.NoSuchAlgorithmException: Error constructing implementation (algorithm: Default, provider: SunJSSE, class: sun.security.ssl.SSLContextImpl$DefaultSSLContext) - Maybe wrong Number?

Könnte aber an der Konfiguration liegen, da ich nur eine Zeile entfernt habe aus der Konfig der 0.6.2 damit die 0.6.0 startet.

Schöne Grüße
Michael
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 11 Januar 2019, 19:47:07
bin jetzt ebenso auf die 0.6.2 umgestiegen um hab die letzten Tage getestet. Dabei kam es zu keinen Auffälligkeiten. Kann das Problem also nicht nachvollziehen, sollten es aber weiter beobachten.

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: darkness am 29 Januar 2019, 20:22:33
Hallo,

ich versuche gerade in der myUtils eine Routine zu schreiben, welche mir ein Bild senden soll. Folgender Befehl klappt nicht:

fhem("set SignalCLI send \@+49160XXXXXX &/opt/fhem/www/snapshots/cam_01_snapshot.jpg");

Aus FHEM heraus klapt es. Nur eben in der MyUtils nicht. Ich vermute es liegt an den & und /.
Habe schon überall ein \ davor gestellt. Klappt aber auch nicht.

Fehler:
Zitat
Error Executing Method org.asamk.Signal.sendMessage: insufficient data written - Maybe wrong Number?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: darkness am 29 Januar 2019, 20:28:59
Ah jetzt geht es.

Ich war einfach zu schnell. Der Befehl für den Snapshot durch die Kamera und das versenden des Bildes waren zu schnell hintereinander. Vermutlich ist beim versenden der Schreibvorgang nicht abgeschlossen.

So geht es aber:
fhem("define at_sendeBild at +00:00:05 set SignalCLI send \@+4916XXXX \&/opt/fhem/www/snapshots/cam_01_snapshot.jpg");
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: buec65 am 30 Januar 2019, 19:51:40
Hallo, versuche gerade auch auf Signal umzustellen Versand von der Konsole funktioniert aber beim Einrichten der Kommunikation über D-Bus komme ich nicht weiter

sudo systemctl start signal.service
Failed to start signal.service: Unit signal.service failed to load: Invalid argument. See system logs and 'systemctl status signal.service' for details.

Debian 3.16.36-1+deb8u1


Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: klausw am 01 Februar 2019, 11:25:37
was bringt denn
systemctl status signal.service

bzw. was steht dazu in /var/log/syslog ?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: buec65 am 01 Februar 2019, 15:36:52
Diese Meldung erscheint

nachdem ich den Pfad in /etc/systemd/system/signal.service angepasst habe
ExecStart=/opt/fhem/signal-cli/bin/signal-cli -u +49xx --config /opt/fhem/.config/signal daemon --system

Nach kopieren der registrierten Nummer nach
/opt/fhem/.config/signal/data und setzen der Berechtigung auf fhem:dialout funktioniert das senden per DBus
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: buec65 am 04 Februar 2019, 13:33:17
Wie kann ich an eine Nachricht den Wert eines Readings anhängen?

set Signal msg Speicher_unter_30_Grad

z.B.
set Signal msg Speicher_unter_30_Grad Speichertemp=27°C
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Mikka am 04 Februar 2019, 15:07:00
Hi buec65,

Wie kann ich an eine Nachricht den Wert eines Readings anhängen?

set Signal msg Speicher_unter_30_Grad

z.B.
set Signal msg Speicher_unter_30_Grad Speichertemp=27°C

probiere mal folgendes aus:

({fhem("set Signal message 'Speicher_unter_30_Grad Speichertemp= ".ReadingsVal("TEMPAKTOR","TEMPERATUR","")." °C'")})
Mikka
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: buec65 am 05 Februar 2019, 09:45:40
@Mikka
Vielen Dank funktioniert wie gewünscht :-)
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: thorschtn am 13 Februar 2019, 09:22:12
Hallo zusammen,

hat hier jemand Schreibrechte auf das Wiki https://wiki.fhem.de/wiki/SiSi?

Augenscheinlich hat sich der standardmäßige Pfad der Konfigurationsdateien geändert (signal 0.6.2), so dass die im Wiki beschriebene Konfiguration nicht mehr funktioniert. Darüber hinaus meckert, systemctl, dass es einen absoluten Pfad haben möchte.

Mit folgender Änderung in /etc/systemd/system/signal.service funktioniert es wieder:

ExecStart=signal-cli -u +49xxxxxxxxxx --config /opt/fhem/.config/signal daemon --system-->
ExecStart=/opt/fhem/signal-cli/bin/signal-cli -u +49xxxxxxxxxxx --config /opt/fhem/.local/share/signal-cli daemon --system
Könnte das jemand im Wiki nachziehen?

Darüber hinaus ist noch eine Inkonsistenz bei der Beschreibung der FHEM-Konfiguration:

attr sisi enable yes --> attr Signal enable yes
attr sisi defaultPeer +49170zzzzzzzz --> attr Signal defaultPeer +49170zzzzzzzz

Danke & viele Grüße

Thorsten

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: drhirn am 13 Februar 2019, 13:40:52
Michael hat den Pfad angepasst. Ich habe einen Hinweis zur Pfadänderung hinterlassen und die Inkonsistenzen behoben.
Danke für den Hinweis!
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: drhirn am 13 Februar 2019, 13:43:09
Darüber hinaus meckert, systemctl, dass es einen absoluten Pfad haben möchte.

'signal-cli' ist ein absoluter Pfad ;)

Hast du den Symlink gesetzt?
sudo ln -sf /opt/fhem/signal-cli/bin/signal-cli /usr/local/bin/
Titel: Antw:Neues Modul für &quot;(Si)gnal - (Si)cherer Messenger&quot; [32_SiSi.pm]
Beitrag von: linuzer am 13 Februar 2019, 22:29:22
Hallo,

vielen Dank für das tolle Modul! Habe es erfolgreich installiert und funktioniert auch alles super.

Meine Frage ist, gibt es auch eine Möglichkeit eingehende Messages als Fhem-Befehle zu interpretieren und das Ergebnis zurück zu schicken? Also so ungefähr wie das mit yowsup geht?

Wäre echt cool...!
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: obi am 14 Februar 2019, 10:06:29
Hallo linuzer,

du kannst natürlich mit einem Notify oder DOIF die eingehenden Nachrichten weiter verarbeiten und darauf antworten.

z.B. müsste es folgendermaßen gehen (habe ich so jetzt aber nicht getestet):
define NOT_Signal notify Signal:msgText:.* {

my $input = (split /msgText: /, $EVENT, 2)[1]);
my $sender = ReadingsVal($NAME,'msgSender','');

#Hier könnte man noch Regex Prüfungen usw. ausführen um den fhem Befehl zu erkennen
 
#Perl Befehl mit eval ausführen
my $output = eval($input);

#Fhem Befehl ausführen
my $output = fhem($input);

fhem('set '.$NAME.' msg @'.$sender.' '.$output);
}
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: linuzer am 14 Februar 2019, 12:13:22
Hallo obi,

das notify funktioniert tatsächlich! Sehr cool...!  8)

Klar wäre es natürlich schön, wenn das direkt im Modul drin wäre, inklusive "allowed Sender" und "allowed Commands"...
Aber ich bin so voll auf zufrieden...!
Vielen Dank!

EDIT:
Sorry, ich hab übersehen, dass es "allowedPeer" ja schon längst gibt...!
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 16 Februar 2019, 10:07:13
Hallo linuzer,

entwder du machst es mit notifies wie von obi beschrieben, oder mit msgDialog. Wie du das mit SiSi ans laufen bekommst ist weiter vorne im Thread beschrieben.
Eine direkte Verarbeitung von Kommandos über das Modul werde ich nicht integrieren, da es nicht die Aufgabe dieses Moduls ist.

Mit freundlichen Grüßen
Quantum
Titel: Antw:Neues Modul für &quot;(Si)gnal - (Si)cherer Messenger&quot; [32_SiSi.pm]
Beitrag von: linuzer am 16 Februar 2019, 21:19:39
Hallo Quantum,

das macht nichts, ich habe es jetzt mit dem notify von obi gelöst, das funktioniert perfekt.

Ich bin voll begeistert von dem Modul, vielen Dank für die Arbeit!

VG linuzer
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: drhirn am 04 April 2019, 18:51:39
@Quantum: Ist geplant, dem Modul einen "offiziellen" Status zu geben?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Axxl am 11 April 2019, 16:32:56
Hi,

ich würde das Modul auch gerne ausprobieren und habe mir die Anleitung im Wiki (https://wiki.fhem.de/wiki/SiSi) mal durchgelesen. Frisch ans Werk dachte ich, aber bei mir läuft FHEM in einem Docker Container auf einem Intel Nuc mit debian:Stretch als Base Image.

Ich vermute die Installation von SiSi in einem Docker Container ist nicht so einfach hinzubekommen. Ich habe Probleme mit dem DBus im Container und Systemctl gibt es da auch nicht wirklich.

Hat einer von Euch , das im Docker Container laufen ? Wenn ja , wie sieht euer Dockerfile aus ? Muss ich den Dbus des Hosts an den Container sharen ?

Danke,
Axxl

Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 12 April 2019, 20:57:24
Hallo drhirn,

leider fehlt mir die Zeit, das Modul offiziell zu betreuen. Sollte sich jemand bereit erklären dies zu übernehmen, hab ich nichts dagegen. Ansonsten ist dies vorerst nicht geplant.

Hallo Axxl,

ich betreibe das Modul schon seit längerem in einem Dockercontainer. Ich nutze dazu den offiziellen Container und leite meinen daraus ab. Kannst dich aus den Dateien bedienen.
Das nachfolgende tut für meine zwecke seinen Dienst. Ist eigentlich nicht für andere bestimmt. Sollte etwas nicht funktionieren, leiste ich für die Dateien keinen support!

Dockerfile:
    ARG BASE_IMAGE="fhem/fhem"
    ARG BASE_IMAGE_TAG="latest"
    FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG}

    ARG L_SIGNAL_CLI="0.6.2"

    # Install base environment
    RUN DEBIAN_FRONTEND=noninteractive apt-get update \
        && DEBIAN_FRONTEND=noninteractive apt-get install -qqy --no-install-recommends \
            cpanminus \
            build-essential \
            wget \
            shared-mime-info \
          dbus \
          default-jre-headless \
          libunixsocket-java \
            lirc \
            net-tools \
            hping3 \
            wakeonlan \
            \
        && cpanm \
          Net::DBus \
          Lirc::Client \
            Crypt::Cipher::AES \
        && rm -rf /root/.cpanm \
        && sed -i s,/dev/lircd,/var/run/lirc/lircd,g /usr/local/share/perl/5.24.1/Lirc/Client.pm \
        && wget https://github.com/AsamK/signal-cli/releases/download/v${L_SIGNAL_CLI}/signal-cli-${L_SIGNAL_CLI}.tar.gz \
        && tar xf signal-cli-${L_SIGNAL_CLI}.tar.gz -C /opt \
        && ln -sf /opt/signal-cli-${L_SIGNAL_CLI}/bin/signal-cli /usr/local/bin/ \
        && apt-get purge -qqy \
            build-essential \
            cpanminus \
            subversion \
        && apt-get autoremove -qqy && apt-get clean \
        && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

    COPY ./src/pre-start.sh /pre-start.sh
    COPY ./src/000_fhem-nopasswd /etc/sudoers.d/
    COPY ./src/org.asamk.Signal.service /usr/share/dbus-1/system-services/
    COPY ./src/org.asamk.Signal.conf /etc/dbus-1/system.d/
    ADD https://raw.githubusercontent.com/Quantum1337/32_SiSi.pm/master/FHEM/32_SiSi.pm /fhem/FHEM/32_SiSi.pm
    RUN mkdir /run/dbus && mkdir /run/lirc
    RUN mkdir /opt/signal-cli && mkdir /opt/lirc
    RUN chmod +x /pre-start.sh

    VOLUME [ "/opt/signal-cli" ]
    VOLUME [ "/opt/lirc" ]

pre-start.sh:
#!/bin/bash
export NUMBER="${NUMBER:-"undef"}"
export SLEEPTIME="${SLEEPTIME:-"10s"}"
export LIRC="${LIRC:-"no"}"

if [ $NUMBER != "undef" ]; then

   if [ -s /var/run/dbus/pid ]; then
      rm /var/run/dbus/pid
   fi
     
   echo "Starting DBus System Daemon"
   dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket

   echo "Starting signal-cli"
   /usr/local/bin/signal-cli -u $NUMBER --config /opt/signal-cli daemon --system &

   echo "Wait $SLEEPTIME to give signal-cli time to come up"
   sleep $SLEEPTIME
fi

if [ "$LIRC" = "yes" ]; then

   if [ ! -d "/var/run/lirc" ]; then
      mkdir "/var/run/lirc"
   fi
   echo "Starting lircd"
   /usr/sbin/lircd -O /opt/lirc/lirc_options.conf /opt/lirc/lircd.conf
fi


docker-compose:

services:
  fhem:
    image: XXX/fhem:latest
    privileged: true
    restart: always
    network_mode: "host"
    ports:
      - "7072:7072"
      - "8083:8083"
    volumes:
      - "./fhem/data:/opt/fhem/"
      - "./fhem/lirc:/opt/lirc/"
      - "./fhem/signal-cli:/opt/signal-cli"
    devices:
      - "/dev/lirc0:/dev/lirc0"
    environment:
      NUMBER: "+49XXXX
      SLEEPTIME: "5"
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Bubinator am 23 Mai 2019, 23:12:12
Hallo zusammen,
hallo Quantum!

Erst einmal vielen Dank für die Entwicklungsarbeit an dem Modul. Das ist echt klasse! Ich bin, nachdem die "manuelle" Variante aus dem bereits bekannten Thread https://forum.fhem.de/index.php/topic,30745.0/all.html (https://forum.fhem.de/index.php/topic,30745.0/all.html), lange gut bei mir lief, nun auch auf das Modul geschwenkt.

Leider erhalte ich auch die Fehlermeldung
Error Executing Method org.asamk.Signal.sendMessage: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found - Maybe wrong Number?.

Ich verwende Version 0.6.2 der Signal-Cli, Version 1.1.0 von Net::DBus und FHEM wurde vorgestern zuletzt aktualisiert.

Ein Senden über dbus-send funktioniert.

Da einige von Euch das Problem auch hatten, aber es offenbar nicht flächendeckend auftritt, hoffe ich, dass mir jemand von Euch einen Tipp geben kann, wie ich das Problem entweder tiefer analysieren kann oder aber direkt behebe.

Viele Grüße & Glück Auf!
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: kunze am 24 Mai 2019, 17:38:01
Hallo

Ich hatte das Problem auch. Siehe https://forum.fhem.de/index.php/topic,84996.msg881931.html#msg881931
Allerdings tritt es seit einiger Zeit nicht mehr auf und ich mussten e Codeänderung von damals rückgängig machen.

Schöne Grüße
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Bubinator am 10 Juni 2019, 22:20:58
Hallo kunze,

so ist's jetzt auch bei mir gewesen. Nun gehts...

Viele Grüße,

Bubinator
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Bubinator am 18 Juni 2019, 21:48:34
Mist, zu früh gefreut.  :(

Einmal fhem aktualisiert und den Pi gebootet und schon ist das Problem wieder da. Übrigens kam beim Update vom Raspberry Pi auch ein dbus-Update (jetzt 1.10.28-0+deb9u1) über apt mit...

Hat da jemand eine Idee (ggf. auch zum Bugtracking)?

Viele Grüße


Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: thorschtn am 13 August 2019, 07:04:19
Einmal fhem aktualisiert und den Pi gebootet und schon ist das Problem wieder da. Übrigens kam beim Update vom Raspberry Pi auch ein dbus-Update (jetzt 1.10.28-0+deb9u1) über apt mit...
Hat da jemand eine Idee (ggf. auch zum Bugtracking)?

Codeänderung aus https://forum.fhem.de/index.php/topic,84996.msg881931.html#msg881931 wieder rückgängig machen.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: nOerkH am 23 August 2019, 12:53:50
Hallo zusammen,

ich habe hier schon viel und lange mitgelesen. Muss mich jetzt leider auch mal mit einem Problem an die community wenden.

Ich bin begeisterter Nutzer des SiSi Moduls, nach kurzen Startschwierigkeiten hat es bei mir immer toll funktioniert. Seit letzter Woche zwickt es jedoch gehörig im Getriebe.

Die Nachrichten werden erst mit einigen Stunden Verzögerung geschickt bzw. empfangen. Dabei steht das Gerät immer auf "connected".

Verbose ist nun schon auf 5 gestellt, auffällige Einträge kann ich erstmal keine entdecken.
Die Verbindung scheint korrekt aufgebaut zu werden (Connected to DBus Object /org/asamk/Signal.)
auf Empfangene Nachrichten scheint er auch hören zu wollen (Listening to DBus-signal 'MessageReceived' on service org.asamk.Signal.)

irgend eine Idee wo man spontan graben könnte?

Meiner Nummer hab ich gerade neu registriert, das hilft auch nichts.

Vielen Dank
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 25 August 2019, 15:49:51
Hallo nOerkH,

deine Zeitangabe von Stunden klingt schon sehr seltsam. Ich würde das Problem weniger am SiSi Modul festmachen. Was mir spontant einfällt wäre deine Systemlast. Gib mal "top" in die Kommandozeile ein.
Gibt es dort Prozesse, die das System zu 100% auslasten ? Ist noch genügend RAM frei etc... ?

Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: nOerkH am 28 August 2019, 01:08:38
Hallo,

durch das erneute Registrieren ist jetzt wohl etwas ganz den Bach runter gegangen

top gibt nichts auffälliges aus würde ich sagen

top - 01:05:32 up 4 days, 12:19,  1 user,  load average: 0,11, 0,08, 0,08
Tasks: 124 total,   1 running,  70 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1,0 us,  0,5 sy,  0,0 ni, 95,4 id,  3,1 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem :   948304 total,    93264 free,   453152 used,   401888 buff/cache
KiB Swap:   102396 total,   102396 free,        0 used.   397140 avail Mem

versuche ich nun per
sudo -u fhem dbus-send --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:Test array:string: string:+43xxxxxx
eine Nachricht zu schicken bekomme ich
Error org.freedesktop.dbus.exceptions.DBusExecutionException: Error Executing Method org.asamk.Signal.sendMessage: Authorization failed!zurück, die config hat sich nicht geändert und hat davor schonmal funktioniert

muss man nach der Neuregistrierung der Nummer etwas besonderes beachten?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: nOerkH am 28 August 2019, 12:20:25
so es läuft jetzt erstmal wieder (auch mit normaler Reaktionszeit)

scheinbar muss man seinen "Kontakten" nach einer neuen Registrierung der Nummer wieder vertrauen?

sudo -u fhem signal-cli -u +43xxxxxxxx listIdentitiesgab folgenden Output:
+43yyyyyyyy: TRUSTED_UNVERIFIED Added: Fri Jun 21 23:04:17 CEST 2019 Fingerprint: *hex-value*  Safety Number: *hex-value*
+43zzzzzzzzz: TRUSTED_UNVERIFIED Added: Sat Jun 22 14:01:05 CEST 2019 Fingerprint: *hex-value*  Safety Number: *hex-value*

anschließend habe ich beiden Einträgen mit
sudo -u fhem signal-cli -u +43xxxxxxxx trust -v "*hex-value*" +43yyyyyyyy
wieder vertraut, jetzt läuft es wieder, ich berichte in ein paar Tagen.

Danke jedenfalls für die Rückmeldung
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: obi am 06 September 2019, 16:18:52
Hallo,
ich habe folgendes Problem mit signal-cli.
Nach einer gewissen Laufzeit hat der Signal Prozess 100% CPU Auslastung auf einem Debian System. Starte ich den Server neu ist wieder alles OK. Senden und Empfangen funktioniert zu diesem Zeitpunkt.
Hat jemand auch so was beobachtet?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Quantum am 07 September 2019, 11:31:33
Hallo obi,

welcher Prozess verursacht die 100% Auslastung? "Signal_tx" ist der Prozess, den das SiSi-Modul erzeugt um im Hintegrund arbeiten zu können. Oder ist es ein signal-cli Prozess ?
Dieser nennt sich aber zumeist "java"

Läuft deine FHEM Instanz in dieser Zeit stabil, oder stürzt sie ab und an unkontrolliert ab (Mit automatischem neustart durch einen Watchdog) ? Gibt es mehr als nur einen Signal_tx Prozess nach einiger Zeit ?

Freundliche Grüße
Quantum
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: obi am 30 September 2019, 18:07:21
Hallo Quantum,
seit lägerem hatte ich nun wieder das Problem.
Des gibt den Signal_tx Prozess mehrmals mit insgesamt 100% CPU Auslastung (siehe Screenshot).
Ich habe eine Watchdog eingerichtet. Dieser wird aber nicht aktiv. Fhem an sich läuft ohne abzustürzen. Nur mit entsprechendem Delay, da die CPU ausgelastet ist.
In den Log-Dateien usw. ist nichts zu finden. Die Funktionalität ist auch gegeben.
Irgendeinen Zusammenhang welcher zu dem Problem führt läst sich nicht erkennen.
Wenn ich den Signal_tx Dienst kille hängt sich fhem auf. Nach einem neuen Start von Fhem ist alles wieder OK.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: obi am 07 Oktober 2019, 06:35:15
Hallo,

ich hatte nun wieder mein Problem mit den mehrmals vorandenen Signal_tx Prozessen. Ich habe nun herausgefunden, dass Fhem durch meinen Watchdog neu gestartet wird (Ursache unklar, nichts im Log zu sehen). Dies führt dann dazu, dass Signal_tx entsprechend nochmal zusätzlich gestartet wird. Ich ändere nun mein Watchdog-Script, dass alle Signal Prozesse auch beendet werden. Dies sollte das Problem lösen.

@Quantum: Eventuell könntest du ja in dein Modul einbauen, dass beim Fhemstart/Modulstart noch vorhandene Prozesse beendet werden?

VG Obi
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Hausautomat am 25 Dezember 2019, 13:05:50
Muss doch auch nochmal ein Danke loswerden. @Quantum + die Wiki-Schreiber: MERCI!

Läuft wunderbar, Einrichtung hat bei aufmerksamen Lesen einwandfrei geklappt. Klasse. :)

Nur eins:
Bei mir läuft signal-cli als Daemon auf'm Raspi unter dem Benutzer fhem, soweit alles gut.
Wenn ich nun auf der command line etwa eine Nummer verifizieren möchte, geht das mit signal-cli nicht, da der daemon die config-datei blockiert.
Also erstmal als root "systemctl stop signal.service", dann als fhem das signal-cli Kommando absetzen und jetzt nicht vergessen, mit "systemctl start signal.service" als root den Daemon wieder starten.
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: Hausautomat am 25 Dezember 2019, 23:13:38
Zwei Anmerkungen noch:

1. Eher meiner Dusseligkeit zuzuschreiben, trotzdem, falls es jemand gebrauchen kann. Mein Raspi hatte standardmäßig IPv6 aktiviert, im Heimnetz ist es jedoch noch nicht aktiviert. Das führt bei den RR-Servern von signal.org dazu, dass erratisch die Verbindung per IPv6 versucht wird - und scheitert. Ein
echo "1" > /proc/sys/net/ipv6/conf/all/disable_ipv6
hilft.
Zu erkennen ist es daran, dass an der Fehlermeldung "java.net.ConnectException: Failed to connect to cdn.signal.org/2600:9000:21f3:1200:1d:4f32:50c0:93a1:443" (IPv6)

2. Folgenden Fehler / Warnung finde ich im syslog (nicht fhem-log):
Dec 25 19:51:55 fhempi signal-cli[3010]: Dec 25, 2019 7:51:55 PM okhttp3.internal.platform.Platform log
Dec 25 19:51:55 fhempi signal-cli[3010]: WARNING: A connection to https://cdn.signal.org/ was leaked. Did you forget to close a response body? To see where this was allocated, set the OkHttpClient logger level to FINE: Logger.getLogger(OkHttpClient.class.getName()).setLevel(Level.FINE);

Nach erster kurzer Recherche sieht es mir eher nach einem Problem in der signal-cli Implementation aus, als dem Modul. Das Modul spricht ja nur via dbus mit dem signal-cli daemon. Ist das sonst schon jemandem aufgefallen?
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: enno am 16 Januar 2020, 14:43:55
Moin,

ich nutze Signal jetzt schon seit einem Jahr ohne große Probleme. Was aber noch nicht gut klappt, sind senden von mehreren Nachrichten innerhalb einer Minute. Wenn ich die erste Nachricht schicke, ist Signal etwa. 40-50 Sek blockiert. Wenn ich innerhalb dieser Zeit eine weitere Nachricht senden möchte, wird diese verschluckt und im log erscheint eine Fehlermeldung, dass Signal erst gestartet werden muss.

Hat das Problem noch jemand? Wenn ja, gibt es einen einfachen Workaround.

Gruss
  Enno
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: darkness am 16 Januar 2020, 15:07:58
Hey,

habe es gerade mal getestet. Ich kann Nachrichten direkt hintereinander senden (benutzte dazu noch das msg-modul, also msg @Empänger). Klappt ohne Probleme.

Gruß

Internals:
   FD         208
   FUUID      5c52a6d2-f33f-ed18-53c4-7410e57cac717dc0
   NAME       SignalCLI
   NR         715
   NTFY_ORDER 50-SignalCLI
   OBJECT     /org/asamk/Signal
   PID        8893
   SERVICE    org.asamk.Signal
   STATE      Connected
   TYPE       SiSi
   VERSION    1.1.1
   sentMsgRecipient +49
   sentMsgResult SUCCESS
   sentMsgText test
   READINGS:
     2019-12-26 02:00:44   msgAttachment   NONE
     2019-12-26 02:00:44   msgGroupId      NONE
     2019-12-26 02:00:44   msgGroupName    NONE
     2019-12-26 02:00:44   msgSender       +49
     2019-12-26 02:00:44   msgText         Bild
     2019-12-26 02:00:44   msgTimestamp    2019-12-26 02:00:47
     2019-12-26 02:00:44   prevMsgAttachment NONE
     2019-12-26 02:00:44   prevMsgGroupId  NONE
     2019-12-26 02:00:44   prevMsgGroupName NONE
     2019-12-26 02:00:44   prevMsgSender   +49
     2019-12-26 02:00:44   prevMsgText     TEXT
     2019-12-26 02:00:44   prevMsgTimestamp 2019-12-19 16:24:17
Attributes:
   enable     yes
   room       develop
Titel: Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
Beitrag von: drhirn am 16 Januar 2020, 15:20:01
Hier auch. Drei Nachrichten direkt hintereinander (so schnell ich halt tippen konnte ;) ). Kamen alle anstandslos in Sekundenbruchteilen an.