Autor Thema: Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]  (Gelesen 6404 mal)

Offline Quantum

  • New Member
  • *
  • Beiträge: 44
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #15 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
« Letzte Änderung: 01 März 2018, 13:19:10 von Quantum »

Offline Quantum

  • New Member
  • *
  • Beiträge: 44
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #16 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

Offline malted

  • Jr. Member
  • **
  • Beiträge: 52
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #17 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..

Offline Quantum

  • New Member
  • *
  • Beiträge: 44
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #18 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

Offline Quantum

  • New Member
  • *
  • Beiträge: 44
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #19 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

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1814
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #20 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.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline Quantum

  • New Member
  • *
  • Beiträge: 44
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #21 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

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1814
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #22 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.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Offline subseven

  • New Member
  • *
  • Beiträge: 18
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #23 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! ;)
« Letzte Änderung: 19 April 2018, 17:47:23 von subseven »

Offline Quantum

  • New Member
  • *
  • Beiträge: 44
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #24 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

Offline subseven

  • New Member
  • *
  • Beiträge: 18
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #25 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!

Offline Ralf Kruppa

  • New Member
  • *
  • Beiträge: 37
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #26 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


Offline reibuehl

  • Sr. Member
  • ****
  • Beiträge: 562
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #27 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.
Reiner.

Offline Ralf Kruppa

  • New Member
  • *
  • Beiträge: 37
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #28 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

Offline reibuehl

  • Sr. Member
  • ****
  • Beiträge: 562
Antw:Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]
« Antwort #29 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.
Reiner.