Textsecure bzw. Signal aus FHEM nutzen

Begonnen von malted, 21 Dezember 2014, 01:13:04

Vorheriges Thema - Nächstes Thema

Bubinator

#30
Hallo zusammen,

wie schon geschrieben, es ist nicht kompliziert. Ich habe es auf meine RaspberryPi, auf dem auch FHEM läuft wie folgt gemacht.
@KlausW - Laut der Beschreibung der Signal-CLI soll auch der Empfang gehen. Das habe ich aber nicht ausprobiert und entsprechend auch nichts implementiert.

1. Signal-CLI installieren (Beschreibung stammt von https://github.com/AsamK/signal-cli

export VERSION=<latest version, format "x.y.z">
wget https://github.com/AsamK/signal-cli/releases/download/v"${VERSION}"/signal-cli-"${VERSION}".tar.gz
sudo tar xf signal-cli-"${VERSION}".tar.gz -C /opt
sudo ln -sf /opt/signal-cli-"${VERSION}"/bin/signal-cli /usr/local/bin/


2. Nummer (USERNAME ist die Telefonnummer im Format +49171...) für Signal registrieren (Parameter --voice optional, wenn keine SMS empfangen werden kann)

signal-cli -u USERNAME register


3. Den erhaltenen Verifikationscode eingeben

signal-cli -u USERNAME verify CODE


4. Grundsätzliche Funktionalität über die Bash testen (RECIPIENT ist die Telefonnummer des Empfängers, der auch Signal haben muss im Format +49172...):

signal-cli -u USERNAME send -m "This is a message" RECIPIENT


5. Signal-Konfigurationsdatei aus Homeverzeichns nach FHEM kopieren/verschieben

cp ~/.config /opt/fhem/


6. Als FHEM-User testen (sicherstellen, dass die Berechtigungen passen)

sudo -u fhem signal-cli -u USERNAME send -m "Test aus FHEM-Verzeichnis" RECIPIENT


Das waren nun die Schritte für die Installation und den Test der Signal-CLI. Nun kommt noch meine Anpassungen an den 99_myUtils.pm. Ich bin kein Perl-Entwickler und ich habe als Basis den Code aus dem ersten Posting in diesem Threat genommen. Verbesserungen sind natürlich immer willkommen.

7. 99_myUtils.pm anpassen

package main;
use strict;
use warnings;
use Cwd;
use POSIX;
sub
myUtils_Initialize($$)
{
          my ($hash) = @_;
  }

  ######################################################
  ## Aufgabe    :Versenden von Signal-Nachrichten
  ## Parameter 1:Nummer des Absenders im Format +491701234567
  ## Parameter 2:Nummer des Empfängers im Format +491711234567
  ## Parameter 3:Nachricht
  ##
 
  sub sendSignalMessage($$$)
  {
        my ($nrAbs, $nr, $Message) = @_;
        my $dir = getcwd();
        #chdir "/opt/fhem/ts/";
        Log 3, "sendSignal  Nr: ". $nr . " Absender-Nr: ". $nrAbs . " Message:\x22" . $Message . "\x22 ";
        #Direkter Aufruf
        system("signal-cli -u \"$nrAbs\" send  -m \"$Message\" \"$nr\"");
        chdir "$dir";
 
  }
 
  1;


8. Nachricht aus FHEM versenden:

{ sendSignalMessage("+491701234567", "+491719876543210", "Nachricht aus der FHEM-Oberflaeche") }


Das war es dann auch. Über sendSignalMessage kann man nun zu diversen Events eine Nachricht versenden. Ich nutze es zur Warnung vor zu hoher Luftfeuchtigkeit in dem Raum, wo die Waschmaschine steht.

Viele Grüße & Glück Auf!

Quantum

#31
Hallo FHEM-Gemeinde,

da ich auch Nachrichten empfangen wollte und ich das ganze auf einem Raspberry Pi mache (das senden einer Nachricht kann mit der o.g. Methode u.u. 5 minuten dauern), habe ich mich für den daemon Modus des signal-cli und dbus entschieden. Ich habe auf Github unter

https://github.com/Quantum1337/signal2fhem

einen kleinen daemon abgelegt, der auf dbus signale reagiert und bei eintreffen einer Nachricht readings über Telnet setzt.

Wenn mir jemand sagen kann wie ich mit der FHEM API auf dbus signale reagiere, kann ich anbieten ein FHEM Modul zu schreiben. Diese Frage habe ich hier:
https://forum.fhem.de/index.php/topic,84166.0.html auch schon gestellt. Bekam aber leider keine antwort.


EDIT:
Siehe:
https://github.com/Quantum1337/32_SiSi.pm
https://forum.fhem.de/index.php/topic,84996.0.html

Grüße und Viel Erfolg

vic

Guten Tag Gemeinde

Ich versuche seit geraumer Zeit Signal zu installieren. Unter Linux kann ich als root Problemlos Nachrichten senden. Als fhem kommt die folgende Meldung:
User is not registered
Folgende Schritte hatte ich durchgeführt:
cp -r ~/.config /opt/fhem/
chown -R fhem:dialout /opt/fhem/.config
chmod 666 /opt/fhem/.config -r

sudo -u fhem signal-cli -u +4156xxxxxxx  send -m "Test aus FHEM-Verzeichnis" +4179xxxxxxx


Vielen Dank für eure Hilfe
Raspberry Pi 4
RFXTRX 868MHz und 433MHz
FS20, Intertechno, Homematic, Shelly
MAX!-Cube, Philips HUE-Bridge

malted

Zitat von: vic am 09 September 2018, 09:46:24
Guten Tag Gemeinde

Ich versuche seit geraumer Zeit Signal zu installieren. Unter Linux kann ich als root Problemlos Nachrichten senden. Als fhem kommt die folgende Meldung:
User is not registered
Folgende Schritte hatte ich durchgeführt:
cp -r ~/.config /opt/fhem/
chown -R fhem:dialout /opt/fhem/.config
chmod 666 /opt/fhem/.config -r

sudo -u fhem signal-cli -u +4156xxxxxxx  send -m "Test aus FHEM-Verzeichnis" +4179xxxxxxx


Vielen Dank für eure Hilfe

Was ist denn dein home-Verzeichnis für den User fhem? die signal-cli guckt in dort nach der config. Ggf. mal den Pfad zur Config per cmdline-argument mitgeben.
Ansonsten ist doch .config ein Ordner? da ist natürlich 666 eine blöde Permission für, probier mal 755 ;-)
Achja, ~/.storage brauchst Du auch...

vic

Hallo malted und danke für die prompte Antwort

Das home-Verzeichnis von fhem lautet /opt/fhem (fhem:x:999:20::/opt/fhem:/bin/false)
Der chmod ist rekursiv auf 755 gesetzt.
Ein Verzeichnis ~/.storage ist bei mir nicht vorhanden

Unterdessen sind andere Fehlermeldungen erschienen die auf Zugriffsprobleme bei den Dateien local_policy.jar (Permission denied) und US_export_policy.jar (Permission denied) hinweisen.
Habe die Dateien auf 555 gesetzt.

Als Folge erscheint keine Fehlermeldung mehr jedoch kommt auch keine Nachricht an,.

Nun habe ich die Dateien zusätzlich mit chown fhem:dialout versehen.


ES FUNKTIONIERT NUN!!!!

Ganz herzlichen Dank für deine Hilfe malted. :)

Wünsche dir noch eine tollen Sonntag
Raspberry Pi 4
RFXTRX 868MHz und 433MHz
FS20, Intertechno, Homematic, Shelly
MAX!-Cube, Philips HUE-Bridge

Carsten K.

Hallo Ihr Wissenden :)

ich setze aktuell telegram ein, würde aber gerne etwas mit Verschlüsselung verwenden.
Ich habe das Topic Signal/textsecure bis jetzt so verstanden, dass SMS versendet werden.

Liege ich da falsch? Dann habe ich die Anleitungen nicht genug durchgelesen...

Ich möchte Meldungen von FHEM senden und mit FHEM von einer App empfangen (geht alles mit Telegram).

Vielen Dank für eure Hinweise ...
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

vic

Guten Tag

Gemäss meiner Kenntnisse besitzt Signal eine Ende-zu-Ende-Verschlüsselung.

Signal ist ein freier verschlüsselter Messenger. (Wikipedia)
https://de.wikipedia.org/wiki/Signal_(Messenger)
Raspberry Pi 4
RFXTRX 868MHz und 433MHz
FS20, Intertechno, Homematic, Shelly
MAX!-Cube, Philips HUE-Bridge

delMar

Zitat von: Carsten K. am 07 November 2018, 14:35:30
ich setze aktuell telegram ein, würde aber gerne etwas mit Verschlüsselung verwenden.
Also meiner Meinung nach ist Telegram auch sicher.
Es gibt sogar 300.000 Dollar Bonus wenns jemand schafft, eine Nachricht zu entschlüsseln
Maintainer von: ZoneMinder, TA_CMI_JSON, ONKYO_AVR, DENON_AVR, CanOverEthernet, IPCAM.

Vielgenutzte Module sind die größte Motivation für Entwickler.
Bitte zumindest 'attr global sendStatistics onUpdate' setzen.
Denn: ohne 'sendStatistics' keine Zahlen.

Carsten K.

Zitat von: delmar am 08 November 2018, 21:02:12
Also meiner Meinung nach ist Telegram auch sicher.
Es gibt sogar 300.000 Dollar Bonus wenns jemand schafft, eine Nachricht zu entschlüsseln

Das hört sich gut an  ;D
NUC FHEM on Debian, CC1101-USB-Lite 868MHz;
HM_HM_CC_RT_DN, HM-LC-SW1-PL2, HM_HM_TC_IT_WM_W_EU, HM-SEC-SC-2, HM-ES-TX-WM
FRITZ!DECT 200
Philips TV (Android), VuDuo2, VU Ultimo4k

abc2006

Zitat von: delmar am 08 November 2018, 21:02:12
Also meiner Meinung nach ist Telegram auch sicher.
Es gibt sogar 300.000 Dollar Bonus wenns jemand schafft, eine Nachricht zu entschlüsseln

Bei Telegram ist eine Schwachstelle die Handhabung der Authentifikation auf dem Handy. So kann z.B. ein zusätzlicher Client angemeldet werden, der alle! Nachrichten mitlesen kann...

Ich löse dieses Problem so, dass ich nur "unkritische" Sachen über telegram steuere.. (Licht an, Licht aus, "sende mir ein Bild", "sende mir die Temperatur") und NICHT "öffne mir die Haustüre" ...

Dafür habe ich auf dem Handy ein VPN eingerichtet (was übrigens ziemlich einfach zu handhaben ist), mit dem ich mich auf meine FritzBox connecte ...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

Bubinator

Hallo zusammen,

es ging hier um Signal und die FHEM-Anbindung und nicht um Telegram oder irgendwelche "Glaubenskriege" der Messanger-Apps.  ;)

Glück Auf!

Stefan