Neues Modul für "(Si)gnal - (Si)cherer Messenger" [32_SiSi.pm]

Begonnen von Quantum, 26 Februar 2018, 14:32:42

Vorheriges Thema - Nächstes Thema

enno

Moin

da ich in Perl eher unterbelichtet bin nutze ich DOIF mit Wait und ein Script. Das Ergebnis ist aber wie bei dir, dass ich das Bild erst zwischenspeicher und dann als Anhang über Signal schicke.

Der Ausführungszweig im DOIF:
(set MYSQL commitCache)({fhem('"sh copy2file.sh"')})(set SIGNAL send @#1234 &/opt/fhem/www/images/move.png)

und die Batchdatei:
wget -bNq http://192.168.0.50:8083/fhem/rss/MyRSS.png -O /opt/fhem/www/images/move.png


Das geht vermutlich auch direkt aus FHEM ohne Batch, aber wie gesagt, in der Konsole bin ich eher zu Hause.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

tomcat.x

Danke für das Modul. Habe mich gestern endlich mal dran gemacht, um Telegram abzulösen. Das habe ich zuletzt nur noch für fhem genutzt und auch dafür ist mir Signal lieber. Weiß gar nicht, warum ich das solange vor mir hergeschoben habe. Klar, ist mehr als nur ein paar defines, aber mit der Anleitung im Wiki hat es sofort, ohne Probleme funktioniert.
FHEM: 6.1 auf Raspi 3, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 7.57), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

Mikka

Hallo zusammen,

mir ist da etwas am Modul aufgefallen, weiß aber nicht ob es evtl. an meiner Konfiguration liegt.
Das attr allowedPeer "Comma separated list of recipient(s) and/or groupId(s), allowed to update the msg.* readings and trigger new events when receiving a new message. If the attribute is not defined, everyone is able to trigger new events!!"

Habe eine GruppenID + eine Handy Nummer eingetragen.
"ABC...,+49171xxx"


Internals:
   FD         60
   NAME       Signal
   NR         841
   NTFY_ORDER 50-Signal
   OBJECT     /org/asamk/Signal
   PID        29795
   SERVICE    org.asamk.Signal
   STATE      Connected
   TYPE       SiSi
   VERSION    1.1.1
   sentMsgGroupId ABC...
   sentMsgGroupName Test
   sentMsgResult SUCCESS
   sentMsgText FHEM
   READINGS:
     2020-12-14 21:51:16   msgAttachment   NONE
     2020-12-14 21:51:16   msgGroupId      ABC...
     2020-12-14 21:51:16   msgGroupName    Test
     2020-12-14 21:51:16   msgSender       +49171xxx
     2020-12-14 21:51:16   msgText         F
     2020-12-14 21:51:16   msgTimestamp    2020-12-14 21:51:14
     2020-12-14 21:51:16   prevMsgAttachment NONE
     2020-12-14 21:51:16   prevMsgGroupId  ABC...
     2020-12-14 21:51:16   prevMsgGroupName Test
     2020-12-14 21:51:16   prevMsgSender   +49171xxx
     2020-12-14 21:51:16   prevMsgText     Test123
     2020-12-14 21:51:16   prevMsgTimestamp 2020-12-14 21:50:08
Attributes:
   allowedPeer ABC...,+49171xxx
   defaultPeer ABC...
   enable     yes
   room       System


Mit einer weiteren Handynummer kann ich trotzdem neue events triggern. Kann das einer bestätigen?

Viele Grüße,
Mikka

Gisbert

Hallo Quantum,

vorab, aus Fhem heraus läuft es.
Vielen Dank für dein Modul.

Wenn ich im Fhem-Wiki beim Schritt angekommen bin:
ZitatWar die Registrierung erfolgreich, können nun Nachrichten via signal-cli versendet werden:

signal-cli -u <RegistrierteNummer> send -m "Greetings from FHEM!" <Empfängernummer>
dann erhalte ich folgende Meldung:
Zitatpi@HPT610:/usr/local/bin$ signal-cli -u +49xxxxxxxxx send -m "Greetings from FHEM!" +49xxxxxxxxx
[main] WARN org.asamk.signal.manager.Manager - Failed to resolve uuids from server, ignoring: Authorization failed!
[main] WARN org.asamk.signal.manager.Manager - Failed to get sender certificate, ignoring: Authorization failed!
Failed to send message: Authorization failed!

Diese Meldung erhalte ich auch, wenn ich die Fhem-Installation laut Wiki abgeschlossen habe und ich erfolgreich eine Nachricht von Fhem auf meine Empfängernummer (mein Handy) versendet habe.
Ist das von Bedeutung, muss ich mich drum kümmern, oder kann ich es ignorieren?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Carsten K.

#139
Hallo zusammen,

telegram ist fast vollständig abgelöst  ;)

Was mir noch fehlt, ist der Empfang von Attachments (vom Handy gesendetes Foto).
Wenn ich es richtig beobachte, geht Signal auf "disconnected", wenn ich ein Foto sende.
In /var/log/syslog konnte ich folgende Details finden:

Jan 14 11:43:06 mach42 signal-cli[15570]: Attachments:
Jan 14 11:43:06 mach42 signal-cli[15570]: - image/jpeg (Pointer)
Jan 14 11:43:06 mach42 signal-cli[15570]:   Id: 93Ncbl9LKVlzQGdnxrXU Key length: 64
Jan 14 11:43:06 mach42 signal-cli[15570]:   Filename: -
Jan 14 11:43:06 mach42 signal-cli[15570]:   Size: 316098 bytes
Jan 14 11:43:06 mach42 signal-cli[15570]:   Voice note: no
Jan 14 11:43:06 mach42 signal-cli[15570]:   Dimensions: 1920x1080
Jan 14 11:43:06 mach42 signal-cli[15570]:   Stored plaintext in: /opt/fhem/.local/share/signal-cli/data/attachments/93Ncbl9LKVlzQGdnxrXU


In fhem kommt zwar der Dateiname an, jedoch keine Dateiendung.

Muss noch etwas konfiguriert werden, damit die Attachment Daten aus FHEM verwendet werden können?

Grüße, Carsten
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

Jamo

Hallo Gisbert,
Zitatpi@HPT610:/usr/local/bin$ signal-cli -u +49xxxxxxxxx send -m "Greetings from FHEM!" +49xxxxxxxxx
[main] WARN org.asamk.signal.manager.Manager - Failed to resolve uuids from server, ignoring: Authorization failed!
[main] WARN org.asamk.signal.manager.Manager - Failed to get sender certificate, ignoring: Authorization failed!
Failed to send message: Authorization failed!
Nein, das ist nicht ok, kannst Du mal schauen ob Du in /etc/systemd/system/signal.service und  /etc/dbus-1/system.d/org.asamk.Signal.conf den user richtig gesetzt hast? Ich hatte bei der Einrichtung glaube ich die gleiche Meldung und dann habe ich in den beiden Dateien den user aendern muessen (bei mir laeuft fhem unter root).

Gruss
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Gisbert

Hallo Jamo,

ZitatNein, das ist nicht ok, kannst Du mal schauen ob Du in /etc/systemd/system/signal.service und  /etc/dbus-1/system.d/org.asamk.Signal.conf den user richtig gesetzt hast? Ich hatte bei der Einrichtung glaube ich die gleiche Meldung und dann habe ich in den beiden Dateien den user aendern muessen (bei mir laeuft fhem unter root).

Fhem läuft bei mir auch unter root. In beiden Dateien ist user=fhem. Demnach ändere ich in beiden Dateien den user auf root, richtig?

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Jamo

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Gisbert

Hallo Jamo,

ich hab's genauso umgesetzt und die Konfigurationsdatei(en) neu geladen. Dannach funktioniert das Versenden von Nachrichten aus Fhem weiterhin, aber ich erhalte nach wie vor Fehlermeldungen:
pi@HPT610:~$ signal-cli -u +49yyyyyyyyyy send -m "Greetings from FHEM!" +49xxxxxxxxxx
[main] WARN org.asamk.signal.manager.Manager - Failed to resolve uuids from server,
ignoring: Authorization failed!
[main] WARN org.asamk.signal.manager.Manager - Failed to get sender certificate, ig
noring: Authorization failed!
Failed to send message: Authorization failed!
pi@HPT610:~$


Signal war gestern abend und die ganze Nacht down, aber heute morgen läuft es wieder, also daran kann die Fehlermeldung nicht liegen.

Viele​ Grüße​ Gisbert​
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

drhirn

Zitat von: Gisbert am 16 Januar 2021, 10:50:25Signal war gestern abend und die ganze Nacht down, aber heute morgen läuft es wieder, also daran kann die Fehlermeldung nicht liegen.

Ich würde trotzdem mit Versuchen noch warten. Nur, um Ausschließen zu können, dass es an Signal liegt. Bei mir wird immer noch angezeigt, dass es derzeit Probleme gibt.

Jamo

Hallo Gisbert, stimmt im signal.service script der Pfad zu der config datei ?
Den musst Du auch noch anpassen, bzw von root $HOME/.local/... nach
/opt/fhem/.local/share/signal-cli/data/ kopieren, das musste ich bei mir auch machen.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Gisbert

Zitat von: Jamo am 16 Januar 2021, 14:33:45
Hallo Gisbert, stimmt im signal.service script der Pfad zu der config datei ?
Den musst Du auch noch anpassen, bzw von root $HOME/.local/... nach
/opt/fhem/.local/share/signal-cli/data/ kopieren, das musste ich bei mir auch machen.

Hallo,

ich kopiere meinen jetztigen Stand, der anscheinend jetzt nicht funktioniert hierhin:

pi@HPT610:~$ sudo nano /etc/dbus-1/system.d/org.asamk.Signal.conf
<?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="root">
                <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>


pi@HPT610:~$ sudo nano /etc/systemd/system/signal.service
[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/fhem/signal-cli/bin/signal-cli -u +49xxxxxxxxxx --config /opt/fhem/.local/share/signal-cli/data/ daemon --system
User=root
BusName=org.asamk.Signal

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


Nach Neustart des Services erhalte ich folgende Fehlermeldung:
pi@HPT610:~$ sudo systemctl daemon-reload
pi@HPT610:~$ sudo systemctl reload dbus.service
pi@HPT610:~$ sudo systemctl enable signal.service
pi@HPT610:~$ sudo systemctl restart signal.service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
pi@HPT610:~$ sudo systemctl status signal.service
● signal.service - Send secure messages to Signal clients
   Loaded: loaded (/etc/systemd/system/signal.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sat 2021-01-16 17:05:35 CET; 12s ago
  Process: 11652 ExecStart=/opt/fhem/signal-cli/bin/signal-cli -u +49xxxxxxxxxx --config /opt/fhem/.local/share/signal-cli/data/ daemon --system (code=exited, status=1/FAILURE)
Main PID: 11652 (code=exited, status=1/FAILURE)

Jan 16 17:05:26 HPT610 systemd[1]: Starting Send secure messages to Signal clients...
Jan 16 17:05:35 HPT610 signal-cli[11652]: User is not registered.
Jan 16 17:05:35 HPT610 systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Jan 16 17:05:35 HPT610 systemd[1]: signal.service: Failed with result 'exit-code'.
Jan 16 17:05:35 HPT610 systemd[1]: Failed to start Send secure messages to Signal clients.


Die Ordner sehen wie folgt aus, mal ist die Berechtigung fhem:dialout mal root:root
root@HPT610:/opt/fhem# cd /opt/fhem/.local/share/signal-cli
root@HPT610:/opt/fhem/.local/share/signal-cli# ls -la
total 12
drwx------ 3 fhem dialout 4096 Jan 14 09:55 .
drwx------ 3 fhem dialout 4096 Jan 14 09:55 ..
drwx------ 4 fhem dialout 4096 Jan 16 17:14 data
root@HPT610:/opt/fhem/.local/share/signal-cli# cd data/
root@HPT610:/opt/fhem/.local/share/signal-cli/data# ls -la
total 40
drwx------ 4 fhem dialout  4096 Jan 16 17:14 .
drwx------ 3 fhem dialout  4096 Jan 14 09:55 ..
-rw------- 1 fhem dialout   893 Jan 14 10:03 +49yyyyyyyyyyy
-rw------- 1 fhem dialout 18743 Jan 16 15:16 +49xxxxxxxxxx
drwx------ 3 fhem dialout  4096 Jan 14 10:13 +49xxxxxxxxxx.d
drwx------ 2 root root     4096 Jan 16 16:43 data
root@HPT610:/opt/fhem/.local/share/signal-cli/data#


Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

drhirn

Blöde Frage: Die Registrierung des Users war erfolgreich? Und mit welchem User hast du die gemacht?
Im Wiki wird die Registrierung unter dem User "fhem" gemacht. Du hast in deinen Configs aber den User "root".

Gisbert

#148
Zitat von: drhirn am 16 Januar 2021, 17:32:01
Blöde Frage: Die Registrierung des Users war erfolgreich? Und mit welchem User hast du die gemacht?
Im Wiki wird die Registrierung unter dem User "fhem" gemacht. Du hast in deinen Configs aber den User "root".

Hallo drhirn,

ich bin auch etwas lost ...
Ich hab die Registrierung wie im Wiki mit "fhem" als user durchgeführt.

Das Versenden von Nachricht aus/zu Fhem funktioniert zu/von meinem Handy.

Dann bin ich hier hängengeblieben, da es bei mir mit einem Fehler beendet wird [Edit] -  da kam der Vorschlag mit user=root ins Spiel.
ZitatWar die Registrierung erfolgreich, können nun Nachrichten via signal-cli versendet werden:
signal-cli -u <RegistrierteNummer> send -m "Greetings from FHEM!" <Empfängernummer>

Ich meine mich zu erinnern, dass ich den Befehl zur Registrierung zunächst ohne --voice abgeschickt habe, da ich glaubte, mein DECT-Telefon könnte auch Nachrichten empfangen, dem ist aber nicht so.
Kann es sein, dass meine registrierte Nummer deshalb in den Ordnern mehrfach auftaucht?
Wie sehen die Ordner bei dir aus?

Kann ich Signal "deinstallieren" und alles von neuem beginnen?

Viele Grüße Gisbert
Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

drhirn

Der Nummer +49xxxx scheint korrekt registriert zu sein. Zumindest glaube ich das, weil's bei dir auch einen Ordner +49xxxxxxxxxx.d gibt.

Wenn du aber aus FHEM eh Nachrichten versenden kannst, frage ich mich gerade, wo das Problem ist?

Versuch mal:
sudo -u fhem signal-cli -u +49xxxxxxxxxx send -m "Greetings from FHEM!" +49empfänger

Eventuell musst du aber davor den D-BUS Dienst beenden
sudo systemctl stop dbus-org.asamk.Signal.service