Ankündigung

Einklappen
Keine Ankündigung bisher.

Whisper Systems Signal messenger Client einrichten

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [Codebeispiel] Whisper Systems Signal messenger Client einrichten

    Überarbeitung vom 6.12.2019 18.03.2021

    * Es wird für die Registrierung ReCAPTCHA benötigt
    * Debian 10.8.x
    * Java

    Hallo,

    Alles was ich hier schreibe ist eine Zusammenfassung aus vielen Beiträge bei „https://github.com/AsamK/signal-cli“.
    Die DBUS-API ist in den Untiefen von signal-cli "beschrieben"
    https://github.com/AsamK/signal-cli/...mk/Signal.java


    Getestet mit Java8 und Debian 6.3.0-18, andere Java Versionen und Systeme sollen auch funktionieren.
    NEU: mit openjdk-8-jre-headless und Debian 9.3.
    Die Anleitung ist inklusive DBUS Einbindung.

    DBUS hat den Vorteil das der Signal-Client nur einmal initialisiert wird. Der Initialisierungsvorgang kann bis zu 1 Minute dauern. Bei Embedet System kann der reine Client Betrieb dazu führen, das jedes Senden oder empfangen bis zu 1 Minute dauert. Wenn ich das richtig verstanden habe, liegt das an der Generierung eine Zufallszahl für eine sichere Verschlüsselung.

    Vorbereitung:
    1. Java Installieren (wird für openHab benötigt und ist wahrscheinlich schon erledigt
      Code:
      	apt-get install default-jre
    2. libunixsocket-java installieren (wird für DBUS benötigt)
      Code:
      	apt install libunixsocket-java #(DEBIAN)
    3. User signal-cli anlegen (wird für dbus benötigt)
      Code:
      	adduser signal-cli
    4. Verzeichnisstrucktur vorbereiten.
      Code:
      	mkdir /var/lib/signal-cli
      	chown -R signal-cli: /var/lib/signal-cli (wegen DBus)
    5. Download vom Java Signal-Client
      - neuste Version
      (https://github.com/AsamK/signal-cli/releases)
      Code:
      	cd /tmp/
      	wget https://github.com/AsamK/signal-cli/releases/download/v0.8.1/signal-cli-0.8.1.tar.gz
    6. haveged installieren. Hilft den Zufallszahlen auf die Sprünge (Entropie)
      Code:
      	apt install haveged #(DEBIAN)
    7. Java Installieren (wenn nicht schon installiert)
      Code:
      	apt install default-jre #(DEBIAN)
    8. Client installieren
      Code:
      	cd /tmp/
      	tar xf signal-cli-0.8.1.tar.gz -C /opt
      	ln -sf /opt/signal-cli-0.8.1/bin/signal-cli /usr/local/bin/
    9. Dbus Vorbereitung, es werden drei Dateien benötigt.
      1:1 aus https://github.com/AsamK/signal-cli/tree/master/data übernommen.

      - org.asamk.Signal.conf
      Code:
      	<?xml version="1.0"?> <!--*-nxml-*-->
      	<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
      	"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
      	
      	<busconfig>
      	<policy user="signal-cli">
      	    <allow own="org.asamk.Signal"/>
      	    <allow send_destination="org.asamk.Signal"/>
      	    <allow receive_sender="org.asamk.Signal"/>
      	</policy>
      	
      	<policy context="default">
      	    <allow send_destination="org.asamk.Signal"/>
      	    <allow receive_sender="org.asamk.Signal"/>
      	</policy>
      	</busconfig>
      - org.asamk.Signal.service
      Code:
      	[D-BUS Service]
      	Name=org.asamk.Signal
      	Exec=/bin/false
      	SystemdService=dbus-org.asamk.Signal.service
      - signal-cli.service (oder signal-cli@.service)
      Code:
      	[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=%dir%/bin/signal-cli -u %I --config /var/lib/signal-cli daemon --system
      	User=signal-cli
      	BusName=org.asamk.Signal
      	
      	[Install]
      	Alias=dbus-org.asamk.Signal.service[*]
      - signal.service
      Code:
      	[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=/opt/signal-cli-0.6.5/bin/signal-cli -u %number% --config /var/lib/signal-cli daemon --system
      	User=signal-cli
      	BusName=org.asamk.Signal
      	
      	[Install]
      	Alias=dbus-org.asamk.Signal.service


      Speicherort:

      Code:
      	cp org.asamk.Signal.conf /etc/dbus-1/system.d/
      	cp org.asamk.Signal.service /usr/share/dbus-1/system-services/
      	cp signal.service /etc/systemd/system/
      Die Rufnummer für den Client einrichten:
      Code:
      	sed -i -e "s|%dir%|/opt/signal-cli-0.6.5/|" -e "s|%number%|+49xxxxxxx|" /etc/systemd/system/signal.service
    10. Rechte für DBUS anpassen (kann man auch zwischen durch widerholen ;-))
      Code:
      	chown -R signal-cli: /var/lib/signal-cli

    __________________________________________________ _____________

    erster Start (Registrierung einer Tel-Nummer für den Signal Client)

    Damit DBUS funktioniert, muss dies alles als User signal-cli ausgeführt werden.

    Ich beschreibe die Registrierung einer Tel-Nummer mit dem VOICE Dienst. (Ein Sprachcomputer ruf zurück und liest eine sechs stellige Nummer vor)
    Dadurch kann jede Tel-Nummer, auch ohne SMS Empfangsmöglichkeit, benutzen werden.
    Ich nutze z.B. eine Festnetznummer.
    Inzwischen muss man zuerst ein "Token" generieren.
    Ich habe dies mit dem Firefox erstellt. Im Firefox muss man mit F12 in die Entwicklerkonsole öffnen.
    In dieser Konsole sieht man den Token. Sucht nach dem "signalcaptcha://" alles was danach kommt ist der Token (superlange)

    token.png

    Code:
    su signal-cli - #User "signal-cli" werden
    signal-cli --config /var/lib/signal-cli -u +49xxxxxxx register - -voice --captcha 03AGdBq ....EJCA #(ohne - -voice wird eine SMS versendet)
    #auf den Ruck ruf warten
    signal-cli --config /var/lib/signal-cli -u +49xxxxxxx verify xxx-yyy
    Kann sehr lange dauern, wenn man keine "Entropie" für die Verschlüsselung hat (installieren von haveged)

    __________________________________________________ __________________

    erster Test (ohne DBUS)
    senden:
    Code:
     signal-cli --config /var/lib/signal-cli -u +49xxxxxxx send -m "Hallo Signal ;-)" +49aaaa #Signal Ziel Rufnummer
    Mit PIPE senden
    Code:
     uname -a | signal-cli --config /var/lib/signal-cli -u +49xxxxxxx  send +49aaaa
    empfangen
    Code:
     signal-cli --config /var/lib/signal-cli -u +49aaaa receive
    Jeder Vorgang kann bis zu einer Minute dauern!

    __________________________________________________ ____________

    Dbus starten (als user root)
    Code:
    systemctl daemon-reload
    systemctl enable signal.service
    systemctl reload dbus.service
    Bei Probleme mit dem Dbus kann ein "dpkg-reconfigure dbus" helfen. Danke FlyingEaglE für den Tipp.
    Code:
    dpkg-reconfigure dbus
    Test mit Dbus
    Code:
    signal-cli --dbus-system send +49aaaaaaaaaa -m "Signal-CLI funktioniert mit DBus"
    __________________________________________________ ______________________

    Einfach Script mit PERL (Danke an Quantum aus dem FHEM Forum)

    Code:
    #!/usr/bin/perl -w
    use strict;
    use warnings;
    
    use Net::DBus;
    #use Net::DBus::Reactor;  #wird zum Empfangen benötigt
    #use Net::DBus::Callback; #wird zum Empfangen benötigt
    
    my $dbuserror="OK";
    my $list;
    my @attachment =();
    @attachment =("/home/ls/dbus-test/<Anhang>");  #es gehen Bilder z.B. GIF,PNG, JPEG, ... oder auch andere Dokumente
    my $text="Hallo Signal\n\-- \n\tes hat funktioniert\n".localtime;
    my @recipients = ("+49<nummer1>","+49<numer2>"); # ACHTUNG funktioniert nur ohne Anhang
    @recipients = ("+49<nummer>";
    
    #NET DBus Versiob Prüfen
    $Net::DBus::VERSION =~ /^([0-9]+)\.([0-9]+)\.([0-9]+)$/;
            if(($1*100+$2*10+$3) < 110){
                    return "Please install Net::DBus in version 1.1.0 or higher. Your version is: $Net::DBus::VERSION"
            }
    
    print "Vor Signal\n";
    
    #### Aufruf von signal als SUB
    &senden;
    #####
    
    print "Nach Signal\n";
    
    
    print "Error:".$dbuserror."\n";
    
    sub senden{
    
    my $bus = Net::DBus->system;
    my $service = $bus->get_service("org.asamk.Signal");
    my $object = $service->get_object("/org/asamk/Signal");
    
    
     eval { $object->sendMessage($text,\@attachment,\@recipients) }
                     if($@ =~ /^org\.freedesktop\.dbus\.exceptions\.DBusExecutionException:.*: (.+)$/){
                       chomp ($dbuserror = $@);       #$dbuserror enthält die gesamte Fehlermeldung
                       print "Error: $1 - $dbuserror\n"; # $1 enthält nur den Grund
                     }
    }
    exit 0;
    __________________________________________________ _______________________

    Einbindung in openHAB

    Nun kommt noch ein Beispiel wie das ganze unter openHA mit dem exec-Binding genutzt werden kann.

    - Ein kleine Script erstellen

    Code:
    editor /etc/openhab2/scripts/signal.sh
    Code:
    #!/bin/bash
    
    ZEIT=`date +%H":"%M":"%S`
    DATUM=`date +%d"."%m"."%Y`
    
    printf "Signal vom $DATUM um $ZEIT\nNachricht: $*"|/usr/local/bin/signal-cli --dbus-system send $1

    - Things anlegen (es wird das Exec-Binding benötigt)
    Auswahl_163.png

    ITEMS anlegen

    Code:
    editor /etc/openhab2/items/signal.items
    Code:
    String Sende_Nachricht_Signal "SIGNAL" <switch> { channel="exec:command:Signal-CLI:input", autoupdate="false"}
    Einbinding in die RULES (Sobald das Item "Signal-Schalter" in den Zustand "ON" geht, wird eine Nachricht versendet
    Code:
    rule "Nachricht über Signal versenden"
    when Item Signal-Schalter received command ON
    then
             Sende_Nachricht_Signal.sendCommand("+49aaZIELaa Besch._Ein:_Mess:_" + OW_Temp_DACH_ausen.state.toString() + "_°C_:_Vorher_" + ((WU_Temp_Max_Heute.state as DecimalType).intValue) + "_°C")
    end
    Bis jetzt ist es mir nicht geglückt, das ich SPACE mit übergeben kann. Die " werden immer ignoriert. Vielleicht gibt es dafür eine Lösung.

    SITEMAP anlegen

    Code:
    ...
    Switch item=Sende_Nachricht_Signal mappings=[ "+49aaZIELaa Eine_Signal_vom_openHAB_eingeschaltet"="Nachricht 1", "+49bbZIELbb Eine_zweites_Signal_vom_openHAB"="Nachricht 2" ]
    ...
    Angehängte Dateien
    Zuletzt geändert von lo4dro; 18.03.2021, 12:41.
    --
    Gruß
    Lothar

    #2
    Sehr schöne Anleitung!

    Was das Übergeben der Leerzeichen betrifft, tippe ich darauf, dass Du die Variable $1 im Bash-Script als {$1} schreiben musst. Schau Dir einfach mal an, was in $1 drin steht, bzw. was die bash daraus bei der Parameterübergabe macht.

    Das Thing könntest Du auch in einer .things Datei definieren (das macht es dann etwas einheitlicher...)

    Hast Du den Nerv, das auch ins englische Forum zu stellen?

    Kommentar


      #3
      Hi udi1toni,

      mein Englisch ist leider in Wort und Schrift so schlecht, das möchte ich keinem antun.
      --
      Gruß
      Lothar

      Kommentar


        #4
        Ah, ein Kollege...

        Kommentar


          #5
          schade das es kein D-Bus oder MQTT Binding gibt.

          Das mit dem Thing habe ich mir angesehen, wenn ich im Thing die "..." vor und hinter die Variable setze werden die mit übertragen.

          Senden möchte ich: Text und mehr

          /etc/openhab2/scripts/signal.sh "%2$s" --> Ergebniss: "Text

          Wenn ich in der Bash die Variable $2 $2 $3 ... $9 schreibe, dann werden die ersten 8 Wörter gesendet.
          Es gibt noch $* dann wird zwar der gesamte Text aber inklusive Zielrufnummer übertragen

          in der $1 steht die Zielrufnummer.

          Code:
          printf "Signal vom $DATUM um $ZEIT\nNachricht: $2 $3 $4 $5 $6 $7 $8 $9 "|/usr/local/bin/signal-cli --dbus-system send $1

          Code:
          printf "Signal vom $DATUM um $ZEIT\nNachricht: $* "|/usr/local/bin/signal-cli --dbus-system send $1
          Muss mir vielleicht eine Zeile schreiben, die den ersten Wert aus $* entfernt.
          Muss mir mal morgen Gedanken darüber machen.

          Vielleicht kann man mit Perl eine MQTT Integration erstellen.

          --
          Gruß
          Lothar

          Kommentar


            #6
            Ah jetzt... Das mit der Nummer hatte ich total übersehen. Und wenn Du die Anführungszeichen mit in den Text rein schreibst? also mit \" zum Escapen, dann müssten sie im String landen.

            Kommentar


              #7
              du hast nichts übersehen, ich habe weiterentwickelt.
              In der ersten Version war das noch anders ;-)
              --
              Gruß
              Lothar

              Kommentar


                #8
                funktioniert das Escapen des Anführungszeichens?

                Kommentar


                  #9
                  hallo,

                  als root:
                  signal-cli --dbus-system send +49<meinenummer> -m "Signal-CLI funktioniert mit DBus"
                  Missing native library dependency for dbus service: no unix-java in java.library.path

                  Was mussdenn bei dieser Fehlermeldung tun?
                  Eine Nachricht konnte ich versenden mit: signal-cli --config /var/lib/signal-cli -u +49xxxxxxx send -m "Hallo Signal ;-)" +49aaaa #Signal Ziel Rufnummer

                  Könnte Punkt 6 nochmal etwas genauer ausgeführt werden?

                  als user signal-cli:
                  uname -a | signal-cli --config /var/lib/signal-cli -u +49sourcetel +49targettel
                  Benutzung: signal-cli [-h] [-v] [--config CONFIG] [-u USERNAME | --dbus | --dbus-system]
                  {link,addDevice,listDevices,removeDevice,register, unregister,updateAccount,verify,send,quitGroup,upd ateGroup,listGroups,listIdentities,trust,receive,d aemon} ...
                  signal-cli: error: invalid choice: '+491736444904' (choose from 'link', 'addDevice', 'listDevices', 'removeDevice', 'register', 'unregister', 'updateAccount', 'verify', 'send', 'quitGroup',
                  'updateGroup', 'listGroups', 'listIdentities', 'trust', 'receive', 'daemon')

                  mit send -m ohne pipe kommt die nachricht an.

                  danke!!!

                  nachtrag zu letztem fehler mit pipe: setze ich send vor die targettel, gehts.
                  Zuletzt geändert von FlyingEaglE; 05.10.2017, 15:36.

                  Kommentar


                    #10
                    Ok, ich versuche mein Glück das genauer zu erklären.
                    So wie ich das sehe funktioniert bei dir D-BUS nicht.
                    du hast die libunixsocket-java installiert?

                    Code:
                    apt get install libunixsocket-java
                    So sehen bei mir die Berechtigungen aus:
                    Code:
                    ls -l /etc/dbus-1/system.d/
                    -rw-r--r-- 1 root root   611 Sep 27 18:39 org.asamk.Signal.conf
                    
                    ls -l /usr/share/dbus-1/system-services/
                    -rw-r--r-- 1 root root  99 Sep 27 18:39 org.asamk.Signal.service
                    
                    ls -l /etc/systemd/system/
                    -rw-r--r-- 1 root root 410 Sep 27 18:41 signal.service
                    Hier noch der Link zu der original Anleitung:


                    ------

                    Wenn du mit Punkt 6 "Java 8 InvalidKeyException Probleme" meinst, dann betrifft das nur eine Oracel JAVA Installation Version 8.
                    Wenn du diese zwei Dateien nicht austauscht, dann kann man keine Nachrichten Versenden.

                    Hier mal der Inhalt von der Original Seite:
                    If you use a version of the Oracle JRE and get an InvalidKeyException you need to enable unlimited strength crypto. See https://stackoverflow.com/questions/...ult-parameters for instructions.
                    Zuletzt geändert von lo4dro; 05.10.2017, 19:26.
                    --
                    Gruß
                    Lothar

                    Kommentar


                      #11
                      apt install libunixsocket-java
                      Paketlisten werden gelesen... Fertig
                      Abhängigkeitsbaum wird aufgebaut.
                      Statusinformationen werden eingelesen.... Fertig
                      libunixsocket-java ist schon die neueste Version.
                      0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.


                      -rw-r--r-- 1 root root 520 Okt 5 21:44 org.asamk.Signal.conf
                      -rw-r--r-- 1 root root 99 Okt 5 21:44 org.asamk.Signal.service
                      -rw-r--r-- 1 root root 403 Okt 5 21:45 signal.service


                      auszug aus syslog nach
                      systemctl daemon-reload
                      systemctl enable signal.service
                      systemctl reload dbus.service

                      Oct 5 22:09:40 systemd[1]: Reloading.
                      Oct 5 22:09:42 systemd[1]: Reloading.
                      Oct 5 22:09:43 systemd[1]: Reloading D-Bus System Message Bus.
                      Oct 5 22:09:43 dbus[613]: [system] Reloaded configuration
                      Oct 5 22:09:43 dbus-send[7294]: method return sender=org.freedesktop.DBus -> dest=:1.297 reply_serial=2
                      Oct 5 22:09:45 systemd[1]: Reloaded D-Bus System Message Bus.

                      möglicherweise was anderes:
                      Oct 5 22:10:01 rsyslogd-2007: action 'action 17' suspended, next retry is Thu Oct 5 22:11:31 2017 [try http://www.rsyslog.com/e/2007 ]




                      Missing native library dependency for dbus service: no unix-java in java.library.path

                      java -XshowSettings : properties

                      gibt aus:

                      java.library.path = /usr/java/packages/lib/arm
                      /lib
                      /usr/lib

                      ich habe nun in die drei pfade jeweils diese .so reingemacht:

                      ls -l /usr/java/packages/lib/arm
                      -rw-r--r-- 4 root root 7164 Dez 4 2011 libunix-java.so

                      ls -l /lib | grep java
                      -rw-r--r-- 4 root root 7164 Dez 4 2011 libunix-java.so

                      ls -l /usr/lib | grep java
                      -rw-r--r-- 4 root root 7164 Dez 4 2011 libunix-java.so

                      kein unterschied zu oben:
                      Oct 5 23:02:47 systemd[1]: Reloading.
                      Oct 5 23:02:49 systemd[1]: Reloading.
                      Oct 5 23:02:51 systemd[1]: Reloading D-Bus System Message Bus.
                      Oct 5 23:02:51 dbus[613]: [system] Reloaded configuration
                      Oct 5 23:02:51 dbus-send[18471]: method return sender=org.freedesktop.DBus -> dest=:1.301 reply_serial=2
                      Oct 5 23:02:52 systemd[1]: Reloaded D-Bus System Message Bus.


                      hmmm, mal ne halbe stunde nix mehr gemacht, nu scheint es zu gehen ... erstmal ...

                      ok, das mit dem script (und openhab) geht noch nicht.
                      aus dem script heraus werden keine nachrichten versendet.
                      Zuletzt geändert von FlyingEaglE; 05.10.2017, 22:57.

                      Kommentar


                        #12
                        Hast du mal versucht als User "signal-cli" eine Nachricht zu versenden?
                        Die D-BUS Konfiguration benutzt den User signal-cli.

                        Die Rechte für den Ordner /var/lib/ inklusive alle Unterordner und Datein:

                        Code:
                        ls -l /var/lib/
                        drwxr-xr-x  3 signal-cli signal-cli  18 Sep 27 20:14 signal-cli
                        
                        ls -l /var/lib/signal-cli
                        drwx------ 3 signal-cli signal-cli 52 Okt  5 08:11 data
                        
                        #rechte ändern
                        chown -R signal-cli:  /var/lib/signal-cli
                        Testen kannst du das ganze als User "signal-cli"
                        (Du bist aktuell User "root")
                        Code:
                        su signal-cli - #du wirst zum User signal-cli
                        
                        $ whoami   #Kontrollieren ob man User signal-cli ist
                        signal-cli
                        Dann der Test, einmal ohne und einmal mit D-BUS
                        Code:
                        signal-cli --config /var/lib/signal-cli -u +49quelle send -m "Hallo Signal ;-)" +49ziel
                        signal-cli --dbus-system send +49ziel -m "User signal-cli macht einen Test"
                        Vielleicht auch alles einmal rebooten.

                        Nach dem ersten mal testen mit dem D-BUS Aufruf, sollte es eine Prozess geben, der so ähnlich aussieht.

                        Code:
                        root@openhab2:~# ps ax|grep signal
                        
                        6334 ?        Ssl    1:12 java -Xms2m -classpath /opt/signal-cli-0.5.6/lib/signal-cli-0.5.6.jar:/opt/signal-cli-0.5.6/lib/signal-service-java-2.5.11_unofficial_1.jar:/opt/signal-cli-0.5.6/lib/bcprov-jdk15on-1.55.jar:/opt/signal-cli-0.5.6/lib/argparse4j-0.7.0.jar:/opt/signal-cli-0.5.6/lib/dbus-java-2.7.0.jar:/opt/signal-cli-0.5.6/lib/protobuf-java-2.5.0.jar:/opt/signal-cli-0.5.6/lib/libphonenumber-8.3.0.jar:/opt/signal-cli-0.5.6/lib/jackson-databind-2.5.0.jar:/opt/signal-cli-0.5.6/lib/signal-protocol-java-2.5.3.jar:/opt/signal-cli-0.5.6/lib/okhttp-3.6.0.jar:/opt/signal-cli-0.5.6/lib/httpclient-4.4.jar:/opt/signal-cli-0.5.6/lib/unix-0.5.1.jar:/opt/signal-cli-0.5.6/lib/jackson-annotations-2.5.0.jar:/opt/signal-cli-0.5.6/lib/jackson-core-2.5.0.jar:/opt/signal-cli-0.5.6/lib/curve25519-java-0.3.0.jar:/opt/signal-cli-0.5.6/lib/okio-1.11.0.jar:/opt/signal-cli-0.5.6/lib/httpcore-4.4.jar:/opt/signal-cli-0.5.6/lib/commons-logging-1.2.jar:/opt/signal-cli-0.5.6/lib/commons-codec-1.9.jar:/opt/signal-cli-0.5.6/lib/debug-1.1.1.jar:/opt/signal-cli-0.5.6/lib/hexdump-0.2.1.jar org.asamk.signal.Main -u +49<quelle> --config /var/lib/signal-cli daemon --system
                        Zuletzt geändert von lo4dro; 06.10.2017, 01:24.
                        --
                        Gruß
                        Lothar

                        Kommentar


                          #13
                          So, Rechte sind wie du geschrieben hast
                          Als User signal-cli

                          signal-cli --config /var/lib/signal-cli -u +49 send -m "Hallo Signal ;-)" +49

                          geht, dauert ne halbe Ewigkeit

                          uname -a | signal-cli --config /var/lib/signal-cli -u +49 +49

                          geht, dauert ne halbe Ewigkeit

                          signal-cli --dbus-system send +49 -m "Signal-CLI funktioniert mit DBus"
                          Cannot connect to dbus: No reply within specified time
                          Aborting.


                          kein Prozess

                          nun als root

                          signal-cli --config /var/lib/signal-cli -u +49 send -m "Hallo Signal ;-) from `whoami`" +49

                          kommt an

                          signal-cli --dbus-system send +49 -m "Signal-CLI funktioniert mit DBus `whoami`"
                          Cannot connect to dbus: No reply within specified time
                          Aborting.



                          ps -eaf | grep -i signal

                          signal-+ 12645 1 17 09:36 ? 00:00:24 java -Xms2m -classpath /opt/signal-cli-0.5.6/lib/signal-cli-0.5.6.jar:/opt/signal-cli-0.5.6/lib/signal-service-java-2.5.11_unofficial_1.jar:/opt/signal-cli-0.5.6/lib/bcprov-jdk15on-1.55.jar:/opt/signal-cli-0.5.6/lib/argparse4j-0.7.0.jar:/opt/signal-cli-0.5.6/lib/dbus-java-2.7.0.jar:/opt/signal-cli-0.5.6/lib/protobuf-java-2.5.0.jar:/opt/signal-cli-0.5.6/lib/libphonenumber-8.3.0.jar:/opt/signal-cli-0.5.6/lib/jackson-databind-2.5.0.jar:/opt/signal-cli-0.5.6/lib/signal-protocol-java-2.5.3.jar:/opt/signal-cli-0.5.6/lib/okhttp-3.6.0.jar:/opt/signal-cli-0.5.6/lib/httpclient-4.4.jar:/opt/signal-cli-0.5.6/lib/unix-0.5.1.jar:/opt/signal-cli-0.5.6/lib/jackson-annotations-2.5.0.jar:/opt/signal-cli-0.5.6/lib/jackson-core-2.5.0.jar:/opt/signal-cli-0.5.6/lib/curve25519-java-0.3.0.jar:/opt/signal-cli-0.5.6/lib/okio-1.11.0.jar:/opt/signal-cli-0.5.6/lib/httpcore-4.4.jar:/opt/signal-cli-0.5.6/lib/commons-logging-1.2.jar:/opt/signal-cli-0.5.6/lib/commons-codec-1.9.jar:/opt/signal-cli-0.5.6/lib/debug-1.1.1.jar:/opt/signal-cli-0.5.6/lib/hexdump-0.2.1.jar org.asamk.signal.Main -u +49... --config /var/lib/signal-cli daemon --system


                          wenn ich den dbus service restarte

                          Oct 6 09:55:46 cubie systemd[1]: Starting D-Bus System Message Bus Socket.
                          Oct 6 09:55:46 cubie systemd[1]: Listening on D-Bus System Message Bus Socket.
                          Oct 6 09:55:47 cubie systemd[1]: Starting D-Bus System Message Bus...
                          Oct 6 09:55:47 cubie systemd[1]: Started D-Bus System Message Bus.

                          Prozesse

                          ps -eaf | grep -i dbus
                          message+ 16715 1 0 09:55 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
                          Zuletzt geändert von FlyingEaglE; 06.10.2017, 08:59.

                          Kommentar


                            #14
                            nach einem beherzten dpkg-reconfigure dbus scheint es auf der konsole erstmal zu gehen.
                            nun muss ich "nur" noch openhab 1.8.3 dazu bringen die nachrichten zu senden ... das tuts (noch?) nicht.

                            auf jeden fall erstmal ein fettes danke an alle und den threadersteller!!

                            PS: aus über myopenhab kriegt man die app nicht dazu notifications zu empfangen oder?

                            PPS: In Post #5 wird von einem fehlenden mqtt binding gesprochen, was genau ist damit gemeint?
                            Zuletzt geändert von FlyingEaglE; 06.10.2017, 09:47.

                            Kommentar


                              #15
                              Herzlichen Glückwunsch und danke für den Tipp.

                              Möglich ist erst einmal alles ;-)
                              Es besteht die Möglichkeit, das jemand ein Bindung dafür Programmiert.
                              Oder mein sehr einfaches BASH-Script durch ein aufwendigeres Script ersetzen.

                              Wenn du auf der Konsole ein
                              Code:
                              signal-cli --dbus-system  receive
                              benutzt. Kannst du auch empfangen.
                              Senden und Empfang kann parallel laufen.

                              Ich überlege mir auch, ob es vielleicht eine Möglichkeit gibt, ein PERL Script zu schreiben, das MQTT nutzt.
                              Vielleicht findet sich jemand der ein passendes Grundgerüst für MQTT und Perl liefern kann.
                              Mit dem Grundgerüst tut ich mich aktuell etwas schwer.

                              Ich sehe auch Potential, das z.B. durch Klingeln an der Haustür ein Bild von der WEB-Cam geschossen wird und dieses Bild dann per Signal übertragen.


                              PS: MQTT ist ein Protokoll für Maschine - Maschine Kommunikation. die Sonoff W-Lan Schalter nutzen z.B. das Protokoll.
                              --
                              Gruß
                              Lothar

                              Kommentar

                              Lädt...
                              X