FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: Adimarantis am 31 Januar 2021, 19:16:19

Titel: Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 31 Januar 2021, 19:16:19
Hallo,

Signalbot ist eine Neuentwicklung eines Signal Messenger Moduls sehr ähnlich zu SiSi. Es ist parallel dazu entstanden und verfolgt intern ein paar andere Implementierungsansätze, verwendet aber letztendlich die selbe Kommunikationsschnittstelle (über DBus nach signal-cli).
Inzwischen habe ich auch einiges an Code und Ideen von SiSi und Telegrambot (danke die jeweiligen Autoren) übernommen und es gibt eine direkte Integration mit Babble.
Es gibt auch ein Installationsscript für Ubuntu and Raspbian, was Einsteigern die Verwendung erleichtern soll (die Installation von signal-cli hat seine Tücken).

Da es inzwischen eine detaillierte Wiki Seite unter https://wiki.fhem.de/wiki/Signalbot dazu gibt. Kürze ich diesen Post auf das nötigste und werde hier hauptsächlich die neusten Versionen und Ankündigungen Verfügung stellen.

Update 7.2.2021:
- Verbesserte Handhabung von Anhängen, Umlauten
- Babble Unterstützung: Babble device wird sofern vorhanden automatisch gefunden, mehrere babblePeer Einträge möglich
- Installer V1.1: Zusätzlicher Test (aus Perl) im install script, Docker support
- Installer V1.2: Test auf SVG Perl Paket, "remove" Funktion verbessert und mit Archivierung der Konfiguration erweitert
Update 8.2.2021:
- Module V1.1: Mehrzeilige Nachrichten mit "\n", Englische inline Dokumentation vervollständigt, Bugfix im Errorhandling
Update 11.2:2021:
- Installer V1.3:
- Verwendet $PHONE aus environment (mit export $PHONE=... , sudo -E ...) oder als zweites Argument womit man das Script normalerweise nicht mehr editieren muss
- Ein paar Änderung in Vorbereitung meines Dockerscripts (noch WIP) - nicht relevant bei normaler Nutzung
- Bessere Benutzerführung und Info bei Registrierung/Link Device, SMS sollte jetzt gehen
- native Raspberry lib.so wird jetzt im .jar ersetzt statt nach /usr/lib kopiert
- WantedBy Parameter im signal.service für zuverlässigeren Start nach Reboot
Update 14.2.2021:
- Module V1.2: Neue Funktionen: createGroup, updateGroup, invite, block, unblock (Ddetails siehe inline Doku/Post) , Attribute: babbleExclude
- Installer V1.4: Update auf signal-cli 0.8.0 , Raspberry libraries werden im .jar upgedated (nicht mehr /usr/lib) und von svn.fhem.de geholt
Update 16.2.2021:
- Installer V1.5: "link" device verbessert. Wenn der Installer aus einem xterm (mit korrekt gesetzter DISPLAY variable und jpg viewer vorhanden) gestartet wird, dann wird der qrcode automatisch angezeigt (Variable VIEWER ggf. im Script anpassen - default "eog")
Update 22.2.2021:
- Installer V1.6: Fehler in "name" Option behoben und setzen eines Namens wird jetzt automatisch nach der Registrierung angestoßen, da sonst V2 Gruppen nicht funktionieren
Update 22.3.2021:
- Installer V2.1: Änderung des Dbus package von Net:DBus zu Protocol::DBus, Unterstützung signal-cli 0.8.1
- Signalbot V2.1: Änderung des Dbus package von Net:DBus zu Protocol::DBus, Unterstützung signal-cli 0.8.1 , neue "set" Befehle: quitGroup, joinGroup, updateProfile, neue "get" Befehle contacts, groups, experimentelle Unterstützung mehrerer Accounts (in verschiedenen Instanzen), Optimierung von Speicherverbrauch und Performance, bugfixes .....
Update 13.5.2021:
- Installer V2.2: Update auf signal-cli 0.8.3 und Protocol::DBus 0.17 (hauptsächlich Bugfixes - siehe Herstellerseiten)
Update 10.6.2021:
- Signalbot V2.2: Umlautanzeige Empfang/groupmessage korrigiert. Fehler beim autoJoin und quitGroup korrigiert.
Update 27.9.2021:
- Signalbot V3.0: Umstellung auf signal-cli 0.9.0 und Verlagerung der Registrierung in FHEM statt über Script. Offizielles Release, daher wird der Link hier entfernt. Bitte über FHEM UPDATE installieren. Installations script wird vom Modul nach www/signal geladen bzw. ist im Modul verlinkt.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 31 Januar 2021, 21:19:49
Moin Jörg,

bei einen Neustart kommt FHEM bei mir nicht mehr hoch. Es bricht mit dieser Zeile ab:

Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/50_Signalbot.pm line 463.
Wenn ich in der fhem.cfg das Device auskommentiere, starte FHEM wieder. Wenn ich das Device dann mit defmod SIGNAL Signalbot
attr SIGNAL DbLogExclude .*
attr SIGNAL defaultPeer #Smarthome
attr SIGNAL devStateIcon .*Connected:ios-on-green .*Disconnected:ios-NACK
attr SIGNAL group 00 Adapter
attr SIGNAL room 75 SIGNAL,SYSTEM

setstate SIGNAL Connected
anlege läuft FHEM normal und alles ist gut. Wenn ich neu starte hängt es wieder. Hast du eine Idee, woran das liegen könnte?

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 31 Januar 2021, 22:17:16
Hallo Enno,

Den Effekt kann ich bei mir nicht nachvollziehen. Eventuell eine race condition weil dein System schneller ist.
Ich habe jetzt noch einen Test eingebaut der verhindert, dass die entsprechende Funktion aufgerufen wird, falls FHEM noch nicht vollständig oben ist (wobei das eigentlich gar nicht passieren sollte). Probier mal das update im ersten Post.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Februar 2021, 00:06:10
Habs gefunden. Mich hatte irritiert dass der Fehler bei dir beim Startup kam. Du scheinst da sofort eine Gruppen Message rauszuballern.
Das Problem trat auf wenn eine Gruppennachricht an eine unbekannte Gruppe (nach einem Neustart erstmal alle) verschickt wird.
Update oben.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Februar 2021, 14:10:59
Ich hatte gestern noch ein wenig mit Babble herumexperimentiert und mal testweise einen direkten Support dafür eingebaut.

Vorgehensweise:
Attribut babblePeer: Nur wenn die Message von diesem Sender kam wird Babble angeworfen
Attribut babbleDev: Der Name der definierten babble Device (nicht babbleDevice, weil es sonst einen Konflikt mit dem Babble Attribut gibt) - Todo: da es normalerweise nur ein Device gibt, könnte Signalbot das evtl. sogar selbst finden

Beispiel Config:
Device "out_temp" mit babbleDevice="Temperatur", room="Draußen", verb="Sagen", Ziel="Status", Aktion="set SignalBot send @$PARM0 Die Temperatur draußen ist [out_temp:temperature] Grad"

Frage: "Wie ist die Temperatur Draußen"
Antwort: "Die Temperatur draußen ist 1.0 Grad"

Die Antwort (in $PARM0) geht wahrscheinlich immer an den babblePeer (eigentlich an den Absender in der Prio Gruppe,Sender,babblePeer , aber das dürfte am Ende immer der babblePeer sein).
Damit Gruppen und Kontakte hier redundant verwendet werden können, akzeptiert Signalbot jetzt auch @#Gruppe als Gruppenamen (also wie bei SiSi). Ein einzelnes "#" geht natürlich immer noch.
Bekannte Probleme: Sonderzeichen (hier das "ß" gehen auf dem Weg über Babble irgendwie kaputt. Das ist evtl. noch eine Umwandlung notwendig.

Viel Spass bei Testen. Anregungen von erfahrenen Babble Nutzern willkommen.

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: ph1959de am 01 Februar 2021, 15:25:23
Zur Info: ich habe eine/die FHEM-Wiki Seite für Signalbot (https://wiki.fhem.de/wiki/Signalbot) angelegt.

Zunächst mal nur Basisinformationen; werde das spätestens dann erweitern, wenn ich  (für demnächst geplant) beginne, das Modul aktiv zu benutzen. Darf aber gern (-> Wiki) gern auch von anderen erweitert (korrigiert sowieso) werden.

Peter
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 01 Februar 2021, 19:01:15
Habs gefunden.
Habe die Version von 17:00 Uhr heute eingespielt. Reboot und FHEM startet wieder. Fehler scheint behoben :) Super!

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 01 Februar 2021, 19:17:01
Moin

ich habe Babble wie folgt eingebunden:
Ein DOIF reagiert auf alle reinkommende Nachrichten. als letztes DOELSEIF  steht:
DOELSEIF ([SIGNAL:msgText] and [?SIGNAL:msgGroupName] eq "Smarthome")(setreading SIGNAL myGroup Smarthome,set Babble doit [SIGNAL:msgText])Im Babble Device habe ich folgende Atribute gesetzt:
attr Babble confirmFunc {fhem('set SIGNAL send #'.ReadingsVal('SIGNAL','myGroup',0).' '.('OK'))}
attr Babble helpFunc {fhem('set SIGNAL send #'.ReadingsVal('SIGNAL','myGroup',0).' '.('$HELP'))}

Beispiel Config:
Device "out_temp" mit babbleDevice="Temperatur", room="Draußen", verb="Sagen", Ziel="Status",
Aktion="{fhem('set SIGNAL send #'.ReadingsVal('SIGNAL','myGroup',0).(' Die Temperatur im Garten beträgt '.ReadingsVal('out_temp','temperature',0).' Grad'))}"

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Februar 2021, 20:18:52
Hi Enno,

Das DOIF könntest du dir halt jetzt evtl. sparen

Babble Config:
draußen:
           sagen:
             status     set SignalBot send @$PARM0 Die Temperatur draußen ist [out_temp:temperature] Grad

confirmFunc  {fhem("set SignalBot send \@$PARM0 Ok!")}
helpFunc {fhem("set SignalBot send \@$PARM0 $HELP")}

und im Signalbot eben entsprechend babblePeer und babbleDev setzen. Vorallem auch den Umweg über Readingsval und myGroup.

Zu diskutieren wäre hier evtl. was in PARM0 (und PARM1, PARM2 ...) an Infos mitgeliefert werden soll.

Aktuell kann halt babblePeer nur einen Wert enthalten - ich denke das müsste für eine flexible Nutzung eher eine Liste werden.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 01 Februar 2021, 20:28:42
Das DOIF könntest du dir halt jetzt evtl. sparen

Rom und die vielen Wege. Deshalb liebe ich FHEM 8)

Jetzt werde ich mir erst einmal die formatierte Ausgabe der Nachrichten in Signal vorknöpfen. Zeilenumbrüche z.B. Stand glaube ich im alten SiSi Faden eine Lösung.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 02 Februar 2021, 22:33:02
Neu:

Nachdem die Installation nicht gerade einfach ist, habe ich ein bash script geschrieben, dass diesen Vorgang weitgehend automatisieren sollte (sollte für aktuelle Ubuntu x86 und Rasberry armv71 Versionen funktionieren - möglicherweise auch für andere Debian basierte Systeme).
sudo ./signal_install.shDas Script bietet eine Reihe von Optionen die im Script erläutert werden (Doku folgt wenn es besser getestet ist) und fragt üblicherweise nach bevor es etwas tut. Wichtig ist am Anfang bei PHONE= die Nummer einzutragen mit der das System verknüpft werden soll, da es auch durch den Registrierungs- bzw. Linkprozess führt.

Ich hab es erfolgreich auf meinem X86 Ubuntu System laufen lassen (mit link Option) und meine bestehende Raspberry Config hat es wie geplant nicht verändert.

Kommandozeilen Optionen:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)

Das Script prüft auch auf fehlende Pakete und installiert diese mit "apt-get install" und erzeugt Verzeichnisse und User.
Mein Ubuntu war ziemlich "vanilla", also hoffe ich die meisten Abhängigkeiten gefunden zu haben, wenn was fehlen sollte, bitte Bescheid geben - natürlich auch bei sonstigen Fehlern und Verbesserungsvorschlägen

Die nativen arm libraries (schon für die nächste signal-cli version vorbereitet) werden aktuell von meiner Homepage nachgeladen. Vielleicht haben die FHEM admins hier eine Möglichkeit diese auf einen geeigneten Platz zu legen.

Ich hoffe dies ist hilfreich für alle die bisher vor einer Installation zurückgeschreckt sind.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deckoffizier am 02 Februar 2021, 22:56:41
Hallo Jörg,

erst mal DANKE für Deine tolle "Modernisierung" von Signal
als Laie gesprochen.

Hatte meine vor langer Zeit installierte SiSi gelöscht und Dein Modul
neu aufgesetzt.
Einige Stunden hat mich aus dem Wiki die richtige Lösung für die Pfade
zur Konfigurationsdatei gekostet....

>=0.6.1

$HOME/.local/share/signal-cli/data/

hierbei musste ich /data/ weg lassen, bin halt Laie  :(

Später hat zwar der Empfang in FHEM geklappt aber nicht das raus senden.
Kam leider nicht um einen Neustart des Rechners umhin trotz reload und start der Module.
Nur mal so als Stolperfallen.

Toll das DU jetzt ein script geschrieben hast, hätte ich mal noch einen Tag gewartet  ;) aber
eben nebenbei noch was gelernt.

Traue mich jetzt aber erst mal nicht nochmal neu anzufangen.
Dein Modul wertet für mich die Funktionalität von FHEM nochmal stark auf!

Viele Grüße
Hans-Jürgen
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 02 Februar 2021, 23:04:52
Trau dich :)

Falls das Script noch nicht 100% läuft, dann funktioniert schlimmstenfalls signal-cli hinterher immer noch nicht. Ein Risiko fürs restliche System würde ich ausschließen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 07:59:15
Trau dich :)

Moin Jörg,

ich teste es nachher mal. Als "root" das Script starten nehme ich an als User "fhem" und der Pfad bei mir "/opt/fhem"...

Ich werde berichten.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 09:18:01
Hi Enno,

das Script muss halt mit einem "sudo"-berechtigten User gestartet werden (und läuft dann unter root).
Die Voreinstellung im Script zielen auf eine Systeminstallation mit eigenem user, directory etc. und können gefahrlos beibehalten werden (oder natürlich auf deine aktuelle Installation angepasst werden). Startverzeichnis ist sonst irrelevant.

Eine bereits bestehende Registrierung müsste man ggf. in das neue Verzeichnis umkopieren (Rechte/Owner setzen nicht vergessen), aber am saubersten wäre wohl eine Neu-Registrierung - besonders weil ich das noch nicht richtig getestet habe :)

Falls bei der Registrierung eine Meldung kommt von wegen "locked" und "waiting", dann in einer anderen shell parallel "sudo service signal stop" ausführen, da der Systemprozess die config blockiert. Falls das Problem tatsächlich besteht sollte das wohl noch ins Script.
Danach dann wieder "sudo service signal start"

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 09:58:49
Moin Jörg,

ich habe eine VM mit FHEM gestartet. Dann meine Festnetznummer (habe ich im Log gelöscht) registriert. Ich habe aber keinen Anruf bekommen, der mir die SMS vorliest. Hier mal das Log:
root@Test:~# sh signal.sh
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              fhem
Signal-cli Install directory: /opt/fhem
Signal config storage:        /var/lib/fhem
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49yyyyyy
Your configuration
Linux Test 5.4.78-2-pve #1 SMP PVE 5.4.78-2 (Thu, 03 Dec 2020 14:26:17 +0100) x86_64 x86_64 x86_64 GNU/Linux
has not been tested, continue at own risk
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)

!!! Everything needs to run with sudo !!!

Proceed (Y/n)? signal.sh: 432: read: arg count
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...installing (haveged)done
Checking for java...installing (default-jre)done
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...installing (qrencode)done
Checking for pkg-config...installing (pkg-config)done
Checking for dbus devel...installingdone
Checking for Net:DBus...Can't locate Net/DBus.pm in @INC (you may need to install the Net::DBus module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.3 /usr/local/share/perl/5.30.3 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl) at /tmp/signal400.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal400.tmp line 5.
Installing latest NET::DBus...done
Checking user fhem ...found
Checking for /opt/fhem...found
Checking for /var/lib/fhem...created
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.7.4...uid=998(fhem) gid=20(dialout) groups=20(dialout)
done
Unpacking ...
done
Changing file ownership ...done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf.../etc/dbus-1/system.d/org.asamk.Signal.conf installed
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service.../usr/share/dbus-1/system-services/org.asamk.Signal.service installed
Checking for /etc/systemd/system/signal.service.../etc/systemd/system/signal.service installed
Created symlink /etc/systemd/system/dbus-org.asamk.Signal.service -> /etc/systemd/system/signal.service.
Registering for +49yyyy

Receive registration code for +49yyyyyyyyyy by (S)MS or (V)oice (s/v)? signal.sh: 331: read: arg count
Unknown option , exiting

Die Registrierung hat erst mal nicht geklappt.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 10:40:54
Hi Enno,

Danke. Deine Shell verhält sich etwas anders. In der Hauptsache hat er deine Eingabe nicht erkannt.
Update im ersten Post.
Mich besorgt mehr die Net::DBus installation (erstmal irrelevant für die Registrierung)
ist das ein logfile /tmp/signal_install.log - dann hätte ich das gerne.

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 10:57:01
ok, mit der neuen Version fragt das Script schon mal. Ich kann eingeben, alles läuft durch, allerdings noch kein Anruf mit dem Code. Daher habe ich an der Postion an der ich den Code eingeben müsste abgebrochen. Hier das /tmp/signal_install.log

Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 03 Feb 2021 08:17:03 GMT
Running install for module 'Net::DBus'
Checksum for /root/.cpan/sources/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring D/DA/DANBERR/Net-DBus-1.2.0.tar.gz with Makefile.PL
Warning: prerequisite Test::CPAN::Changes 0 not found.
Warning: prerequisite Test::Pod 0 not found.
Warning: prerequisite Test::Pod::Coverage 0 not found.
Warning: prerequisite XML::Twig 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::DBus
Writing MYMETA.yml and MYMETA.json
  DANBERR/Net-DBus-1.2.0.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for D/DA/DANBERR/Net-DBus-1.2.0.tar.gz
---- Unsatisfied dependencies detected during ----
----       DANBERR/Net-DBus-1.2.0.tar.gz      ----
    Test::CPAN::Changes [requires]
    Test::Pod [requires]
    Test::Pod::Coverage [requires]
    XML::Twig [requires]
Running install for module 'Test::CPAN::Changes'
2BChecksum for /root/.cpan/sources/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz ok
Configuring H/HA/HAARG/CPAN-Changes-0.400002.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for CPAN::Changes
Writing MYMETA.yml and MYMETA.json
  HAARG/CPAN-Changes-0.400002.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for H/HA/HAARG/CPAN-Changes-0.400002.tar.gz
  HAARG/CPAN-Changes-0.400002.tar.gz
  make -- NOT OK
  No such file or directory
Running install for module 'Test::Pod'
Checksum for /root/.cpan/sources/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz ok
Configuring E/ET/ETHER/Test-Pod-1.52.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Test::Pod
Writing MYMETA.yml and MYMETA.json
  ETHER/Test-Pod-1.52.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for E/ET/ETHER/Test-Pod-1.52.tar.gz
  ETHER/Test-Pod-1.52.tar.gz
  make -- NOT OK
  No such file or directory
Running install for module 'Test::Pod::Coverage'
Checksum for /root/.cpan/sources/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz ok
Configuring N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz with Makefile.PL
Warning: prerequisite Pod::Coverage 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Test::Pod::Coverage
Writing MYMETA.yml and MYMETA.json
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz
---- Unsatisfied dependencies detected during ----
----    NEILB/Test-Pod-Coverage-1.10.tar.gz   ----
    Pod::Coverage [requires]
Running install for module 'Pod::Coverage'
Checksum for /root/.cpan/sources/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz ok
Configuring R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz with Makefile.PL
Warning: prerequisite Devel::Symdump 2.01 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Pod::Coverage
Writing MYMETA.yml and MYMETA.json
  RCLAMP/Pod-Coverage-0.23.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz
---- Unsatisfied dependencies detected during ----
----      RCLAMP/Pod-Coverage-0.23.tar.gz     ----
    Devel::Symdump [requires]
Running install for module 'Devel::Symdump'
Checksum for /root/.cpan/sources/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz ok
Configuring A/AN/ANDK/Devel-Symdump-2.18.tar.gz with Makefile.PL
Require Devel::Symdump from the local tarball.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Devel::Symdump
Writing MYMETA.yml and MYMETA.json
  ANDK/Devel-Symdump-2.18.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for A/AN/ANDK/Devel-Symdump-2.18.tar.gz
  ANDK/Devel-Symdump-2.18.tar.gz
  make -- NOT OK
  No such file or directory
  RCLAMP/Pod-Coverage-0.23.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Pod-Coverage-0.23-5
  RCLAMP/Pod-Coverage-0.23.tar.gz
  Has already been prepared
Running make for R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz
Warning: Prerequisite 'Devel::Symdump => 2.01' for 'RCLAMP/Pod-Coverage-0.23.tar.gz' failed when processing 'ANDK/Devel-Symdump-2.18.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
  RCLAMP/Pod-Coverage-0.23.tar.gz
  make -- NOT OK
  No such file or directory
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Test-Pod-Coverage-1.10-5
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  Has already been prepared
Running make for N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz
Warning: Prerequisite 'Pod::Coverage => 0' for 'NEILB/Test-Pod-Coverage-1.10.tar.gz' failed when processing 'RCLAMP/Pod-Coverage-0.23.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  make -- NOT OK
  No such file or directory
Running install for module 'XML::Twig'
Checksum for /root/.cpan/sources/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz ok
Configuring M/MI/MIROD/XML-Twig-3.52.tar.gz with Makefile.PL
Warning: prerequisite XML::Parser 2.23 not found.
Checking if your kit is complete...
Looks good
updated prereqs in META.json
Generating a Unix-style Makefile
Writing Makefile for XML::Twig
Writing MYMETA.yml and MYMETA.json
  MIROD/XML-Twig-3.52.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for M/MI/MIROD/XML-Twig-3.52.tar.gz
---- Unsatisfied dependencies detected during ----
----        MIROD/XML-Twig-3.52.tar.gz        ----
    XML::Parser [requires]
Running install for module 'XML::Parser'
Checksum for /root/.cpan/sources/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz ok
Configuring T/TO/TODDR/XML-Parser-2.46.tar.gz with Makefile.PL
Couldn't find your C compiler
Compilation failed in require at Makefile.PL line 4.
BEGIN failed--compilation aborted at Makefile.PL line 4.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  TODDR/XML-Parser-2.46.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
  MIROD/XML-Twig-3.52.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/XML-Twig-3.52-5
  MIROD/XML-Twig-3.52.tar.gz
  Has already been prepared
Running make for M/MI/MIROD/XML-Twig-3.52.tar.gz
Warning: Prerequisite 'XML::Parser => 2.23' for 'MIROD/XML-Twig-3.52.tar.gz' failed when processing 'TODDR/XML-Parser-2.46.tar.gz' with 'writemakefile => NO '/usr/bin/perl Makefile.PL INSTALLDIRS=site' returned status 512'. Continuing, but chances to succeed are limited.
  MIROD/XML-Twig-3.52.tar.gz
  make -- NOT OK
  No such file or directory
  DANBERR/Net-DBus-1.2.0.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Net-DBus-1.2.0-5
  DANBERR/Net-DBus-1.2.0.tar.gz
  Has already been prepared
Running make for D/DA/DANBERR/Net-DBus-1.2.0.tar.gz
Warning: Prerequisite 'Test::CPAN::Changes => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'HAARG/CPAN-Changes-0.400002.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Test::Pod => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'ETHER/Test-Pod-1.52.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Test::Pod::Coverage => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'NEILB/Test-Pod-Coverage-1.10.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'XML::Twig => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'MIROD/XML-Twig-3.52.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
  DANBERR/Net-DBus-1.2.0.tar.gz
  make -- NOT OK

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 11:10:09
Hi Enno,

ok, auf die schnelle sehe ich schon mal, das er sich beschwert, dass kein C-Compiler auf dem system ist. Kannst du mal einen nachinstallieren (gcc?)? (sollte ich dann wohl mit in die dependencies einbauen).
Wie ist die Bildschirmausgabe bei der Registrierung?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 11:43:30
ok apt install gcc dann noch mal gestartet. Hier die Ausgabe in der Konsole. Der Anruf mit dem Code fehlt immernoch. root@Test:~# sh signal.sh
signal.sh: 19: source: not found
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              fhem
Signal-cli Install directory: /opt/fhem
Signal config storage:        /var/lib/fhem
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49yyyyy
Your configuration
Linux Test 5.4.78-2-pve #1 SMP PVE 5.4.78-2 (Thu, 03 Dec 2020 14:26:17 +0100) x86_64 x86_64 x86_64 GNU/Linux
has not been tested, continue at own risk
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)

!!! Everything needs to run with sudo !!!

Proceed (Y/n)? y
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for pkg-config...available
Checking for dbus devel...available
Checking for Net:DBus...Can't locate Net/DBus.pm in @INC (you may need to install the Net::DBus module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.30.3 /usr/local/share/perl/5.30.3 /usr/lib/x86_64-linux-gnu/perl5/5.30 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl-base /usr/lib/x86_64-linux-gnu/perl/5.30 /usr/share/perl/5.30 /usr/local/lib/site_perl) at /tmp/signal4358.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal4358.tmp line 5.
Installing latest NET::DBus...done
Checking user fhem ...found
Checking for /opt/fhem...found
Checking for /var/lib/fhem...found
Checking for existing signal-cli installation...found
Checking signal-cli version...uid=998(fhem) gid=20(dialout) groups=20(dialout)
signal-cli 0.7.4
signal.sh: 208: [: signal-cli 0.7.4: unexpected operator
Update to current version (y/N)? y
Proceed with signal cli installation
Downloading signal-cli 0.7.4...done
Unpacking ...
done
Changing file ownership ...done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
Registering for +49yyyyyy

Receive registration code for +49yyyyy by (S)MS or (V)oice (s/v)? v
Registering +4951170035840 with Voice call
Stopping Signal service to get exclusive access to configuration
Captcha invalid or required for verification (null)
You should get a call or SMS now providing a 6 digit code
Enter this code here:
und hier das Log:
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 03 Feb 2021 08:17:03 GMT
Running install for module 'Net::DBus'
Checksum for /root/.cpan/sources/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring D/DA/DANBERR/Net-DBus-1.2.0.tar.gz with Makefile.PL
Warning: prerequisite Test::CPAN::Changes 0 not found.
Warning: prerequisite Test::Pod 0 not found.
Warning: prerequisite Test::Pod::Coverage 0 not found.
Warning: prerequisite XML::Twig 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Net::DBus
Writing MYMETA.yml and MYMETA.json
  DANBERR/Net-DBus-1.2.0.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for D/DA/DANBERR/Net-DBus-1.2.0.tar.gz
---- Unsatisfied dependencies detected during ----
----       DANBERR/Net-DBus-1.2.0.tar.gz      ----
    Test::CPAN::Changes [requires]
    Test::Pod [requires]
    Test::Pod::Coverage [requires]
    XML::Twig [requires]
Running install for module 'Test::CPAN::Changes'
Checksum for /root/.cpan/sources/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz ok
Configuring H/HA/HAARG/CPAN-Changes-0.400002.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for CPAN::Changes
Writing MYMETA.yml and MYMETA.json
  HAARG/CPAN-Changes-0.400002.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for H/HA/HAARG/CPAN-Changes-0.400002.tar.gz
  HAARG/CPAN-Changes-0.400002.tar.gz
  make -- NOT OK
  No such file or directory
Running install for module 'Test::Pod'
Checksum for /root/.cpan/sources/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz ok
Configuring E/ET/ETHER/Test-Pod-1.52.tar.gz with Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Test::Pod
Writing MYMETA.yml and MYMETA.json
  ETHER/Test-Pod-1.52.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for E/ET/ETHER/Test-Pod-1.52.tar.gz
  ETHER/Test-Pod-1.52.tar.gz
  make -- NOT OK
  No such file or directory
Running install for module 'Test::Pod::Coverage'
Checksum for /root/.cpan/sources/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz ok
Configuring N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz with Makefile.PL
Warning: prerequisite Pod::Coverage 0 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Test::Pod::Coverage
Writing MYMETA.yml and MYMETA.json
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz
---- Unsatisfied dependencies detected during ----
----    NEILB/Test-Pod-Coverage-1.10.tar.gz   ----
    Pod::Coverage [requires]
Running install for module 'Pod::Coverage'
Checksum for /root/.cpan/sources/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz ok
Configuring R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz with Makefile.PL
Warning: prerequisite Devel::Symdump 2.01 not found.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Pod::Coverage
Writing MYMETA.yml and MYMETA.json
  RCLAMP/Pod-Coverage-0.23.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz
---- Unsatisfied dependencies detected during ----
----      RCLAMP/Pod-Coverage-0.23.tar.gz     ----
    Devel::Symdump [requires]
Running install for module 'Devel::Symdump'
Checksum for /root/.cpan/sources/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz ok
Configuring A/AN/ANDK/Devel-Symdump-2.18.tar.gz with Makefile.PL
Require Devel::Symdump from the local tarball.
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Devel::Symdump
Writing MYMETA.yml and MYMETA.json
  ANDK/Devel-Symdump-2.18.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for A/AN/ANDK/Devel-Symdump-2.18.tar.gz
  ANDK/Devel-Symdump-2.18.tar.gz
  make -- NOT OK
  No such file or directory
  RCLAMP/Pod-Coverage-0.23.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Pod-Coverage-0.23-2
  RCLAMP/Pod-Coverage-0.23.tar.gz
  Has already been prepared
Running make for R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz
Warning: Prerequisite 'Devel::Symdump => 2.01' for 'RCLAMP/Pod-Coverage-0.23.tar.gz' failed when processing 'ANDK/Devel-Symdump-2.18.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
  RCLAMP/Pod-Coverage-0.23.tar.gz
  make -- NOT OK
  No such file or directory
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Test-Pod-Coverage-1.10-2
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  Has already been prepared
Running make for N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz
Warning: Prerequisite 'Pod::Coverage => 0' for 'NEILB/Test-Pod-Coverage-1.10.tar.gz' failed when processing 'RCLAMP/Pod-Coverage-0.23.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
  NEILB/Test-Pod-Coverage-1.10.tar.gz
  make -- NOT OK
  No such file or directory
Running install for module 'XML::Twig'
Checksum for /root/.cpan/sources/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz ok
Configuring M/MI/MIROD/XML-Twig-3.52.tar.gz with Makefile.PL
Warning: prerequisite XML::Parser 2.23 not found.
Checking if your kit is complete...
Looks good
updated prereqs in META.json
Generating a Unix-style Makefile
Writing Makefile for XML::Twig
Writing MYMETA.yml and MYMETA.json
  MIROD/XML-Twig-3.52.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- OK
Running make for M/MI/MIROD/XML-Twig-3.52.tar.gz
---- Unsatisfied dependencies detected during ----
----        MIROD/XML-Twig-3.52.tar.gz        ----
    XML::Parser [requires]
Running install for module 'XML::Parser'
Checksum for /root/.cpan/sources/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz ok
Configuring T/TO/TODDR/XML-Parser-2.46.tar.gz with Makefile.PL

Expat must be installed prior to building XML::Parser and I can't find
it in the standard library directories. Install 'expat-devel' (or
'libexpat1-dev') package with your OS package manager. See 'README'.

Or you can download expat from:

http://sourceforge.net/projects/expat/

If expat is installed, but in a non-standard directory, then use the
following options to Makefile.PL:

    EXPATLIBPATH=...  To set the directory in which to find libexpat

    EXPATINCPATH=...  To set the directory in which to find expat.h

For example:

    perl Makefile.PL EXPATLIBPATH=/home/me/lib EXPATINCPATH=/home/me/include

Note that if you build against a shareable library in a non-standard location
you may (on some platforms) also have to set your LD_LIBRARY_PATH environment
variable at run time for perl to find the library.

No 'Makefile' created  TODDR/XML-Parser-2.46.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
  MIROD/XML-Twig-3.52.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/XML-Twig-3.52-2
  MIROD/XML-Twig-3.52.tar.gz
  Has already been prepared
Running make for M/MI/MIROD/XML-Twig-3.52.tar.gz
Warning: Prerequisite 'XML::Parser => 2.23' for 'MIROD/XML-Twig-3.52.tar.gz' failed when processing 'TODDR/XML-Parser-2.46.tar.gz' with 'writemakefile => NO -- No 'Makefile' created
'. Continuing, but chances to succeed are limited.
  MIROD/XML-Twig-3.52.tar.gz
  make -- NOT OK
  No such file or directory
  DANBERR/Net-DBus-1.2.0.tar.gz
  Has already been unwrapped into directory /root/.cpan/build/Net-DBus-1.2.0-2
  DANBERR/Net-DBus-1.2.0.tar.gz
  Has already been prepared
Running make for D/DA/DANBERR/Net-DBus-1.2.0.tar.gz
Warning: Prerequisite 'Test::CPAN::Changes => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'HAARG/CPAN-Changes-0.400002.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Test::Pod => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'ETHER/Test-Pod-1.52.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'Test::Pod::Coverage => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'NEILB/Test-Pod-Coverage-1.10.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
Warning: Prerequisite 'XML::Twig => 0' for 'DANBERR/Net-DBus-1.2.0.tar.gz' failed when processing 'MIROD/XML-Twig-3.52.tar.gz' with 'make => NO'. Continuing, but chances to succeed are limited.
  DANBERR/Net-DBus-1.2.0.tar.gz
  make -- NOT OK
  No such file or directory
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 12:07:11
Danke Enno.
Das Net::DBus Problem muss ich mir nach der Arbeit mal in Ruhe anschauen.
Zur Registrierung:
Anscheinend verlangt Signal bei dir ein Captcha - könnte an der VM liegen, oder daran, dass du evtl. ein VPN benutzt (oder einfach Zufall).
Im aktuellen signal-cli Entwicklungsbaum gibt es einen Patch der es ermöglicht Captchas zu übergeben. Leider nicht in der aktuelle 0.7.4 Release - d.h. hier ist erstmal Sackgasse, außer du schaffst es durch Änderungen an deinem Netzwerk zu verhindern, dass Signal ein Captcha will.

Aber immerhin wissen wir jetzt das es sowas gibt und ich kann gleich mal schauen das ich das abfange, eine Info dazu gebe und die Lösung mit der nächsten signal-cli Version unterstütze.

Gruß,
Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 12:43:10
Enno, noch was:
Es sieht so aus, als wäre dein System ziemlich "nackt" was Pakete angeht. Daher schlägt wahrscheinlich auch das DBus install fehl.
Kannst du mal folgendes machen:
apt list --installed >installed.txtund die Datei installed.txt anhängen.
Außerdem bitte noch die Ausgabe von
cat /etc/os-release
Danke,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 03 Februar 2021, 13:06:12
Hallo Joerg,
bei der Installation von Net:DBus bekomme ich folgende meldung, hier der gesamte log. Muss ich irgendwas setzten?
user@inuc:/opt/fhem/FHEM$ sudo cpan install -f Net:DBus
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Wed, 03 Feb 2021 11:29:03 GMT
Running install for module 'Net::DBus'
Checksum for /root/.cpan/sources/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz ok
'YAML' not installed, will not store persistent state
Configuring D/DA/DANBERR/Net-DBus-1.2.0.tar.gz with Makefile.PL
cannot run pkg-config to check dbus version at Makefile.PL line 8.
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  DANBERR/Net-DBus-1.2.0.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK
user@inuc:/opt/fhem/FHEM$
cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 03 Februar 2021, 13:14:27
Danke, für das neue Modul.
Ich versuche auch schon länger den Signal-cli zum laufen zu bekomme.
Jetzt setze ich auf Dein Modul.
Ich nutzen einen Pi 3 mit Docker mein Testsystem, Produktion ist auf einen Pi4 4GB

Auszug von cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 9 (stretch)"
NAME="Raspbian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
VERSION_CODENAME=stretch
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

Datei mit den installierten Paketen ist angehangen.

Was ich nur installiert habe, Java 11
wget https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
sudo apt-get install -qqy --no-install-recommends ./bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
sudo apt-get install systemd

Script Start

Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for pkg-config...available
Checking for dbus devel...available
Checking for Net:DBus...Can't locate Net/DBus.pm in @INC (you may need to install the Net::DBus module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /tmp/signal16303.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal16303.tmp line 5.
Installing latest NET::DBus...done
Checking user signal-cli ...found
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...found
Checking signal-cli version...signal-cli 0.7.4
signal-cli matches target version...ok
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
Failed to connect to bus: No such file or directory
Created symlink /etc/systemd/system/dbus-org.asamk.Signal.service → /etc/systemd/system/signal.service.
Failed to connect to bus: No such file or directory
Registering for +49xxxx

Receive registration code for +493xxxxx by (S)MS or (V)oice (s/v)? v
Registering +493xxxxx  with Voice call
Stopping Signal service to get exclusive access to configuration
signal: unrecognized service
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource17469578394760016723.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
Captcha invalid or required for verification (null)
You should get a call or SMS now providing a 6 digit code
Enter this code here:

Das war es, kein Anruf oder sonstiges.

Mich wundert diese Fehlermeldung  Captcha invalid or required for verification (null)

Hast Du eine Idee?

Danke
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 14:05:50
apt list --installed >installed.txt
Listing...
accountsservice/groovy-updates,groovy-security,now 0.6.55-0ubuntu13.2 amd64 [installed]
adduser/groovy,now 3.118ubuntu2 all [installed]
alsa-topology-conf/groovy,now 1.2.3-1 all [installed,automatic]
alsa-ucm-conf/groovy-updates,now 1.2.2-1ubuntu5.1 all [installed,automatic]
anacron/groovy,now 2.3-29 amd64 [installed,automatic]
apparmor/groovy,now 3.0.0-0ubuntu1 amd64 [installed]
apt-utils/groovy-updates,now 2.1.10ubuntu0.2 amd64 [installed]
apt/groovy-updates,now 2.1.10ubuntu0.2 amd64 [installed]
at-spi2-core/groovy,now 2.38.0-2 amd64 [installed,automatic]
base-files/groovy,now 11ubuntu14 amd64 [installed]
base-passwd/groovy,now 3.5.47 amd64 [installed]
bash-completion/groovy,now 1:2.11-2ubuntu1 all [installed]
bash/groovy,now 5.0-6ubuntu2 amd64 [installed]
bind9-dnsutils/groovy,now 1:9.16.6-3ubuntu1 amd64 [installed]
bind9-host/groovy,now 1:9.16.6-3ubuntu1 amd64 [installed]
bind9-libs/groovy,now 1:9.16.6-3ubuntu1 amd64 [installed]
binutils-common/groovy,now 2.35.1-1ubuntu1 amd64 [installed,automatic]
binutils-x86-64-linux-gnu/groovy,now 2.35.1-1ubuntu1 amd64 [installed,automatic]
binutils/groovy,now 2.35.1-1ubuntu1 amd64 [installed,automatic]
bsdextrautils/groovy,now 2.36-3ubuntu1 amd64 [installed]
bsdutils/groovy,now 1:2.36-3ubuntu1 amd64 [installed]
busybox-static/groovy-updates,now 1:1.30.1-4ubuntu9.1 amd64 [installed]
bzip2/groovy,now 1.0.8-4ubuntu2 amd64 [installed]
ca-certificates-java/groovy,now 20190405ubuntu1 all [installed,automatic]
ca-certificates/groovy-updates,groovy-security,now 20210119~20.10.1 all [installed]
command-not-found/groovy,now 20.10.1 all [installed]
console-setup-linux/groovy,now 1.195ubuntu2 all [installed]
console-setup/groovy,now 1.195ubuntu2 all [installed]
coreutils/groovy,now 8.32-3ubuntu1 amd64 [installed]
cpio/groovy,now 2.13+dfsg-3 amd64 [installed]
cpp-10/groovy,now 10.2.0-13ubuntu1 amd64 [installed]
cpp/groovy,now 4:10.2.0-1ubuntu1 amd64 [installed]
cron/groovy,now 3.0pl1-136ubuntu1 amd64 [installed]
dash/groovy,now 0.5.10.2-7 amd64 [installed]
dbus/groovy,now 1.12.20-1ubuntu1 amd64 [installed]
debconf-i18n/groovy,now 1.5.74 all [installed]
debconf/groovy,now 1.5.74 all [installed]
debianutils/groovy,now 4.11.2 amd64 [installed]
default-jre-headless/groovy,now 2:1.11-72 amd64 [installed,automatic]
default-jre/groovy,now 2:1.11-72 amd64 [installed]
diffutils/groovy,now 1:3.7-3ubuntu1 amd64 [installed]
dirmngr/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
distro-info-data/groovy-updates,groovy-security,now 0.44ubuntu1.3 all [installed]
dmidecode/groovy,now 3.2-3 amd64 [installed]
dmsetup/groovy,now 2:1.02.167-1ubuntu3 amd64 [installed]
dosfstools/groovy,now 4.1-2build1 amd64 [installed]
dpkg/groovy,now 1.20.5ubuntu2 amd64 [installed]
e2fsprogs/groovy,now 1.45.6-1ubuntu1 amd64 [installed]
ed/groovy,now 1.16-1 amd64 [installed]
eject/groovy,now 2.36-3ubuntu1 amd64 [installed]
fhem/now 6.0.23659 all [installed,local]
file/groovy,now 1:5.38-5 amd64 [installed]
findutils/groovy,now 4.7.0-1ubuntu2 amd64 [installed]
fontconfig-config/groovy,now 2.13.1-2ubuntu3 all [installed]
fonts-dejavu-core/groovy,now 2.37-2 all [installed]
fonts-dejavu-extra/groovy,now 2.37-2 all [installed,automatic]
friendly-recovery/groovy,now 0.2.41 all [installed]
ftp/groovy,now 0.17-34.1.1 amd64 [installed]
fuse/groovy,now 2.9.9-3 amd64 [installed]
gcc-10-base/groovy,now 10.2.0-13ubuntu1 amd64 [installed]
gcc-10/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
gcc/groovy,now 4:10.2.0-1ubuntu1 amd64 [installed]
gettext-base/groovy,now 0.19.8.1-10build1 amd64 [installed]
gir1.2-glib-2.0/groovy,now 1.66.1-1 amd64 [installed]
gnupg-l10n/groovy-updates,now 2.2.20-1ubuntu1.1 all [installed,automatic]
gnupg-utils/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gnupg/groovy-updates,now 2.2.20-1ubuntu1.1 all [installed]
gpg-agent/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gpg-wks-client/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gpg-wks-server/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gpg/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gpgconf/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gpgsm/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed,automatic]
gpgv/groovy-updates,now 2.2.20-1ubuntu1.1 amd64 [installed]
grep/groovy,now 3.4-1 amd64 [installed]
groff-base/groovy,now 1.22.4-5 amd64 [installed]
gzip/groovy-updates,now 1.10-2ubuntu1.1 amd64 [installed]
haveged/groovy,now 1.9.8-4ubuntu3 amd64 [installed]
hdparm/groovy,now 9.58+ds-5 amd64 [installed]
hostname/groovy,now 3.23 amd64 [installed]
info/groovy,now 6.7.0.dfsg.2-5 amd64 [installed]
init-system-helpers/groovy,now 1.58 all [installed]
init/groovy,now 1.58 amd64 [installed]
install-info/groovy,now 6.7.0.dfsg.2-5 amd64 [installed]
ipmiutil/groovy,now 3.1.6-1 amd64 [installed]
iproute2/groovy,now 5.7.0-1ubuntu1 amd64 [installed]
iptables/groovy-updates,now 1.8.5-3ubuntu2.20.10.2 amd64 [installed]
iputils-ping/groovy,now 3:20200821-2 amd64 [installed]
iputils-tracepath/groovy,now 3:20200821-2 amd64 [installed]
irqbalance/groovy,now 1.7.0-1 amd64 [installed]
isc-dhcp-client/groovy,now 4.4.1-2.1ubuntu9 amd64 [installed]
isc-dhcp-common/groovy,now 4.4.1-2.1ubuntu9 amd64 [installed]
iso-codes/groovy,now 4.5.0-1 all [installed]
java-common/groovy,now 0.72 all [installed,automatic]
kbd/groovy,now 2.0.4-4ubuntu4 amd64 [installed]
keyboard-configuration/groovy,now 1.195ubuntu2 all [installed]
kmod/groovy,now 27+20200310-2ubuntu1 amd64 [installed]
language-selector-common/groovy,now 0.211 all [installed]
less/groovy,now 551-2 amd64 [installed]
libaccountsservice0/groovy-updates,groovy-security,now 0.6.55-0ubuntu13.2 amd64 [installed]
libacl1/groovy,now 2.2.53-8 amd64 [installed]
libalgorithm-diff-perl/groovy,now 1.19.03-2 all [installed,automatic]
libalgorithm-diff-xs-perl/groovy,now 0.04-6 amd64 [installed,automatic]
libapparmor1/groovy,now 3.0.0-0ubuntu1 amd64 [installed]
libapt-pkg6.0/groovy-updates,now 2.1.10ubuntu0.2 amd64 [installed]
libargon2-1/groovy,now 0~20171227-0.2build20.10.0 amd64 [installed]
libasan6/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libasn1-8-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libasound2-data/groovy-updates,now 1.2.3.2-1ubuntu3.1 all [installed,automatic]
libasound2/groovy-updates,now 1.2.3.2-1ubuntu3.1 amd64 [installed,automatic]
libassuan0/groovy,now 2.5.3-7.1 amd64 [installed,automatic]
libatk-bridge2.0-0/groovy,now 2.38.0-1 amd64 [installed,automatic]
libatk-wrapper-java-jni/groovy,now 0.38.0-1 amd64 [installed,automatic]
libatk-wrapper-java/groovy,now 0.38.0-1 all [installed,automatic]
libatk1.0-0/groovy,now 2.36.0-0ubuntu1 amd64 [installed,automatic]
libatk1.0-data/groovy,now 2.36.0-0ubuntu1 all [installed,automatic]
libatm1/groovy,now 1:2.5.1-4 amd64 [installed]
libatomic1/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libatspi2.0-0/groovy,now 2.38.0-2 amd64 [installed,automatic]
libattr1/groovy,now 1:2.4.48-5 amd64 [installed]
libaudit-common/groovy,now 1:2.8.5-3ubuntu1 all [installed]
libaudit1/groovy,now 1:2.8.5-3ubuntu1 amd64 [installed]
libauthen-sasl-perl/groovy,now 2.1600-1 all [installed,automatic]
libavahi-client3/groovy,now 0.8-3ubuntu1 amd64 [installed,automatic]
libavahi-common-data/groovy,now 0.8-3ubuntu1 amd64 [installed,automatic]
libavahi-common3/groovy,now 0.8-3ubuntu1 amd64 [installed,automatic]
libbinutils/groovy,now 2.35.1-1ubuntu1 amd64 [installed,automatic]
libblkid1/groovy,now 2.36-3ubuntu1 amd64 [installed]
libbrotli1/groovy,now 1.0.9-2 amd64 [installed]
libbsd0/groovy,now 0.10.0-1 amd64 [installed]
libbz2-1.0/groovy,now 1.0.8-4ubuntu2 amd64 [installed]
libc-bin/groovy,now 2.32-0ubuntu3 amd64 [installed]
libc-dev-bin/groovy,now 2.32-0ubuntu3 amd64 [installed,automatic]
libc6-dev/groovy,now 2.32-0ubuntu3 amd64 [installed,automatic]
libc6/groovy,now 2.32-0ubuntu3 amd64 [installed]
libcap-ng0/groovy,now 0.7.9-2.2 amd64 [installed]
libcap2-bin/groovy,now 1:2.43-1 amd64 [installed]
libcap2/groovy,now 1:2.43-1 amd64 [installed]
libcbor0.6/groovy,now 0.6.0-0ubuntu3 amd64 [installed]
libcc1-0/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libcgi-fast-perl/groovy,now 1:2.15-1 all [installed,automatic]
libcgi-pm-perl/groovy,now 4.50-1 all [installed,automatic]
libclone-perl/groovy,now 0.45-1 amd64 [installed,automatic]
libcom-err2/groovy,now 1.45.6-1ubuntu1 amd64 [installed]
libcommon-sense-perl/groovy,now 3.75-1build2 amd64 [installed,automatic]
libcrypt-dev/groovy,now 1:4.4.16-1ubuntu1 amd64 [installed,automatic]
libcrypt1/groovy,now 1:4.4.16-1ubuntu1 amd64 [installed]
libcryptsetup12/groovy,now 2:2.3.3-1ubuntu6 amd64 [installed]
libctf-nobfd0/groovy,now 2.35.1-1ubuntu1 amd64 [installed,automatic]
libctf0/groovy,now 2.35.1-1ubuntu1 amd64 [installed,automatic]
libcups2/groovy,now 2.3.3-3ubuntu1 amd64 [installed,automatic]
libdata-dump-perl/groovy,now 1.23-1 all [installed,automatic]
libdb5.3/groovy,now 5.3.28+dfsg1-0.6ubuntu3 amd64 [installed]
libdbd-sqlite3-perl/groovy,now 1.66-1 amd64 [installed,automatic]
libdbi-perl/groovy,now 1.643-2 amd64 [installed,automatic]
libdbus-1-3/groovy,now 1.12.20-1ubuntu1 amd64 [installed]
libdbus-1-dev/groovy,now 1.12.20-1ubuntu1 amd64 [installed]
libdebconfclient0/groovy,now 0.252ubuntu1 amd64 [installed]
libdevice-serialport-perl/groovy,now 1.04-3build6 amd64 [installed,automatic]
libdevmapper1.02.1/groovy,now 2:1.02.167-1ubuntu3 amd64 [installed]
libdns-export1110/groovy,now 1:9.11.19+dfsg-1ubuntu1 amd64 [installed]
libdpkg-perl/groovy,now 1.20.5ubuntu2 all [installed,automatic]
libdrm-amdgpu1/groovy,now 2.4.102-1ubuntu1 amd64 [installed]
libdrm-common/groovy,now 2.4.102-1ubuntu1 all [installed]
libdrm-intel1/groovy,now 2.4.102-1ubuntu1 amd64 [installed]
libdrm-nouveau2/groovy,now 2.4.102-1ubuntu1 amd64 [installed]
libdrm-radeon1/groovy,now 2.4.102-1ubuntu1 amd64 [installed]
libdrm2/groovy,now 2.4.102-1ubuntu1 amd64 [installed]
libedit2/groovy,now 3.1-20191231-1 amd64 [installed]
libelf1/groovy-updates,now 0.181-1ubuntu0.1 amd64 [installed]
libencode-locale-perl/groovy,now 1.05-1 all [installed,automatic]
libestr0/groovy,now 0.1.10-2.1build1 amd64 [installed]
libexpat1/groovy,now 2.2.9-1build1 amd64 [installed]
libext2fs2/groovy,now 1.45.6-1ubuntu1 amd64 [installed]
libfastjson4/groovy,now 0.99.8-2build1 amd64 [installed]
libfcgi-perl/groovy,now 0.79-1 amd64 [installed,automatic]
libffi8ubuntu1/groovy,now 3.4~20200819gead65ca871-0ubuntu3 amd64 [installed]
libfido2-1/groovy,now 1.4.0-2 amd64 [installed]
libfile-fcntllock-perl/groovy,now 0.22-3build4 amd64 [installed,automatic]
libfile-listing-perl/groovy,now 6.04-1 all [installed,automatic]
libfont-afm-perl/groovy,now 1.20-2 all [installed,automatic]
libfontconfig1/groovy,now 2.13.1-2ubuntu3 amd64 [installed]
libfontenc1/groovy,now 1:1.1.4-1 amd64 [installed]
libfreetype6/groovy-updates,groovy-security,now 2.10.2+dfsg-3ubuntu1 amd64 [installed]
libfribidi0/groovy,now 1.0.8-2 amd64 [installed]
libfuse2/groovy,now 2.9.9-3 amd64 [installed]
libgcc-10-dev/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libgcc-s1/groovy,now 10.2.0-13ubuntu1 amd64 [installed]
libgcrypt20/groovy,now 1.8.5-5ubuntu2 amd64 [installed]
libgdbm-compat4/groovy,now 1.18.1-5.1 amd64 [installed,automatic]
libgdbm6/groovy,now 1.18.1-5.1 amd64 [installed]
libgif7/groovy,now 5.1.9-1 amd64 [installed,automatic]
libgirepository-1.0-1/groovy,now 1.66.1-1 amd64 [installed]
libgl1-mesa-dri/groovy-updates,now 20.2.6-0ubuntu0.20.10.1 amd64 [installed]
libgl1/groovy,now 1.3.2-1 amd64 [installed]
libglapi-mesa/groovy-updates,now 20.2.6-0ubuntu0.20.10.1 amd64 [installed]
libglib2.0-0/groovy,now 2.66.1-2 amd64 [installed]
libglib2.0-data/groovy,now 2.66.1-2 all [installed]
libglvnd0/groovy,now 1.3.2-1 amd64 [installed]
libglx-mesa0/groovy-updates,now 20.2.6-0ubuntu0.20.10.1 amd64 [installed]
libglx0/groovy,now 1.3.2-1 amd64 [installed]
libgmp10/groovy,now 2:6.2.0+dfsg-6ubuntu1 amd64 [installed]
libgnutls30/groovy,now 3.6.15-4ubuntu2 amd64 [installed]
libgomp1/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libgpg-error0/groovy,now 1.38-2 amd64 [installed]
libgssapi-krb5-2/groovy-updates,groovy-security,now 1.17-10ubuntu0.1 amd64 [installed]
libgssapi3-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libhavege2/groovy,now 1.9.8-4ubuntu3 amd64 [installed,automatic]
libhcrypto4-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libheimbase1-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libheimntlm0-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libhogweed6/groovy,now 3.6-2 amd64 [installed]
libhtml-form-perl/groovy,now 6.07-1 all [installed,automatic]
libhtml-format-perl/groovy,now 2.12-1 all [installed,automatic]
libhtml-parser-perl/groovy,now 3.73-1 amd64 [installed,automatic]
libhtml-tagset-perl/groovy,now 3.20-4 all [installed,automatic]
libhtml-tree-perl/groovy,now 5.07-2 all [installed,automatic]
libhttp-cookies-perl/groovy,now 6.08-1 all [installed,automatic]
libhttp-daemon-perl/groovy,now 6.12-1 all [installed,automatic]
libhttp-date-perl/groovy,now 6.05-1 all [installed,automatic]
libhttp-message-perl/groovy,now 6.25-1 all [installed,automatic]
libhttp-negotiate-perl/groovy,now 6.01-1 all [installed,automatic]
libhx509-5-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libice6/groovy,now 2:1.0.10-1 amd64 [installed]
libicu67/groovy,now 67.1-4 amd64 [installed]
libidn2-0/groovy,now 2.3.0-1 amd64 [installed]
libio-html-perl/groovy,now 1.001-1 all [installed,automatic]
libio-socket-ssl-perl/groovy,now 2.067-1 all [installed,automatic]
libip4tc2/groovy-updates,now 1.8.5-3ubuntu2.20.10.2 amd64 [installed]
libip6tc2/groovy-updates,now 1.8.5-3ubuntu2.20.10.2 amd64 [installed]
libisc-export1105/groovy,now 1:9.11.19+dfsg-1ubuntu1 amd64 [installed]
libisl22/groovy,now 0.22.1-1 amd64 [installed]
libitm1/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libjpeg-turbo8/groovy,now 2.0.3-0ubuntu2 amd64 [installed,automatic]
libjpeg8/groovy,now 8c-2ubuntu8 amd64 [installed,automatic]
libjson-c5/groovy,now 0.15-1 amd64 [installed]
libjson-perl/groovy,now 4.02000-2 all [installed,automatic]
libjson-xs-perl/groovy,now 4.020-1build1 amd64 [installed,automatic]
libk5crypto3/groovy-updates,groovy-security,now 1.17-10ubuntu0.1 amd64 [installed]
libkeyutils1/groovy,now 1.6.1-2ubuntu1 amd64 [installed]
libkmod2/groovy,now 27+20200310-2ubuntu1 amd64 [installed]
libkrb5-26-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libkrb5-3/groovy-updates,groovy-security,now 1.17-10ubuntu0.1 amd64 [installed]
libkrb5support0/groovy-updates,groovy-security,now 1.17-10ubuntu0.1 amd64 [installed]
libksba8/groovy,now 1.4.0-2 amd64 [installed,automatic]
liblcms2-2/groovy,now 2.9-4 amd64 [installed,automatic]
libldap-2.4-2/groovy-updates,groovy-security,now 2.4.53+dfsg-1ubuntu1.2 amd64 [installed,automatic]
libldap-common/groovy-updates,groovy-security,now 2.4.53+dfsg-1ubuntu1.2 all [installed,automatic]
libllvm11/groovy,now 1:11.0.0-2 amd64 [installed]
liblmdb0/groovy,now 0.9.24-1 amd64 [installed]
liblocale-gettext-perl/groovy,now 1.07-4 amd64 [installed]
liblsan0/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
liblwp-mediatypes-perl/groovy,now 6.04-1 all [installed,automatic]
liblwp-protocol-https-perl/groovy,now 6.09-1 all [installed,automatic]
liblz4-1/groovy,now 1.9.2-2 amd64 [installed]
liblzma5/groovy,now 5.2.4-1ubuntu1 amd64 [installed]
libmagic-mgc/groovy,now 1:5.38-5 amd64 [installed]
libmagic1/groovy,now 1:5.38-5 amd64 [installed]
libmailtools-perl/groovy,now 2.21-1 all [installed,automatic]
libmaxminddb0/groovy-updates,groovy-security,now 1.4.2-0ubuntu1.20.10.1 amd64 [installed]
libmnl0/groovy,now 1.0.4-3 amd64 [installed]
libmount1/groovy,now 2.36-3ubuntu1 amd64 [installed]
libmpc3/groovy,now 1.2.0~rc1-1 amd64 [installed]
libmpfr6/groovy,now 4.1.0-3 amd64 [installed]
libncurses6/groovy,now 6.2-1 amd64 [installed]
libncursesw6/groovy,now 6.2-1 amd64 [installed]
libnet-http-perl/groovy,now 6.19-1 all [installed,automatic]
libnet-smtp-ssl-perl/groovy,now 1.04-1 all [installed,automatic]
libnet-ssleay-perl/groovy,now 1.88-2ubuntu1 amd64 [installed,automatic]
libnetfilter-conntrack3/groovy,now 1.0.8-1 amd64 [installed]
libnetplan0/groovy-updates,now 0.101-0ubuntu3~20.10.1 amd64 [installed]
libnettle8/groovy,now 3.6-2 amd64 [installed]
libnewt0.52/groovy,now 0.52.21-4ubuntu2 amd64 [installed]
libnfnetlink0/groovy,now 1.0.1-3build1 amd64 [installed]
libnftnl11/groovy,now 1.1.7-1 amd64 [installed]
libnpth0/groovy,now 1.6-2 amd64 [installed,automatic]
libnsl-dev/groovy,now 1.3.0-0ubuntu3 amd64 [installed,automatic]
libnsl2/groovy,now 1.3.0-0ubuntu3 amd64 [installed]
libnspr4/groovy,now 2:4.27-1 amd64 [installed,automatic]
libnss-nis/groovy,now 3.1-0ubuntu4 amd64 [installed]
libnss-nisplus/groovy,now 1.3-0ubuntu4 amd64 [installed]
libnss-systemd/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
libnss3/groovy,now 2:3.55-1ubuntu3 amd64 [installed,automatic]
libntfs-3g883/groovy,now 1:2017.3.23AR.3-3ubuntu2 amd64 [installed]
libnuma1/groovy,now 2.0.12-1build1 amd64 [installed]
libp11-kit0/groovy-updates,groovy-security,now 0.23.21-2ubuntu0.1 amd64 [installed]
libpam-cap/groovy,now 1:2.43-1 amd64 [installed]
libpam-modules-bin/groovy,now 1.3.1-5ubuntu6 amd64 [installed]
libpam-modules/groovy,now 1.3.1-5ubuntu6 amd64 [installed]
libpam-runtime/groovy,now 1.3.1-5ubuntu6 all [installed]
libpam-systemd/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
libpam0g/groovy,now 1.3.1-5ubuntu6 amd64 [installed]
libparted2/groovy-updates,now 3.3-4ubuntu0.20.10.1 amd64 [installed]
libpcap0.8/groovy,now 1.9.1-4 amd64 [installed]
libpci3/groovy,now 1:3.7.0-2 amd64 [installed]
libpciaccess0/groovy,now 0.16-1 amd64 [installed]
libpcre2-8-0/groovy,now 10.34-7 amd64 [installed]
libpcre3/groovy,now 2:8.39-13 amd64 [installed]
libpcsclite1/groovy,now 1.9.0-1 amd64 [installed,automatic]
libperl5.30/groovy,now 5.30.3-4 amd64 [installed,automatic]
libpipeline1/groovy,now 1.5.3-1 amd64 [installed]
libplymouth5/groovy-updates,now 0.9.5-0ubuntu2.1 amd64 [installed]
libpng16-16/groovy,now 1.6.37-3 amd64 [installed]
libpolkit-gobject-1-0/groovy,now 0.105-29 amd64 [installed]
libpopt0/groovy,now 1.18-1 amd64 [installed]
libprocps8/groovy,now 2:3.3.16-5ubuntu2 amd64 [installed]
libpsl5/groovy,now 0.21.0-1.1ubuntu1 amd64 [installed]
libpython3-stdlib/groovy,now 3.8.6-0ubuntu1 amd64 [installed]
libpython3.8-minimal/groovy,now 3.8.6-1 amd64 [installed]
libpython3.8-stdlib/groovy,now 3.8.6-1 amd64 [installed]
libqrencode4/groovy,now 4.0.2-2 amd64 [installed,automatic]
libquadmath0/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libreadline8/groovy,now 8.0-4 amd64 [installed]
libroken18-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libsasl2-2/groovy,now 2.1.27+dfsg-2ubuntu1 amd64 [installed]
libsasl2-modules-db/groovy,now 2.1.27+dfsg-2ubuntu1 amd64 [installed]
libseccomp2/groovy,now 2.4.3-1ubuntu4 amd64 [installed]
libselinux1/groovy,now 3.1-2 amd64 [installed]
libsemanage-common/groovy,now 3.1-1 all [installed]
libsemanage1/groovy,now 3.1-1 amd64 [installed]
libsensors-config/groovy,now 1:3.6.0-2ubuntu1 all [installed]
libsensors5/groovy,now 1:3.6.0-2ubuntu1 amd64 [installed]
libsepol1/groovy,now 3.1-1 amd64 [installed]
libslang2/groovy,now 2.3.2-5 amd64 [installed]
libsm6/groovy,now 2:1.2.3-1 amd64 [installed]
libsmartcols1/groovy,now 2.36-3ubuntu1 amd64 [installed]
libsqlite3-0/groovy,now 3.33.0-1 amd64 [installed]
libss2/groovy,now 1.45.6-1ubuntu1 amd64 [installed]
libssl1.1/groovy-updates,groovy-security,now 1.1.1f-1ubuntu4.1 amd64 [installed]
libstdc++6/groovy,now 10.2.0-13ubuntu1 amd64 [installed]
libsystemd0/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
libtasn1-6/groovy,now 4.16.0-2 amd64 [installed]
libtext-charwidth-perl/groovy,now 0.04-10 amd64 [installed]
libtext-diff-perl/groovy,now 1.45-1 all [installed,automatic]
libtext-iconv-perl/groovy,now 1.7-7 amd64 [installed]
libtext-wrapi18n-perl/groovy,now 0.06-9 all [installed]
libtimedate-perl/groovy,now 2.3300-1 all [installed,automatic]
libtinfo6/groovy,now 6.2-1 amd64 [installed]
libtirpc-common/groovy,now 1.2.6-1build1 all [installed]
libtirpc-dev/groovy,now 1.2.6-1build1 amd64 [installed,automatic]
libtirpc3/groovy,now 1.2.6-1build1 amd64 [installed]
libtry-tiny-perl/groovy,now 0.30-1 all [installed,automatic]
libtsan0/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libtypes-serialiser-perl/groovy,now 1.0-1 all [installed,automatic]
libubsan1/groovy,now 10.2.0-13ubuntu1 amd64 [installed,automatic]
libuchardet0/groovy,now 0.0.7-1 amd64 [installed]
libudev1/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
libunistring2/groovy,now 0.9.10-4 amd64 [installed]
libunwind8/groovy,now 1.3.2-2 amd64 [installed]
liburi-perl/groovy,now 1.76-2 all [installed,automatic]
libusb-1.0-0/groovy,now 2:1.0.23-2build1 amd64 [installed]
libuuid1/groovy,now 2.36-3ubuntu1 amd64 [installed]
libuv1/groovy,now 1.38.0-2ubuntu2 amd64 [installed]
libvulkan1/groovy,now 1.2.141.0-1 amd64 [installed]
libwind0-heimdal/groovy,now 7.7.0+dfsg-2 amd64 [installed,automatic]
libwrap0/groovy,now 7.6.q-30 amd64 [installed]
libwww-perl/groovy,now 6.47-1 all [installed,automatic]
libwww-robotrules-perl/groovy,now 6.02-1 all [installed,automatic]
libx11-6/groovy,now 2:1.6.12-1 amd64 [installed]
libx11-data/groovy,now 2:1.6.12-1 all [installed]
libx11-xcb1/groovy,now 2:1.6.12-1 amd64 [installed]
libxau6/groovy,now 1:1.0.9-0ubuntu1 amd64 [installed]
libxaw7/groovy,now 2:1.0.13-1 amd64 [installed]
libxcb-dri2-0/groovy,now 1.14-2 amd64 [installed]
libxcb-dri3-0/groovy,now 1.14-2 amd64 [installed]
libxcb-glx0/groovy,now 1.14-2 amd64 [installed]
libxcb-present0/groovy,now 1.14-2 amd64 [installed]
libxcb-shape0/groovy,now 1.14-2 amd64 [installed]
libxcb-sync1/groovy,now 1.14-2 amd64 [installed]
libxcb-xfixes0/groovy,now 1.14-2 amd64 [installed]
libxcb1/groovy,now 1.14-2 amd64 [installed]
libxcomposite1/groovy,now 1:0.4.5-1 amd64 [installed]
libxcursor1/groovy,now 1:1.2.0-2 amd64 [installed]
libxdamage1/groovy,now 1:1.1.5-2 amd64 [installed]
libxdmcp6/groovy,now 1:1.1.3-0ubuntu1 amd64 [installed]
libxext6/groovy,now 2:1.3.4-0ubuntu1 amd64 [installed]
libxfixes3/groovy,now 1:5.0.3-2 amd64 [installed]
libxft2/groovy,now 2.3.3-0ubuntu1 amd64 [installed]
libxi6/groovy,now 2:1.7.10-1 amd64 [installed]
libxinerama1/groovy,now 2:1.1.4-2 amd64 [installed]
libxkbfile1/groovy,now 1:1.1.0-1 amd64 [installed]
libxml2/groovy,now 2.9.10+dfsg-5build1 amd64 [installed]
libxmu6/groovy,now 2:1.1.3-0ubuntu1 amd64 [installed]
libxmuu1/groovy,now 2:1.1.3-0ubuntu1 amd64 [installed]
libxpm4/groovy,now 1:3.5.12-1 amd64 [installed]
libxrandr2/groovy,now 2:1.5.2-0ubuntu1 amd64 [installed]
libxrender1/groovy,now 1:0.9.10-1 amd64 [installed]
libxshmfence1/groovy,now 1.3-1 amd64 [installed]
libxt6/groovy,now 1:1.2.0-1 amd64 [installed]
libxtables12/groovy-updates,now 1.8.5-3ubuntu2.20.10.2 amd64 [installed]
libxtst6/groovy,now 2:1.2.3-1 amd64 [installed]
libxv1/groovy,now 2:1.0.11-1 amd64 [installed]
libxxf86dga1/groovy,now 2:1.1.5-0ubuntu1 amd64 [installed]
libxxf86vm1/groovy,now 1:1.1.4-1build1 amd64 [installed]
libxxhash0/groovy-updates,now 0.8.0-1ubuntu1.20.10.1 amd64 [installed]
libyaml-0-2/groovy,now 0.2.2-1 amd64 [installed]
libzstd1/groovy,now 1.4.5+dfsg-4 amd64 [installed]
linux-libc-dev/groovy-updates,groovy-security,now 5.8.0-41.46 amd64 [installed,automatic]
locales/groovy,now 2.32-0ubuntu3 all [installed]
login/groovy,now 1:4.8.1-1ubuntu6 amd64 [installed]
logrotate/groovy,now 3.14.0-4ubuntu5 amd64 [installed]
logsave/groovy,now 1.45.6-1ubuntu1 amd64 [installed]
lsb-base/groovy,now 11.1.0ubuntu2 all [installed]
lsb-release/groovy,now 11.1.0ubuntu2 all [installed]
lshw/groovy-updates,now 02.18.85-0.3ubuntu2.20.10.1 amd64 [installed]
lsof/groovy-updates,now 4.93.2+dfsg-1ubuntu0.20.10.1 amd64 [installed]
ltrace/groovy,now 0.7.3-6.1ubuntu2 amd64 [installed]
man-db/groovy,now 2.9.3-2 amd64 [installed]
manpages-dev/groovy,now 5.08-1 all [installed,automatic]
manpages/groovy,now 5.08-1 all [installed]
mawk/groovy,now 1.3.4.20200120-2 amd64 [installed]
mime-support/groovy,now 3.64ubuntu1 all [installed]
mount/groovy,now 2.36-3ubuntu1 amd64 [installed]
mtr-tiny/groovy,now 0.93-2 amd64 [installed]
nano/groovy,now 5.2-1 amd64 [installed]
ncurses-base/groovy,now 6.2-1 all [installed]
ncurses-bin/groovy,now 6.2-1 amd64 [installed]
net-tools/groovy,now 1.60+git20180626.aebd88e-1ubuntu2 amd64 [installed]
netbase/groovy,now 6.1 all [installed]
netcat-openbsd/groovy,now 1.217-2ubuntu1 amd64 [installed]
netplan.io/groovy-updates,now 0.101-0ubuntu3~20.10.1 amd64 [installed]
networkd-dispatcher/groovy,now 2.0.1-1 all [installed]
ntfs-3g/groovy,now 1:2017.3.23AR.3-3ubuntu2 amd64 [installed]
openjdk-11-jre-headless/groovy-updates,groovy-security,now 11.0.9.1+1-0ubuntu1~20.10 amd64 [installed,automatic]
openjdk-11-jre/groovy-updates,groovy-security,now 11.0.9.1+1-0ubuntu1~20.10 amd64 [installed,automatic]
openssh-client/groovy,now 1:8.3p1-1 amd64 [installed]
openssh-server/groovy,now 1:8.3p1-1 amd64 [installed]
openssh-sftp-server/groovy,now 1:8.3p1-1 amd64 [installed]
openssl/groovy-updates,groovy-security,now 1.1.1f-1ubuntu4.1 amd64 [installed]
parted/groovy-updates,now 3.3-4ubuntu0.20.10.1 amd64 [installed]
passwd/groovy,now 1:4.8.1-1ubuntu6 amd64 [installed]
pci.ids/groovy,now 0.0~2020.07.21-1 all [installed]
pciutils/groovy,now 1:3.7.0-2 amd64 [installed]
perl-base/groovy,now 5.30.3-4 amd64 [installed]
perl-modules-5.30/groovy,now 5.30.3-4 all [installed,automatic]
perl-openssl-defaults/groovy,now 5 amd64 [installed,automatic]
perl/groovy,now 5.30.3-4 amd64 [installed,automatic]
pinentry-curses/groovy,now 1.1.0-4build1 amd64 [installed,automatic]
pkg-config/groovy,now 0.29.2-1ubuntu1 amd64 [installed]
plymouth-theme-ubuntu-text/groovy-updates,now 0.9.5-0ubuntu2.1 amd64 [installed]
plymouth/groovy-updates,now 0.9.5-0ubuntu2.1 amd64 [installed]
postfix/groovy,now 3.5.6-1 amd64 [installed]
powermgmt-base/groovy,now 1.36 all [installed]
procps/groovy,now 2:3.3.16-5ubuntu2 amd64 [installed]
psmisc/groovy,now 23.3-1 amd64 [installed]
publicsuffix/groovy,now 20200729.1725-1 all [installed]
python-apt-common/groovy-updates,groovy-security,now 2.1.3ubuntu1.3 all [installed]
python3-apt/groovy-updates,groovy-security,now 2.1.3ubuntu1.3 amd64 [installed]
python3-commandnotfound/groovy,now 20.10.1 all [installed]
python3-dbus/groovy,now 1.2.16-3 amd64 [installed]
python3-distro-info/groovy,now 0.23ubuntu1 all [installed]
python3-distupgrade/groovy-updates,now 1:20.10.14 all [installed]
python3-gdbm/groovy,now 3.8.6-1 amd64 [installed]
python3-gi/groovy,now 3.38.0-1 amd64 [installed]
python3-minimal/groovy,now 3.8.6-0ubuntu1 amd64 [installed]
python3-netifaces/groovy,now 0.10.4-1ubuntu4 amd64 [installed]
python3-pkg-resources/groovy,now 49.3.1-2 all [installed]
python3-update-manager/groovy-updates,now 1:20.10.4 all [installed]
python3-yaml/groovy,now 5.3.1-2 amd64 [installed]
python3.8-minimal/groovy,now 3.8.6-1 amd64 [installed]
python3.8/groovy,now 3.8.6-1 amd64 [installed]
python3/groovy,now 3.8.6-0ubuntu1 amd64 [installed]
qrencode/groovy,now 4.0.2-2 amd64 [installed]
readline-common/groovy,now 8.0-4 all [installed]
rpcbind/groovy,now 1.2.5-9 amd64 [installed,automatic]
rpcsvc-proto/groovy,now 1.4.2-0ubuntu4 amd64 [installed,automatic]
rsync/groovy,now 3.2.3-2ubuntu1 amd64 [installed]
rsyslog/groovy,now 8.2006.0-2ubuntu1 amd64 [installed]
sed/groovy,now 4.7-1ubuntu1 amd64 [installed]
sensible-utils/groovy,now 0.0.13 all [installed]
shared-mime-info/groovy,now 2.0-1 amd64 [installed]
sqlite3/groovy,now 3.33.0-1 amd64 [installed,automatic]
ssh/groovy,now 1:8.3p1-1 all [installed]
ssl-cert/groovy,now 1.0.39 all [installed]
strace/groovy,now 5.5-3ubuntu1 amd64 [installed]
sudo/groovy-updates,groovy-security,now 1.9.1-1ubuntu1.1 amd64 [installed]
systemd-sysv/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
systemd-timesyncd/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
systemd/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
sysvinit-utils/groovy,now 2.96-3ubuntu1 amd64 [installed]
tar/groovy-updates,groovy-security,now 1.30+dfsg-7ubuntu0.20.10.1 amd64 [installed]
tcpdump/groovy,now 4.9.3-6 amd64 [installed]
telnet/groovy,now 0.17-41.2build1 amd64 [installed]
time/groovy,now 1.7-25.1build2 amd64 [installed]
tzdata/groovy-updates,groovy-security,now 2021a-0ubuntu0.20.10 all [installed]
ubuntu-advantage-tools/groovy,now 24.4 amd64 [installed]
ubuntu-keyring/groovy,now 2020.06.17.1 all [installed]
ubuntu-minimal/groovy,now 1.459 amd64 [installed]
ubuntu-release-upgrader-core/groovy-updates,now 1:20.10.14 all [installed]
ubuntu-standard/groovy,now 1.459 amd64 [installed]
ucf/groovy,now 3.0043 all [installed]
udev/groovy-updates,now 246.6-1ubuntu1.1 amd64 [installed]
ufw/groovy,now 0.36-7 all [installed]
update-manager-core/groovy-updates,now 1:20.10.4 all [installed]
usb.ids/groovy,now 2020.08.26-1 all [installed]
usbutils/groovy,now 1:012-2 amd64 [installed]
util-linux/groovy,now 2.36-3ubuntu1 amd64 [installed]
uuid-runtime/groovy,now 2.36-3ubuntu1 amd64 [installed]
vim-common/groovy,now 2:8.2.0716-3ubuntu2 all [installed]
vim-tiny/groovy,now 2:8.2.0716-3ubuntu2 amd64 [installed]
wget/groovy,now 1.20.3-1ubuntu1 amd64 [installed]
whiptail/groovy,now 0.52.21-4ubuntu2 amd64 [installed]
x11-apps/groovy,now 7.7+8 amd64 [installed]
x11-common/groovy,now 1:7.7+19ubuntu15 all [installed]
x11-session-utils/groovy,now 7.7+4 amd64 [installed]
x11-utils/groovy,now 7.7+5 amd64 [installed]
x11-xkb-utils/groovy,now 7.7+5 amd64 [installed]
x11-xserver-utils/groovy,now 7.7+8 amd64 [installed]
xauth/groovy,now 1:1.1-0ubuntu1 amd64 [installed]
xbase-clients/groovy,now 1:7.7+19ubuntu15 all [installed]
xdg-user-dirs/groovy,now 0.17-2ubuntu2 amd64 [installed]
xinit/groovy,now 1.4.1-0ubuntu2 amd64 [installed]
xkb-data/groovy,now 2.29-2 all [installed]
xxd/groovy,now 2:8.2.0716-3ubuntu2 amd64 [installed]
xz-utils/groovy,now 5.2.4-1ubuntu1 amd64 [installed]
zlib1g/groovy,now 1:1.2.11.dfsg-2ubuntu4 amd64 [installed]

und

root@Test:~# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.10 (Groovy Gorilla)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.10"
VERSION_ID="20.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=groovy
UBUNTU_CODENAME=groovy
Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 15:34:00
Danke für die Logfiles, das wird wohl ein iterativer Prozess, besonders mit den Net:DBus Abhängigkeiten. Ich versuche die jetzt soweit ich sie identifizieren kann per "apt install" vorzuinstallieren.

Bitte mit dem hier angehängten Script nochmal probieren und mir das /tmp/signal_install.log zukommen lassen, wenn es noch nicht geht.

@Bafh: Mach mal ein ein
sudo ./signal_install.sh removeund probiere ob eine Neuinstallation die Meldung
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource17469578394760016723.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
verschwinden lässt. Da hatte noch was in der "Rapsi" Erkennung nicht funktioniert.

Wegen CAPTCHA:
Das muss ein neues "Feature" von Signal sein und wird wahrscheinlich getriggert wenn man aus einer VM kommt. Wird von signal-cli derzeit noch nicht unterstützt.
Habe jetzt dazu einen Hinweis eingebaut.
Workaround:
- Auf einem anderen System probieren und versuchen ob die Registrierung kopiert werden kann (not tested)
- Bereits bestehende Device (Smartphone) linken

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 15:44:34
ok, hier die Fehlermeldung auf der Konsole mit dem neuen Script:

Proceed (Y/n)? y
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for pkg-config...available
Checking for gcc...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/perl5/Test/CPAN/Changes.pm...installing (libcpan-changes-perl)done
Checking for /usr/lib/arm-linux-gnueabihf/libexpat.a...installing (libexpat1-dev)Failed to install /usr/lib/arm-linux-gnueabihf/libexpat.a

und hier das Log:
NAME="Ubuntu"
VERSION="20.10 (Groovy Gorilla)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.10"
VERSION_ID="20.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=groovy
UBUNTU_CODENAME=groovy
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
  libcpan-changes-perl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 32.0 kB of archives.
After this operation, 125 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu groovy/universe amd64 libcpan-changes-perl all 0.400002-1 [32.0 kB]
Fetched 32.0 kB in 0s (208 kB/s)
Selecting previously unselected package libcpan-changes-perl.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 29729 files and directories currently installed.)
Preparing to unpack .../libcpan-changes-perl_0.400002-1_all.deb ...
Unpacking libcpan-changes-perl (0.400002-1) ...
Setting up libcpan-changes-perl (0.400002-1) ...
Processing triggers for man-db (2.9.3-2) ...
Reading package lists...
Building dependency tree...
Reading state information...
The following NEW packages will be installed:
  libexpat1-dev
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 116 kB of archives.
After this operation, 867 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu groovy/main amd64 libexpat1-dev amd64 2.2.9-1build1 [116 kB]
Fetched 116 kB in 0s (811 kB/s)
Selecting previously unselected package libexpat1-dev:amd64.
(Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 29749 files and directories currently installed.)
Preparing to unpack .../libexpat1-dev_2.2.9-1build1_amd64.deb ...
Unpacking libexpat1-dev:amd64 (2.2.9-1build1) ...
Setting up libexpat1-dev:amd64 (2.2.9-1build1) ...

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 03 Februar 2021, 16:02:11
Hallo Jörg,

also das Script mit remove ausgeführt.
Neuinstallation
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +493xxx
Your configuration
Linux 6f3985224938 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
has not been tested, continue at own risk
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)

!!! Everything needs to run with sudo !!!

Proceed (Y/n)? y
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...installing (haveged)E: Unable to locate package haveged
done
Checking for java...installing (default-jre)E: Unable to locate package default-jre
done
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...installing (qrencode)E: Unable to locate package qrencode
done
Checking for pkg-config...available
Checking for gcc...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/perl5/Test/CPAN/Changes.pm...installing (libcpan-changes-perl)E: Unable to locate package libcpan-changes-perl
Failed to install /usr/share/perl5/Test/CPAN/Changes.pm
root@6f3985224938:/opt/fhem#

hier die signal_install.log
root@6f3985224938:/opt/fhem# more /tmp/signal_install.log
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
Reading package lists...
Building dependency tree...
Reading state information...
Reading package lists...
Building dependency tree...
Reading state information...
Reading package lists...
Building dependency tree...
Reading state information...
Reading package lists...
Building dependency tree...
Reading state information...
root@6f3985224938:/opt/fhem#
Bin verwirrt.
Ich werde morgen mal, alles ohne Docker aufzusetzen und ggf alle  Daten zu kopieren.
Gebe hier bescheid.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 03 Februar 2021, 16:28:07
Moin Jörg,

ich habe einen Container mit FHEM und den gleichen Einstellungen wie das Testsystem laufen. Dort habe ich signal-cli laufen und auch die Nummer registriert. Das ging ohne CAPTCHA. Entweder ist das in den letzten 4 Tagen eingeführt worden oder es liegt doch noch an irgend etwas anderem. Ausser der IP ist ja alles identisch. Ok, vielleicht nicht ganz, ich hatte auf der Telefonnummer schon mal ein Signal App registriert. Mal schauen, ob ich das von einem Handy ordentlich löschen kann und werde es dann noch mal mit deinem Script versuchen.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 17:37:27
Bin verwirrt.
Ich auch etwas. Ist das das selbe System? Schaut jetzt anders aus als vorher. Ich glaube außerdem nicht, dass man diese Installation im Docker laufen lassen kann, da ja ein Systemservice aufgesetzt wird und systemweite Pakete installiert werden.
FHEM kann dann später wahrscheinlich im Docker laufen, aber signal-cli muss ins Hauptsystem.

Zitat von: enno
ich habe einen Container mit FHEM und den gleichen Einstellungen wie das Testsystem laufen. Dort habe ich signal-cli laufen und auch die Nummer registriert. Das ging ohne CAPTCHA. Entweder ist das in den letzten 4 Tagen eingeführt worden oder es liegt doch noch an irgend etwas anderem. Ausser der IP ist ja alles identisch. Ok, vielleicht nicht ganz, ich hatte auf der Telefonnummer schon mal ein Signal App registriert. Mal schauen, ob ich das von einem Handy ordentlich löschen kann und werde es dann noch mal mit deinem Script versuchen.
Das Captcha muss es schon länger geben. Der Diskussionsthread bei signal-cli reicht zurück nach 2019 - aber vielleicht wird das jetzt häufiger getriggert. Meine Test VM unter Ubuntu mit einer komplett neuen Nummer fragt auch nach einem Captcha.

Grundsätzlich müsste man die Registrierung auf jedem Linux System auch mit jedem Standarduser ohne große Installation machen können.
Einfach:
wget https://github.com/AsamK/signal-cli/releases/download/v0.7.4/signal-cli-0.7.4.tar.gz
tar xf signal-cli-0.7.4.tar.gz
cd signal-cli-0.7.4
bin/signal-cli -u +49xxxxxx register --voice
bin/signal-cli -u +49xxxxxx receive

Dann sollte in ~/.local/share/signal-cli ein Verzeichnis "data" aufgetaucht sein.
Das dann auf dem Ziel-PC in /var/lib/signal-cli kopieren.
Nicht vergessen ein
chown -R signal-cli: data zu machen
Danach kann das Verzeichnis signal-cli-0-7.4 und ~/.local/share/signal-cli wieder gelöscht werden und alles wieder restlos weg sein.
Wie gesagt - theoretisch - hab nicht getestet ob diese Daten irgendwie an das System geknüpft sind - Erfahrungsberichte willkommen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Papaloewe am 03 Februar 2021, 18:40:12
Ich vermute mal, dass das install-script nicht in einem "gedockerten" fhem funktioniert.
Was muss ich anstellen, damit ich Signal auch im docker container verwenden kann, ohne mich allzu weit von Standard-FHEM-Docker zu entfernen?
Die apt-packages kann man ja leicht hinzufügen...
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 19:49:43
Da muss ich zugeben zu wenig Docker Know How zu haben.
Aber was spricht generell dagegen, signal-cli einfach im System zu installieren wie viele andere Services auch. Das beißt sich doch nicht mit einem FHEM Standard Container - ich gehe jetzt mal davon aus, das der Container wirklich nur FHEM beinhaltet und z.B. nicht den systemd und andere Linux Kernprozesse. signal-cli hängt sich an den system dbus (den z.B. auch X verwendet) - um das in einen Container zu bekommen, müsste eben wahrscheinlich der ganze systemd in den Container und ehe du schaust hast du eigentlich ein komplettes Linux drin bevor das wirklich funktioniert (korrigiert mich wenn ich falsch liege - wie gesagt habe ich nur theoretisches Container Wissen)

Das eigentliche Signalbot Modul kommt ja dann in den Container und kommuniziert eben mit signal-cli als System Service. Also FHEM bleibt sauber gekapselt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deckoffizier am 03 Februar 2021, 19:54:14
Hallo Jörg,

habe mich mal getraut und die alte Installation gelöscht.

Auf meinem Ubuntu Server habe ich in Deinem Script die Telefonnummer eingetragen
und in /opt/fhem gestartet mit vorher sudo su.

Leider hänge ich jetzt auch wie alle anderen auf einmal mit Captcha invalid or required for verification (null)
fest ?

Gruß
Hans-Jürgen
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kroman am 03 Februar 2021, 21:08:49
Ich habe es nicht getestet, doch die captcha Problematik sollte sich wohl so lösen lassen:

https://github.com/AsamK/signal-cli/blob/master/man/signal-cli.1.adoc#register
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 Februar 2021, 22:24:05
Zum Thema Captchas

Wie von kroman bereits gefunden gibt es tatsächlich was, hat mich nur eine Weile gekostet zu verstehen wie man an den Captcha String kommt und es im Script einzubauen.

Das Script erkennt jetzt ob ein Captcha benötigt wird und fragt dann nach dem Captcha Token.

Dieses bekommt man wie folgt:
Seite https://signalcaptchas.org/registration/generate.html aufrufen.
Dabei ist es wahrscheinlich unerheblich von wo (hab es erfolgreich aus meinem Windows Host gemacht und in meinen Linux VM Guest eingetragen) - schätzungsweise ist es einfach zeitlich begrenzt gültig.

Im Developermode (F12) und nach erfolgreichem Lösen des Captchas (wenn der Bildschirm leer bleibt, ist es auch erfolgreich gelöst) macht der Browser ein redirect auf signalcaptcha://
Das versteht der Browser aber nicht und macht gar nichts.
Der String steht aber bei Firefox in der Console (recht einfach zu finden), beim Chrome muss man auf Network gehen, mit Ctrl+R refreshen und dann in der Spalte "Name" nach einem kryptischen String suchen. Das dieser mit signalcaptcha anfängt sieht man erst im Tooltip da der Anfang abgeschnitten wird.
Anbei Screenshots von Firefox und Chrome zum besseren Verständnis.

Diesen String (ohne signalcaptcha://) dann in die shell pasten und dann ist der Käse hoffentlich gegessen.

Gruß,
Jörg


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 04 Februar 2021, 07:35:23
Morgen
Thema, Signal-Cli im Docker hier steht eine Menge.
https://forum.fhem.de/index.php/topic,84996.msg1123368.html#msg1123368 (https://forum.fhem.de/index.php/topic,84996.msg1123368.html#msg1123368)
Ich habe das Dockerfile noch abgeändert um die aktuelle Java 11 Umgebung zu bekommen
ARG BASE_IMAGE="fhem/fhem"
ARG BASE_IMAGE_TAG="latest"
FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG}

ARG L_SIGNAL_CLI="0.7.4"

# 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 \
        default-jre-headless \
        libunixsocket-java \
        dbus \
        libnet-dbus-perl \
shared-mime-info \
haveged \
# default-jdk \
        net-tools \
nano \
systemd \
        hping3 \
        wakeonlan \
    && wget https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
    && apt-get install -qqy --no-install-recommends ./bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
    && cpanm \
        Net::DBus \
        Lirc::Client \
        Crypt::Cipher::AES \
    && rm -rf /root/.cpanm \
    && 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 \
#    && mv /opt/fhem/signal-cli-"${L_SIGNAL_CLI}" /opt/fhem/signal-cli \
#    && ln -sf /opt/fhem/signal-cli/bin/signal-cli /usr/local/bin/ \
    && 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
#RUN mkdir /opt/fhem/signal-cli
RUN mkdir /opt/signal-cli

RUN chmod +x /pre-start.sh

VOLUME [ "/opt/signal-cli" ]

Das läuft soweit alles stabil, nur halt die Registrierung nicht, werde etwas spätr mal die Registrierung nicht im Docker laufen lassen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 09:18:07
Hi BafH,

Eine Dockervariante wäre natürlich eine feine Alternative (wie gesagt kenne ich mich auf dem Gebiet nicht sehr aus).
Wenn du das soweit rund am laufen hast, sollten wir die config und Anleitung hier mit aufnehmen.
Wenn signal-cli im Docker läuft sollte das mit der Registrierung jetzt mit dem Captcha Trick durchaus auch im Docker gehen (musst halt meinen Docker check aus dem Script rausnehmen).
Wir können diesen Docker check auch gerne verwenden, um stattdessen Schritte der Installation wegzulassen oder abzuändern die mit Docker so nicht klappen oder unötig sind.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deckoffizier am 04 Februar 2021, 10:34:05
Hallo Jörg,

hast Du Gut hinbekommen, mit dem Script und captchas, musste zwar mehr mal versuchen
und funktioniert jetzt soweit alles wieder.

Empfangen ging gleich nach der Installation aber zum raus senden musste ich noch mal wie früher auch noch mal rebooten.
Error sending message:org.asamk.Signal.Error.Failure: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found

Ist ja nicht weiter schlimm, werde mich mal dann ans benutzen mit FHEM machen.

Gruß
Hans-Jürgen
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 11:02:04
Nachdem es erste positive Rückmeldungen gibt, habe ich das Script wieder im ersten Post geupdated.
Noch neu dazu gekommen:
sudo ./signal_install.sh namezum Setzen eines Namens und Avatar Bildes.

Meiner heißt jetzt FHEM und hat das FHEM logo.

Frage an alle Mitstreiter:
Das mit den Captchas ist ja gerade im Chrome ziemlich umständlich. Soweit ich weiß sollte es in Chrome möglich sein einen Protocol Handler zu schreiben (als Plugin oder einfach Script?) der auf das "signalcaptcha://" Protokoll reagiert. Das Teil sollte einfach ein Fenster aufmachen und den Rest dieser "URL" anzeigen (die Kür wäre ein "copy" Button). Kennt sich da jemand aus?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 04 Februar 2021, 13:08:10
Hallo Jörg,

Danke für Deine Mühe und Geduld ;)
Ich habe jetzt Dein neues Script zuerst im Docker gestartet, sofort kam der Hinweis, bitte nicht hier
Also gestartet , 1 Versuch
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49...
You seem to be on a Raspberry pi with armv7l
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)
name     : set or change Signal user name and/or avatar picture

!!! Everything needs to run with sudo !!!

Proceed (Y/n)?
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for pkg-config...available
Checking for gcc...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/perl5/Test/CPAN/Changes.pm...available
Checking for /usr/include/expat.h...available
Checking for /usr/share/doc-base/libxml-parser-perl...available
Checking for Net::DBus...V found
Checking user signal-cli ...found
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.7.4...done
Unpacking ...
Removing native x86 since you're on Raspberry.../home/pi/fhem-docker/fhemtest/core/signal_install.sh: Zeile 261: zip: Kommando nicht gefunden.
/home/pi/fhem-docker/fhemtest/core/signal_install.sh: Zeile 262: zip: Kommando nicht gefunden.
done
Downloading native armv71 libraries...
done
mv: der Aufruf von stat für 'signal-cli-0.7.4' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
done
Changing file ownership ...done
chown: Zugriff auf '/opt/signal' nicht möglich: Datei oder Verzeichnis nicht gefunden
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
/home/pi/fhem-docker/fhemtest/core/signal_install.sh: Zeile 362: cd: /opt/signal/bin: Datei oder Verzeichnis nicht gefunden
Registering for +49....

Receive registration code for +49.... by (S)MS or (V)oice (s/v)? v
Registering +49.... with Voice call
Stopping Signal service to get exclusive access to configuration
You should get a call or SMS now providing a 6 digit code
Enter this code here:^C
Aufgrund der Fehlermeldung, habe ich nochmal das Paket per Hand installiert
sudo apt install libnet-dbus-perl
Setup nochmal gestartet.This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49...
You seem to be on a Raspberry pi with armv7l
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)
name     : set or change Signal user name and/or avatar picture

!!! Everything needs to run with sudo !!!

Proceed (Y/n)?
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for pkg-config...available
Checking for gcc...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/perl5/Test/CPAN/Changes.pm...available
Checking for /usr/include/expat.h...available
Checking for /usr/share/doc-base/libxml-parser-perl...available
Checking for Net::DBus...V found
Checking user signal-cli ...found
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.7.4...done
Unpacking ...
Removing native x86 since you're on Raspberry.../home/pi/fhem-docker/fhemtest/core/signal_install.sh: Zeile 261: zip: Kommando nicht gefunden.
/home/pi/fhem-docker/fhemtest/core/signal_install.sh: Zeile 262: zip: Kommando nicht gefunden.
done
Downloading native armv71 libraries...
done
mv: der Aufruf von stat für 'signal-cli-0.7.4' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
done
Changing file ownership ...done
chown: Zugriff auf '/opt/signal' nicht möglich: Datei oder Verzeichnis nicht gefunden
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
/home/pi/fhem-docker/fhemtest/core/signal_install.sh: Zeile 362: cd: /opt/signal/bin: Datei oder Verzeichnis nicht gefunden
Registering for +49...

Receive registration code for +49... by (S)MS or (V)oice (s/v)? v
Registering +49... with Voice call
Stopping Signal service to get exclusive access to configuration
You should get a call or SMS now providing a 6 digit code
Enter this code here:^C

Scheinbar kann wird das Verzeichnis /opt/signal-cli nicht finden auszug der ls-l /opt/
drwx--x--x  4 root root 4096 Feb 25  2019 containerd
drwxr-xr-x  5 root root 4096 Feb 13  2020 culfw-code
drwxr-xr-x  3 root root 4096 Mär 27  2019 docker
drwxr-xr-x  3 root root 4096 Mai 16  2019 eff.org
drwxr-xr-x 30 root root 4096 Mai 16  2019 letsencrypt
drwxr-xr-x  4 root root 4096 Jan 19 17:31 signal-cli-0.7.4
drwxr-xr-x  6 root root 4096 Feb 25  2019 vc
Ich teste weiter...

EDIT 04.02.2021

Ich habe das Verzeichnis umbenannt
/opt/signal-cli-0.7.4/ nach /opt/signal/

Script ausgeführt
sudo /home/pi/fhem-docker/fhemtest/core/signal_install.sh registerAusgabe
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49....
You seem to be on a Raspberry pi with armv7l
Your chose the following option: register

Proceed (Y/n)?
Registering for +49...

Receive registration code for +49... by (S)MS or (V)oice (s/v)? v
Registering +49... with Voice call
Stopping Signal service to get exclusive access to configuration
*** Signal requires a CAPTCHA , use any browser to go to:
*** https://signalcaptchas.org/registration/generate.html
*** Solve the captcha there (might also just be an empty page) then press F12
*** On Chrome go to Network, press Ctrl+R, look into the 'name' column of the table
*** On Firefox Go to console
*** Now find the name starting with signalcaptcha://
*** copy that string with out the signalcaptcha:// (right click -> copy link adress)
Paste it here:03AGdBq26U4ZfaeGGl6ZJwyXhLjsH06zmiGujQnOgXXwn1sYeFR3rg23yQR-cDq1lbrj2cuQvhgTddZK6adDHiIFUH9T82VNBkAKTDLfOkv3soezPJlfP5e6tEa1TSvSkQ3ve7nRMvzuVUgU5mXWgAYzTMvV9GSHGgSOtk1Gf-DFCJuM_0IfC7tbUTbQEfUnPeSm0jVCvGz5ObuSjatK_WvYcgVMS6FknjkhFTgxFFua5p5bOkG0ns0hiZKRpkbs5IrfYtJKu8nyYh4qrYDViRt-Ls6B6rgbOy6vLtDlqRQ74HphHAP2pGSkYktAI2178kks7KpikyoJXSOq8av0cW3QWrQNr_qT1S-OuTD6fQPXRh-FCh66qs5PL7xclLKQrGR0rYgw-d1nuye6btlex4Ntn-mqjqNbLmvXnaghE7sNNCB9qfmjYpFfwjGQfl-yK1n2-9YptYhfz0nikMIQk1SUADez6nafLaTtmRTn_jA17pXDQEMyBllwkJS550IKsIsoyebnEgZH7I
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource13240667167908782314.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
Captcha invalid or required for verification (null)
You should get a call or SMS now providing a 6 digit code
Enter this code here:
Ich bleibe dran...

EDIT 04.02.2021 13:27
Der Fehler war vor dem Rechner
Paste it here:03AGdBq26YhrxOoDwrOQmlC0zMyjWVRHHgaB7NsM-ghEubtMQv9DNNzbXFmPo_aLKlCoksqulUkBvjU0SlSBAvLWYU6f3WYaLnxZ7Zg7kFpBy_gecfpY1kZAfi9CTwtunc0LQ0FlNNk4Tlp9bmb1idKr4Eg7NLcy5DyTmu-xQZu4-iW9_pXWWTkg6_R7D7BP31XFkWxnRLpdjJGWLQmLCVHrl7QaKWDZMToe5_bDXRGxsugxshRwHdtGTfqeMr3ENmP93KjZp-o2tqiwXx25G1EJaPHm_ls-w-EOVixZuUyj6wXYnGvgff9aRpAVODcz1VvRUksqAVJMxMNXqSZ9Spv1aHAsueQJL1HPfMUpsZUIXo8Au3PiMKWk5EsQj6urr3vVT7UoO-296vzLHaeOv3j-lp7j3SKEBYhhO7Co5xC9951sNAJO8HNqEGwaU_BL2zswIgM9S81FrkMp6ZbypViblE_OKMdrtFtJj8W79yYKfDtDEM4vLdkZQXhj28V6T_jc4YqsAk7bpf
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource16809914347475085492.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
You should get a call or SMS now providing a 6 digit code
Enter this code here:823604
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource2348828536329969407.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
checking and receiving
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource17703472415363542522.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
Restarting signal service
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 14:16:16
Aufgrund deines Tests noch auf Vorhandensein von "zip" geprüft.

Das mit dem zip ist essentiell für die nativen arm libraries für die V2 Gruppen.

Das mit dem Pfadnamen verstehe ich nicht ganz. Bei dir schlägt genau der Befehl fehl:

mv: der Aufruf von stat für 'signal-cli-0.7.4' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
Liegt das am Docker? Evtl. musst du statt /opt einen anderen Pfad nehmen? Denn vorhanden war es ja wohl doch.

Kannst du jetzt nochmal testen? (update erster Post)

Danke.
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 04 Februar 2021, 14:52:03
Bin jetzt auf den produktiven Pi gegangen.
Vermutlich, war der Test Pi schon total verbogen... :-)
Script ausgeführt...
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49...
You seem to be on a Raspberry pi with armv7l
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations
join     : Join current number to an existing group (invite by group link)
name     : set or change Signal user name and/or avatar picture

!!! Everything needs to run with sudo !!!

Proceed (Y/n)?
Checking for /usr/lib...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for wget...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...installing (qrencode)done
Checking for pkg-config...available
Checking for gcc...available
Checking for zip...installing (zip)done
Checking for /usr/include/dbus-1.0/dbus/dbus.h...installing (libdbus-1-dev)done
Checking for /usr/share/perl5/Test/CPAN/Changes.pm...installing (libcpan-changes-perl)done
Checking for /usr/include/expat.h...available
Checking for /usr/share/doc-base/libxml-parser-perl...available
Checking for Net::DBus...Installing latest NET::DBus...done
Checking user signal-cli ...Lege Benutzer »signal-cli« an ...
Lege neue Gruppe »signal-cli« (1001) an ...
Lege neuen Benutzer »signal-cli« (1001) mit Gruppe »signal-cli« an ...
Erstelle Home-Verzeichnis »/home/signal-cli« ...
Kopiere Dateien aus »/etc/skel« ...
created
Checking for /opt...found
Checking for /var/lib/signal-cli...created
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.7.4...done
Unpacking ...
Removing native x86 since you're on Raspberry...deleting: libzkgroup.so
done
Downloading native armv71 libraries...
done
done
Changing file ownership ...done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf.../etc/dbus-1/system.d/org.asamk.Signal.conf installed
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service.../usr/share/dbus-1/system-services/org.asamk.Signal.service installed
Checking for /etc/systemd/system/signal.service.../etc/systemd/system/signal.service installed
Created symlink /etc/systemd/system/dbus-org.asamk.Signal.service → /etc/systemd/system/signal.service.
Registering for +49...

Receive registration code for +49...by (S)MS or (V)oice (s/v)? v
Registering +49...with Voice call
Stopping Signal service to get exclusive access to configuration
*** Signal requires a CAPTCHA , use any browser to go to:
*** https://signalcaptchas.org/registration/generate.html
*** Solve the captcha there (might also just be an empty page) then press F12
*** On Chrome go to Network, press Ctrl+R, look into the 'name' column of the table
*** On Firefox Go to console
*** Now find the name starting with signalcaptcha://
*** copy that string with out the signalcaptcha:// (right click -> copy link adress)
Paste it here:03AGdBq2449zF-u8hXauaf4pOWx_j6gXSP-N9awi6EEVebOMM7gIceeDAeY4q5tTkcvC2rxZpFfXEVZ8nZnTa2Sit-ecZOBTo5LSMb72M_2K1dCRBWgu6YN_ovBD-4syC9jI-vi-XhDCcNaSJ-mRUgOsZfQ3BV-qWto1dwmUsyeMY-AppBTew0yc5uS_FrROBNpfhDN_meBsMe5IxII-JMj9kXPtEILw5clapudywUnCe2RyJwmbZT1uxnXcw_iB4GgGaYdV1SNkq5HVwtZGCg-CwnHvlgw_oV3Rw9P8KtLzIjDkQlgYx_IVdAu0OWATWBxnKyWdVeOVDej_y7JdtKdapHfehSdiOO9vpHH66ppzNI_oMhAESW6hWDehVfsvzZ1N5IpytnrJ8HrppYdAglFp_K1uNCNjZNT2gm39wGEhyCOopTpoXtw10tNZHgxV-HwIt7xuH_5zpZE1UqIgfbwuzJE_QRIPfqTi9hPFcOTRKrFLKK0_u4VNXtH1ddLANV5r3ydjsA7ddb
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
You should get a call or SMS now providing a 6 digit code
Enter this code here:799389
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
checking and receiving
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
Restarting signal service
Please enter the number (+49...) of somebody that you can send a test message to
Number:+49...
Sending a message from command line to +4915127663691
Stopping Signal service to get exclusive access to configuration
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
1612445295229
Sending a message from via dbus to +49...
method return time=1612445309.579792 sender=:1.430 -> destination=:1.431 serial=6 reply_serial=2
   int64 1612445308279
Restarting signal service
If the recipient got the messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM

Nachricht ist angekommen.

Was wären die nächsten Schritte:

soweitso gut... Nur bei mir gibt es kein ~/.local/share/signal-cli scheinbar hat Dein Super Script alles schon erledigt?
pi@FHEM:~ $ sudo ls -l /var/lib/signal-cli/data/
insgesamt 24
-rw------- 1 signal-cli signal-cli 17008 Feb  4 14:28 +49...
drwx------ 3 signal-cli signal-cli  4096 Feb  4 14:28 +49....d

Jetzt werde ich das mal im FHEM Docker einbauen

EDIT 04.02.2021 15:04

Ich habe die Schritte gemäß Wikihttps://wiki.fhem.de/wiki/SiSi#Einbindung_des_FHEM-Moduls (https://wiki.fhem.de/wiki/SiSi#Einbindung_des_FHEM-Moduls)
Durchgeführt geändert wurde 32_sisi.pm gegen 50_Signalbot.pm

Im Fhem define SignalMessenger Signalbotausgeführt siehe Log 2021.02.04 15:01:54.182 1: define SignalMessenger Signalbot: 1Nur das Device ist nicht vorhanden???
 ???
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 15:09:28
Zitat
soweitso gut... Nur bei mir gibt es kein ~/.local/share/signal-cli scheinbar hat Dein Super Script alles schon erledigt?
Natürlich  :)

Was mich jetzt noch irritiert ist
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
Eigentlich sollte es jetzt eine
-rwxr-xr-x 1 root root 681524 Jan 31 09:41 /usr/lib/libzkgroup.so
geben.

Schaust du mal und auch ob alle permissions stimmen?

Das hat jetzt bei der Registrierung nicht gestört, wird es aber, wenn du in FHEM mit Gruppen arbeitest.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 15:10:49
Nur das Device ist nicht vorhanden???

reload 50_Signalbot
oder
shutdown restart
gemacht?

Edit: und mit
list SignalMessengerkommt nichts?



Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 04 Februar 2021, 15:20:48
Nein, die Datei ist nicht vorhanden.
pi@FHEM:~ $ sudo ls -l /usr/lib/lib*
lrwxrwxrwx 1 root root    16 Nov 11  2016 /usr/lib/libident.so.0 -> libident.so.0.22
-rw-r--r-- 1 root root  7976 Nov 11  2016 /usr/lib/libident.so.0.22
lrwxrwxrwx 1 root root    20 Mai 24  2012 /usr/lib/libsigc-1.2.so.5 -> libsigc-1.2.so.5.0.7
-rw-r--r-- 1 root root 23724 Mai 24  2012 /usr/lib/libsigc-1.2.so.5.0.7
-rw-r--r-- 1 root root 16500 Aug 29  2016 /usr/lib/libsupp.a

Ja, ich  habe FHEM Update und Restart.

Log
2021.02.04 15:18:00.812 1: PERL WARNING: Subroutine Signalbot_Initialize redefined at ./FHEM/50_Signalbot.pm line 29.
2021.02.04 15:18:00.815 1: PERL WARNING: Subroutine Signalbot_Set redefined at ./FHEM/50_Signalbot.pm line 50.
2021.02.04 15:18:00.816 1: PERL WARNING: Subroutine Signalbot_Get redefined at ./FHEM/50_Signalbot.pm line 175.
2021.02.04 15:18:00.819 1: PERL WARNING: Subroutine Signalbot_message_callback redefined at ./FHEM/50_Signalbot.pm line 180.
2021.02.04 15:18:00.820 1: PERL WARNING: Subroutine Signalbot_receipt_callback redefined at ./FHEM/50_Signalbot.pm line 253.
2021.02.04 15:18:00.820 1: PERL WARNING: Subroutine Signalbot_sync_callback redefined at ./FHEM/50_Signalbot.pm line 268.
2021.02.04 15:18:00.821 1: PERL WARNING: Subroutine Signalbot_disconnect redefined at ./FHEM/50_Signalbot.pm line 283.
2021.02.04 15:18:00.823 1: PERL WARNING: Subroutine Signalbot_setup redefined at ./FHEM/50_Signalbot.pm line 327.
2021.02.04 15:18:00.824 1: PERL WARNING: Subroutine Signalbot_Read redefined at ./FHEM/50_Signalbot.pm line 395.
2021.02.04 15:18:00.825 1: PERL WARNING: Subroutine Signalbot_getContactName redefined at ./FHEM/50_Signalbot.pm line 407.
2021.02.04 15:18:00.825 1: PERL WARNING: Subroutine Signalbot_translateContact redefined at ./FHEM/50_Signalbot.pm line 426.
2021.02.04 15:18:00.826 1: PERL WARNING: Subroutine Signalbot_translateGroup redefined at ./FHEM/50_Signalbot.pm line 439.
2021.02.04 15:18:00.826 1: PERL WARNING: Subroutine Signalbot_getNumber redefined at ./FHEM/50_Signalbot.pm line 461.
2021.02.04 15:18:00.827 1: PERL WARNING: Subroutine Signalbot_Refreshgroups redefined at ./FHEM/50_Signalbot.pm line 480.
2021.02.04 15:18:00.828 1: PERL WARNING: Subroutine Signalbot_sendMessage redefined at ./FHEM/50_Signalbot.pm line 498.
2021.02.04 15:18:00.829 1: PERL WARNING: Subroutine Signalbot_sendGroupMessage redefined at ./FHEM/50_Signalbot.pm line 521.
2021.02.04 15:18:00.829 1: PERL WARNING: Subroutine Signalbot_Execute redefined at ./FHEM/50_Signalbot.pm line 549.
2021.02.04 15:18:00.830 1: PERL WARNING: Subroutine Signalbot_Attr redefined at ./FHEM/50_Signalbot.pm line 559.
2021.02.04 15:18:00.830 1: PERL WARNING: Subroutine Signalbot_Notify redefined at ./FHEM/50_Signalbot.pm line 600.
2021.02.04 15:18:00.831 1: PERL WARNING: Subroutine Signalbot_Define redefined at ./FHEM/50_Signalbot.pm line 615.
2021.02.04 15:18:00.832 1: PERL WARNING: Subroutine Signalbot_Init redefined at ./FHEM/50_Signalbot.pm line 636.
2021.02.04 15:18:00.832 1: PERL WARNING: Subroutine Signalbot_Catch redefined at ./FHEM/50_Signalbot.pm line 655.
2021.02.04 15:18:00.832 1: PERL WARNING: Subroutine Signalbot_State redefined at ./FHEM/50_Signalbot.pm line 664.
2021.02.04 15:18:00.832 1: PERL WARNING: Subroutine Signalbot_Undef redefined at ./FHEM/50_Signalbot.pm line 670.
2021.02.04 15:18:00.833 1: PERL WARNING: Subroutine SignalBot_replaceCommands redefined at ./FHEM/50_Signalbot.pm line 683.
2021.02.04 15:18:00.834 1: PERL WARNING: Subroutine SignalBot_IdentifyStream redefined at ./FHEM/50_Signalbot.pm line 757.


2021.02.04 15:18:15.545 1: define Signal Signalbot: 1
Nur das Device ist nicht vorhanden.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 15:31:32
Hab jetzt extra noch mal bei mir die Device gelöscht und neu angelegt.
Funktioniert alles gut, am Modul selbst kanns nicht liegen.
Mich irritiert das keine Fehlermeldungen kommen.
Welchen verbose level hat bei dir "global"?
Sollte mindestens 1 sein damit man was sieht.

Edit:
Eigentlich kanns nur an fehlenden Perl Abhängigkeiten liegen.
Mal folgendes Script im fhem context ausführen:

#!/usr/bin/perl -w
use strict;
use warnings;
use Net::DBus;
use Net::DBus::Reactor;
use Scalar::Util qw(looks_like_number);
use File::Temp qw( tempfile tempdir );
use Text::ParseWords;
use Encode;

print $Net::DBus::VERSION."\n";

Das sollte alle Abhängigkeiten abprüfen, die Signalbot derzeit hat und gibt die DBus Version aus (benötigt: 1.2.0)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 04 Februar 2021, 17:00:20
War mal eine Runde um den Block, ganzen Tag Homeoffice.
Hab nochmal die 50_Signalbot.pm runtergeladen und ins System kopiert und das Device neudefiniert
2021.02.04 16:46:34.356 1: PERL WARNING: Subroutine Signalbot_Initialize redefined at ./FHEM/50_Signalbot.pm line 29.
2021.02.04 16:46:34.359 1: PERL WARNING: Subroutine Signalbot_Set redefined at ./FHEM/50_Signalbot.pm line 50.
2021.02.04 16:46:34.360 1: PERL WARNING: Subroutine Signalbot_Get redefined at ./FHEM/50_Signalbot.pm line 175.
2021.02.04 16:46:34.363 1: PERL WARNING: Subroutine Signalbot_message_callback redefined at ./FHEM/50_Signalbot.pm line 180.
2021.02.04 16:46:34.364 1: PERL WARNING: Subroutine Signalbot_receipt_callback redefined at ./FHEM/50_Signalbot.pm line 253.
2021.02.04 16:46:34.364 1: PERL WARNING: Subroutine Signalbot_sync_callback redefined at ./FHEM/50_Signalbot.pm line 268.
2021.02.04 16:46:34.365 1: PERL WARNING: Subroutine Signalbot_disconnect redefined at ./FHEM/50_Signalbot.pm line 283.
2021.02.04 16:46:34.368 1: PERL WARNING: Subroutine Signalbot_setup redefined at ./FHEM/50_Signalbot.pm line 327.
2021.02.04 16:46:34.369 1: PERL WARNING: Subroutine Signalbot_Read redefined at ./FHEM/50_Signalbot.pm line 395.
2021.02.04 16:46:34.369 1: PERL WARNING: Subroutine Signalbot_getContactName redefined at ./FHEM/50_Signalbot.pm line 407.
2021.02.04 16:46:34.370 1: PERL WARNING: Subroutine Signalbot_translateContact redefined at ./FHEM/50_Signalbot.pm line 426.
2021.02.04 16:46:34.370 1: PERL WARNING: Subroutine Signalbot_translateGroup redefined at ./FHEM/50_Signalbot.pm line 439.
2021.02.04 16:46:34.371 1: PERL WARNING: Subroutine Signalbot_getNumber redefined at ./FHEM/50_Signalbot.pm line 461.
2021.02.04 16:46:34.372 1: PERL WARNING: Subroutine Signalbot_Refreshgroups redefined at ./FHEM/50_Signalbot.pm line 480.
2021.02.04 16:46:34.373 1: PERL WARNING: Subroutine Signalbot_sendMessage redefined at ./FHEM/50_Signalbot.pm line 498.
2021.02.04 16:46:34.374 1: PERL WARNING: Subroutine Signalbot_sendGroupMessage redefined at ./FHEM/50_Signalbot.pm line 521.
2021.02.04 16:46:34.375 1: PERL WARNING: Subroutine Signalbot_Execute redefined at ./FHEM/50_Signalbot.pm line 549.
2021.02.04 16:46:34.376 1: PERL WARNING: Subroutine Signalbot_Attr redefined at ./FHEM/50_Signalbot.pm line 559.
2021.02.04 16:46:34.376 1: PERL WARNING: Subroutine Signalbot_Notify redefined at ./FHEM/50_Signalbot.pm line 600.
2021.02.04 16:46:34.377 1: PERL WARNING: Subroutine Signalbot_Define redefined at ./FHEM/50_Signalbot.pm line 615.
2021.02.04 16:46:34.378 1: PERL WARNING: Subroutine Signalbot_Init redefined at ./FHEM/50_Signalbot.pm line 636.
2021.02.04 16:46:34.378 1: PERL WARNING: Subroutine Signalbot_Catch redefined at ./FHEM/50_Signalbot.pm line 655.
2021.02.04 16:46:34.379 1: PERL WARNING: Subroutine Signalbot_State redefined at ./FHEM/50_Signalbot.pm line 664.
2021.02.04 16:46:34.379 1: PERL WARNING: Subroutine Signalbot_Undef redefined at ./FHEM/50_Signalbot.pm line 670.
2021.02.04 16:46:34.380 1: PERL WARNING: Subroutine SignalBot_replaceCommands redefined at ./FHEM/50_Signalbot.pm line 683.
2021.02.04 16:46:34.382 1: PERL WARNING: Subroutine SignalBot_IdentifyStream redefined at ./FHEM/50_Signalbot.pm line 757.
sobald das Define eingebe, auch im FHEM WEB erhalte ich nur die 1
2021.02.04 16:48:54.212 1: define Signal Signalbot: 1Ich hatte ja, Dein signal_install.sh Script nicht im FHEM Container gestartet...
Könnte etwas fehlen? Nein, Das Perl Script hätte sonst gemeckert...
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deckoffizier am 04 Februar 2021, 18:39:41
Hallo Thorben,

sorry steige jetzt bei den ganzen Posts nicht mehr durch

Zitat
sobald das Define eingebe, auch im FHEM WEB erhalte ich nur die 1

dies hatte ich vor 3 Tagen bei der installation nach WIKI zu SiSi auch wenn der Pfad zur config nicht stimmt,

eventuell im Deinen Post um u.a. 13.08. Uhr Deine Telefonnummer unkenntlich machen? Nur mal so.

Gruß
Hans-Jürgen
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 19:21:18
Es sollte eigentlich eine Fehlermeldung geben wenn was nicht stimmt.
Wenn der einfach mit "1" abbricht, dann ist irgendwas faul - und wenn es nur mein Errorhandling ist.
Bei ersten Init ist die config der Nummer erstmal egal - das wird erst beim Senden relevant - aber der Dbus Service muss sauber laufen - da gibts aber Fehlermeldungen - eventuell wurden die aber nicht sauber durchgereicht. Hab ich jetzt ein bisschen überarbeitet.

Meine Logs sind fast alle auf loglevel 5 - wenn du mehr sehen willst musst du wohl global auf 5 stellen, da beim define ja der eigene verbose level noch gar nicht existiert.

Mein "define" Code war außerdem weitgehend copy&paste und enthält teils unötige Dinge.
Ich hange mal eine Version an, die dort etwas aufgeräumt ist und etwas mehr logging enthält.
Versuch mal die mit verbose=5 in global laufen zu lassen (wird halt ein langes logfile, aber die relevanten Zeilen lassen sich ja raus-"greppen".

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 04 Februar 2021, 20:01:11
Moin Jörg,

Erfolg! Das Script läuft durch, die Nummer lässt sich mit der Anleitung wie man an das Captchas findet registrieren. Jetzt habe ich nur noch das Problem, dass der Net::DBus nicht geht. Ich habe bei meinem Produktiv System das -f glaube ich weggelassen...
root@Test:/opt/fhem/FHEM# cpan install -f Net:DBus
[....]
  make -- NOT OK
  No such file or directory

Mit apt-get install build-essentiall danach klappt das cpan install -f Net:DBus
aber: * 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 Thu 2021-02-04 19:34:07 UTC; 3min 3s ago
    Process: 6129 ExecStart=/opt/fhem/signal/bin/signal-cli --config /var/lib/fhem -u +49yyyyyyy daemon --system (code=exited, status=2)
   Main PID: 6129 (code=exited, status=2)

Feb 04 19:34:07 Test signal-cli[6129]: ERROR DaemonCommand - Dbus command failed
Feb 04 19:34:07 Test signal-cli[6129]: org.freedesktop.dbus.exceptions.DBusException: Connection ":1.29" is not allowed to own the service "org.asamk.Signal" due to security policies in the configuratio>
Feb 04 19:34:07 Test signal-cli[6129]:         at org.freedesktop.dbus.connections.impl.DBusConnection.requestBusName(DBusConnection.java:481)
Feb 04 19:34:07 Test signal-cli[6129]:         at org.asamk.signal.commands.DaemonCommand.handleCommand(DaemonCommand.java:68)
Feb 04 19:34:07 Test signal-cli[6129]:         at org.asamk.signal.App.handleLocalCommand(App.java:209)
Feb 04 19:34:07 Test signal-cli[6129]:         at org.asamk.signal.App.init(App.java:165)
Feb 04 19:34:07 Test signal-cli[6129]:         at org.asamk.signal.Main.main(Main.java:43)
Feb 04 19:34:07 Test systemd[1]: signal.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Feb 04 19:34:07 Test systemd[1]: signal.service: Failed with result 'exit-code'.
Feb 04 19:34:07 Test systemd[1]: Failed to start Send secure messages to Signal clients

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 21:11:50
Hallo Enno,

Das mit dem "build-essential" hört sich vielversprechend an. Ich werde nämlich langsam wahnsinnig die möglichen Packages für fehlende Perl Module zu finden (die bei mir alle da waren).
Habe ich gleich mal integriert.

Ich denke dein anderes Problem habe ich auch gefunden. An einer Stelle steht noch fest "signal-cli" als user und du nimmst ja einen anderen. (Immer diese Anwender mit Sonderlocken  ;) )
Lass mal dieses Script laufen.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 04 Februar 2021, 21:53:38
... und wieder einen Schritt weiter. Signal Device lässt sich anlegen:
Internals:
   FD         4
   FUUID      601c5c7a-f33f-5579-5374-8be64b9007bed36d
   NAME       SIGNAL
   NOTIFYDEV  global
   NR         14
   NTFY_ORDER 50-SIGNAL
   STATE      Connected
   TYPE       Signalbot
   helper:
     msignal    1
     rsignal    3
     ssignal    2
     timer      0
Attributes:
   defaultPeer +49yyyy
   room       Signal
aber beim Senden folgende Fehlermeldung im Log:
Error sending message:org.asamk.Signal.Error.Failure: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found
Empfang klappt aber...
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 22:03:11
Hallo Enno,

Da wäre jetzt wahrscheinlich das syslog hilfreich.
Wobei ich selbst am Anfang mal das Problem hatte, das ich nicht empfangen aber senden konnte (oder wars anders rum?) - und die Lösung war einfach: Reboot

Hast du das schon probiert?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deckoffizier am 04 Februar 2021, 22:17:25
Hallo Enno,

blindes Huhn wie ich findet auch mal ein Korn  ;)
wie ich auch schon geschrieben hatte Neustart.

Gruß
Hans-Jürgen
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 04 Februar 2021, 22:17:37
Moin Jörg,

ist doch kein Windows ;) - Aber klar, habe einen Reboot gemacht. Senden geht nicht, Empfangen schon.
Syslog hier:
Feb  4 20:37:36 Test systemd-sysctl[52]: Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists).
Feb  4 20:37:36 Test systemd-sysctl[52]: Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists).
Feb  4 20:37:36 Test keyboard-setup.sh[55]: Couldn't get a file descriptor referring to the console
Feb  4 20:37:36 Test systemd-sysctl[52]: Couldn't write 'fq_codel' to 'net/core/default_qdisc', ignoring: No such file or directory
Feb  4 20:37:36 Test keyboard-setup.sh[57]: Couldn't get a file descriptor referring to the console
Feb  4 20:37:36 Test systemd[1]: Starting Flush Journal to Persistent Storage...
Feb  4 20:37:36 Test keyboard-setup.sh[58]: Couldn't get a file descriptor referring to the console
Feb  4 20:37:36 Test systemd[1]: Finished Create Static Device Nodes in /dev.
Feb  4 20:37:36 Test systemd[1]: Condition check resulted in Rule-based Manager for Device Events and Files being skipped.
Feb  4 20:37:36 Test systemd[1]: Starting Network Service...
Feb  4 20:37:36 Test systemd[1]: Finished Flush Journal to Persistent Storage.
Feb  4 20:37:36 Test dbus-daemon[102]: [system] AppArmor D-Bus mediation is enabled
Feb  4 20:37:36 Test systemd[1]: Finished Hold until boot process finishes up.
Feb  4 20:37:36 Test systemd[1]: Started Console Getty.
Feb  4 20:37:36 Test systemd[1]: Condition check resulted in Container Getty on /dev/tty0 being skipped.
Feb  4 20:37:36 Test systemd[1]: Started Container Getty on /dev/tty1.
Feb  4 20:37:36 Test systemd[1]: Started Container Getty on /dev/tty2.
Feb  4 20:37:36 Test systemd[1]: Reached target Login Prompts.
Feb  4 20:37:36 Test systemd[1]: Condition check resulted in Set console scheme being skipped.
Feb  4 20:37:36 Test systemd[1]: Finished Terminate Plymouth Boot Screen.
Feb  4 20:37:36 Test ipmiutil_wdt[109]: Starting ipmiutil_wdt:
Feb  4 20:37:36 Test ipmiutil_wdt[133]: Cannot map memory.
Feb  4 20:37:36 Test ipmiutil_wdt[133]: Cannot open an IPMI driver: /dev/imb, /dev/ipmi0, /dev/ipmi/0,
Feb  4 20:37:36 Test ipmiutil_wdt[133]: #011 or direct driverless.
Feb  4 20:37:36 Test ipmiutil_wdt[109]: /usr/share/ipmiutil/ipmiutil_wdt: 49: ipmiutil_wdt: not found
Feb  4 20:37:36 Test systemd[1]: ipmiutil_wdt.service: Main process exited, code=exited, status=127/n/a
Feb  4 20:37:36 Test systemd[1]: ipmiutil_wdt.service: Failed with result 'exit-code'.
Feb  4 20:37:36 Test accounts-daemon[99]: started daemon version 0.6.55
Feb  4 20:37:36 Test systemd[1]: Started Accounts Service.
Feb  4 20:37:36 Test systemd[1]: Started OpenBSD Secure Shell server.
Feb  4 20:37:36 Test systemd[1]: Started User Login Management.
Feb  4 20:37:36 Test networkd-dispatcher[105]: No valid path found for iwconfig
Feb  4 20:37:36 Test networkd-dispatcher[105]: No valid path found for iw
Feb  4 20:37:36 Test systemd[1]: Started Dispatcher daemon for systemd-networkd.
Feb  4 20:37:36 Test systemd[1]: Started FHEM Home Automation.
Feb  4 20:37:36 Test systemd[1]: e2scrub_reap.service: Succeeded.
Feb  4 20:37:36 Test systemd[1]: Finished Remove Stale Online ext4 Metadata Check Snapshots.
Feb  4 20:37:36 Test postfix/postfix-script[261]: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Feb  4 20:37:36 Test postfix/postfix-script[297]: starting the Postfix mail system
Feb  4 20:37:36 Test postfix/master[299]: daemon started -- version 3.5.6, configuration /etc/postfix
Feb  4 20:37:36 Test systemd[1]: Started Postfix Mail Transport Agent (instance -).
Feb  4 20:37:36 Test systemd[1]: Starting Postfix Mail Transport Agent...
Feb  4 20:37:36 Test systemd[1]: Finished Postfix Mail Transport Agent.
Feb  4 20:37:36 Test systemd[1]: Reached target Multi-User System.
Feb  4 20:37:36 Test systemd[1]: Reached target Graphical Interface.
Feb  4 20:37:36 Test systemd[1]: Starting Update UTMP about System Runlevel Changes...
Feb  4 20:37:36 Test systemd[1]: systemd-update-utmp-runlevel.service: Succeeded.
Feb  4 20:37:36 Test systemd[1]: Finished Update UTMP about System Runlevel Changes.
Feb  4 20:37:36 Test systemd[1]: Startup finished in 1.254s.
Feb  4 20:37:36 Test systemd[1]: dmesg.service: Succeeded.
Feb  4 20:37:37 Test systemd-networkd[66]: eth0: Gained IPv6LL
Feb  4 20:39:27 Test dbus-daemon[102]: [system] Reloaded configuration
Feb  4 20:39:27 Test systemd[1]: Reloading.
Feb  4 20:39:27 Test systemd[1]: /lib/systemd/system/dbus.service:12: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
Feb  4 20:39:27 Test systemd[1]: /lib/systemd/system/plymouth-start.service:17: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
Feb  4 20:39:27 Test systemd[1]: Reloading.
Feb  4 20:39:27 Test systemd[1]: /lib/systemd/system/dbus.service:12: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
Feb  4 20:39:27 Test systemd[1]: /lib/systemd/system/plymouth-start.service:17: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
Feb  4 20:39:27 Test systemd[1]: Started Run anacron jobs.
Feb  4 20:39:27 Test systemd[1]: Reloading D-Bus System Message Bus.
Feb  4 20:39:27 Test anacron[1153]: Anacron 2.3 started on 2021-02-04
Feb  4 20:39:27 Test anacron[1153]: Normal exit (0 jobs run)
Feb  4 20:39:27 Test systemd[1]: anacron.service: Succeeded.
Feb  4 20:39:27 Test dbus-daemon[102]: [system] Reloaded configuration
Feb  4 20:39:27 Test dbus-send[1155]: method return time=1612471167.410032 sender=org.freedesktop.DBus -> destination=:1.9 serial=3 reply_serial=2
Feb  4 20:39:27 Test systemd[1]: Reloaded D-Bus System Message Bus.
Feb  4 20:42:03 Test systemd[1]: Starting Send secure messages to Signal clients...
Feb  4 20:42:07 Test signal-cli[1364]: INFO DaemonCommand - Exported dbus object: /org/asamk/Signal
Feb  4 20:42:07 Test systemd[1]: Started Send secure messages to Signal clients.
Feb  4 20:42:52 Test systemd[1]: Stopping Send secure messages to Signal clients...
Feb  4 20:42:52 Test systemd[1]: signal.service: Main process exited, code=exited, status=143/n/a
Feb  4 20:42:52 Test systemd[1]: signal.service: Failed with result 'exit-code'.
Feb  4 20:42:52 Test systemd[1]: Stopped Send secure messages to Signal clients.
Feb  4 20:43:01 Test systemd[1]: Starting Send secure messages to Signal clients...
Feb  4 20:43:05 Test signal-cli[1490]: INFO DaemonCommand - Exported dbus object: /org/asamk/Signal
Feb  4 20:43:05 Test systemd[1]: Started Send secure messages to Signal clients.
Feb  4 20:43:06 Test signal-cli[1490]: Envelope from: +49yyyy (device: 1)
Feb  4 20:43:06 Test signal-cli[1490]: Timestamp: 1612471379349 (2021-02-04T20:42:59.349Z)
Feb  4 20:43:06 Test signal-cli[1490]: Got receipt.
Feb  4 20:43:06 Test signal-cli[1490]: Envelope from: +49yyy (device: 1)
Feb  4 20:43:06 Test signal-cli[1490]: Timestamp: 1612471379349 (2021-02-04T20:42:59.349Z)
Feb  4 20:43:06 Test signal-cli[1490]: Got receipt.
Feb  4 20:43:07 Test signal-cli[1490]: Envelope from: +49yyy (device: 1)
Feb  4 20:43:07 Test signal-cli[1490]: Timestamp: 1612471385722 (2021-02-04T20:43:05.722Z)
Feb  4 20:43:07 Test signal-cli[1490]: Got receipt.
Feb  4 20:45:05 Test systemd[1]: fhem.service: Succeeded.
Feb  4 20:45:05 Test systemd[1]: fhem.service: Scheduled restart job, restart counter is at 1.
Feb  4 20:45:05 Test systemd[1]: Stopped FHEM Home Automation.
Feb  4 20:45:05 Test systemd[1]: Starting FHEM Home Automation...
Feb  4 20:45:05 Test systemd[1]: Started FHEM Home Automation.
Feb  4 20:48:32 Test systemd[1]: fhem.service: Main process exited, code=exited, status=11/n/a
Feb  4 20:48:32 Test systemd[1]: fhem.service: Failed with result 'exit-code'.
Feb  4 20:48:33 Test systemd[1]: fhem.service: Scheduled restart job, restart counter is at 2.
Feb  4 20:48:33 Test systemd[1]: Stopped FHEM Home Automation.
Feb  4 20:48:33 Test systemd[1]: Starting FHEM Home Automation...
Feb  4 20:48:33 Test systemd[1]: Started FHEM Home Automation.
Feb  4 20:48:42 Test systemd[1]: fhem.service: Main process exited, code=exited, status=11/n/a
Feb  4 20:48:42 Test systemd[1]: fhem.service: Failed with result 'exit-code'.
Feb  4 20:48:42 Test systemd[1]: fhem.service: Scheduled restart job, restart counter is at 3.
Feb  4 20:48:42 Test systemd[1]: Stopped FHEM Home Automation.
Feb  4 20:48:42 Test systemd[1]: Starting FHEM Home Automation...
Feb  4 20:48:42 Test systemd[1]: Started FHEM Home Automation.
Feb  4 20:49:30 Test signal-cli[1490]: Feb 04, 2021 8:49:30 PM okhttp3.internal.platform.Platform log
Feb  4 20:49:30 Test signal-cli[1490]: WARNING: A connection to https://textsecure-service.whispersystems.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);
Feb  4 20:50:44 Test signal-cli[1490]: Feb 04, 2021 8:50:44 PM okhttp3.internal.platform.Platform log
Feb  4 20:50:44 Test signal-cli[1490]: WARNING: A connection to https://textsecure-service.whispersystems.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);
Feb  4 20:52:12 Test signal-cli[1490]: Feb 04, 2021 8:52:12 PM okhttp3.internal.platform.Platform log
Feb  4 20:52:12 Test signal-cli[1490]: WARNING: A connection to https://textsecure-service.whispersystems.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);
Feb  4 20:52:35 Test systemd[1]: Starting Cleanup of Temporary Directories...
Feb  4 20:52:35 Test systemd[1]: systemd-tmpfiles-clean.service: Succeeded.
Feb  4 20:52:35 Test systemd[1]: Finished Cleanup of Temporary Directories.
Feb  4 20:54:06 Test signal-cli[1490]: Envelope from: unknown source
Feb  4 20:54:06 Test signal-cli[1490]: Timestamp: 1612472045219 (2021-02-04T20:54:05.219Z)
Feb  4 20:54:06 Test signal-cli[1490]: Sent by unidentified/sealed sender
Feb  4 20:54:06 Test signal-cli[1490]: Sender: ?Enno
Feb  4 20:54:06 Test signal-cli[1490]: Detke? +49yyyyy (device: 1)
Feb  4 20:54:06 Test signal-cli[1490]: Message timestamp: 1612472045219 (2021-02-04T20:54:05.219Z)
Feb  4 20:54:06 Test signal-cli[1490]: Body: Tree
Feb  4 20:54:06 Test signal-cli[1490]: Profile key update, key length:32
Feb  4 20:55:33 Test systemd[1]: fhem.service: Main process exited, code=exited, status=11/n/a
Feb  4 20:55:33 Test systemd[1]: fhem.service: Failed with result 'exit-code'.
Feb  4 20:55:33 Test systemd[1]: fhem.service: Scheduled restart job, restart counter is at 4.
Feb  4 20:55:33 Test systemd[1]: Stopped FHEM Home Automation.
Feb  4 20:55:33 Test systemd[1]: Starting FHEM Home Automation...
Feb  4 20:55:33 Test systemd[1]: Started FHEM Home Automation.
Feb  4 20:55:58 Test signal-cli[1490]: Feb 04, 2021 8:55:58 PM okhttp3.internal.platform.Platform log
Feb  4 20:55:58 Test signal-cli[1490]: WARNING: A connection to https://textsecure-service.whispersystems.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);
Feb  4 21:01:09 Test systemd[1]: Received SIGRTMIN+3.
Feb  4 21:01:09 Test systemd[1]: Removed slice system-modprobe.slice.
Feb  4 21:01:09 Test systemd[1]: Stopped target Graphical Interface.
Feb  4 21:01:09 Test systemd[1]: Stopped target Multi-User System.
Feb  4 21:01:09 Test systemd[1]: Stopped target Login Prompts.
Feb  4 21:01:09 Test systemd[1]: Stopped target RPC Port Mapper.
Feb  4 21:01:09 Test systemd[1]: Stopped target Timers.
Feb  4 21:01:09 Test systemd[1]: anacron.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Trigger anacron every hour.
Feb  4 21:01:09 Test systemd[1]: apt-daily-upgrade.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Daily apt upgrade and clean activities.
Feb  4 21:01:09 Test systemd[1]: apt-daily.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Daily apt download activities.
Feb  4 21:01:09 Test systemd[1]: e2scrub_all.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Periodic ext4 Online Metadata Check for All Filesystems.
Feb  4 21:01:09 Test systemd[1]: logrotate.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Daily rotation of log files.
Feb  4 21:01:09 Test systemd[1]: man-db.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Daily man-db regeneration.
Feb  4 21:01:09 Test systemd[1]: motd-news.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Message of the Day.
Feb  4 21:01:09 Test systemd[1]: systemd-tmpfiles-clean.timer: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Daily Cleanup of Temporary Directories.
Feb  4 21:01:09 Test systemd[1]: Stopped target System Time Synchronized.
Feb  4 21:01:09 Test systemd[1]: Stopped target System Time Set.
Feb  4 21:01:09 Test systemd[1]: Reached target Unmount All Filesystems.
Feb  4 21:01:09 Test systemd[1]: Stopping Accounts Service...
Feb  4 21:01:09 Test systemd[1]: Stopping Console Getty...
Feb  4 21:01:09 Test systemd[1]: Stopping Container Getty on /dev/tty1...
Feb  4 21:01:09 Test systemd[1]: Stopping Container Getty on /dev/tty2...
Feb  4 21:01:09 Test systemd[1]: Stopping Regular background program processing daemon...
Feb  4 21:01:09 Test systemd[1]: Stopping D-Bus System Message Bus...
Feb  4 21:01:09 Test systemd[1]: Stopping FHEM Home Automation...
Feb  4 21:01:09 Test systemd[1]: Stopping Dispatcher daemon for systemd-networkd...
Feb  4 21:01:09 Test systemd[1]: Condition check resulted in Show Plymouth Halt Screen being skipped.
Feb  4 21:01:09 Test systemd[1]: plymouth-quit.service: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Terminate Plymouth Boot Screen.
Feb  4 21:01:09 Test systemd[1]: postfix.service: Succeeded.
Feb  4 21:01:09 Test systemd[1]: Stopped Postfix Mail Transport Agent.
Feb  4 21:01:09 Test systemd[1]: Stopping Postfix Mail Transport Agent (instance -)...
Feb  4 21:07:32 Test systemd-sysctl[52]: Not setting net/ipv4/conf/all/promote_secondaries (explicit setting exists).
Feb  4 21:07:32 Test systemd-sysctl[52]: Not setting net/ipv4/conf/default/promote_secondaries (explicit setting exists).
Feb  4 21:07:32 Test keyboard-setup.sh[55]: Couldn't get a file descriptor referring to the console
Feb  4 21:07:32 Test systemd-sysctl[52]: Couldn't write 'fq_codel' to 'net/core/default_qdisc', ignoring: No such file or directory
Feb  4 21:07:32 Test keyboard-setup.sh[57]: Couldn't get a file descriptor referring to the console
Feb  4 21:07:32 Test systemd[1]: Starting Flush Journal to Persistent Storage...
Feb  4 21:07:32 Test keyboard-setup.sh[58]: Couldn't get a file descriptor referring to the console
Feb  4 21:07:32 Test systemd[1]: Finished Create Static Device Nodes in /dev.
Feb  4 21:07:32 Test systemd[1]: Condition check resulted in Rule-based Manager for Device Events and Files being skipped.
Feb  4 21:07:32 Test systemd[1]: Starting Network Service...
Feb  4 21:07:32 Test pidof[65]: can't read from 60/stat
Feb  4 21:07:32 Test systemd[1]: Finished Permit User Sessions.
Feb  4 21:07:32 Test systemd[1]: Finished Hold until boot process finishes up.
Feb  4 21:07:32 Test systemd[1]: Started Console Getty.
Feb  4 21:07:32 Test systemd[1]: Condition check resulted in Container Getty on /dev/tty0 being skipped.
Feb  4 21:07:32 Test systemd[1]: Started Container Getty on /dev/tty1.
Feb  4 21:07:32 Test systemd[1]: Started Container Getty on /dev/tty2.
Feb  4 21:07:32 Test systemd[1]: Reached target Login Prompts.
Feb  4 21:07:32 Test systemd[1]: Condition check resulted in Set console scheme being skipped.
Feb  4 21:07:32 Test systemd[1]: Finished Terminate Plymouth Boot Screen.
Feb  4 21:07:32 Test ipmiutil_wdt[109]: Starting ipmiutil_wdt:
Feb  4 21:07:32 Test systemd[1]: Started OpenBSD Secure Shell server.
Feb  4 21:07:32 Test ipmiutil_wdt[136]: Cannot map memory.
Feb  4 21:07:32 Test ipmiutil_wdt[136]: Cannot open an IPMI driver: /dev/imb, /dev/ipmi0, /dev/ipmi/0,
Feb  4 21:07:32 Test ipmiutil_wdt[136]: #011 or direct driverless.
Feb  4 21:07:32 Test ipmiutil_wdt[109]: /usr/share/ipmiutil/ipmiutil_wdt: 49: ipmiutil_wdt: not found
Feb  4 21:07:32 Test systemd[1]: ipmiutil_wdt.service: Main process exited, code=exited, status=127/n/a
Feb  4 21:07:32 Test systemd[1]: ipmiutil_wdt.service: Failed with result 'exit-code'.
Feb  4 21:07:32 Test accounts-daemon[99]: started daemon version 0.6.55
Feb  4 21:07:32 Test systemd[1]: Started Accounts Service.
Feb  4 21:07:33 Test systemd[1]: Started User Login Management.
Feb  4 21:07:33 Test networkd-dispatcher[105]: No valid path found for iwconfig
Feb  4 21:07:33 Test networkd-dispatcher[105]: No valid path found for iw
Feb  4 21:07:33 Test systemd[1]: Started Dispatcher daemon for systemd-networkd.
Feb  4 21:07:33 Test systemd[1]: Started FHEM Home Automation.
Feb  4 21:07:33 Test systemd[1]: e2scrub_reap.service: Succeeded.
Feb  4 21:07:33 Test systemd[1]: Finished Remove Stale Online ext4 Metadata Check Snapshots.
Feb  4 21:07:33 Test dbus-daemon[102]: [system] Activating via systemd: service name='org.asamk.Signal' unit='dbus-org.asamk.Signal.service' requested by ':1.6' (uid=998 pid=175 comm="/usr/bin/perl fhem.pl fhem.cfg " label="unconfined")
Feb  4 21:07:33 Test systemd[1]: Starting Send secure messages to Signal clients...
Feb  4 21:07:33 Test postfix/postfix-script[280]: warning: symlink leaves directory: /etc/postfix/./makedefs.out
Feb  4 21:07:33 Test postfix/postfix-script[323]: starting the Postfix mail system
Feb  4 21:07:33 Test postfix/master[325]: daemon started -- version 3.5.6, configuration /etc/postfix
Feb  4 21:07:33 Test systemd[1]: Started Postfix Mail Transport Agent (instance -).
Feb  4 21:07:33 Test systemd[1]: Starting Postfix Mail Transport Agent...
Feb  4 21:07:33 Test systemd[1]: Finished Postfix Mail Transport Agent.
Feb  4 21:07:33 Test systemd[1]: Reached target Multi-User System.
Feb  4 21:07:33 Test systemd[1]: Reached target Graphical Interface.
Feb  4 21:07:33 Test systemd[1]: Starting Update UTMP about System Runlevel Changes...
Feb  4 21:07:33 Test systemd[1]: systemd-update-utmp-runlevel.service: Succeeded.
Feb  4 21:07:33 Test systemd[1]: Finished Update UTMP about System Runlevel Changes.
Feb  4 21:07:34 Test systemd-networkd[66]: eth0: Gained IPv6LL
Feb  4 21:07:37 Test systemd[1]: dmesg.service: Succeeded.
Feb  4 21:07:38 Test signal-cli[219]: INFO DaemonCommand - Exported dbus object: /org/asamk/Signal
Feb  4 21:07:38 Test dbus-daemon[102]: [system] Successfully activated service 'org.asamk.Signal'
Feb  4 21:07:38 Test systemd[1]: Started Send secure messages to Signal clients.
Feb  4 21:07:38 Test systemd[1]: Startup finished in 6.077s.
root@Test:/var/log#

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Februar 2021, 22:59:14
Hi Enno,

mit der Meldung kann ich rein gar nichts anfangen und Google findet auch nichts hilfreiches.
Lass uns nochmal eingrenzen obs am FHEM/perl liegt oder am Service selbst

Dann nutzen wir doch einfach mal den vorsorglich eingebauten Selbsttest des Installations Scripts:
sudo ./signal_install.sh test
Der probiert erst eine reine command line message und dann eine DBus message via "dbus_send" Programm.

Wenn der Empfänger beide Nachrichten bekommt, stimmt wohl noch was nicht mit deiner FHEM/Perl Installation.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 05 Februar 2021, 07:35:26
Moin Jörg,

die beiden Nachrichten gehen raus. Der Test wird ja auch durchgeführt, wenn das Script alles installiert. Der Teil funktioniert. Ich vermute auch, dass bei FHEM und Perl irgend etwas fehlt.

root@Test:~# sh signal.sh test
signal.sh: 19: source: not found
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              fhem
Signal-cli Install directory: /opt/fhem
Signal config storage:        /var/lib/fhem
Signal version:               0.7.4
System library path:          /usr/lib
Phone number to be used:      +49yyyy
Your configuration
Linux Test 5.4.78-2-pve #1 SMP PVE 5.4.78-2 (Thu, 03 Dec 2020 14:26:17 +0100) x86_64 x86_64 x86_64 GNU/Linux
has not been tested, continue at own risk
Your chose the following option: test

Proceed (Y/n)? y
Please enter the number (+49...) of somebody that you can send a test message to
Number:+49ZZZ
Sending a message from command line to +49ZZZ
Stopping Signal service to get exclusive access to configuration
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
1612506645289
Sending a message from via dbus to +49ZZZZ
method return time=1612506652.600001 sender=:1.9 -> destination=:1.10 serial=7 reply_serial=2
   int64 1612506651551
Restarting signal service
If the recipient got the messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 Februar 2021, 08:23:54
Hi Enno,

das ist doch schon mal gut.
Dann kann eigentlich nur das Net::DBus durch die vielen "halben" Versuche der Installation irgendein Problem haben.
Mach das nochmal ohne -f und schau wo es abbricht bzw. google mal wie man eine Deinstallation und erneute installation macht.
Am Ende braucht man das -f , aber das ist erst beim Selbsttest, die eigentliche Insallation muss ohne -f funktionieren.

EDIT: Und lass mich mal suchen, ich hab irgendwo noch ein Testscript, das nur mit Perl und NET:Dbus läuft - aber außerhalb von FHEM, dann können wirs richtig eingrenzen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 05 Februar 2021, 08:46:04
Guten Morgen,
Danke, Hans-Jürgen die Telefonnummer ist mir durchgerutscht, habe ich geändert.
So ich habe die neue 50_Signalbot.pm installiert, Reload und dann define... Absturz
2021.02.05 08:40:10.699 1: PERL WARNING: Subroutine Signalbot_Get redefined at ./FHEM/50_Signalbot.pm line 176.
2021.02.05 08:40:10.700 1: PERL WARNING: Subroutine Signalbot_message_callback redefined at ./FHEM/50_Signalbot.pm line 181.
2021.02.05 08:40:10.701 1: PERL WARNING: Subroutine Signalbot_receipt_callback redefined at ./FHEM/50_Signalbot.pm line 254.
2021.02.05 08:40:10.701 1: PERL WARNING: Subroutine Signalbot_sync_callback redefined at ./FHEM/50_Signalbot.pm line 269.
2021.02.05 08:40:10.702 1: PERL WARNING: Subroutine Signalbot_disconnect redefined at ./FHEM/50_Signalbot.pm line 284.
2021.02.05 08:40:10.703 1: PERL WARNING: Subroutine Signalbot_setup redefined at ./FHEM/50_Signalbot.pm line 328.
2021.02.05 08:40:10.704 1: PERL WARNING: Subroutine Signalbot_Read redefined at ./FHEM/50_Signalbot.pm line 396.
2021.02.05 08:40:10.704 1: PERL WARNING: Subroutine Signalbot_getContactName redefined at ./FHEM/50_Signalbot.pm line 408.
2021.02.05 08:40:10.704 1: PERL WARNING: Subroutine Signalbot_translateContact redefined at ./FHEM/50_Signalbot.pm line 427.
2021.02.05 08:40:10.704 1: PERL WARNING: Subroutine Signalbot_translateGroup redefined at ./FHEM/50_Signalbot.pm line 440.
2021.02.05 08:40:10.705 1: PERL WARNING: Subroutine Signalbot_getNumber redefined at ./FHEM/50_Signalbot.pm line 462.
2021.02.05 08:40:10.705 1: PERL WARNING: Subroutine Signalbot_Refreshgroups redefined at ./FHEM/50_Signalbot.pm line 481.
2021.02.05 08:40:10.706 1: PERL WARNING: Subroutine Signalbot_sendMessage redefined at ./FHEM/50_Signalbot.pm line 499.
2021.02.05 08:40:10.706 1: PERL WARNING: Subroutine Signalbot_sendGroupMessage redefined at ./FHEM/50_Signalbot.pm line 522.
2021.02.05 08:40:10.707 1: PERL WARNING: Subroutine Signalbot_Execute redefined at ./FHEM/50_Signalbot.pm line 550.
2021.02.05 08:40:10.707 1: PERL WARNING: Subroutine Signalbot_Attr redefined at ./FHEM/50_Signalbot.pm line 560.
2021.02.05 08:40:10.707 1: PERL WARNING: Subroutine Signalbot_Notify redefined at ./FHEM/50_Signalbot.pm line 601.
2021.02.05 08:40:10.708 1: PERL WARNING: Subroutine Signalbot_Define redefined at ./FHEM/50_Signalbot.pm line 616.
2021.02.05 08:40:10.708 1: PERL WARNING: Subroutine Signalbot_Catch redefined at ./FHEM/50_Signalbot.pm line 659.
2021.02.05 08:40:10.709 1: PERL WARNING: Subroutine Signalbot_State redefined at ./FHEM/50_Signalbot.pm line 668.
2021.02.05 08:40:10.709 1: PERL WARNING: Subroutine Signalbot_Undef redefined at ./FHEM/50_Signalbot.pm line 674.
2021.02.05 08:40:10.710 1: PERL WARNING: Subroutine SignalBot_replaceCommands redefined at ./FHEM/50_Signalbot.pm line 687.
2021.02.05 08:40:10.710 1: PERL WARNING: Subroutine SignalBot_IdentifyStream redefined at ./FHEM/50_Signalbot.pm line 761.
org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
/entry.sh: line 621: kill: (12397) - No such process
Abrupt daemon termination, starting 10s countdown .../entry.sh: line 625: kill: (12397) - No such process
 10/entry.sh: line 625: kill: (12397) - No such process
 9/entry.sh: line 625: kill: (12397) - No such process
 8/entry.sh: line 625: kill: (12397) - No such process
 7/entry.sh: line 625: kill: (12397) - No such process
 6/entry.sh: line 625: kill: (12397) - No such process
 5/entry.sh: line 625: kill: (12397) - No such process
 4/entry.sh: line 625: kill: (12397) - No such process
 3/entry.sh: line 625: kill: (12397) - No such process
 2/entry.sh: line 625: kill: (12397) - No such process
mit Restart..
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 05 Februar 2021, 09:42:02
Mach das nochmal ohne -f und schau wo es abbricht bzw. google mal wie man eine Deinstallation und erneute installation macht.

Ich habe den Container als Vorlage "nackt" nur mit Ubuntu und FHEM da kann ich jederzeit starten:-). Geht los....

sudo cpan install -f Net:DBusbricht ab mit Fehlermeldung:
Files=109, Tests=71,  3 wallclock secs ( 0.16 usr  0.09 sys +  2.57 cusr  0.48 csys =  3.30 CPU)
Result: FAIL
Failed 104/109 test programs. 32/71 subtests failed.
make: *** [Makefile:837: test_dynamic] Error 2
  MIROD/XML-Twig-3.52.tar.gz
one dependency not OK (XML::Parser); additionally test harness failed
  make test -- NOT OK
//hint// to see the cpan-testers results for installing this module, try:
  reports MIROD/XML-Twig-3.52.tar.gz

sudo apt install xml-twig-tools und dann läuft es durch. "Test ok"

Signal in FHEM definiert, keine Fehlermeldung, Nachricht gesendet => ok, Nachricht empfangen => ok!

Herzlichen Glückwunsch! Es läuft! Ich habe fertig!

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 Februar 2021, 11:52:14
Prima, dann nehme ich das Paket noch in die Abhängigkeiten.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 05 Februar 2021, 16:18:40
Hallo,
habe mal etwas weiter getestet.
FHEM im Dock auf Raspberry PI 4

FHEM reload 50_Signalbot.pm
2021.02.05 16:06:48.364 1: PERL WARNING: Subroutine Signalbot_Initialize redefined at ./FHEM/50_Signalbot.pm line 29.
2021.02.05 16:06:48.367 1: PERL WARNING: Subroutine Signalbot_Set redefined at ./FHEM/50_Signalbot.pm line 50.
2021.02.05 16:06:48.368 1: PERL WARNING: Subroutine Signalbot_Get redefined at ./FHEM/50_Signalbot.pm line 176.
2021.02.05 16:06:48.369 1: PERL WARNING: Subroutine Signalbot_message_callback redefined at ./FHEM/50_Signalbot.pm line 181.
2021.02.05 16:06:48.370 1: PERL WARNING: Subroutine Signalbot_receipt_callback redefined at ./FHEM/50_Signalbot.pm line 254.
2021.02.05 16:06:48.371 1: PERL WARNING: Subroutine Signalbot_sync_callback redefined at ./FHEM/50_Signalbot.pm line 269.
2021.02.05 16:06:48.371 1: PERL WARNING: Subroutine Signalbot_disconnect redefined at ./FHEM/50_Signalbot.pm line 284.
2021.02.05 16:06:48.373 1: PERL WARNING: Subroutine Signalbot_setup redefined at ./FHEM/50_Signalbot.pm line 328.
2021.02.05 16:06:48.374 1: PERL WARNING: Subroutine Signalbot_Read redefined at ./FHEM/50_Signalbot.pm line 396.
2021.02.05 16:06:48.374 1: PERL WARNING: Subroutine Signalbot_getContactName redefined at ./FHEM/50_Signalbot.pm line 408.
2021.02.05 16:06:48.375 1: PERL WARNING: Subroutine Signalbot_translateContact redefined at ./FHEM/50_Signalbot.pm line 427.
2021.02.05 16:06:48.375 1: PERL WARNING: Subroutine Signalbot_translateGroup redefined at ./FHEM/50_Signalbot.pm line 440.
2021.02.05 16:06:48.375 1: PERL WARNING: Subroutine Signalbot_getNumber redefined at ./FHEM/50_Signalbot.pm line 462.
2021.02.05 16:06:48.376 1: PERL WARNING: Subroutine Signalbot_Refreshgroups redefined at ./FHEM/50_Signalbot.pm line 481.
2021.02.05 16:06:48.376 1: PERL WARNING: Subroutine Signalbot_sendMessage redefined at ./FHEM/50_Signalbot.pm line 499.
2021.02.05 16:06:48.377 1: PERL WARNING: Subroutine Signalbot_sendGroupMessage redefined at ./FHEM/50_Signalbot.pm line 522.
2021.02.05 16:06:48.377 1: PERL WARNING: Subroutine Signalbot_Execute redefined at ./FHEM/50_Signalbot.pm line 550.
2021.02.05 16:06:48.378 1: PERL WARNING: Subroutine Signalbot_Attr redefined at ./FHEM/50_Signalbot.pm line 560.
2021.02.05 16:06:48.379 1: PERL WARNING: Subroutine Signalbot_Notify redefined at ./FHEM/50_Signalbot.pm line 601.
2021.02.05 16:06:48.379 1: PERL WARNING: Subroutine Signalbot_Define redefined at ./FHEM/50_Signalbot.pm line 616.
2021.02.05 16:06:48.380 1: PERL WARNING: Subroutine Signalbot_Init redefined at ./FHEM/50_Signalbot.pm line 636.
2021.02.05 16:06:48.380 1: PERL WARNING: Subroutine Signalbot_Catch redefined at ./FHEM/50_Signalbot.pm line 659.
2021.02.05 16:06:48.380 1: PERL WARNING: Subroutine Signalbot_State redefined at ./FHEM/50_Signalbot.pm line 668.
2021.02.05 16:06:48.381 1: PERL WARNING: Subroutine Signalbot_Undef redefined at ./FHEM/50_Signalbot.pm line 674.
2021.02.05 16:06:48.382 1: PERL WARNING: Subroutine SignalBot_replaceCommands redefined at ./FHEM/50_Signalbot.pm line 687.
2021.02.05 16:06:48.383 1: PERL WARNING: Subroutine SignalBot_IdentifyStream redefined at ./FHEM/50_Signalbot.pm line 761.

org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
2021.02.05 16:10:03.971 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
/entry.sh: line 621: kill: (23895) - No such process
Abrupt daemon termination, starting 10s countdown .../entry.sh: line 625: kill: (23895) - No such process
 10/entry.sh: line 625: kill: (23895) - No such process
 9/entry.sh: line 625: kill: (23895) - No such process
 8/entry.sh: line 625: kill: (23895) - No such process
 7/entry.sh: line 625: kill: (23895) - No such process
 6/entry.sh: line 625: kill: (23895) - No such process
 5/entry.sh: line 625: kill: (23895) - No such process
 4/entry.sh: line 625: kill: (23895) - No such process
 3/entry.sh: line 625: kill: (23895) - No such process
 2/entry.sh: line 625: kill: (23895) - No such process
 1/entry.sh: line 625: kill: (23895) - No such process
 0/entry.sh: line 632: kill: (23895) - No such process
 Automatic restart ...
/entry.sh: line 645: kill: (23895) - No such process
Running /pre-start.sh script ...
Starting DBus System Daemon
Starting signal-cli
Wait 5 to give signal-cli time to come up
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource14840447632239917888.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
ERROR App - User +49quelle is not registered.
Preparing configuration ... done
Starting FHEM ...

org.freedesktop.DBus.Error.Spawn.ChildExited dieser Fehler scheint auf den DBUS zu zeigen.

Und warum sagt er, meine Rufnummer wäre nicht registriert?

Hat jemand eine Idee...

by the way, ich erstelle das Dockerfile wie folgt
ARG BASE_IMAGE="fhem/fhem"
ARG BASE_IMAGE_TAG="latest"
FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG}

ARG L_SIGNAL_CLI="0.7.4"

# 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 \
#        default-jre-headless \
        libunixsocket-java \
        dbus \
        libnet-dbus-perl \
shared-mime-info \
haveged \
# default-jdk \
        net-tools \
nano \
systemd \
        hping3 \
        wakeonlan \
    && wget https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
    && apt-get install -qqy --no-install-recommends ./bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
    && cpanm \
        Net::DBus \
        Lirc::Client \
        Crypt::Cipher::AES \
    && rm -rf /root/.cpanm \
    && 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 \
#    && mv /opt/fhem/signal-cli-"${L_SIGNAL_CLI}" /opt/fhem/signal-cli \
#    && ln -sf /opt/fhem/signal-cli/bin/signal-cli /usr/local/bin/ \
    && 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
#RUN mkdir /opt/fhem/signal-cli
RUN mkdir /opt/signal-cli

RUN chmod +x /pre-start.sh

VOLUME [ "/opt/signal-cli" ]
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 05 Februar 2021, 16:24:16
Moin BAfH,

bis du sicher dass der Dienst läuft? Was sagt dir sudo systemctl status signal.service
Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 Februar 2021, 16:39:31
Hallo Bafh,

startest du den service? Ich sehe jetzt das signal.service file nirgends. Zeigt der --config Parameter auf das richtige Verzeichnis und ist es les/schreibbar für den User?
Außerdem (aber das ist schon ein Schritt weiter) fehlt dir noch die libzkgroup.so für Raspberry. Die muss irgendwo in den library path z.B. /usr/lib und aus dem zkgroup....jar rausgelöscht sein (was mein Script bei erkannter Raspberry Installation automatisch macht)

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 05 Februar 2021, 17:02:16
Moin BAfH,

bis du sicher dass der Dienst läuft? Was sagt dir sudo systemctl status signal.service
Gruss
  Enno
Zeigt mir folgendes....
root@FHEM:/opt/fhem# sudo systemctl status signal.service
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

der DBUS wirdmit dem pre-start.sh Script gestartet
#!/bin/bash
export NUMBER="${NUMBER:-"undef"}"
export SLEEPTIME="${SLEEPTIME:-"10s"}"

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/fhem/signal-cli daemon --system &

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

starte ich den Befehl per Hand
root@FHEM:/opt/fhem# sudo systemctl status signal.service
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
root@FHEM:/opt/fhem# dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket
dbus-daemon[23194]: Failed to start message bus: The pid file "/run/dbus/pid" exists, if the message bus is not running, remove this file
EDIT
Frage ich den Dienst mit sudo service ab
oot@FHEM:/opt/fhem# sudo service dbus status
[ ok ] dbus is running.

Liegt wohl am DBUS. Mit der libzkgroup.so  wollte ich anschließend klären....
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 Februar 2021, 17:26:59
Ja, aus dem Docker heraus, kann man das mit dem "service" wohl nicht machen, deshalb der Ansatz signal-cli einfach als Hintergrundprozess im -daemon --system zu starten - was anderes macht systemd am Ende auch nicht
 
Ich denke dein Augenmerk sollte auf den Parametern "-u" und "--config" liegen - stimmen die so? Und ist das Verzeichnis (und alles darin) aus dem Docker les/schreibbar? ist die richtige Config drin (Verzeichnis data, welches dann ein File mit der Nummer enthält)



Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 Februar 2021, 23:22:29
So, für alle Dockerfreunde folgende grobe Anleitung

-Verzeichnis fhem und fhem/core erstellen
-Fhem.tgz nach fhem/core auspacken

cd fhem
docker-compose.yml erstellen:
version: '2'

services:
    fhem:
        build: .
        restart: always
        stdin_open: true
        tty: true
        ports:
            - "8083:8083"
            - "7072:7072"
        volumes:
            - ./fhem/core/:/opt/fhem/
        networks:
            - fhem-network
        #devices:
        #    - "/dev/ttyUSB0:/dev/ttyUSB0"
        environment:
            FHEM_UID: 1000
            FHEM_GID: 1000
            TIMEOUT: 10
            RESTART: 1
            TELNETPORT: 7072
            TZ: Europe/Berlin

networks:
    fhem-network:
        driver: bridge

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

ARG L_SIGNAL_CLI="0.7.4"

# Install base environment

VOLUME [ "/opt/signal-cli" ]

#Docker Check ("exit" in Zeile 28 im script rausnehmen!
copy signal_install.sh in fhem/core
test.pl in fhem/core erstellen
#!/usr/bin/perl -w
use strict;
use warnings;

use Net::DBus;

my @attachment =();
my @recipients=("+491xxxx");
my $bus = Net::DBus->system();

my $service = $bus->get_service("org.asamk.Signal");
my $object = $service->get_object("/org/asamk/Signal");

my $retcode = $object->sendMessage("Testmessage from DBUS-Perl",\@attachment,\@recipients);
print "return timestamp:".$retcode."\n";
sudo docker-compose up -d
sudo docker exec -ti fhem-docker_fhem_1 /bin/bash

Im container: (als root) (# Zeilen weglassen, sind nur meine Notizen)

#make apt-get work at all by fetching the repository and upgrading it
apt-get update
apt-get upgrade
#get an editor
apt-get install vim
#Container check deaktivieren!
./signal_install.sh system
./signal_install.sh install
mkdir /run/dbus
dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket &
scp -r user@hostname:/var/lib/signal-cli /var/lib
# Oder an dieser Stelle: ./signal_install.sh register
cd /var/lib
chown -R signal-cli: signal-cli
sudo -u signal-cli /opt/signal/bin/signal-cli -u +49xxxxxx --config /var/lib/signal-cli daemon --system &

# Warten bis der Java Prozess läuft - das kann sehr lange dauern!!!
ps -ef | grep java

# Perl script von oben
perl test.pl

# Klappt oft erst beim zweiten mal
perl test.pl

Wie es dann mit FHEM weitergeht habe ich nicht probiert und auch nicht wie man das automatisiert.

Danke an BaFh für die Vorarbeit.

Gruß
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 05 Februar 2021, 23:36:49
Hallo Jörg,
bei mir kommen das Reading "msgSender" nicht. Hier mal der Log5, nachdem ich ein 'P' an mein fhem Signalbot geschickt habe (und ein pong zurueckschicke), und das list vom Device.
Was mache ich falsch?

2021.02.05 23:28:35 5: Signal: Message from  : P processed
2021.02.05 23:28:35 5: Signal: Read from Dbus done
2021.02.05 23:28:36 3: SignalBefore parse:@+4917212345678 pong:

2021.02.05 23:28:36 5: Signal: sendMessage called for +4917212345678::pong
2021.02.05 23:28:36 5: Signal: Signalbot_receive_callback 1234567890123 +4917212345678
2021.02.05 23:28:36 5: Signal: Read from Dbus done
2021.02.05 23:28:37 5: Signal: Signalbot_receive_callback 1234567890123 +4917212345678
2021.02.05 23:28:37 5: Signal: Read from Dbus done
2021.02.05 23:28:39 5: Signal: Signalbot_receive_callback 1234567890123 +4917212345678
2021.02.05 23:28:39 5: Signal: Read from Dbus done

Internals:
   CFGFN     
   DEF       
   FD         29
   FUUID      abcdef-1234-1234-1234-1234ejgrynv
   NAME       Signal
   NOTIFYDEV  global
   NR         3610
   NTFY_ORDER 50-Signal
   STATE      Connected
   TYPE       Signalbot
   READINGS:
     2021-02-05 11:48:02   contactList     +4917212345678=
     2021-02-05 23:28:35   msgAttachment   
     2021-02-05 23:28:35   msgGroupName   
     2021-02-05 23:28:35   msgSender       
     2021-02-05 23:28:35   msgText         P
     2021-02-05 23:28:35   msgTimestamp    05-02-2021 23:28:34
     2021-02-05 23:28:35   prevMsgAttachment
     2021-02-05 23:28:35   prevMsgGroupName
     2021-02-05 23:28:35   prevMsgSender   
     2021-02-05 23:28:35   prevMsgText     Dies ist ein Test
     2021-02-05 23:28:35   prevMsgTimestamp 05-02-2021 13:03:30
     2021-02-05 23:28:36   sentMsg         pong
     2021-02-05 23:28:39   sentMsgRecipient
     2021-02-05 23:28:39   sentMsgTimestamp 05-02-2021 23:28:36
   helper:
     msignal    4
     rsignal    6
     ssignal    5
     timer      0
     contacts:
       +4917212345678
Attributes:
   allowedPeer +4917212345678
   defaultPeer +4917212345678
   event-on-update-reading msgText
   room       Messages
   verbose    5
   webCmd     reconnect


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 Februar 2021, 23:47:59
Hi Jamo,

ich glaube der msgSender kommt sehr wohl, wird aber in den Kontaktnamen übersetzt und ist schlicht und ergreifend leer.
Bist du sicher das der Sender einen Nickname hat?

Ich gebe allerdings zu, dass ein leerer Nickname die Übersetzung etwas "ad absurdum" führt.
Probiere daher mal diese Version, die bei leerem Namen wieder die Nummer nehmen sollte.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 00:08:02
Wichtiger Hinweis zum Thema Datenschutz!

In den Logfiles und "list" devices stehen überall eure Telefonnummern drin. Schaut euch dringend vorangegange Posts an und löscht die ggf. raus.

Besonders das "list" ist da noch tückischer, da es eure komplette Kontaktliste und daher die Nummern eurer Freunde und Bekannten beinhalten kann.
Daher ein "list" nur nach gewissenhafter Bearbeitung posten!

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 06 Februar 2021, 10:07:17
Zitat
Hi Jamo,

ich glaube der msgSender kommt sehr wohl, wird aber in den Kontaktnamen übersetzt und ist schlicht und ergreifend leer.
Bist du sicher das der Sender einen Nickname hat?

Ich gebe allerdings zu, dass ein leerer Nickname die Übersetzung etwas "ad absurdum" führt.
Probiere daher mal diese Version, die bei leerem Namen wieder die Nummer nehmen sollte.

Jörg
Hallo Jörg,
diese Version, die bei leerem Namen wieder die Nummer nehmen sollte, funktioniert. DANKE!
Willst Du die neue Version in den ersten Post schieben?
Mit dem Nick: Nein, ich habe mein Adressbuch nicht geöffnet, aber in Signal Vornamen und Namen eingetragen. Wo finde ich denn den Nick in iOS, wo kann ich den eintragen?


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 12:04:59
Danke Jamo, aufgrund deiner Meldung habe ich wieder was gelernt, daher ist es jetzt auch ein größeres Update geworden:

Diese Nicknames sind keine Eigenschaft der Profils sondern jeder Client (in dem Fall signal-cli) hält seine eigenen private Liste. Ich hatte in meinem Profil wohl irgendwie einen Nickname für meine Handynummer und bin einfach davon ausgegangen das dies vom Profil kommt. Falsch gedacht. Das klappt nur bei gelinkten Accounts - da bekommt man die Kontakte die man auch auf dem Handy bereits hat.

Es gibt jetzt ein
set SignalBot setContact <Nummer> <Name>
Damit kann jeder sein internes Kontaktbuch pflegen.
Damit es einen FHEM Neustart überlebt noch ein
set saveContacts
Außerdem ist in dieser Version (erster Post) das Umlauthandling etwas verbessert. Ich hoffe mir sind keine Bugs reingerutscht.

Wie man an die Realnames kommt weiss ich nicht. Das Dbus Interface von signal-cli unterstützt aber einfach viele Funktionen (noch) nicht.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 06 Februar 2021, 12:50:36
Hi Jörg!

Tolle Sache, der SignalBot. Ich bin seit vielen Jahren TelegramBot-Nutzer, würde aber gern auf Signal umstellen.

Hast du vor, das Favorite-Handling von TelegramBot ebenfalls im SignalBot anzubieten?

Ein weiteres Killerfeature wäre aus meiner Sicht die Verknüpfung mit GoogleAuth, so dass man bei FHEM Befehlen ein TOTP Token mitsendet und das entsprechend geprüft wird. Das kann TelegramBot auch nicht native, es lässt sich aber über ein notify nachrüsten. Besser wäre natürlich eine direkte Integration, bei der man für bestimmte Befehle die zusätzliche Authentifizierung über TOTP verlangt.

Viele Grüße,
weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 06 Februar 2021, 13:13:25
Moin Jörg,

habe die neue Version eingebaut. Läuft ohne Fehlermeldung! Danke!

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 14:43:45
Hast du vor, das Favorite-Handling von TelegramBot ebenfalls im SignalBot anzubieten?
Um Befehle automatisiert auszuführen habe ich die Verknüfung mit dem Babble Modul eingebaut. Der kann erstens mal sehr flexibel unterschiedliche Formulierungen erkennen und zweitens muss man dann das Rad nicht zweimal erfinden. Auf den ersten Blick hat der Telegrambot Entwickler da ganz schön Aufwand reingesteckt.
Ich lasse mich gerne davon überzeugen, was der Vorteil gegenüber Babble ist (oder potentiell auch "talk") ist.

Zitat
Ein weiteres Killerfeature wäre aus meiner Sicht die Verknüpfung mit GoogleAuth, so dass man bei FHEM Befehlen ein TOTP Token mitsendet und das entsprechend geprüft wird. Das kann TelegramBot auch nicht native, es lässt sich aber über ein notify nachrüsten. Besser wäre natürlich eine direkte Integration, bei der man für bestimmte Befehle die zusätzliche Authentifizierung über TOTP verlangt.
Kannst du mir dazu mehr Infos geben? Was ist der Anwendungsfall und wie schauen deine notifys aus die sowas simulieren?

Gruß,
Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 14:45:49
Habe mich heute mal an die Dokumentation gemacht und die Wiki Seite aktualisiert:
https://wiki.fhem.de/wiki/Signalbot

Wer selbst Zugriff hat, darf gerne mithelfen/korrigieren. Sonst auch Vorschläge auch hier im Threads.

Danke,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 19:28:45
Liebe Docker-Freunde,

Anbei jetzt ein Install Script, welches auch im Docker laufen sollte.
Das kann jetzt ein mit docker-compose neu erzeugter sein, wie im vorangegangenen Post beschrieben, sollte aber auch mit bestehenden FHEM containern funktionieren.

Einfach interaktiv als root laufen lassen. Sofern bereits eine Registry besteht, für alle Fälle je mit den Argumenten install, system und test ausführen.
Danach laufen im Hintergrund sowohl der dbus-daemon als auch der signal-cli daemon.
Logfiles und Fehler landen in /var/log/dbus.log bzw. dbus.err und signal.log/signal.err

@Thorben: In deiner letzten Nachricht war eine Fehlermeldung drin. Die sollte jetzt durch ein geändertes Config File verschwinden. Wegen deinem zkgroup Fehler, bitte nochmal das /opt/signal-cli Verzeichnis löschen damit eine Neuinstallation erfolgt. Da ging bei dir ja mal wegen fehlendem "zip" Tool schief - vielleicht ist der Wurm immer noch drin.

Das Script hat jetzt auch den Perl Test eingebaut - sendet also jetzt auf 3 Arten (auch ohne Docker) - wenn die alle passen, dann sollte FHEM auch gehen.

Falls der fertig installierte Container neu gestartet wird, dann einfach
./signal_install.sh startaufrufen. Damit werden die beiden Daemons bei Bedarf (und nur dann) nachgestartet.

Bitte mal durchtesten (wenn jemand kann/mag auch die normale Installation), damit ich es sicher in den ersten Post verschieben kann.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 06 Februar 2021, 20:11:01
Bitte mal durchtesten (wenn jemand kann/mag auch die normale Installation), damit ich es sicher in den ersten Post verschieben kann.

Moin Jörg,

ich bekomme folgende Meldung:
signal_install.sh: 372: Syntax error: "(" unexpected (expecting "fi")
Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 06 Februar 2021, 20:23:34
Hallo Jörg,
wegen den umlauten:
Wenn ich aus fhem die folgende Message an mein iPhone schicke, bekomme ich im reading "sentMsg" folgendes, obwohl in Signal selber (also auf dem iPhone) die Umlaute alle OK sind:
set Signal send ae=ä, ue=ü, oe=ö, sz=ßsentMsg ae=�, ue=�, oe=�, sz=�
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 22:01:27
ich bekomme folgende Meldung:
signal_install.sh: 372: Syntax error: "(" unexpected (expecting "fi")
Probiers mal jetzt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Februar 2021, 22:06:29
sentMsg ae=�, ue=�, oe=�, sz=�

Alles klar. Hab ich gefixed, ist dann beim nächsten Update dabei.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 07 Februar 2021, 09:27:34
Probiers mal jetzt.

signal_install.sh: 375: Syntax error: "(" unexpected (expecting "fi")
... so muss Schneeschaufelngehen am Tag 1 der Schneekatastrophe in Niedersachsen 8) Wenn ich mich nicht mehr melde, bin ich in einer Schneewehe versackt... oder Signal läuft nicht mehr...

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: betateilchen am 07 Februar 2021, 09:32:08
... so muss Schneeschaufelngehen am Tag 1 der Schneekatastrophe in Niedersachsen

Hier (auch in Niedersachsen) ist es -4°C, windig, aber von Niederschlag seit Freitag, 17 Uhr,  weit und breit keine Spur.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Papaloewe am 07 Februar 2021, 09:46:42
Wenn ich diesen Pull-Request richtig verstehe, wäre es möglich (demnächst, oder jetzt?) via tcp-sockets mit dem cli-service mithilfe von json-strings zu kommunizieren.

https://github.com/AsamK/signal-cli/pull/419/commits (https://github.com/AsamK/signal-cli/pull/419/commits)

Das hätte dann auch den Charme, dass man den signal-cli Teil extern, oder auch in einem separaten Container laufen lassen kann.
Denn ich möchte eigentlich mein FHEM im "geschützten" Docker belassen und nicht den Host-Modus verwenden.

Wäre das eine interessante Variante?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Papaloewe am 07 Februar 2021, 09:50:05
oder gibt es das schon?
Habe noch das dazu gefunden:

https://github.com/Matteljay/signal-cli/wiki/Socket-IPC (https://github.com/Matteljay/signal-cli/wiki/Socket-IPC)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 10:56:27
Die Socket Variante scheint ein fork zu sein der aktuell als Pull request ansteht.
Im aktuellen main (den habe ich mir testweise schon mal übersetzt, daher weiss ich auch das ab der nächsten Version zwei native libraries benötigt werden) ist anscheinend noch nichts drin.

Wir sollten das auf jeden Fall beobachten. Der Socket Branch unterstützt ein "getContacts", dass mir beim Dbus fehlt - dafür fehlen wieder ein paar andere Services. Da braucht denke ich noch etwas Reife und sollte erst voll im main etabliert sein, bevor wir da was machen.

Wegen signal-cli im extra Container war ich schon am überlegen, ob es da Optionen gibt. Letztendlich muss man aus dem Container irgendwie eine Verbindung mit dem streaming socket /var/run/dbus/system_bus_socket aufbauen. Dann darf aber wahrscheinlich auch der dbus-daemon nicht im Container laufen. Das müsste sich jemand mit deutlich mehr Linux System und Container Know How ansehen, als ich mitbringe.
Netstat:
unix  2      [ ACC ]     STREAM     HÖRT         12185    -                    /var/run/dbus/system_bus_socket

Ich finde ja die signal-cli Installation etwas tricky aber eigentlich nicht sehr invasiv. Die lässt sich sowohl native als auch im Container sehr einfach wieder entfernen, sofern einen die abhängigen Pakete nicht stören, aber das sind ja auch offizielle Installer (apt, cpan) - sollte man auch wegbekommen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 11:01:32
Hi Enno,

kann es sein, das du das Script unter "sh" statt "bash" laufen hast?
Den Fehler kriege ich nur wenn ich das Konstrukt unter "sh" laufen lasse.

Wahrscheinlich sollte ich noch eine "bash" Abhängigkeit einbauen und beenden, wenn das Script nicht in der bash läuft.

EDIT: Einfacher check auf bash inkl. Nachinstallation eingebaut.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 07 Februar 2021, 11:43:06
kann es sein, das du das Script unter "sh" statt "bash" laufen hast?
Richtig vermutet! Bisher ging es immer mit sh. Ok, ich teste noch mal als bash.... und geht.

Gruss vom DAU ::)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 07 Februar 2021, 12:30:26
Hallo zusammen. Ich habe hier die Installation mit dem Skript auch mal durchgezogen, ganz normal auf einem Pi. Senden und Empfangen mit normalen Usern funktioniert auch gut.

Probleme gibt es aber noch mit Gruppen. Ich hab mal eine Gruppe FHEM eingerichtet, da kann ich auch normale User hinzufügen. Bei meinem fhem User hat Singal zuerst gemeckert, wegen angeblich nicht aktueller Version V2 bei signal-cli. Nach Löschung und nochmaliger Neueinrichtung auf dem Pi mit dem neuesten Version von hier meckert Signal nicht mehr und schickt eine Einladung raus wenn ich meinen fhem User zu der Gruppe hizufügen will, im SignalBot sehe ich dann auch "joinedGroups FHEM".

Wenn ich aber eine Nachricht an die Gruppe senden will kommt:
Error sending message:org.asamk.Signal.Error.GroupNotFound: User is not a member in group: FHEM (...)im Logfile
2021.02.07 12:23:47 3: SignalBot: Before parse:#FHEM Teststring:

2021.02.07 12:23:47 5: SignalBot: sendGroupMessage called for FHEM::Teststring

Also hab ich mal versucht unter signal-cli die Einladung anzunehmen:
sudo -u fhem signal-cli updateGroup -n FHEMSoll jedenfalls laut Doku so gehen.

Dort kommt dann:
OpenJDK Server VM warning: You have loaded library /tmp/resource17792002454964883349.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
ERROR App - User +49xxxxxxxxxx is not registered.


Die Telefonummer funbktioniert ja, daher wundert mich die letzte Meldung. Und die lbzkgroup Dateien liegen in /usr/lib
Irgendwie fällt mir gerade da nichts mehr ein.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Papaloewe am 07 Februar 2021, 12:32:10
Die Socket Variante scheint ein fork zu sein der aktuell als Pull request ansteht.
Im aktuellen main (den habe ich mir testweise schon mal übersetzt, daher weiss ich auch das ab der nächsten Version zwei native libraries benötigt werden) ist anscheinend noch nichts drin.

Wir sollten das auf jeden Fall beobachten. Der Socket Branch unterstützt ein "getContacts", dass mir beim Dbus fehlt - dafür fehlen wieder ein paar andere Services. Da braucht denke ich noch etwas Reife und sollte erst voll im main etabliert sein, bevor wir da was machen.

Wegen signal-cli im extra Container war ich schon am überlegen, ob es da Optionen gibt. Letztendlich muss man aus dem Container irgendwie eine Verbindung mit dem streaming socket /var/run/dbus/system_bus_socket aufbauen. Dann darf aber wahrscheinlich auch der dbus-daemon nicht im Container laufen. Das müsste sich jemand mit deutlich mehr Linux System und Container Know How ansehen, als ich mitbringe.
Netstat:
unix  2      [ ACC ]     STREAM     HÖRT         12185    -                    /var/run/dbus/system_bus_socket

Ich finde ja die signal-cli Installation etwas tricky aber eigentlich nicht sehr invasiv. Die lässt sich sowohl native als auch im Container sehr einfach wieder entfernen, sofern einen die abhängigen Pakete nicht stören, aber das sind ja auch offizielle Installer (apt, cpan) - sollte man auch wegbekommen.

Jörg

Hier hat auch schon jemand eine REST API für den signal-cli gebaut und es gibt einen "fertigen" Docker Container dazu.
https://github.com/bbernhard/signal-cli-rest-api (https://github.com/bbernhard/signal-cli-rest-api)
Das wäre natürlich jetzt ein völlig anderer Ansatz bei der Kommunikation zwischen signal-cli und FHEM.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 12:37:48
Die Telefonummer funbktioniert ja, daher wundert mich die letzte Meldung. Und die lbzkgroup Dateien liegen in /usr/lib
Schau mal ob
unzip -v /opt/signal/lib/zkgroup-java-0.7.0.jar
Noch eine "libzkgroup.so" enthält. Die muss raus damit die /usr/lib version verwendet wird. Das hätte das script eigentlich mit
zip -d zkgroup-java-0.7.0.jar libzkgroup.somachen sollen.
Wenn die noch drin ist - hast du noch logs von der Installation? Würde mich interessieren was da nicht geklappt hat.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 12:45:09
Hier hat auch schon jemand eine REST API für den signal-cli gebaut und es gibt einen "fertigen" Docker Container dazu.
https://github.com/bbernhard/signal-cli-rest-api (https://github.com/bbernhard/signal-cli-rest-api)
Das wäre natürlich jetzt ein völlig anderer Ansatz bei der Kommunikation zwischen signal-cli und FHEM.
Von dem Docker Container könnte man sicher was für unsere Installation hier was abgucken. Kommt mir jetzt aber nochmal eine Stufe komplexer vor, da man mit der REST API nochmal etwas dazwischenbaut. Also seid mir nicht böse, aber ich finde wir haben einen praktikablen und stabilen Weg und ich werde da jetzt keine Energie in Alternativen stecken.
Wie zuvor beschrieben höchstens wenn der signal-cli main branch was interessantes einführt.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 07 Februar 2021, 12:46:33
Hallo Jörg,

dickes Dankeschön für Deine tolle Arbeit und die Geduld. Es läuft.
Ich kann jetzt sauber Nachrichten senden und empfangen.
Top, habe gerade getestet, Nachrichten von FHEM an mein Phone zu senden abhängig vom Device State. Passt.
Bin gerade dabei, ein Notify zu erstellen um auf ankommende Nachrichten zu reagieren.
Nutze diesen Post https://forum.fhem.de/index.php/topic,84996.msg906042.html#msg906042 (https://forum.fhem.de/index.php/topic,84996.msg906042.html#msg906042)
Da habe ich noch etwas zu tun.
Jut, gerade kommt wohl der Schnee hier bei uns in Brandenburg an, naja Schnee ist es nicht....  ;)
Also ich bin am Zuge.

Bis später
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 07 Februar 2021, 14:12:55
Noch eine "libzkgroup.so" enthält. Die muss raus damit die /usr/lib version verwendet wird.

Die ist raus. Allerdings hatte ich die libs manuell kopiert, weil die nicht da waren. Hab gerade mal die remove Option genutzt und neu installiert, da fiel mir das wieder ein. Im Skript hast Du am Anfang $LIBPATH definiert, beim Installieren und Entfernen dann aber $LIBDIR benutzt. Hab das mal angepasst, dann läuft alles durch.

Allerdings nützt es nichts, es kommt weiter der Fehler:
OpenJDK Server VM warning: You have loaded library /tmp/resource17792002454964883349.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
ERROR App - User +49xxxxxxxxxx is not registered.

Mit der User funktioniert das wie gesagt trotzdem, nur mit einer Gruppe geht es nicht, der User lässt sich da nicht mit reinnehmen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 14:28:24
Im Skript hast Du am Anfang $LIBPATH definiert, beim Installieren und Entfernen dann aber $LIBDIR benutzt.
Tatsächlich. Ich hätte zuletzt hauptsächlich unter meiner X86 VM gestestet....
Korrigiert.

Die Signal Gruppen funktionieren leider ohne die library nicht.
Lass uns mal schauen ob er die Library anzieht:
sudo ldconfig -v | grep libzkgroup.so
Eigentlich muss /usr/lib da drin sein, vielleicht stimmen aber die Rechte nicht?

Ansonsten fällt mir nur noch ein ob du irgendwo anders im System noch ein zkgroup.jar hast, das er anzieht, wo die .so noch drin ist?

EDIT: Und du bist schon auf einem Raspberry unter armv71 oder?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 07 Februar 2021, 14:50:16
ldconfig: Pfad »/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: Pfad »/usr/lib/arm-linux-gnueabihf« mehrfach angegeben
ldconfig: /lib/arm-linux-gnueabihf/ld-2.28.so is the dynamic linker, ignoring

ldconfig: /lib/ld-linux.so.3 is the dynamic linker, ignoring

        libzkgroup.so -> libzkgroup.so


und ja

Architecture:        armv7l
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
Vendor ID:           ARM
Model:               4

Laut Doku sucht libsignal in java.library.path wenn die lib nicht im jar Paket ist. Wo könnte man denn erkennen was da angegeben ist?

Ok, /usr/lib/ ist da mit drin wenn man "java -XshowSettings:properties" aufruft.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 15:32:29
Hi sinus61,

Also laut deiner Fehlermeldung findet er eine lib.so - aber eben die falsche. Ich hab meine mal testweise gelöscht, dann kommt eine andere Fehlermeldung.
1. Check: Haben wir die selbe Library:
ls -l /usr/lib/libzkgroup.so
-rw-r--r-- 1 root root 681524 Feb  2 17:24 /usr/lib/libzkgroup.so
2. Check: Schaut das jar consistent wie meins aus:
ls -l /opt/signal/lib/zkgroup-java-0.7.0.jar
-rw-r--r-- 1 signal-cli signal-cli 34682 Feb  7 15:24 /opt/signal/lib/zkgroup-java-0.7.0.jar
3. Check welches .jar nimmt er (Voraussetzung Service läuft)
ps -ef | grep zkgroupDa müsste irgendwo der volle Pfad opt/signal/lib/zkgroup-java-0.7.0.jar drinstehen
4. Check gibt es irgendwo noch eine andere .so
sudo find / -name libzkgroup.so 2>/dev/null
5. Check gibt es noch irgendwo ein anderes jar
sudo find / -name zkgroup-java-0.7.0.jar 2>/dev/null

Und dann bin ich mit meinem Latein wirklich am Ende...

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 07 Februar 2021, 16:51:17
Hallo,

na dem shutdown restart hängt mein FHEM.
Folgende Meldung im Log
2021.02.07 16:47:57.676 3: Mosquitto device opened
Operation "ne": no method found,
left argument in overloaded package Net::DBus::Error,
right argument has no overloaded magic at ./FHEM/50_Signalbot.pm line 385.

Das ist der letzte Stand des 50_Signalbot.pm.

Wenn ich das Docker Image lösche und neu erstelle, ist die Registrierung auch weg???

Ich schaue mal

dann nichts mehr... Was könnte hier helfen?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 17:03:06
Hi Thorben,

Wahrscheinlich ist dein Dbus und/oder signal-cli daemon nicht oben.
Leider ist da wohl noch ein Bug in meinem Fehlerhandling - dazu kannst du mal di angehängte Version probieren. Die sollte zumindest einen Fehler ausspucken statt FHEM zu blockieren.

Wenn du das neuste Installscript als root mit dem Parameter "start" aufrufst, dann werden die beiden Dienste gestartet, wenn nötig.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: frust am 07 Februar 2021, 17:45:29
Also ich habs immer noch nicht hin bekommen.

Zitat
dbus-send --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:"Test message via DBus" array:: string:+49xxxxxxxxx
funktioniert

vom FHEM aus

Zitat
set SIGNAL send @+4917xxxxxxxx Hallo Signal

Error sending message:org.asamk.Signal.Error.Failure: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found
geht irgendwie nicht. FHEM und Rechner mehrfach neu gestartet, hilft aber nix 🤷🏻‍♂️

gibts Ideen was ich Debugger kann? FHEM-Log gibt nichts her.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 07 Februar 2021, 17:58:32
Also laut deiner Fehlermeldung findet er eine lib.so - aber eben die falsche.

Danke für die Unterstützung, jetzt hab ich es. Ich hatte ja schon vorab mal mit SiSi angefangen und da gab es /opt/fhem/signal-cli. Gelöscht und der Fehler ist weg.

Der Fehler mit "is not registered" bestand noch weiter, das hab ich mit dem Skript auch mit remove und install und register nicht gelöst bekommen, sondern einmal direkt it signal-cli gemacht. Damit läuft das auch. Braucht vielleicht nicht weiter erforscht werden, wenn sonst keiner das Problem hat.

Mit den Gruppen läuft es trotzdem noch nicht ganz rund, muss ich noch mal austesten.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 07 Februar 2021, 18:40:38
Hallo Jörg,
habe den Container neu erstellt.
Befehl ausgeführtsudo -u signal-cli /opt/signal/bin/signal-cli -u +49festnetz --config /var/lib/signal-cli daemon --system &folgende Rückmeldung
root@FHEM:/opt/fhem#
[1] 24857
root@FHEM:/opt/fhem# /opt/signal/bin/signal-cli: 41: cd: can't cd to /opt/fhem
OpenJDK 32-Bit Server VM warning: You have loaded library /tmp/resource7942281494445111559.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
ERROR App - Error while checking account +49festnetz: Authorization failed!

[1]+  Exit 2                  sudo -u signal-cli /opt/signal/bin/signal-cli -u +4festnetz --config /var/lib/signal-cli daemon --system
root@FHEM:/opt/fhem#

Dein Test Script gibt folgenden Fehlerorg.freedesktop.DBus.Error.Spawn.FileInvalid: Cannot do system-bus activation with no user
Gepüft ist das der User signal-cli Zugriff hat:
drwxr-xr-x 3 signal-cli signal-cli 4096 Feb  7 17:53 signal-cli
/usr/share/dbus-1/system-services/org.asamk.Signal.service
/etc/dbus-1/system.d/org.asamk.Signal.conf

Reinit bringt
2021.02.07 18:24:58.407 3: Signal: Error while initializing Dbus:org.freedesktop.DBus.Error.Disconnected: Connection is closed
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 18:47:44
gibts Ideen was ich Debugger kann? FHEM-Log gibt nichts her.

Im neusten Install Script wird mit dem Argument "test" noch auf eine dritte Methode (aus Perl)  gesendet. Geht das?

Die Frage ist auch von wann deine Scripten/Module sind. ggf. nochmal das Neuste aus dem ersten Post holen und laufen lassen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 19:00:32
Dein Test Script gibt folgenden Fehlerorg.freedesktop.DBus.Error.Spawn.FileInvalid: Cannot do system-bus activation with no user

Das ist eigentlich mit dem aktuellen Installer gefixed und die Datei org.asamk.Signal.service
hat jetzt eine zusätzliche Zeile mit "User=signal-cli"

Mit der Zeile müsste der Service starten.

das "can't cd" hatte ich auch, das macht nichts.

Am Besten halt die Services mit
./signal_install.sh startstarten.

Du hast außerdem anscheinend auch wieder die falsche lib.so

Schmeiss doch das /opt/signal nochmal weg und lass es vom Script neu bauen (argument: install) - aber bitte nochmal den Neusten holen.

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: mspa am 07 Februar 2021, 20:40:59
Guten Abend,
eine kurze Frage, wird ein Zeilenumbruch auch mit \n gemacht, wie bei anderen Modulen?👀 Achja die installtion hat super geklappt, es hat nur noch das modul libimage-librsvg-perl für SVG_plots gefehlt.
Mfg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Februar 2021, 20:58:19
eine kurze Frage, wird ein Zeilenumbruch auch mit \n gemacht, wie bei anderen Modulen?
Aktuell geht das nur aus Perl (also z.B. im DOIF):
{fhem("set SignalBot send \@Joerg Zeile 1".chr(10)."Zeile2");}
Habs aber schon ausprobiert. Eine Erweiterung die "\n" in ein echtes Newline übersetzt ist einfach. Kommt dann ins nächste update.
Man muss dann allerdings "\\n" machen um das "\" zu escapen.

Zitat
Achja die installtion hat super geklappt, es hat nur noch das modul libimage-librsvg-perl für SVG_plots gefehlt.
Danke. Nehme ich mit in den Installer auf.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 08 Februar 2021, 08:50:12
In Perl geht das mit \n aber auch so:

$txt = " $eventDesc\n $onset\n $expires\n $description\n";
fhem ("set SignalBot send $txt");

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 08 Februar 2021, 09:55:40
Stimmt. Geht sogar direkt. Zu kompliziert gedacht.
{fhem("set SignalBot send \@Joerg Zeile 1\nZeile2");}Nur in FHEM klappt das durch das pre-processing für eingebaute Readings ala [device:reading] irgendwie nicht.
Das muss ich mir noch in Ruhe anschauen.
Vielleicht kann man das "\\n" auch irgendwie umgehen, damit es via Perl und FHEM gleich funktioniert indem ich das bereits vorher in Chr(10) konvertiere.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 08 Februar 2021, 10:18:33
Morgen,
so ich war wieder aktiv.
Ich habe genau nach Anleitung, den Dockercontainer neu erstellt.
hier eine kurze Aufstellung.
1. Alten Container gelöscht
docker rm -f fhem-docker_fhem_1
docker rmi -f fhem-docker_fhem
2. Neuen Container erstellen
Dockerfile
ARG BASE_IMAGE="fhem/fhem"
ARG BASE_IMAGE_TAG="latest"
FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG}

ARG L_SIGNAL_CLI="0.7.4"

# Install base environment

VOLUME [ "/opt/signal-cli" ]
Kommando
docker-compose up -d3. FHEM startet
4. Kommando apt-get update5. Editor apt-get install nano6. Kommando ./signal_install.sh systemhier kommen teilweise Fehler
npacking unzip (6.0-23+deb10u2) over (6.0-23+deb10u1) ...
Errors were encountered while processing:
 /tmp/apt-dpkg-install-33B4nC/00-tzdata_2021a-0+deb10u1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
done
Checking for haveged...installing (haveged)E: Sub-process /usr/bin/dpkg returned an error code (1)
Extracting templates from packages: 100%jre)
E: Sub-process /usr/bin/dpkg returned an error code (1)
done
Checking for qrencode...installing (qrencode)E: Sub-process /usr/bin/dpkg returned an error code (1)
done
Checking for zip...installing (zip)E: Sub-process /usr/bin/dpkg returned an error code (1)
done
Checking for Net::DBus...Can't locate Net/DBus.pm in @INC (you may need to install the Net::DBus module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /tmp/signal16413.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal16413.tmp line 5.
Installing latest NET::DBus...done
Checking user signal-cli ...Adding user `signal-cli' ...
Adding new group `signal-cli' (1001) ...
Adding new user `signal-cli' (1001) with group `signal-cli' ...
Creating home directory `/home/signal-cli' ...
Copying files from `/etc/skel' ...
created

7. Kommando ./signal_install.sh installAusgabe
Checking for /opt...found
Checking for /var/lib/signal-cli...created
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.7.4...done
Unpacking ...
Removing native x86 since you're on Raspberry...deleting: libzkgroup.so
done
Downloading native armv7l libraries...
done
done
Changing file ownership ...done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf.../etc/dbus-1/system.d/org.asamk.Signal.conf installed
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service.../usr/share/dbus-1/system-services/org.asamk.Signal.service installed

10. Kommando dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket &11. Kommando scp -r pi@192.168.10.50:/var/lib/signal-cli /var/lib12. Kommando chown -R signal-cli: signal-cli13. Kommando sudo -u signal-cli /opt/signal/bin/signal-cli -u +49festnetz --config /var/lib/signal-cli daemon --system &Ausgabe [1] 8649nach einer gewissen Zeit kommt
root@FHEM:/var/lib# ERROR App - Error while checking account +49festnetz: Authorization failed!
14. Kommando ps -ef | grep java Keine Ausgabe nur der Prozess selbst
15. Testscript perl signal_test.plAusgabe org.freedesktop.DBus.Error.Spawn.ChildExited: Launch helper exited with unknown return code 1
Frage ich die Prozess dbus ab root@FHEM:/opt/fhem# ps -ef | grep dbus
message+  8148     1  0 09:42 ?        00:00:00 dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket
message+ 31542  8148  0 10:05 ?        00:00:00 dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket
root     31543 31542  0 10:05 ?        00:00:00 /usr/lib/dbus-1.0/dbus-daemon-launch-helper org.freedesktop.systemd1
root     31577  9615  0 10:05 pts/1    00:00:00 grep dbus
Könnte es am Fehler während der Installation
Sub-process /usr/bin/dpkg returned an error code (1)liegen.
Meine Umgebung
Linux FHEM 5.4.72-v7l+ #1356 SMP Thu Oct 22 13:57:51 BST 2020 armv7l GNU/Linux
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
Kernel 5.4.72-v7l+
Ich teste mal weiter....
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 08 Februar 2021, 11:29:19
Hi Thorben,

Um das von a-z zu testen, wollte ich mr jetzt noch ein vollautomatisertes Script für eine FHEM/signa-cli Docker Umgebung bauen. Sollte eigentlich nicht so wild sein, braucht aber noch Zeit (zum Bauen, aber auch um noch ein paar Dinge über Docker zu lernen).
Wenn du es also nicht zu eilig hat, warte mal auf das :) In der Arbeit geht's gerade auch ein bisschen rund.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 08 Februar 2021, 11:43:14
Hi Jörg,

kein Problem, ich taste mich auch gerade mal ran. Teste weiter, verschiedene Docker den es lief ja mal.
Ich bin auch gerade aktiv im Job.. Wir sind jung und brauchen das Geld.
Also pass auf Dich auf.

Thorben
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 08 Februar 2021, 12:07:57
Ich hab gerade mal über das Thema Favoriten nachgedacht, die ich in Telegram genutzt habe. Babble ist mir für diesen Zweck zu umständlich.

Ich hab mir für den Zweck ein Notify angelegt. Ein "/" schickt einen Text mit den Favoriten zurück, mit "/1" usw. wird dann der jeweilige Favorit ausgeführt.
Vielleicht kann es ja jemand als Anregung gebrauchen.

SignalBot:msgText:./.* {
my $favs = "/1 = Verkehr\n/2 = Warnungen\n/3 = Aussentemperatur\n/4 = Kamera";
if ($EVTPART1 eq "/") {
fhem('set $NAME send "@[$NAME:msgSender]" '.$favs);
}
elsif ($EVTPART1 eq "/1") {
fhem('set $NAME send "@[$NAME:msgSender]"  '.Verkehrsinfo_GetData('A27'));
}
elsif ($EVTPART1 eq "/2") {
DWD_Alert("DWD_Wetter");
}
elsif ($EVTPART1 eq "/3") {
fhem('set $NAME send "@[$NAME:msgSender]" Aussentemperatur: [au_Wetterstation:temperature]');
}
elsif ($EVTPART1 eq "/4") {
fhem("get Cam1 image");
fhem("sleep 1;set $NAME send '@[$NAME:msgSender]' &/opt/fhem/www/snapshots/Cam1_snapshot.jpg");
}
}
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 08 Februar 2021, 23:06:09
Um Befehle automatisiert auszuführen habe ich die Verknüfung mit dem Babble Modul eingebaut. Der kann erstens mal sehr flexibel unterschiedliche Formulierungen erkennen und zweitens muss man dann das Rad nicht zweimal erfinden. Auf den ersten Blick hat der Telegrambot Entwickler da ganz schön Aufwand reingesteckt.
Ich lasse mich gerne davon überzeugen, was der Vorteil gegenüber Babble ist (oder potentiell auch "talk") ist.
Kannst du mir dazu mehr Infos geben? Was ist der Anwendungsfall und wie schauen deine notifys aus die sowas simulieren?

Sorry für die späte Antwort, ich hatte keine Benachrichtiungen mehr bekommen.

Favoriten:
Ich finde es sehr komfortabel, für mich wichtige Funktionen schnell mit einem Kürzel zu erreichen. Bei Babble werden die Eingaben ja eher länger. Kurz ein fav3 und ich habe die aktuellen Temperaturen oder ein fav5 und ich bekomme ein Foto der Wifi-Cam zugesandt. Über die Fav-Menü Funktion vom TelegramBot wird das ganze dann noch komfortabler. Ich weiß nur nicht, ob man so etwas mit Signal überhaupt machen kann.

Notify:
Den TelegramBot habe ich so konfiguriert, dass er nur Befehle via "trigger" ausführt. Normale "set" sind erst mal verboten. Einen "set" Befehl erkennt aber das notify. Das prüft dann zusätzlich, ob eine Zahl mit übergeben wurde und validiert die via GoogleAuth.
Das notify sieht so aus (steht irgendwo auch im über 100 Seite langen TelegramBot Thread):
defmod ntf_telegramBot notify telegramBot:msgText.* {\
  my $msgpeer = ReadingsVal("telegramBot", "msgPeerId", "");;\
  my @evtparts = split(" ",$EVENT);;\
  \
  # Reading-Namen entfernen\
  shift @evtparts;;\
  # das Token steht vor dem Befehl\
  my $GivenToken = shift @evtparts;;\
  my $FhemCmd = join " ", @evtparts;;\
  my $cmdKeyword = AttrVal("telegramBot", "cmdKeyword", undef);;\
  my $cmdFavorites = AttrVal("telegramBot", "cmdFavorites", undef);;\
  my @favarray;;\
  my $favno;;\
\
  # nur verarbeiten, wenn das Token nur aus Zahlen besteht -> sonst ist es verm. ein reguläres Kommando für das Bot-Modul\
  if ($GivenToken =~ /^\d+$/) {\
    Log3("ntf_telegramBot",4,"ntf_telegramBot: EVENT: $EVENT");;\
    Log3("ntf_telegramBot",3,"ntf_telegramBot: FhemCmd: $FhemCmd");;\
\
    # prüfe ob die Zeichenfolge von eben einen gültigen Token ergibt\
    my $GAuthResult = gAuth("googleAuth",$GivenToken);;\
    Log3("ntf_telegramBot",3,"ntf_telegramBot: googleAuth Token: $GivenToken result: $GAuthResult");;\
\
    # ggf. Favoriten auflösen\
if (substr($FhemCmd, 0, length($cmdFavorites)) eq $cmdFavorites) {\
   $favno = int(substr($FhemCmd, length($cmdFavorites)));;\
   @favarray = split(";;",AttrVal("telegramBot", "favorites", ""));;\
   $FhemCmd = $favarray[$favno-1];;\
       # wenn ein Alias definiert ist, dann den Befehlsteil aus dem Favoriten extrahieren\
       if (index($FhemCmd, "=") >= 0) {\
     $FhemCmd = substr($FhemCmd, index($FhemCmd, "=")+1);;\
   }\
       Log3("ntf_telegramBot",3,"ntf_telegramBot: FhemCmd after favorite substitution: $FhemCmd");;\
}\
\
    #Prüfung, dass der aktuelle peer in der Liste der cmdRestrictPeer ist. Achtung: es wird auf die PeerId geprüft, username funktioniert nicht\
    if ( index(AttrVal("telegramBot", "cmdRestrictedPeer", $msgpeer), $msgpeer) >= 0 and $GAuthResult eq '1') {\
      Log3("ntf_telegramBot",4,"ntf_telegramBot: execute cmd");;\
      fhem($FhemCmd);;\
    }\
  }\
}
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 09 Februar 2021, 07:24:20
Bei Babble werden die Eingaben ja eher länger.
Moin,

das ist richtig, aber, ich kann meine zweiten Hälfte nicht davon überzeugen, sich Kürzel zu merken. Daher nutze ich auf dem Handy die Möglichkeit, den Text zu sprechen, umzuwandeln und dann zu schicken. "Mach das Radio an", "Schalt das Radio ein" oder "Schalt das Radio bitte an". Die Ansage muss halbwegs passen und Signal und Babble machen dann den Rest.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 09 Februar 2021, 09:19:34
Das diese Favorites mit einem Notify einfach zu realisieren sind, hat ja sinus61 oben gezeigt. Ich würde das ja eher mit einem DOIF machen, aber das ist Geschmackssache. Daher bin ich nach wie vor nicht davon überzeugt das Rad nochmal zu erfinden.

Was allerdings sinnvoll sein könnte wäre ein "babbleExclude" Parameter. Wenn dieses Zeichen (oder Zeichenkette) am Anfang der Nachricht steht, dann wird Babble nicht aufgeufen. So könnte man z.B. das "/" oder "fav" etc. ausnehmen und per Notify behandeln, alles andere geht immer noch an die Sprachanalyse.

Was meint ihr?

So einen Marker brauche ich auch in umgekehrte Richtung für die Rive Dateien um ggf. die Umlaute anders zu kodieren. Der Babble Autor hat in seinen Rivescript Dateien eine spezielle Kodierung verwendet und kodiert das in Babble um. Ich habe aber jetzt die Beispiele von TALKTOME ausprobiert, die "normale" Umlaute enthalten, und dann kommt nach Babble Müll raus. Mit einer speziellen Markierung im "send" der "helpFunc" erkenne ich das aktuell und korrigiere das wieder (generell darf man das aber nicht machen).
Alternativ könnte ich mir noch ein "sendutf8" vorstellen, das dürfte aber die meisten eher verwirren. Da wäre ein versteckter Marker meiner Ansicht nach besser.

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kjmEjfu am 09 Februar 2021, 09:54:21
Wegen Docker, habt ihr mal mit Julian gesprochen?
Sein Docker-Container (https://github.com/fhem/fhem-docker) bietet doch schon einiges an Anpassungsmöglichkeiten.

Eventuell könnte man die Installation für signal-cli nach /post-init.sh, /docker/post-init.sh auslagern und mit Julian besprechen, dass man nur sowas wie

-e install_signal_bot=true
setzen muss und dann automatisch der entsprechende Installationsprozess ausgeführt wird?

Dabei habe ich vor allem die User im Hinterkopf, die zwar einen normalen Docker-Container hochfahren, aber selber nichts mit composer usw. anlegen können.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 09 Februar 2021, 10:15:41
Sein Docker-Container (https://github.com/fhem/fhem-docker) bietet doch schon einiges an Anpassungsmöglichkeiten.

Ich bastele gerade an einem Script das "from scratch" einen FHEM/signal-cli Container per script (natürlich auch mit docker-compose uns so) anlegt.
Ist jetzt mehr ein Lernprojekt für mich, da ich viele Prinzipien von Docker noch nicht ganz verstehe. Vom dem Projekt oben gucke ich da bereits ein wenig ab. Meins basiert jetzt auf dem standard "ubuntu/latest" und ist dadurch sehr schlank (250 MB vs. 1.6 GB von fhem docker, der einen haufen Zeug reinpackt, dass nicht jeder braucht).

Eine Problematik hier ist die Erstellung der Registry. Kann man irgendwie ein interaktives Script per "RUN" im Dockerfile ausführen?
Dadurch müsste man die Registrierung erstmal außerhalb vom Container machen und im Rahmen des compose Prozesses reinkopieren (geht natürlich, stellt aber schon wieder eine Hürde dar)

Aktuell kämpfe ich noch ein wenig mit der Persistenz. Wie stellt man sicher das mit "apt-get install" installierte Pakete erhalten bleiben. Nahezu das ganze Filesystem als "volume" zu definieren kommt mir nicht zielführend vor. Naja.. wie gesagt, Lernprojekt.

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 09 Februar 2021, 10:16:30
Schön, dass es eine Lösung für dei Favoriten gibt.
Mittelfristig würde ich es schön finden, wenn das Modul selbst Favoriten unterstützen würde. Die notify Konstruktion erhöht nicht eben die Wartbarkeit.
Aber bzgl. Priorisierung bin ich fein, das ist am Anfang nicht das dringendeste auf der Welt, wenn es einen funktionireneden Workaround gibt.

Just my 2 cents, Entscheidung liegt natürlich beim Autor  ;)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 09 Februar 2021, 13:42:53
das ist richtig, aber, ich kann meine zweiten Hälfte nicht davon überzeugen, sich Kürzel zu merken.

Gibt da sicher unterschiedliche Anforderungen. Für Zuhause hab ich für sowas meine Echos, mit denen ich reden kann. Unterwegs, im Büro oder im Zug würde ich nicht sowas im mein Handy sagen wollen. Da sind mir ein paar Kürzel zum eintippen lieber.

Ich bin aber mit der Notify Lösung zufrieden. Da ist das mit den verschiedenen Befehlen einfacher, als wenn das in einem Modul eingibt, wo dann alles mögliche escaped werden muss oder so. Im notify weiss ich besser wie ein Befehl aussehen muss.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 09 Februar 2021, 14:04:58
dann alles mögliche escaped werden muss oder so. Im notify weiss ich besser wie ein Befehl aussehen muss.

Ich steuer das über ein DOIF. Die Shortcuts werden als erstes abgefragt und ganz am Schluss kommt Babble. So kann ich die Abkürzung nehmen und wenn davon nichts passt, kommt noch die Schleife über Babble, die ganz zum Schluss auch noch ausgibt, wenn gar nichts verstanden wurde. Vor Babble habe ich noch einen DOELSEIF Zweig, der "set" und andere nicht gewünschte Befehle abfängt. Dadurch benötige ich die "babbleExclude" die Jörg vorschlägt für mich nicht.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 10 Februar 2021, 07:49:07
Ich habe weiter getestet, jetzt läuft es bei mir im Docker.

Mein Weg:
1. Mit Docker-compose p -d Container erstellen
2. nach dem Start in der Console wie bei Jörg beschrieben
2.1 apt-get update2.2 Container check im Script deaktivieren!
2.3 ./signal_install.sh system2.4 ./signal_install.sh install2.5 dbus-daemon --system --address=unix:path=/run/dbus/system_bus_socket &2.6 Registrierung der Rufnummer
2.6.1 ./signal_install.sh register oder copy vom Sicherungspfad
2.6.2 cp -r /opt/fhem/signal-cli /var/lib2.7 cd /var/lib2.8 chown -R signal-cli: signal-cli2.9 Starten sudo -u signal-cli /opt/signal/bin/signal-cli -u +49xxx --config /var/lib/signal-cli daemon --system &

Angelehnt an diesen Post, Danke Michel
https://forum.fhem.de/index.php/topic,84996.msg1124412.html#msg1124412 (https://forum.fhem.de/index.php/topic,84996.msg1124412.html#msg1124412)
Nutze ich dieses Dockerfile
ARG BASE_IMAGE="fhem/fhem"
ARG BASE_IMAGE_TAG="latest"
FROM ${BASE_IMAGE}:${BASE_IMAGE_TAG}

ARG L_SIGNAL_CLI="0.7.4"

# 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 \
#        default-jre-headless \
        libunixsocket-java \
        dbus \
        libnet-dbus-perl \
shared-mime-info \
haveged \
# default-jdk \
        net-tools \
nano \
systemd \
        hping3 \
        wakeonlan \
    && wget https://download.bell-sw.com/java/11.0.10+9/bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
    && apt-get install -qqy --no-install-recommends ./bellsoft-jdk11.0.10+9-linux-arm32-vfp-hflt.deb \
    && cpanm \
        Net::DBus \
#       Lirc::Client \
        Crypt::Cipher::AES \
    && rm -rf /root/.cpanm \
    && 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
RUN mkdir /run/dbus

RUN chmod +x /pre-start.sh
Auszug aus der docker-compose.yml
services:
    fhem:
        build: fhem
        privileged: true
        restart: always
        ports:
            - "1884:1884"
            - "8083:8083"
            - "8084:8084"
            - "7072:7072"
            - "8090:8090"
        volumes:
         - ./fhem/core/:/opt/fhem/
        network_mode: host
        devices:
            - "/dev/ttyUSB0:/dev/ttyUSB0"
            - "/dev/ttyUSB1:/dev/ttyUSB1"
        environment:
            FHEM_UID: 1000
            FHEM_GID: 1000
            TIMEOUT: 10
            RESTART: 1
            TELNETPORT: 7072
            TZ: Europe/Berlin
            NUMBER: "+49xxxx"
            SLEEPTIME: "5"
        depends_on:
            - "mysql"
            - "mqtt"
das Script pre-start.sh sieht wie folgt aus#!/bin/bash
export NUMBER="${NUMBER:-"undef"}"
export SLEEPTIME="${SLEEPTIME:-"10s"}"
SIGNALUSER=signal-cli

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

echo -n "Checking user $SIGNALUSER ..."
if id "$SIGNALUSER" &>/dev/null; then
    echo 'found'
else
adduser --disabled-password --gecos none $SIGNALUSER
    echo 'created'
fi


   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/fhem/signal-cli daemon --system &
   sudo -u signal-cli /opt/signal/bin/signal-cli -u $NUMBER --config /var/lib/signal-cli daemon --system &

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

Das Script pre-script.sh wird bei jedem Start des Conatiners ausgeführt. Setzt für mich den Rest, siehe Log
Running /pre-start.sh script ...
Checking user signal-cli ...Adding user `signal-cli' ...
Adding new group `signal-cli' (1001) ...
Adding new user `signal-cli' (1001) with group `signal-cli' ...
The home directory `/home/signal-cli' already exists.  Not copying from `/etc/skel'.
created
Starting DBus System Daemon
Starting signal-cli
Wait 5 to give signal-cli time to come up
/opt/signal/bin/signal-cli: 41: cd: can't cd to /opt/fhem
Preparing configuration ... done
Starting FHEM ...

Ich weiß ist sicherlich nicht so elegant, aber läuft. Ich bleibe weiter am Ball.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 10 Februar 2021, 09:42:07
Hi Thorben,

bin mit meiner Lösung auch schon weiter.
Tricky ist halt, was macht man im Dockerfile (so es es persitent im Image ist) und was im Script.
Und dann eben auch: Wo macht man die Registrierung?
Bis auf ein paar Kleinigkeiten die ich noch verbessern möchte, habe ich auf jeden Fall schon mal ein Script, das ein blankes FHEM basierend auf dem standard Ubuntu Image hochzieht.
die Verzeichnisse für fhem und die signal-cli registry liegen dabei außerhalb des Containers damit sie erhalten bleiben. Der Rest ist weitgehend ins Image gebacken und bleibt auch nach einem "docker rm" des Containers erhalten, so dass ein erneuter Start (bei dem man sowohl fhem config als auch signal-cli registry vorher austauschen könnte) flott vonstatten geht.
Natürlich werden jetzt Module die Abhängigkeiten außerhalb von FHEM oder spezielle Perl Module brauchen nicht berücksichtigt. Da muss man dann das Dockerfile ergänzen, bzw. vielleicht eine Konfiguration anbieten, in der man weitere "apt install" oder einfach RUN Befehle einfach ergänzen kann.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deekay2000 am 10 Februar 2021, 18:02:06
Hallo,

ich habe versucht, signal-cli über das Script zu installieren. Dabei ist mir aufgefallen, dass die Registrierung nur über Voice ging, SMS brach mit einer Fehlermeldung ab:

Receive registration code for +49xxxxxxxxxx by (S)MS or (V)oice (s/v)? s
Registering +49xxxxxxxxxx with SMS
Unknown option , exiting

Mit Eingabe von "v" statt "s" ging dann die Voice-Registrierung. Nach Abschluss war allerdings die Verknüpfung der Signal-App auf meinem Telefon und der Nummer aufgehoben. Wahrscheinlich hatte ich hier einen Denkfehler und hätte stattdessen mit "link" nur meine Nummer verknüpfen sollen. Das habe ich dann im zweiten Schritt gemacht, und der FHEM-Server taucht unter "Gekoppelte Geräte" auf. Allerdings kann ich mir mit der "test"-Option keine Nachricht auf das Telefon schicken lassen. Oder kann ich keine Testnachricht an mich selber schicken?

Viele Grüße,
Daniel

Edit: Jetzt habe ich es hinbekommen. Diesmal habe ich meine Festnetznummer genommen und erfolgreich registriert. Die Tücke war, dass nun noch im Systemd-Script die Nummer per Hand geändert werden musste :-)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 11 Februar 2021, 11:09:30
Hallo Daniel,
ich vermute mal, Du solltest eine neue Rufnummer (z.B. Dein Festnetz) im Signal registrieren. Damit erzeugst Du einen "neuen" Empfänger.
So habe ich das gelöst. Mit Deiner Lösung doppelst Du nur deinen Signal Account.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 11 Februar 2021, 13:40:28
Habe im Wiki einen Hinweis auf die Link Option und Folgen einer Registrierung eingefügt.
Die "SMS" Option wird in der nächsten Release gefixed (den Pfad hatte ich nie probiert).

Um eine neue Nummer zu hinterlegen, kann man übrigens getrost das Script einfach neu starten (komplett oder Argument "install") - dann wird man gefragt ob man die Config anpassen möchte.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deekay2000 am 11 Februar 2021, 18:06:57
Hallo Jörg,

ich habe im Systemd-Script noch eine Änderung vorgenommen. Hintergrund ist, dass auf meinem System der signal.service nach einem Neustart nicht automatisch mitstartete. So sieht meine Install-Section jetzt aus:

[Install]
WantedBy=multi-user.target
Alias=dbus-org.asamk.Signal.service

Jetzt wird der Dienst nach einem Systemneustart mit gestartet.

Ansonsten: Das Script ist echt gut, die Installation hat bis auf die Unschärfe mit der Rufnummerregistrierung einwandfrei bei mir funktioniert. Ich nutze es auf einem RPi4 mit Raspbian Buster.

Viele Grüße,
Daniel
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 11 Februar 2021, 20:04:05
Danke fürs Feedback.
Die "WantedBy" Anregung habe ich jetzt mal einfach übernommen - du hast es ja getestet :)

Siehe erster Post zu weiteren Updates im Script.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 12 Februar 2021, 00:22:22
Hier mal meine erste Version eines Docker Installers. Getestet habe ich das bisher nur in einer Ubuntu x86 VM (also keine Ahnung ob das mit Raspberry geht).

Grundidee:
- Das Script basiert auf dem Ubuntu/latest docker image
- Am Anfang des Scripts kann man wie üblich die Telefonnummer festlegen
- Außerdem lassen sich dort weitere Pakete konfigurieren (Beispiele z.B. für logdb enthalten, aber noch nicht getestet)
- Es wird ein neues Dockerimage fhem/signal erstellt, worauf der Container "fhem_signal" dann läuft
- Die Verzeichnisse für FHEM und signal-befinden sich außerhalb des Containers, damit Änderungen erhalten bleiben
- Dadurch ist es auch möglich dem Container bestehende FHEM Installationen sowie signal-cli configs mitzugeben

Voraussetzungen:
- Setzen der Variablen am Anfang vom Script: PHONE=zu verwendende Telefonnummer, FHEMUSER=existierende User in der Host Umgebung, FHEMGROUP= existerende Grupppe in der Host Umgebung
- Standardverzeichnis ist ~/fhem
- Bestehende FHEM Umgebung nach ~/fhem/fhem-6.0 oder vom Script eine aktuelle Version von fhem.de installieren lassen
- Bestehende Signal Config (z.B. aus /var/log/signal-cli nach ~/fhem/signal kopieren oder eine neue Registrierung vornehmen
- Script mit "sudo -E ./fhem_signal_docker_install.sh" starten (wenn vorher ein export PHONE=+49xxxx gemacht wurde, sorgt da -E dafür das es auch verwendet wird)

Der Rest ist selbsterklärend. Die initiale Erstellung des Image kann aber eine Weile dauern (schon auf dem PC, auf einem Raspberry wahrscheinlich ewig...)

Wird der Container mal beendet kann er mit
cd ~/fhem
docker-compose up -d
wieder gestartet werden.

mit "sudo -E ./fhem_signal_docker_install.sh remove" wird die Dockerumgebung aufgeräumt und der erstellte Container sowie das Image gelöscht (falls man nochmal ganz neu starten möchte, was z.B. notwendig ist, wenn man weitere Pakete für Module braucht). Da FHEM und signal aber außerhalb liegen, sollten diese davon unberührt bleiben.

Da ich ein rechter Docker "newbie" bin, kann es sein das nicht alles ideal gelöst ist. Anregungen willkommen.
Ich setze bewusst nicht auf dem fhem-docker Projekt (Image fhem/fhem) auf, da mir da zuviel drin ist, was ich nicht brauche.
Übrigens sollte hier nur eine exklusiv verwendete Festnetznummer verwendet werden. Mit eine gelinkten Nummer hatte ich kein Glück, das gab es Fehlermeldungen und er hat nichts empfangen. Andersherum hat meine kopierte Config vom Produktivsystem, zu Fehlern auf dem Produktivsystem geführt. Signal-cli scheint also nicht gut damit zurecht zu kommen wenn es zwei gleiche Empfänger gibt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: MarcoE am 14 Februar 2021, 17:46:47
Hallo,
ein paar Tage lief alles aber jetzt kommen keine Nachrichten mehr. Ubuntu ist aktuell. Fhem läuft. Hab gerade auch noch die aktuellsten Files gezogen und installiert (50_... und signal_install.sh).
von der sh get es mittels:
dbus-send --system --type=method_call --print-reply --dest="org.asamk.Signal" /org/asamk/Signal org.asamk.Signal.sendMessage string:"Test message via DBus" array:: string:+49xxx
via script (signal_install.sh test) geht es auch.

aber in Fhem mittels set signal send @blabla text geht es nicht mehr (wie gesagt bis vor kurzem lief es) sondern es kommt folgende Fehlermeldung:
Error sending message:org.asamk.Signal.Error.Failure: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found
im Log steht auch nicht wirklich viel hilfreiches (verbose ist auf 5):
2021.02.14 17:45:03 3: signal: Before parse:@Nummer Sensoren:

2021.02.14 17:45:03 5: signal: sendMessage called for Nummer::Sensoren

Was könnte das sein? Wie kann ich weiter suchen?

Danke und viele Grüße
Marco
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 14 Februar 2021, 17:51:49
Was könnte das sein? Wie kann ich weiter suchen?

Du könntest mal sehen was im /var/log/syslog steht - da schreibt signal-cli eine Menge rein.
Eventuell einfach mal ein "shutdown restart" von FHEM. Sollte zwar nicht sein, aber mal sehen.
Habe gerade auch noch ein update von Signalbot veröffentlich, das u.a. auch ein paar Feinheiten in der Fehlerbehandlung verbessert.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 14 Februar 2021, 18:00:13
Update V1.2 von Signalbot:

Ich habe jetzt jetzt mal alles an Funktionen die signal-cli über Dbus unterstützt in Signalbot eingebaut (zumindest die, die ich sinnvoll fand).
Leider gehen ja eine Menge Sachen (noch) nicht über das Interface.

Neu:
Und bevor jemand fragt - wer eine Gruppe verlassen möchte oder aktiv einer beitreten, muss das CLI bemühen - das gibt's nicht über DBus.

Außerdem gibt es jetzt ein Attribut "babbleExclude" welches ein RegEx von Nachrichten ist, die nicht nach "babble" gehen sollen (z.B. "^/" schickt keine Nachrichten die mit "/" anfangen nach Babble - Events werden aber ausgelöst)
Achso, ein paar keine Bugfixes bzw. abfangen von weiteren Fehlerfällen sind auch noch drin.

Viel Spass beim Testen.
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 14 Februar 2021, 19:23:45
Signal-Cli update 0.8.0:

signal-cli wurde heute auf eine neue offizielle Version aktualisiert.
Wer die Installation aktualisieren will einfach den neusten Installer aus dem ersten Post holen und mit
sudo -E ./signal_install.shstarten. Dies ist gefahrlos möglich, ohne Nachfrage wird nichts geändert/aktualisiert. Insbesondere kann die Frage nach der Registrierung verneint werden  um dann ganz normal den Test mit der bestehenden Registrierung zu machen.
Parameter "-E" ist nötig falls die Telefonummer mit
export PHONE=+49xxxxxgesetzt war. In diesem Fall ist keine Veränderung des Scripts notwendig.

Das Script installiert auch die weitere native Library für Raspberry - aber jetzt werden diese im .jar aktualisiert und nicht mehr nach /usr/lib kopiert. Außerdem gibt es jetzt eine Platz auf fhem.de (Danke Rudi) von dem die beiden lib.so geladen werden.

Ich habe bereits ein wenig mit der neuen Version "gespielt" und erstmal keine Auffälligkeiten entdeckt. Wer aber auf eine stabile Umgebung angewiesen ist, sollte vielleicht auf weitere Tests von "early adopters" warten. Bitte eure Erfahrungen hier posten.

Danke,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: MarcoE am 15 Februar 2021, 09:05:31
Hallo,
Du könntest mal sehen was im /var/log/syslog steht - da schreibt signal-cli eine Menge rein.
Eventuell einfach mal ein "shutdown restart" von FHEM. Sollte zwar nicht sein, aber mal sehen.
Habe gerade auch noch ein update von Signalbot veröffentlich, das u.a. auch ein paar Feinheiten in der Fehlerbehandlung verbessert.

Jörg
hm- jetzt geht es wieder ohne das ich wissentlich etwas verändert hätte. Dann installiere ich auf jeden Fall mal die updates und beim nächsten Problem suche ich weiter.

Viele Grüsse
Marco
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 15 Februar 2021, 11:49:11
Moin Jörg,

irgend etwas fehlt bei meinem System. Ich bekomme eine Fehlermeldung wenn ich sudo ./signal_install.sh starte. Ich habe mal gegoogelt, aber noch keine Lösung gefunden... sudo: ./signal_install.sh: command not found
nun starte ich halt mit sudo bash signal_install.sh
Damit läuft es durch aber:Sending a message via dbus-send command
method return time=1613385994.085536 sender=:1.73 -> destination=:1.74 serial=6 reply_serial=2
   int64 1613385993121
Sending a message via perl Net::DBus
org.asamk.Signal.Error.Failure: org.whispersystems.signalservice.api.push.exceptions.NotFoundException: Not found

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 15 Februar 2021, 13:15:18
Hallo Enno,

Zwei Dinge sind wichtig damit das geht

1.) Du hast die bash in "/bin/bash" installiert (das script fordert dies in der ersten Zeile mit #!/bin/bash an)
2.) Das script hat "x" Rechte (ggf. chmod u+x machen)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 15 Februar 2021, 14:54:38
Moin,

ich habe dann mal chmod u+x signal_install.sh nachgeholt. Und nun läuft das Script durch und das Device lässt sich in FHEM definieren und funktioniert. Bei mir unter dem SIGNALUSER=fhem und in /opt/fhem .

Ich glaube jetzt habe ich alle Fettnäpfchen durch ;D

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: octek0815 am 16 Februar 2021, 18:07:41
Hallo Adimarantis,

ich bin gerade über diesen Thread gestolpert und habe auch schon die Wiki überflogen.
Bisher nutze ich SiSi für die Signal Integration in FHEM (nur Senden).

Nun möchte ich auf dein Modul umsteigen (mehr Möglichkeiten, neuer und wird gepflegt).
Wie ist hier die beste Vorgehens weise für einen Umstieg von SiSi auf Signalbot?
Das alte System Rückbauen und dann das neue installieren oder hast du einen besseren Weg (wäre vielleicht ganz hilfreich in der Wiki)?

VG
Olli


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 16 Februar 2021, 18:33:30
(wäre vielleicht ganz hilfreich in der Wiki)?

Gute Idee - neues Kapitel eingefügt. Schau mal ob das verständlich ist.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: octek0815 am 16 Februar 2021, 19:43:41
Gute Idee - neues Kapitel eingefügt. Schau mal ob das verständlich ist.

Jörg

Das ging ja schnell. Leider ist mir das nicht so verständlich.
Hier würde eine etwas detaillierterer Umstiegs Leitfaden helfen.

Folgende Fragen hätte ich:

- Ich nutze mit SiSi eine Festnetznummer. Wie steige ich auf dein Modul und kann diese Nr. weiter nutzen?
- Muss ich eine Konfigurationsdatei sichern und wo muss ich dann diese hin kopieren wenn ich dein Installationsscript nutze?
- Rückbau (möchte ungern irgendwelche Leichen von der SiSi Installation zurücklassen.

Dann wäre noch das Thema Umzug auf ein neues System, was muss für dein Modul gesichert und wiederhergestellt werden?

VG
Olli


 
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 16 Februar 2021, 20:16:02
Ok. Bevor ich das zweimal schreibe noch mehr Wiki updates.
Wie du Umstieg und Umzug kombinierst kannst du daraus denke ich ableiten :)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 17 Februar 2021, 07:18:06
Guten Morgen Jörg,

danke für die tolle Arbeit und Geduld.
Habe gerade bei mir alles mit den Neuen Script getestet. #läuft
Habe auch keine Probleme mehr nach dem Reboot.

Gruß Thorben
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: octek0815 am 17 Februar 2021, 08:44:34
Ok. Bevor ich das zweimal schreibe noch mehr Wiki updates.
Wie du Umstieg und Umzug kombinierst kannst du daraus denke ich ableiten :)

Jörg

Hallo Jörg,

der Umstieg hat nun mit deiner Anleitung im Wiki gut funktioniert.
Es gab lediglich Probleme mit dem Ersetzen der folgenden 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

Das Script erkennt zwar einen Unterschied und fragt nach ob diese ersetzt werden sollen, tut es aber dann nicht.
Beim Test scheitert dann das Starten von signal.service (es wird dann auch nur eine Nachricht versendet).
Auch ein erneutes ausführen des Scripts ändert nichts daran.
Ich habe die drei Dateien dann manuell gelöscht und das Installationsscript erneut laufen lassen.
Dann hat es funktioniert und der Test läuft durch und verschickt die drei Test Nachrichten.

Vielen Dank für Deine Arbeit!

Viele Grüße
Olli
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 17 Februar 2021, 10:17:35
Hi Olli,

Das Script erkennt zwar einen Unterschied und fragt nach ob diese ersetzt werden sollen, tut es aber dann nicht.

Das ist mir jetzt ein Rätsel. Du weisst natürlich jetzt nicht mehr wie Rechte/Besitzer der Dateien gesetzt waren?
Ich habe mal kurz alle erdenklichen krummen Rechte ausprobiert, aber mit "sudo" klappt ein "cp" immer.

Du hast du schon die Nachfrage mit "y" bestätigt? Da steht zwar ein grosses "Y", das soll aber heissen, das dies der default bei "return" ist.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: octek0815 am 17 Februar 2021, 10:20:44
Hi Olli,

Das ist mir jetzt ein Rätsel. Du weisst natürlich jetzt nicht mehr wie Rechte/Besitzer der Dateien gesetzt waren?
Ich habe mal kurz alle erdenklichen krummen Rechte ausprobiert, aber mit "sudo" klappt ein "cp" immer.

Du hast du schon die Nachfrage mit "y" bestätigt? Da steht zwar ein grosses "Y", das soll aber heissen, das dies der default bei "return" ist.

Jörg

Hallo Jörg,

nee, die Rechte weiß ich nicht mehr (Dateien sind ja weg).
Habe natürlich mit "Y" beantwortet, könnte das große "Y" das Problem gewesen sein?

VG
Olli
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 17 Februar 2021, 10:24:09
Hi Olli.

Ja  :)

Und ich habe gerade geschaut, ist die einzige Stelle im Script die dann "falsch" testet (sonst geht das "if" immer auf den nicht-default, also Kleinbuchstabenfall). Patche ich dann mal das er "y" und "Y" akzeptiert.
Tja, jeder User findet einen neuen Fehler.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: octek0815 am 17 Februar 2021, 10:25:12
Hi Olli.

Ja  :)

Und ich habe gerade geschaut, ist die einzige Stelle im Script die dann "falsch" testet (sonst geht das "if" immer auf den nicht-default, also Kleinbuchstabenfall). Patche ich dann mal das er "y" und "Y" akzeptiert.
Tja, jeder User findet einen neuen Fehler.

Jörg

Nur so wird es dann auch gut!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 17 Februar 2021, 10:33:27
Tja, jeder User findet einen neuen Fehler.

Ein bisschen Spass macht es dir hoffentlich trotzdem. Dickes Lob mal so zwischendurch für deinen Einsatz! Ich freue mich über jeden, der von Whatsapp und Telegram den Weg zu Signal findet 8)

Gruss von einem glücklichen User
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 19 Februar 2021, 16:48:36
Umfrage: Welche Funktionalitäten fehlen noch?

Welche potentiellen Erweiterungen haltet ihr noch für sinnvoll in Signalbot?
Wie schon erwähnt gibt es ja gewisse Limitierungen im Interface zu Signal. Hier habe ich aktuell aber schon einen Pull-Request laufen um eine Erweiterung in die nächste Version zu bekommen, die es ermöglicht den eigenen Namen und sein Avatarbild zu ändern. Weitere (z.B. Kontaktliste holen, Abfragen ob ein Kontakt/Gruppe geblockt ist) sind in Überlegung. Entsprechend der Funktionalitäten die hier allgemein als sinnvoll erachtet werden, würde ich dann gewisse Interfaceerweiterungen priorisieren. Vielleicht gibt es aber auch Ideen die man direkt implementieren kann.

Bald kann man wieder mehr draußen machen und dann wird meine Zeit für solche Themen knapper (Projekte im Garten stehen an). Also lieber jetzt noch das ein oder andere reinbringen.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 19 Februar 2021, 20:50:09
Moin Jörg,

das was ich brauche geht. Wenn ich mir noch was wünschen dürfte, dann ist es eine Vereinfachung der Eingabe für Zeilenumbrüche:
https://forum.fhem.de/index.php/topic,118370.msg1130178.html#msg1130178

Über Umwege geht es, aber eine Vereinfachung...

Von Readingsgroup direkt zu schicken hatte ich auch schon mal geträumt, aber das ist wohl eher unrealistisch.

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 19 Februar 2021, 21:40:53
Hi Enno,

die Zeilenumbrüche gehen doch jetzt schon ganz normal mit "\n", oder was meinst du?

Das mit dem "direkt aus Readingsgroup" verstehe ich jetzt nicht ganz -bin mir aber nicht sicher ob das etwas ist das ich unterstützen kann oder eher Readingsgroup eine Erweiterung bräuchte.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 20 Februar 2021, 00:18:48
@weini und andere Interessierte:

Ich hab mir mal deine Idee von vor einer Weile mit dem GoogleAuth angeschaut.

Folgendes hab ich jetzt mal eingebaut (noch nicht ganz fertig, aber mal zum Diskutieren vom Konzept):

Attribute: commandKeyword, authTimeout und authDev (wird automatisch mit vorhandener GoogleAuth device gesetzt).

Beispiel commandKeyword: =
Man sendet dann =<authtoken>
Wenn korrekt, dann ist der aktuelle Sender für authTimeout Sekunden berechtigt Befehle zu senden - ebenfalls mit "=" am Anfang - ein Token im Befehl wird in diesem Zeitraum nicht benötigt. Die Berechtigung erlischt automatisch nach diesem Zeitraum. Kann auch von mehreren Nutzern (individueller Zeitraum) genutzt werden.
Eventuelle Rückmeldungen/Fehler bzw. eine Bestätigung geht per PM an den Absender.

Eine Einschränkung der Befehle oder zusätzliche Beschränkung des Absenders habe ich jetzt nicht eingebaut - braucht man das?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 20 Februar 2021, 15:04:01
die Zeilenumbrüche gehen doch jetzt schon ganz normal mit "\n", oder was meinst du?
ok, das hatte ich überlesen und falsch getestet: "\n" in DOIF klappt. Erledigt!

Zum Readingsgroup: Ich habe z.B, ein Readingsgroup, das mir alle Batterien anzeigt (https://wiki.fhem.de/wiki/ReadingsGroup#Auswahl_.C3.BCber_Reading-Namen.2C_Status_als_Symbol_dargestellt)
Dieses "Bild" würde ich gerne einfach so per Signal schicken ;) Das scheint aber nicht so einfach machbar zu sein. Das Thema wurde auch schon mal im Forum kurz in Verbindung mit Telegram angefragt: https://forum.fhem.de/index.php?topic=81826.0

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 20 Februar 2021, 20:53:07
Hi Enno,

Kurz mal geschaut, da bräuchte man dann tatsächlich einen HTML -> JPEG Konverter. Der in den Threads referenzierte wird nicht mehr unterstützt. Signal selbst unterstützt auch kein HTML. Letztendlich wäre das eine Sache für ein Extra Modul, welches man dann wie die SVG's mit dem &() Syntax aufruft. Das gehört m.E. nicht individuell in ein Modul eingebaut sondern als generische Funktionalität extra. In der Hauptsache müsste man dazu einen "headless" Browser oder Service finden. Hab auf die Schnelle da sogar im Internet Services gefunden, die scheinen aber zumindest teilweise kostenpflichtig zu sein und man dann nie weiß wie lange es die gibt und ob sich die API ändert. Das nächste Problem ist, das z.B. bei deinen Batterien Verweise auf Bilder/Icons enthalten sind. Die müsste man bei einem Webservice mitschicken - also ggf. ein zip hochladen. Du siehst, das führt ziemlich weit.

Ich fände so eine Übersicht ohnehin unübersichtlich am Handy. Für meine zig Homematic Geräte habe ich das einfach so in einem DOIF gelöst:
([SignalBot:msgText] eq "Status") (
{ my $group = "[SignalBot:msgGroupName]";
  my $reply = "@"."[SignalBot:msgSender]";
  if ($group ne "") {
    $reply="#$group";
  }
  my $text= "Batterie: [d_ccu:battery_list],[d_ccu:voltage_list] \nOffen:[d_ccu:lock_list] \nNicht erreichbar: [d_ccu:unreach_list]";
  fhem "set SignalBot send $reply $text";
})

Einfach kompakt die Liste der Problemgeräte.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 21 Februar 2021, 15:40:58
Hallo Jörg,

vielen Dank für Dein Modul und Script zum SignalBot. Habe es nach Wiki installiert, lief problemlos durch (Debian Buster auf Zotac MiniPC). Registrierung auf eine Festnetznummer per voice.
Nun bin ich dabei, meine fhem-messages von Telegram auf Signal umzuziehen. Signal kann ja leider kein fett, kursiv, code etc, aber damit kann ich leben und es scheint bei Signal auf der Todo-list zu stehen. Was ich gerne nutze sind die Smilies/Emojys, wie bei https://wiki.fhem.de/wiki/TelegramBot#Versand_von_Emojis_.28Smileys.29 (https://wiki.fhem.de/wiki/TelegramBot#Versand_von_Emojis_.28Smileys.29) beschrieben. Das klappt auch, also die empfangenen Messages haben die Smilies dabei, es gibt aber eine Perlwarning:
PERL WARNING: Wide character in print at fhem.pl line 1000.
Da muss irgendwie dem Teil, der das Smilie transportiert/druckt mitgeteilt werden, dass es ein utf8 codiertes Zeichen ist. Vielleicht kannst Du da ja etwas erreichen, damit die Warning nicht mehr kommt.
Weiterhin bekomme ich im Log bei jedem Versand so etwas:
2021.02.21 15:06:01.625 3: mySignalBot: Before parse:\@Empfaenger Text:Empfaenger und Text je nach message.
Ist das nur eine Anzeige im Log, dass etwas verschickt wurde?
Edit: gerade getestet, wird bei verbose 2 nicht mehr ausgegeben.

Nochmal vielen Dank. Bis jetzt kann SignalBot alles, was ich brauche. Nutze es eigentlich nur, damit fhem mir verschiedene Mitteilungen macht, und da Abfragen recht simpel sind werde ich mir da ein paar einbauen (Statusbericht oder Spritpreis z.B., das spart dann unterwegs den VPN anwerfen und die Oberfläche starten).

Gruß

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: sinus61 am 21 Februar 2021, 18:11:47
Ich habe auch für die Meldungen die per Signal kommen meist ein Emoji dabei. Die schicke ich mir vorher aus Signal an Fhem, kopiere die dann da und füge sie direkt in meine Notifys ein. Eine Fehlermeldung sehe ich da nicht in Log.

Für Textformatierung kann man als Workaround z.B. https://yaytext.com nehmen. Text dort einfügen und in der gewünschten Formatierung ins Notify übernehmen. Allerdings wird sowas wie [Device:Reading] nicht mehr erkannt.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 21 Februar 2021, 19:18:19
Also ich bekomme die
PERL WARNING: Wide character in print at fhem.pl line 992.
erstens nur einmalig und zweitens nur wenn das logging  eingeschaltet ist (verbose=3+) und FHEM entsprechend versucht die Smileys ins Log zu schreiben (was trotzdem klappt)
@sinus61: Klasse Tipp mit dem https://yaytext.com/ - da kriegt man wirklich so ziemlich alles dargestellt was man möchte, obwohl Signal das native (noch) nicht kann.

Da kann man denke ich nicht viel machen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 21 Februar 2021, 20:15:08
Testversion mit GoogleAuth

Wer mag, bitte mal probieren.
Vorrausetzung ist ein GoogleAuth device und entsprechend aktivierter App wie hier beschrieben: https://forum.fhem.de/index.php?topic=64791.0

Im Signalbot sind dann folgende Attribute zu definieren:
cmdKeyword = Zeichen oder Zeichenkette die einen Befehl einleitet - in meinem Beispiel hier das "=" Zeichen
authTimeout = Anzahl der Sekunden die eine Authentifizierung Gültigkeit behalten soll
authDev = der Name der GoogleAuth Device. Wird automatisch beim Setzen von "authTimeout" auf die erste gefundene Device vom Typ "GoogleAuth" gesetzt

Jetzt einfach das 6-stellige Token aus der Google Authenticator App kopieren und
=123456senden. Sofern alles ok ist bekommt man die Bestätigung das man jetzt für xx Sekunden Zugriff hat.
alternativ kann man auch gleich den ersten Befehl senden
=123456 set Lampe1 ausSolange der "Countdown" läuft werden jetzt beliebige Befehle mit
=set Lampe1 anakzeptiert.

Die Befehle triggern keine Events und tauchen auch nicht in der Message History auf. Vielleicht sollte ich hier noch ein Reading "lastCommand" befüllen. Das kann ja dann ruhig triggern da andere Notifys wohl eher auf "msgText" horchen werden.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 21 Februar 2021, 21:05:19
Eine Einschränkung der Befehle oder zusätzliche Beschränkung des Absenders habe ich jetzt nicht eingebaut - braucht man das?

Erst mal finde ich es super cool, dass du die Idee aufgegriffen hast. 1000 Dank dir!

Ja, das macht aus meiner Sicht viel vom Mehrwert aus:

Aus meiner Sicht ist eine Whitelist (welche Befehle dürfen ohne GoogleAuth laufen) besser als eine Blacklist.
Ich sehe schon, ich muss jetzt endlich mal testen. Ich versuche, im Verlauf der Woche zu starten und gebe dann Rückmeldung.

LG, weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 21 Februar 2021, 22:34:37
Zitat
Also ich bekomme die
Code: [Auswählen]
PERL WARNING: Wide character in print at fhem.pl line 992.
erstens nur einmalig und zweitens nur wenn das logging  eingeschaltet ist (verbose=3+) und FHEM entsprechend versucht die Smileys ins Log zu schreiben (was trotzdem klappt)
@sinus61: Klasse Tipp mit dem https://yaytext.com/ - da kriegt man wirklich so ziemlich alles dargestellt was man möchte, obwohl Signal das native (noch) nicht kann.

Da kann man denke ich nicht viel machen.

Hallo Jörg,
danke für die Antwort. Ich habe die Warnmeldung auch nur bei verbose 3 oder höher. Habs jetzt auf 2 gestellt, das tut es so für mich.

Jetzt bin ich gerade am kämpfen mit der Einrichtung einer Gruppe (XYZ). Habe 2 Handys mit eigenem Signal und die Instanz auf fhem (heißt hier fhem). Wenn ich es richtig verstehe starte ich die Gruppeneinrichtung von fhem aus. Die anderen Teilnehmer müssen dann die Einladung annehmen. Korrekt bis hier?
Leider kommt bei einem Handy (iOS) da eine Meldung, die mir nicht weiterhilft:
Error in invite:org.asamk.Signal.Error.Failure: Cannot join a V2 group as self does not have a versioned profile(also der Fehler wird in fhem angezeigt, nach schicken des invite)

Wenn ich dann an die Gruppe (fhem + 1 Handy) etwas schicke kommt:
Error sending message:org.asamk.Signal.Error.GroupNotFound: User is not a member in group: XYZ (Zahlen/Buchstabensalat passwort/Kennung??)
Schaue ich im Handy, welches sich verbinden ließ, die Gruppeninfo an, bekomme ich:
Zitat
fhem hat die Gruppe aktualisiert
fhem ist der Gruppe beigetreten
Gruppenname lautet jetzt "XYZ"

Diese Gruppe wurde auf eine Gruppe neuen Typs aktualisiert

Ein Mitglied konnte der Gruppe neuen Typs nicht hinzugefügt werden und wurde daher eingeladen, beizutreten.
(Mehr erfahren): u.a. dieses Mitglied muss eine Einladung zum erneuten Gruppenbeitritt annehmen und wird bis dahin keine Gruppennachrichten erhalten:
fhem

Beim iOS-Handy könnte es evtl. an einer Einstellung liegen, da muss ich mal schauen (habs nicht so mit äpple), aber bei den andern Problemen komme ich nicht weiter.
Die Fehlersuche im Wiki habe ich mal angeschaut und durchgearbeitet, aber die Fehler bei mir äußern sich ja etwas anders, die Dateien sind jeweils nur einmal vorhanden im Zusammenhang mit signal-Verzeichnissen. Das Installscript habe ich nochmals laufen lassen, (bis auf die Regisitrierung): alle Punkte sind erfolgreich und am Ende erhalte ich die 3 Messages.

Was kann ich tun?

Danke schon mal.

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 07:47:02
Hi Sany,

erstmal ein wenig Theorie:
Signal hat vor eine Weile so genannte "V2" Gruppen eingeführt. Da wurde wohl einiges an Funktionalität verbessert. Um mit diesen Gruppen zu arbeiten, braucht man zwingend eine native library (libzkgroup.so). Ohne diese, findet ein Fallback auf V1 Gruppen statt.
Gruppen müssen nicht zwingend aus Signalbot erstellt werden. Man kann "fhem" auch ganz normal in eine Gruppe einladen.

Was bei dir jetzt passiert ist: Dein System findet die library nicht und macht daher nur V1 Gruppen. Diese konntest du auch Erstellen und Leute einladen. Nur als diese neuen Mitglieder beigetreten sind, wurde die Gruppe in V2 umgewandelt und da dein System das nicht kann, fliegst du raus.

Fazit: Die Suche geht weiter, warum findet dein System die Library nicht? Hast du auch schon mit dem neusten Installscript auf signal-cli 0.8.0 upgegradet? Ab dann gibt es nämlich sogar zwei libraries und dann geht ohne gar nichts mehr - da wundert mich nämlich warum du nur GroupV2 Probleme hat.
Was für ein System hast du? (Betriebssystem. Architektur?)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 07:56:26
  • einfache Sachen wie Temperaturen abfragen will ich komfortabel haben

Um sowas komfortabel zu haben, würde ich halt mit Notify/DOIF arbeiten und spezifische Befehle anbieten. Über "allowedPeer" findet hier ja eine grundsätzliche Einschränkung statt. Mit GoogleAuth ist es halt so eine Art Administratorzugang.
Freie FHEM Befehle - auch mit einer Einschränkung über eine Whitelist - ohne Absicherung anzubieten halte ich jetzt grundsätzlich für bedenklich.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 22 Februar 2021, 08:01:10
Also die Einschränkung via allowedPeer soll natürlich immer greifen.

Wenn GoogleAuth konfiguriert ist, dann solle der Standard sein, dass ein Token übergeben werden muss.
Über eine GoogleAuth Whitelist könnte man aber Befehle definieren, für die kein GoogleAuth Token notwendig ist.

PS: Meine grundsätzliche Installation läuft übrigens, jetzt geht es ans Ausprobieren und Feinschleifen....
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 22 Februar 2021, 08:44:35
Zitat
Fazit: Die Suche geht weiter, warum findet dein System die Library nicht? Hast du auch schon mit dem neusten Installscript auf signal-cli 0.8.0 upgegradet? Ab dann gibt es nämlich sogar zwei libraries und dann geht ohne gar nichts mehr - da wundert mich nämlich warum du nur GroupV2 Probleme hat.
Was für ein System hast du? (Betriebssystem. Architektur?)

Hallo Jörg,
ich habe das vorgestern zum ersten Mal installiert, dazu vorher das system upgedated (Debian Buster auf x86 Zotac MiniPC) und die Dateien vom Forum frisch heruntergeladen, also Script-Version 1.5.

Schon mal Danke für die Theoriestunde, dann erklärt sich das Verhalten ja.

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 09:31:10
Hi Sany,

kannst du mal den /opt/signal Ordner löschen und die Installation nochmal machen.
Dann bitte das /tmp/signal_install.log und die Bildschirmausgabe posten (Telefonnummern vorher unkenntlich machen).
Aktuell kann ich mir nur noch vorstellen, das mein Script dein System versehentlich als Raspberry identifiziert und diese Libraries installiert - was dann unter X86 nicht mehr funktioniert.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 22 Februar 2021, 09:57:30
Zitat
kannst du mal den /opt/signal Ordner löschen und die Installation nochmal machen.
Dann bitte das /tmp/signal_install.log und die Bildschirmausgabe posten (Telefonnummern vorher unkenntlich machen).

die Bildschirmausgabe:
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.8.0
System library path:          /usr/lib
Phone number to be used:      +49yyyyyy
Your configuration
Linux ZotacFHEM 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux
has not been tested, continue at own risk
This will update system packages, install signal-cli and help to register with Signal service

To do this rather step by step use the command line arguments or just proceed to do system,install,register:
system   : prepare required system package (except signal-cli) - make sure you ran this before you do anything else!
install  : install signal-cli and setup as dbus system service
register : register a NEW number with Signal
link     : link an EXISTING number with Signal (e.g. you Smartphone)
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations (will be archived)
join     : Join current number to an existing group (invite by group link)
name     : set or change Signal user name and/or avatar picture
start    : Start the signal-cli service (or respective docker processes)

!!! Everything needs to run with sudo/root !!!

Proceed (Y/n)? y
Checking for /usr/lib...found
Checking for /etc/dbus-1...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for /run/dbus...found
Checking for apt-ftparchive...available
Checking for wget...available
Checking for sudo...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for pkg-config...available
Checking for gcc...available
Checking for zip...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/perl5/Test/CPAN/Changes.pm...available
Checking for /usr/include/expat.h...available
Checking for /usr/share/doc-base/libxml-parser-perl...available
Checking for /usr/share/doc/libtemplate-perl...available
Checking for /usr/share/doc/libxml-xpath-perl...available
Checking for /usr/share/build-essential/essential-packages-list...available
Checking for /usr/share/doc/libxml-twig-perl...available
Checking for /usr/share/doc/libimage-librsvg-perl...available
Checking for Net::DBus...V1.2.0 found
Checking user signal-cli ...found
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.8.0...done
Unpacking ...
done
Changing file ownership ...done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
Your device +49yyyyyyyy is already configured, do want to run through registration again?
Continue (y) or skip (N)?n
Please enter the number (+49...) of somebody that you can send a test message to
Number:+49xxxxxxx
Sending a message from command line to +49xxxxxx
Stopping signal-cli service
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
1613983968341
Start signal-cli service
Sending a message via dbus-send command
method return time=1613983980.192610 sender=:1.82 -> destination=:1.83 serial=7 reply_serial=2
   int64 1613983978861
Sending a message via perl Net::DBus
return timestamp:1613983980678
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM

und das log:
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

wie gesagt, script läuft ohne Fehlermeldungen durch.

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 10:47:49
Hi Sany,

das schaut wirklich alles gut aus. Vor allem hätten da jetzt schon Fehlermeldungen drin sein müssen wegen V2groups etc. - schaut so aus als hätte er die Libraries zumindest im interaktiven Modus gefunden.
Schon mal rebooted?
Dann schau mal was nach dem Reboot und Versuchen etwas an Gruppen zu senden oder zu Empfangen in /var/log/syslog steht
grep signal-cli /var/log/syslog Falls da nur was von "Binärdatei" kommt (war bei mir so - wahrscheinlich wegen Emojis oder Umlauten) dann workaround
strings /var/log/syslog | grep signal-cli
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 22 Februar 2021, 12:02:23
Zitat
Dann schau mal was nach dem Reboot und Versuchen etwas an Gruppen zu senden oder zu Empfangen in /var/log/syslog steht

So, rebootet und ausprobiert:
Erst mal das 2te handy vom ersten aus in die Gruppe eingefügt. Das ging. Dann der Versuch, von fhem aus an die Gruppe zu senden:
Im fhem-log:
2021.02.22 11:39:01.716 3: mySignalBot: Before parse:#StCpt Test7:

2021.02.22 11:39:01.716 5: mySignalBot: sendGroupMessage called for StCpt::Test7
2021.02.22 11:39:01.716 5: mySignalBot: getGroup StCpt
2021.02.22 11:39:35.404 5: mySignalBot: Read from Dbus done

im syslog steht davon gar nichts. Dort sind nur Einträge, wenn ich an einzelne Handys was schicke oder von denen nach fhem.

Ich habe dann eine neue Gruppe von einem Handy aus begonnen und das andere Handy und fhem eingeladen. Auch da kommt der Hinweis, dass fhem keine Nachrichten empfangen kann, solange es den Einladungslink nicht bestätigt hat. In der Gruppeninfo taucht es auch nicht auf.
Im Syslog steht dazu:
Feb 22 11:46:05 ZotacFHEM signal-cli[546]: Envelope from: unknown source
Feb 22 11:46:05 ZotacFHEM signal-cli[546]: Timestamp: 1613990762609 (2021-02-22T10:46:02.609Z)
Feb 22 11:46:05 ZotacFHEM signal-cli[546]: Sent by unidentified/sealed sender
Feb 22 11:46:05 ZotacFHEM signal-cli[546]: Sender: “S” +49yyyyyy (device: 1)
Feb 22 11:46:05 ZotacFHEM signal-cli[546]: Message timestamp: 1613990762609 (2021-02-22T10:46:02.609Z)
Feb 22 11:46:05 ZotacFHEM signal-cli[546]: Group info:
Feb 22 11:46:05 ZotacFHEM signal-cli[546]:   Id: eZQk9LmtNqXXXXXXXXXXXXXXXXXXXXXXXhmSPUHVpGA=
Feb 22 11:46:05 ZotacFHEM signal-cli[546]:   Name: CptSt
Feb 22 11:46:05 ZotacFHEM signal-cli[546]:   Revision: 1
Feb 22 11:46:05 ZotacFHEM signal-cli[546]:   Master key length: 32
Feb 22 11:46:05 ZotacFHEM signal-cli[546]:   Has signed group change: true

Dann habe ich das Installscript mit join gestartet und den Einladungslink übergeben. Das ergibt das Folgende:

This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.8.0
System library path:          /usr/lib
Phone number to be used:      +49xxxxxxxxxx
Your configuration
Linux ZotacFHEM 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux
has not been tested, continue at own risk
Your chose the following option: join

Please enter the uri link (created share group link, looking like https://signal.group/......
Group:https://signal.group/#CjQzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzPreV7Ic (geändert)
Stopping signal-cli service
If you get a 'in use, waiting' message, then stopping of system Signal service did not succeed. Press Ctrl-C and try again
java.io.IOException: Cannot join a V2 group as self does not have a versioned profile
        at org.asamk.signal.manager.helper.GroupHelper.joinGroup(GroupHelper.java:274)
        at org.asamk.signal.manager.Manager.sendJoinGroupMessage(Manager.java:864)
        at org.asamk.signal.manager.Manager.joinGroup(Manager.java:856)
        at org.asamk.signal.commands.JoinGroupCommand.handleCommand(JoinGroupCommand.java:49)
        at org.asamk.signal.App.handleLocalCommand(App.java:211)
        at org.asamk.signal.App.init(App.java:169)
        at org.asamk.signal.Main.main(Main.java:43)
Failed to send message: Cannot join a V2 group as self does not have a versioned profile
Start signal-cli service
If the recipient got the messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM
Messages kamen keine....
Nach refreshGroups erscheint aber die neue Gruppe in fhem. Nur kann ich nicht dorthin senden (gleicher Fehler: Error sending message:org.asamk.Signal.Error.GroupNotFound: User is not a member in group: CptSt (eZQk9zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzHVpGA=)

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 12:59:39
Hi Sany,

in der signal-cli Doku habe ich folgendes gefunden:
To be able to join a v2 group the account needs to have a profile (can be created with the updateProfile command

Probier mal den Installer mit dem "name" Argument zu starten und einen Namen für dein Profil zu definieren.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 22 Februar 2021, 13:20:30
hat fast geklappt:
Your chose the following option: name

Please are name for your Signal User with number +49yyyyyyyyyy (You have to update the name if you want to set a picture!)
Name:abcdefgh
Please provide a filename to a picture to be used as avatar for your user (press return to keep unchanged)
File:
Stopping signal-cli service
If you get a 'in use, waiting' message, then stopping of system Signal service did not succeed. Press Ctrl-C and try again
Update profile error: /home/steff (Is a directory)
Stopping signal-cli service
Your profile has been updated

habe das script mit sudo im home-Verzeichnis gestartet.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 13:38:19
Hi Sany,

Ok. Da ist noch ein Bug im Script.
Nimm doch einfach mal
/opt/fhem/www/images/default/fhemicon.pngals File - dann kriegst das das nette FHEM logo also Avatarbild.

Bei leeren Eingaben stimmt meine Abfrage im Script nicht.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 22 Februar 2021, 13:52:58
gibt noch nen Fehler...
Please provide a filename to a picture to be used as avatar for your user (press return to keep unchanged)
File:/opt/fhem/www/images/default/fhemicon.png
File /home/steff//opt/fhem/www/images/default/fhemicon.png was not found

irgendwie hängt er den home-Pfad davor
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 13:56:45
Probiers mal damit. Ich hoffe der Fehler ist hier gefixed
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 22 Februar 2021, 14:11:04
Success!!

Script lief durch, konnte dann vom Handy aus den fhem in die Gruppe aufnehmen und dann von fhem Nachrichten in die Gruppe schicken.
Prima, das wars!

Gruß

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 14:17:32
Prima, dann nehme ich das am Besten mal ins Wiki auf und das Setzen eines Namens sollte Teil des Standardablaufs nach der Registrierung im Script werden

P.S. Ein "updateProfile" aus FHEM ist in Vorbereitung. Dazu braucht man aktuell aber eine beta-version von signal-cli (also quasi 0.8.1)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: rubinho am 22 Februar 2021, 15:27:29
Hallo Jungs,

nachdem ich seitens Signal die Aufvorderung bekommen habe meine Smarthome Gruppe auf v2 hochzurüsten und mein Signal-Cli Client angeblich einer der Member ist, die nicht mit v2 Gruppen zurechtkommt, habe ich mein Signal-Cli auf 0.8.0 aktualisiert.

Im Zuge dessen musste ich heute feststellen, dass SiSi nicht mehr aktuell ist, sondern Signalbot.
Dieses Modul wollte ich natürlich gleich aktivieren und beginn damit net-dbus zu aktualisieren.
Allerdings brach mir die Installation mit folgender Fehlermeldung ab....
cpan install -f Net::DBus
Loading internal null logger. Install Log::Log4perl for logging messages
Reading '/root/.cpan/Metadata'
  Database was generated on Mon, 22 Feb 2021 12:29:03 GMT
Running install for module 'Net::DBus'
Checksum for /root/.cpan/sources/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz ok
Configuring D/DA/DANBERR/Net-DBus-1.2.0.tar.gz with Makefile.PL
DBus >= 1.3.0 is required
Warning: No success on command[/usr/bin/perl Makefile.PL INSTALLDIRS=site]
  DANBERR/Net-DBus-1.2.0.tar.gz
  /usr/bin/perl Makefile.PL INSTALLDIRS=site -- NOT OK

NAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

dbus/bionic-updates,bionic-security,now 1.12.2-1ubuntu1.2 amd64  [installiert]
libdbus-1-3/bionic-updates,bionic-security,now 1.12.2-1ubuntu1.2 amd64  [installiert]
libdbus-glib-1-2/bionic,now 0.110-2 amd64  [Installiert,automatisch]
libnet-dbus-perl/bionic,now 1.1.0-4build2 amd64  [installiert]
libqt5dbus5/bionic-updates,bionic-security,now 5.9.5+dfsg-0ubuntu2.5 amd64  [Installiert,automatisch]
python-dbus/bionic,now 1.2.6-1 amd64  [Installiert,automatisch]
python3-dbus/bionic,now 1.2.6-1 amd64  [installiert]

Mich macht vorallem fogendes stutzig ....
Zitat
DBus >= 1.3.0 is required

Welche aktuelle Debian oder Ubuntu Version hat denn eine Dbus Version größer/gleich 1.3 ?

Oder jage ich irgendwelchen Geistern hinterher ?

Hat jemand eine Idee ?

Gruß
Rubinho
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 15:31:50
Hi Rubinho,

Das 1.3.0 hatte mich auch schon mal verwirrt. Das sind einfach Abhängigkeiten in der Installation.
Da kann ich wieder nur empfehlen mein Install Script zu verwenden, das alles auflöst - gibt extra eine Sektion im Wiki dazu wie man von SiSi umsteigt und seine Konfiguration behält.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 22 Februar 2021, 18:45:58
Testversion mit GoogleAuth
Wer mag, bitte mal probieren.

So, habe jetzt erfolgreich die GoogleAuth Integration getestet, funktioniert super! Dabei habe ich jetzt auch das Prinzip verstanden. Finde ich soweit Klasse. Was mir noch fehlt, sollte via DOIF/notify machbar sein.

Meine Wunschliste wäre:
Vorsicht, dass die Attributnamen nicht zu lang werden. Bin mir nicht sicher, wo da das Limit ist.

Irgendetwas scheint mit den Signal Gruppen gerade nicht optimal zu laufen. Mein erster Versuch, eine Gruppe "ABC" anzulegen hat dazu geführt, dass diese Gruppe nun zwar dem Bot User zugeordnet ist, aber mit "active: false". So kann ich sie nicht mehr löschen. Nun konnte ich sie zwar ein zeites mal mit gleichem Namen anlegen, dann kann ich sie aber nicht als "allowedPeer" nutzen. Ist aber nicht dramatisch, ich komme auch gut ohne die Gruppen aus.

VG,
weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: rubinho am 22 Februar 2021, 18:46:45
Hi Adimarantis

Danke für die Info.

Nach änfänglichen Problemen, konnte ich mittels Script die notwenigen fehlenden Pakete installieren.
Nun läuft das Modul.

Eine Frage noch zum Script...  ich wollte in meine HomeAutomation Gruppe joinen, was nicht funktioniert hat, da ich meinem Profil keinen Namen verpasst hatte.
Darauf hin versuchte ich meinem Profil einen Namen zu verpassen, was allerdings auch nicht funktionierte und mit folgender Fehlermeldung terminierte...

Zitat
Update profile error: /home/fhem (Is a directory)

SIGNALPATH=/opt/fhem
SIGNALUSER=fhem
LIBPATH=/usr/lib
SIGNALVERSION="0.8.0"
SIGNALVAR=/opt/fhem/.local/share
DBSYSTEMD=/etc/dbus-1/system.d
DBSYSTEMS=/usr/share/dbus-1/system-services
SYSTEMD=/etc/systemd/system
LOG=/tmp/signal_install.log
TMPFILE=/tmp/signal$$.tmp
VIEWER=eog
DBVER=1.2.0
OPERATION=$1

Was könnte das sein ?


---Edit---
Ich hab den Namen manuell direkt via signal-cli angelegt, danach hat das joinen funktioniert.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 22 Februar 2021, 18:59:54
Irgendetwas scheint mit den Signal Gruppen gerade nicht optimal zu laufen. Mein erster Versuch, eine Gruppe "ABC" anzulegen hat dazu geführt, dass diese Gruppe nun zwar dem Bot User zugeordnet ist, aber mit "active: false". So kann ich sie nicht mehr löschen. Nun konnte ich sie zwar ein zeites mal mit gleichem Namen anlegen, dann kann ich sie aber nicht als "allowedPeer" nutzen. Ist aber nicht dramatisch, ich komme auch gut ohne die Gruppen aus.

Ist es korrekt, dass wenn ich die Gruppe als "allowedPeer" anlegen, dann Nachrichten zugelassen sind, die von der Gruppe aus versandt werden? Es werden aber keine Nachrichten akzeptiert, die von Mitgliedern der Gruppe an den Bot versandt werden. Das hätte ich anders erwartet, scheint aber so zu sein.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 19:43:13
Update profile error: /home/fhem (Is a directory)

Den Fehler hatten wir heute schon mal - war nur noch nicht dazu gekommen den Installer zu updaten. Ist jetzt geschehen (V1.6)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 19:53:52
Ist es korrekt, dass wenn ich die Gruppe als "allowedPeer" anlegen, dann Nachrichten zugelassen sind, die von der Gruppe aus versandt werden? Es werden aber keine Nachrichten akzeptiert, die von Mitgliedern der Gruppe an den Bot versandt werden. Das hätte ich anders erwartet, scheint aber so zu sein.
Ja, das ist korrekt.
Finde ich aber grundsätzlich auch richtig. Einen PM ist halt was anderes als eine Gruppennachricht. Daher ist allowedPeer auch eine Liste.
Wird das bei Telegram anders interpretiert (hab ich jetzt nicht nachgeschaut)?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 20:07:02
  • "commandKeywordUnauthorized": Analog zu commandKeyword, aber es wird kein GoogleAuth getriggert/verlangt (z. B. "#")
  • "commandPatternUnauthorized": Gibt eine Liste von Prefixen an, die über das obige Keyword ausgeführt werden dürfen (z. B. "trigger,get" bedeutet, dass "#trigger sendLichtStatus" zulässig ist)
  • "commandPattern": das selbe für die Befehle, die via GoogleAuth authorisiert werden müssen
Ich finde das aktuell zu kompliziert. Zu viele verwirrende Einstellungen über die man den Überblick verliert. Da vertrete ich lieber weiter den Ansatz: Alles weitere über notify/DOIF
Zitat
Irgendetwas scheint mit den Signal Gruppen gerade nicht optimal zu laufen. Mein erster Versuch, eine Gruppe "ABC" anzulegen hat dazu geführt, dass diese Gruppe nun zwar dem Bot User zugeordnet ist, aber mit "active: false". So kann ich sie nicht mehr löschen. Nun konnte ich sie zwar ein zeites mal mit gleichem Namen anlegen, dann kann ich sie aber nicht als "allowedPeer" nutzen. Ist aber nicht dramatisch, ich komme auch gut ohne die Gruppen aus.
Das Erstellen und Löschen von Gruppen in Signal ist mir auch noch ein Mysterium. Über das signal-cli Interface bekommt man Gruppen irgendwie nicht mehr richtig los. Selbst in der App ist es schwierig Gruppen loszuwerden (Block&Leave und dann Delete). Über das Interface geht das gar nicht.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 22 Februar 2021, 22:38:53
Alles weitere über notify/DOIF
Alles gut, dann baue ich mir das so auf!

Wird das bei Telegram anders interpretiert (hab ich jetzt nicht nachgeschaut)?
Kann ich nicht sagen, bei Telegram habe ich nicht mit Gruppen gearbeitet. Bin nur durch Zufall drüber gestolpert.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 22 Februar 2021, 22:42:46
Eine Sache wäre noch gut, wenn man sich selbst mit den DOIFs weiterhilft:
Könntest du noch ein Reading spendieren,  das als 0/1 anzeigt, ob GoogleAuth gerade authentifiziert ist, also innerhalb des mit authTimeout definierten Zeitraums?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 Februar 2021, 23:24:16
Eine Sache wäre noch gut, wenn man sich selbst mit den DOIFs weiterhilft:
Könntest du noch ein Reading spendieren,  das als 0/1 anzeigt, ob GoogleAuth gerade authentifiziert ist, also innerhalb des mit authTimeout definierten Zeitraums?
Gibt es natürlich bereits als internal (siehst du mit "list"). Das Problem ist nur: Da sich ja potentiell mehrere Anwender zu unterschiedlichen Intervallen authentifizieren können, ist das nicht einfach ein Flag, sondern ein Name=Value Hash pro Telefonnummer.
Wie soll man das darstellen? Ein Reading mit der Liste der aktuell authentifizierten Nummern? Dann musst du immer vergleichen ob der Sender in der Liste ist.
Ist natürlich deine Sache, aber bevor du jetzt die Funktionalität 1:1 nachzubilden versuchst, würde ich mich fragen, was ich erreichen will und ob es keinen einfacheren Weg gibt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 23 Februar 2021, 07:15:13
Hi Jörg!
Guter Punkt, die Info macht natürlich nur in Kombination mit dem "Sender" Sinn.
Ich hatte auf die Internals geachtet, aber nur auf die, die im Webinterface dargestellt werden. Komme ich aus einem DOIF an die Infos dran, die im List unter "helper" aufgeführt werden?

Ansonsten könnte ich mir zwei Varianten vorstellen:

Es geht mir bei dem Thema nicht darum, etwas aus TelegramBot 1:1 zu überführen. Ich überlege nur, wie ich im DOIF an die Info drankomme, ob der Sender sich authentifiziert hat.

LG, weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 Februar 2021, 07:56:07
Hi Weini,

Die erste Variante wird schnell unübersichtlich und kompliziert zum Auswerten. Das zweite könnte gehen. Hat halt potentiell eine Race condition (wenn zwischen dem Trigger des events und bis du das Reading auswertest eine neue Message gekommen ist).
Muss ich mir mal anschauen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 23 Februar 2021, 08:17:49
Den Trigger würde ich auf "msgText" setzen. Das DOIF sollte also anziehen, wenn eine neue Nachricht reinkommen. Dann würde ich eine Fallunterscheidung nach "msgAuthenticated" = 0/1 machen und entsprechen agieren.
Da sollte aus meiner Sicht keine Race-Condition auftreten können.

Gibt es eigentlich einen Grund, warum du "msgText" nicht aktualisierst, wenn ein Kommando mit dem "cmdKeyword" als Prefix reinkommt?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 Februar 2021, 09:01:12
Gibt es eigentlich einen Grund, warum du "msgText" nicht aktualisierst, wenn ein Kommando mit dem "cmdKeyword" als Prefix reinkommt?

Ja, das ist eigentlich Absicht, da der Befehl ja schon abgehandelt wird und nicht noch weitere Events erzeugen muss
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 25 Februar 2021, 21:44:56
Hat eigentlich irgendjemand schon den Effekt gehabt das jedes "send" mit einer "NotFound" Fehlermeldung quittiert wird, aber das Empfangen von Nachrichten funktioniert?
Betrifft nur das Senden an Einzelempfänger. Gruppen sind davon nicht betroffen.
Passiert bei mir nur auf einem komplett neu installierten Raspi 400.
Das scheint ein Bug in der Net::DBus library zu sein. Leider ist die schon sehr alt und der Author reagiert nicht mehr wirklich.

Falls zumindest jemand dieses Problem hat, nicht verzweifeln, es könnte tatsächlich ein seltsamer Bug sein.
Ich habe dazu einen Workaround implementiert, suche aber noch nach einer richtigen Lösung (z.B. was anderes als Net::Dbus zu nehmen), daher werde ich die Version erstmal nur auf Anfrage posten und schauen das ich das noch runder bekomme. Das Problem sollte übrigens SiSi genauso betreffen, ich verstehe aber nicht warum sich dieses eine System (bei quasi identischer Installation) anders verhält, daher wäre es interessant ob das noch jemand hat.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Hausautomat am 27 Februar 2021, 18:49:28
Moin Jörg,

erstmal herzlichen Dank für die Reimplementierung - heute habe ich endlich das lang ersehten fhem-update (nebst ansible setup dafür) und auch den Umstieg auf Signalbot geschafft. Bestehende Registrierung konnte (naturgemäß) behalten bleiben. Dabei war Dein Install-Script extrem hilfreich, um die signal-cli mit den passenden beiden arm-Libraries zu aktualisieren. Hat mir das lokale Compilieren erspart :)

Die Gruppen bleiben scheinbar immer "in der Liste", sind aber nicht aktiv. Der Umstieg auf die V2-Gruppen war etwas holprig, da ist die signal-cli-Doku etwas, sagen wir ambivalent/dürftig.

Zu Deiner Frage der Fehlermeldung: Nein, die Meldung habe ich hier beim Testen nicht gesehen. Vielleicht hilft die folgendes (mit verbose=5 auf Signalbot):
2021.02.27 18:41:35 3: Signal: Before parse:@+49176xxxxxxxx &/opt/fhem/log/store/EinfahrtCam/EinfahrtCam1_snapshot.jpg testing:

2021.02.27 18:41:35 5: Signal: sendMessage called for +49176xxxxxxxx:/tmp/signalbot1614447695.38293.jpg:testing
2021.02.27 18:41:46 5: Signal: Signalbot_receive_callback 1614447703663 +49176xxxxxxxx
2021.02.27 18:41:46 5: Signal: Read from Dbus done
2021.02.27 18:41:47 5: Signal: Signalbot_receive_callback 1614447703663 +49176xxxxxxxx
2021.02.27 18:41:47 5: Signal: Read from Dbus done

Die Leerzeile taucht genau so im Log auf.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 27 Februar 2021, 18:57:11
Schön das es so gut geklappt hat.

Ja das mit den Gruppen in ein Chaos. Das ist insgesamt in Signal etwas gewöhnungsbedürftig und in signal-cli erst recht.
Ich versuche zur Zeit ein paar updates in die nächste signal-cli Version reinzubekommen, damit man z.B. das Attribut "active" bei einer Gruppe abfragen kann (was so viel heisst das man nicht mehr drin ist) und auch aktiv FHEM Gruppen beitreten/verlassen etc. kann. Mal sehen ob das akzeptiert wird.

Bleibt zu hoffen dass der angesprochene Fehler nur mein System betrifft. Ich arbeite aber gerade an einem größeren Update bei dem ich auf ein anderes Framework umstelle das wie ich finde ein paar Vorteile bezüglich des "blocking" (oder eben gerade nicht-blocking) von FHEM während länger dauernden signal-cli Aufrufen hat (und diesen Bug nicht hat). Mal sehen - ein paar Nüsse sind da noch zu knacken.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 28 Februar 2021, 06:08:56
Hat eigentlich irgendjemand schon den Effekt gehabt das jedes "send" mit einer "NotFound" Fehlermeldung quittiert wird, aber das Empfangen von Nachrichten funktioniert?

Hallo Jörg,

ja, ich.

2021.02.28 06:07:21.690 5: Signal: Message Callback
2021.02.28 06:07:21.702 5: Signal: Message from +49123456789 : Test processed
2021.02.28 06:07:21.702 5: Signal: Read from Dbus done
2021.02.28 06:09:59.840 3: Signal: Before parse:Test:

2021.02.28 06:09:59.840 5: Signal: sendMessage called for +49123456789::Test
Error sending message:org.freedesktop.dbus.exceptions.DBusExecutionException: Error Executing Method org.asamk.Signal.sendMessage: Unknown version: 0
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Februar 2021, 08:09:15
Ok, dann poste ich die Version mal hier. Ich nenn sie jetzt mal Beta, wobei da noch keine wilden Änderungen drin sind (bzw. sind diese inaktiv).

Falls das genannte Problem beim Senden an Einzelkontakte auftritt, bitte mal das Attribut "workaround" auf 1 setzen und schauen ob das hilft.

@Weini: In der Version ist auch dein msgAuth Feature drin.

Die neue Version mit dem neuen Dbus Framework macht Fortschritte, aber da ist noch viel Arbeit. Teilweise ändert sich da die Programmlogik erheblich.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 28 Februar 2021, 08:59:24
Danke.

021.02.28 08:58:00.135 5: Signal: Init:
2021.02.28 08:58:00.147 5: Signal: Added message signal 1
2021.02.28 08:58:00.147 5: Signal: Added sync signal 2
2021.02.28 08:58:00.147 5: Signal: Added receipt signal 3
2021.02.28 08:58:00.147 5: Signal: Initializing Dbus with filehandle 13
no introspection data available for method 'version' in object '/org/asamk/Signal', and object is not cast to any interface at /usr/lib/x86_64-linux-gnu/perl5/5.30/Net/DBus/RemoteObject.pm line 467.

0.8.00
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Februar 2021, 09:44:20
Die Fehlermeldung ist normal. Das ist etwas von der Funktionalität für die nächste signal-cli Version, die schon eingebaut ist. Wird aber ignoriert und sollte trotzdem normal funktionieren.

Geht es denn jetzt?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 28 Februar 2021, 14:16:44
Leider nein, gleiche Fehlermeldung.

Error sending message:org.freedesktop.dbus.exceptions.DBusExecutionException: Error Executing Method org.asamk.Signal.sendMessage: Unknown version: 0
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 28 Februar 2021, 20:06:48
In der Version ist auch dein msgAuth Feature drin.

Vielen Dank dir!
Leider scheint es bei mir noch nicht wie geplant zu funktionieren. Ich habe für meine allowedPeers jeweils Contacts/Nicknames definiert.
Habe mir deinen Code angesehen: Kann es sein, dass der Vergleich aktuell nur funktioniert, wenn der msgSender die Telefonnummer und nicht den Kontaktnamen enthält?

Ich würde gerne mit der Telefonnummer testen, aber wie bekomme ich eigentlich die via "setContact" erstellte Zuordnung des Nicknames wieder entfernt?

VG,
weini

PS: also bei mir bleibt msgAuth grundsätzlich 0, auch wenn ich mich erfolgreich authentifiziert habe
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 28 Februar 2021, 20:21:54
Jetzt ist mir bei der Durchsicht deines Codes noch etwas aufgefallen:
Für das Handling von "Commands" (via Signalbot_command) berücksichtigst du die allowedPeers nicht. Das hatte ich eigentlich nicht so gedacht. "allowedPeer" sollte erst einmal generell den Zugriff regeln.

Denkst du, du könntest das noch anpassen?

VG,
weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Februar 2021, 20:29:55
Hi Weini,

Du hast erstmal recht - da wird falsch geprüft wenn Contacts Namen haben. Wenn du schon im Code bist:
Zeile 457 ändern: ($sender -> $source)
if (defined $hash->{helper}{auth}{$source}) { $auth=$hash->{helper}{auth}{$source}; }
Ich hatte das alllowedPeer vs. GoogleAuth als alternative gesehen. Wer für GoogleAuth authentifiziert ist, sollte doch keine weitere Einschränkung brauchen.
Da befürchte ich auch Missverständnisse von Users ("bei mir geht GoogleAuth nicht! - Ach, da muss ich allowedPeer auch noch setzen?....")

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 28 Februar 2021, 20:43:25
Hi Jörg!

Auch mit der Änderung bleibt msgAuth bei mir immer auf 0. Reload habe ich natürlich gemacht.

Ich hatte GoogleAuth nicht als Alternative sondern als Zusatz zu allowedPeer gesehen. Ohne allowedPeer würde ich ein Messenger Modul nicht betreiben. Wenn jeder Nachrichten schicken kann und irgendwo ein Sicherheitsabfrage im Modul ausgetrickst werden kann, dann ist alles offen. Für mich bringt GoogleAuth die erweiterte Sicherheit, wo ich dem Messenger Service nicht vertraue. Wenn bei Signal jemand durch welchen Umstand auch immer z. b. die Sender-Telefonnummer faken könnte, dafür will ich dann GoogleAuth zur erweiterten Absicherung.

VG,
weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 28 Februar 2021, 20:50:24
Kurzes Update zu msgAuth:
Es wird jetzt korrekt aktualisiert, wenn ich eine normale Nachrich (kein Command) sende, nachdem vorher via Command und Token authentifiziert wurde.

Was aber aus meiner Sicht sinnvoller wäre ist, wenn msgAuth schon aut 1 gehen würde, wenn man z. B. via "=934943" den GoogleAuth Code übermittelt.

VG,
weini

PS: Jetzt hab ich etwas zu schnell geschossen, im Prinzip passt das ja so. Ich muss erst wissen, ob eine Authentifizierung aktiv ist, wenn ein normaler Text geschickt wird. So hatten wir es vor ein paar Tagen ja auch diskutiert. Mea culpa, das passt also wunderbar.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Februar 2021, 21:32:15
Ich hatte GoogleAuth nicht als Alternative sondern als Zusatz zu allowedPeer gesehen. Ohne allowedPeer würde ich ein Messenger Modul nicht betreiben. Wenn jeder Nachrichten schicken kann und irgendwo ein Sicherheitsabfrage im Modul ausgetrickst werden kann, dann ist alles offen. Für mich bringt GoogleAuth die erweiterte Sicherheit, wo ich dem Messenger Service nicht vertraue. Wenn bei Signal jemand durch welchen Umstand auch immer z. b. die Sender-Telefonnummer faken könnte, dafür will ich dann GoogleAuth zur erweiterten Absicherung.
Muss ich mir nochmal überlegen. Grundsätzlich ja kein Problem - man müsste nur den test auf das Kommando in den Zweig nach allowedPeer Test verschieben.
Ich würde übrigens als allowedPeer möglichst nur Telefonnummern nehmen. Es kommt nämlich demnächst eine Änderung die den Profilnamen als Klarnamen liefert wenn kein Kontakt gesetzt ist. Der Kontakt hat zwar Vorrang, aber wenn man vergisst einen Kontaktnamen zu setzen, dann könnte jemand einfach seinen Profilnamen so ändern wie dein allowedPeer und schon ist er drin.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kaufi88 am 28 Februar 2021, 22:49:14
Hallo zusammen,
zuerst von mir ein Dankeschön für das Entwickeln von Signalbot.

Ich habe mir über den Link auf dem ersten Post von dem Thema die Files gezogen und Signalbot auch installiert bekommen.
Jedoch bekomme ich keine Verifizierung meiner Rufnummer hin.
Weder SMS/Voice noch Handy/Festnetznummer funktionieren.
Die CLI sagt mir, ich würde den Code per Sprache/SMS bekommen, jedoch kommt bei mir nicht an.

Hier der Output:
=======================================================
pi@raspberrypi:~ $ sudo -E ./signal_install.sh register
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.8.0
System library path:          /usr/lib
Phone number to be used:      +49722xxx
You seem to be on a Raspberry pi with armv7l
Your chose the following option: register

Registering for +49722xxx

Receive registration code for +49722xxx by (S)MS or (V)oice (s/v)? v
Registering +49722xxxx with Voice call
Stopping signal-cli service
You should get a call or SMS now providing a 6 digit code
===================================================

Beim Googeln bin ich auf folgenden Eintrage gestoßen:
https://github.com/AsamK/signal-cli/issues/300

Kennt ihr das Problem?
Im Syslog finde ich auch keine Einträge wenn ich ein Grap auf singal-cli mache.


Viele Grüße
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Februar 2021, 23:21:40
Hi Kaufi,

Brich mal an der Stelle ab und schau ob du unter /tmp/signal*.tmp logdateien findest.
Was steht da drin?
Wenn soweit alles installiert ist, kannst du auch mal
sudo -u signal-cli /opt/signal/bin/signal-cli --config /var/lib/signal-cli -u +49xxxx register --voicedirekt ausführen (was anderes macht das Script auch nicht). Dann siehst du eventuelle Fehlermeldungen die das Script versteckt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: binford6000 am 01 März 2021, 04:35:24
Hallo Jörg,
vielen Dank für das tolle Modul und das dazugehörige Install-Skript!
Es hat alles auf Anhieb funktioniert.  ;)

Jetzt brauche ich den Telegram-Bot nur noch für Dialoge einspannen...

Da ich vieles mit msg push [...] umgesetzt habe hier noch meine Anpassungen an ROOMMATE
und im globalMsg-Device:

ROOMMATE:
msgContactPush   signalbot:@Sebastian

globalMsg:
msgCmdPush    set %DEVICE% send %MSG%

Ich weiß das ist nur sehr rudimentär - aber für meinen Anwendungsfall ausreichend.
Vielleicht setzt du dich mal mit loredo (Maintainer von globalMsg) in Verbindung. Die Vorbereitungen sind laut
get routeCmd push
bereits vorhanden:
Signalbot
    Priority Normal:
     
      Default Values:
    Priority High:
     
    Priority Low:
     

  SiSi
    Priority Normal:
      set %DEVICE% %SiSi_MTYPE% @%RECIPIENT% %MSG%
      Default Values:
        RECIPIENT = [EMPTY]
        SiSi_MTYPE = message
    Priority High:
      set %DEVICE% %SiSi_MTYPE% @%RECIPIENT% %MSG%
      Default Values:
        SiSi_MTYPE = message
        RECIPIENT = [EMPTY]
    Priority Low:
      set %DEVICE% %SiSi_MTYPE% @%RECIPIENT% %MSG%
      Default Values:
        SiSi_MTYPE = message
        RECIPIENT = [EMPTY]


VG Sebastian
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 März 2021, 08:53:20
Hi Sebastian,

ich hab mal einen Post dazu im Thread von Loredo losgelassen.
Ich meine das ich da gar nichts machen muß, aber so richtig hab ich mich nicht damit beschäftigt. Ich muss mir das msg Modul auch nochmal genauer ansehen. Hab selber viele DOIFs mit Benachrichtigungen und auch eine rudimentäre Anwesenheitserkennung über "Presence" via Handy MAC Adressen auf der Fritzbox. Kannst du mir (evtl. per PM) mal ein paar Beispiele geben, welche Anwendungsfälle du da konfiguriert hast und wie? Gerade geht alle Zeit in die Komplettüberarbeitung von Signalbot inkl. pull requests für signal-cli drauf, da will ich mich gerade nicht mühsam einlesen :)

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: binford6000 am 01 März 2021, 09:24:58
Hi Sebastian,

ich hab mal einen Post dazu im Thread von Loredo losgelassen.
Ich meine das ich da gar nichts machen muß, aber so richtig hab ich mich nicht damit beschäftigt. Ich muss mir das msg Modul auch nochmal genauer ansehen. Hab selber viele DOIFs mit Benachrichtigungen und auch eine rudimentäre Anwesenheitserkennung über "Presence" via Handy MAC Adressen auf der Fritzbox. Kannst du mir (evtl. per PM) mal ein paar Beispiele geben, welche Anwendungsfälle du da konfiguriert hast und wie? Gerade geht alle Zeit in die Komplettüberarbeitung von Signalbot inkl. pull requests für signal-cli drauf, da will ich mich gerade nicht mühsam einlesen :)

Jörg

Ja gerne. PN geht gleich raus...
VG Sebastian
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 01 März 2021, 16:12:22
Hi Jörg!

Bin gerade nochmal über etwas gestolpert:
Über die "Commands" löse ich bei mir via "trigger" ein Notify aus. Aus diesem möchte ich nun z. B. das Bild einer Webcam zurückschicken. Dafür brauche ich aber den Zugriff auf auf das "msgSender" Reading, um das Bild zurücksenden zu können.
Da wäre es schon wichtig, wenn die Readings auch aktualisiert werden, wenn ein "Command" reinkommt.

VG, weini

PS: Wenn du das
Muss ich mir nochmal überlegen. Grundsätzlich ja kein Problem - man müsste nur den test auf das Kommando in den Zweig nach allowedPeer Test verschieben.
umsetzen würdest, dann wäre die Aktualisierung der Readings quasi ein Abfallprodukt...   ;)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Hausautomat am 01 März 2021, 22:12:44
Hab die letzten Fehlermeldungen nicht verfolgt - bei mir steigt signal-cli (0.8.0) seit heute früh immer aus.

Error sending message:org.asamk.Signal.Error.Failure: java.util.concurrent.ExecutionExcep
tion: java.lang.AssertionError: Unknown version: 0


https://github.com/AsamK/signal-cli/issues/552 (https://github.com/AsamK/signal-cli/issues/552)

Scheint ein Problem zu geben. Kann's selbst aber gerade nicht mit dem Master-Branch testen.

Just for your information...
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kaufi88 am 01 März 2021, 22:34:46
Hi Kaufi,

Brich mal an der Stelle ab und schau ob du unter /tmp/signal*.tmp logdateien findest.
Was steht da drin?
Wenn soweit alles installiert ist, kannst du auch mal
sudo -u signal-cli /opt/signal/bin/signal-cli --config /var/lib/signal-cli -u +49xxxx register --voicedirekt ausführen (was anderes macht das Script auch nicht). Dann siehst du eventuelle Fehlermeldungen die das Script versteckt.

Jörg

Hi Jörg,
Danke für den Tipp.
Ich habe gesehen, dass meine Java-Version zu alt war. Habe dann mittels wget http://download.bell-sw.com/java/14+36/bellsoft-jdk14+36-linux-arm32-vfp-hflt-full.deb und sudo apt-get install ./bellsoft-jdk14+36-linux-arm32-vfp-hflt-full.deb eine neue Version installiert. Nun läuft: openjdk version "14" 2020-03-16

Nun bekomme ich leider folgenden Fehler:
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
ERROR App - Error loading or creating state file: Incorrect file format: expected parameter password not found

Hast Du das schonmal gesehen?

Viele Grüße
Kaufi
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 02 März 2021, 09:11:23
Hi Kaufi,

Der V2 Fehler ist im Wiki dokumentiert, aber evtl. liegt das an deiner Java Installation. Standardmässig nehme ich eine andere Version.
Ich würde vorschlagen, dass du alle Java Pakete mal entfernst und dann Java nochmal über das Script installierst. Das Script checkt nur ob Java da ist, aber evtl. haben manche Versionen Probleme. Am Besten auch das /opt/signal Verzeichnis vorher auch nochmal löschen und neu installieren lassen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 02 März 2021, 09:16:05
Scheint ein Problem zu geben. Kann's selbst aber gerade nicht mit dem Master-Branch testen.

Ich hatte das auch als einer meiner Kontakte Signal neu installiert hatte. Schau mal in diesen (geschlossenen) Bug - da steht wie man es auch mit der aktuellen Version wieder hinkriegt falls es das ist.

https://github.com/AsamK/signal-cli/issues/530

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kaufi88 am 02 März 2021, 21:36:32
Hi Kaufi,

Der V2 Fehler ist im Wiki dokumentiert, aber evtl. liegt das an deiner Java Installation. Standardmässig nehme ich eine andere Version.
Ich würde vorschlagen, dass du alle Java Pakete mal entfernst und dann Java nochmal über das Script installierst. Das Script checkt nur ob Java da ist, aber evtl. haben manche Versionen Probleme. Am Besten auch das /opt/signal Verzeichnis vorher auch nochmal löschen und neu installieren lassen.

Jörg


Hallo Jörg,
vielen Dank für den Hinweis.
Ich habe neben /opt/signal auch  /var/lib/signal-cli gelöscht und damit hat sich das Problem mit dem Statefile erledigt.
Das mit den libzkgroup habe ich leider immer noch, obwohl ich /opt/signal bereits mehrfach gelöscht habe.

Hier die Ausgaben gemäßt dem Wiki:
sudo ldconfig -v | grep libzkgroup.so
ldconfig: Path `/lib/arm-linux-gnueabihf' given more than once
ldconfig: Path `/usr/lib/arm-linux-gnueabihf' given more than once
ldconfig: /lib/arm-linux-gnueabihf/ld-2.24.so is the dynamic linker, ignoring

ldconfig: /lib/ld-linux.so.3 is the dynamic linker, ignoring

==> Was genau soll mir diese Ausgabe sagen? ;)

sudo find / -name libzkgroup.so 2>/dev/null
/tmp/libzkgroup.so
=> Diese Datei habe ich in libzkgroup.so.bak umbenannt, kam jedoch wieder nach dem ich das Installfile erneut habe laufen lassen.

Selbiges gilt für:
 sudo find / -name zkgroup-java-*.jar 2>/dev/null
/opt/signal/lib/zkgroup-java-0.7.0.jar

Was könnte ich hier falsch machen?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 02 März 2021, 21:51:53
Schaut das bei dir auch so aus? (bis aufs Datum natürlich)?

unzip -v zkgroup-java-0.7.0.jar | grep libzkgroup.so
  681524  Defl:N   303713  55% 2021-02-12 22:17 f8690f9d  libzkgroup.so

ls -l zkgroup-java-0.7.0.jar
-rw-r--r-- 1 signal-cli signal-cli 338549 Feb 21 12:04 zkgroup-java-0.7.0.jar
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kaufi88 am 03 März 2021, 09:38:26
Schaut das bei dir auch so aus? (bis aufs Datum natürlich)?

unzip -v zkgroup-java-0.7.0.jar | grep libzkgroup.so
  681524  Defl:N   303713  55% 2021-02-12 22:17 f8690f9d  libzkgroup.so

ls -l zkgroup-java-0.7.0.jar
-rw-r--r-- 1 signal-cli signal-cli 338549 Feb 21 12:04 zkgroup-java-0.7.0.jar

Hi Jörg,
die erste Zeile ja:
pi@raspberrypi:/opt/signal/lib $ unzip -v zkgroup-java-0.7.0.jar | grep libzkgroup.so
  681524  Defl:N   303713  55% 2021-02-12 22:17 f8690f9d  libzkgroup.so

Bei der zweiten Abfrage habe ich jedoch eine andere Dateigröße
pi@raspberrypi:/opt/signal/lib $ ls -l zkgroup-java-0.7.0.jar
-rw-r--r-- 1 signal-cli signal-cli 338593 Mar  2 21:25 zkgroup-java-0.7.0.jar

Viele Grüße
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 März 2021, 10:24:05
Signalbot V2 Beta Test, Update zu signal-cli 0.8.1

Warum gibt es nach so kurzer Zeit schon eine V2?

Welche Vorteile habe ich von dieser Version?
Details zu den neuen Funktionen in der inline Doku.

Wie steige ich um?

Kann ich wieder zurück wenn es nicht klappt?

Known issues:
Der Fehler: "Error in getContactName:Error Executing Method org.asamk.Signal.getContactName: null" kann ignoriert werden. Er tritt auf wenn mit Profilen ohne Namen (bei Kommunikationspartnern) gearbeitet wird. Ein Fix wird es wohl erst mit der nächsten signal-cli Version geben. Am Besten dafür sorgen dass alle Kontakte auch in ihrem Profil (das ist nicht setContact!) einen Namen gesetzt haben.

7.3.21: Update 2.02-beta (einige Signalbot enhancements, Installer testet jetzt korrekt mit Protocol::DBus)

Gruß,
Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 März 2021, 12:25:26
Bei der zweiten Abfrage habe ich jedoch eine andere Dateigröße
Das besorgt mich jetzt nicht sehr, aber vielleicht kannst du die mal irgendwo hochladen, damit ich die vergleichen (oder sogar mal auf meinem Testsystem einspielen) kann. Bisher sehe ich nicht warum es nicht funktionieren sollte.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 03 März 2021, 12:42:46
Ich habe signal-cli 0.8.1 und die Signalbot V2 beta nun installiert - auf den ersten Blick klappt es.

Meine Sendeproblematik war auch mit der vorherigen Signalbot-Version aber mit der signal-cli 0.8.1 schon behoben.

2021.03.03 12:37:09.075 5: Signal: Init:
2021.03.03 12:37:09.075 4: Signal: Protocol::DBus version found 0.16
2021.03.03 12:37:09.786 5: Signal: ASync Dbus Call: version Args:empty
2021.03.03 12:37:09.798 5: Signal: My Dbus Name is :1.51
2021.03.03 12:37:09.819 5: Signal: ASync Calling: version Args:0.8.1
2021.03.03 12:37:09.820 5: Signal: ASync Dbus Call: listNumbers Args:empty
2021.03.03 12:37:09.831 5: Signal: ASync Calling: listNumbers Args:Protocol::DBus::Type::Array=ARRAY(0x5612ad48c658)
2021.03.03 12:37:09.831 5: Signal: Sync Dbus Call: getContactName Args:+49x1
2021.03.03 12:37:09.838 4: Signal: Sync Error for: getContactName
2021.03.03 12:37:09.846 5: Signal: Sync Dbus Call: getContactName Args:+49x2
2021.03.03 12:37:09.848 5: Signal: Sync Dbus Call: getContactName Args:+49x3
2021.03.03 12:37:59.760 3: Signal: Before parse:Test:

2021.03.03 12:37:59.761 4: Signal: sendMessage called for +49123456789::Test
2021.03.03 12:37:59.761 5: Signal: ASync Dbus Call: sendMessage Args:Test,ARRAY(0x5612ad4f2160),ARRAY(0x5612ad4f2208)
2021.03.03 12:38:01.246 5: Signal: ASync Calling: sendMessage Args:1614771479778
2021.03.03 12:38:02.588 5: Signal: Sync Callback: ReceiptReceived Args:1614771479778,+49123456789
2021.03.03 12:38:02.588 5: Signal: Signalbot_receive_callback 1614771479778 +49123456789
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 März 2021, 12:58:24
Ich habe signal-cli 0.8.1 und die Signalbot V2 beta nun installiert - auf den ersten Blick klappt es.

Schon zu hören.
Vielleicht noch ein Nachtrag zum Thema Logging/verbose. Das habe ich jetzt ein wenig systematischer abgestuft
verbose = 5: Internes logging (Funktionsaufrufe und Parameter) - braucht man normalerweise nicht oder nur bei Bedarf (debugging) einschalten
verbose = 4: Warnings und besonders wichtige Funktionsaufrufe - In der Betaphase sicher gut
verbose = 3: Fehlermeldungen , wichtige Meldungen (nicht nicht zwangsläufig fatal sind) - Auch im Normalbetrieb manchmal hilfreich
verbose = 1: Schwerwiegende Fehler - Reicht für den produktiven Betrieb

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 März 2021, 17:12:46
Den ersten Bug habe ich schon selber gefunden  :)
Durch den asynchronen Mechanismus hatte ich Bilder schneller gelöscht als verschickt.
Update im oberen Post.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 März 2021, 18:42:53
Jetzt hatte sich in dem Fix für die Bilder doch glatt ein böser Fehler eingeschlichen der zu einem FHEM restart führen kann.
Dafür ist im update oben auch noch enthalten, dass die interne Gruppenliste (und das joinedGroups) bei einer Änderung der Gruppe (join,leave,rename..) aktualisiert wird.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 04 März 2021, 07:34:47
Guten morgen Jörg,
bin jetzt auch auf die v2 Beta gegangen, funktioniert soweit, ich habe auch das versenden von Bildern getestet. Danke für das Modul.
2 Fragen:
- Kannst Du evtl eine Versionsnummer mit in die Internals mit aufnehmen? Dann weiss man ob man wirklich mit der 2.0 Beta spricht oder nicht doch mit der alten version
- Kann man das NET:DBUS auch wieder löschen, ohne sich irgendwas kaputtzuschiessen, und wenn ja - wie?

Beste Gruesse, Jamo!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 März 2021, 10:19:08
Hi Jamo,

Perl Module lassen sich wohl nur mit dem "cpanminus" Befehl deinstallieren. Das müsstest du dann möglicherweise erst installieren (sudo apt-get install cpanminus)
Dann sollte das mit
sudo cpanm --uninstall Net::DBusgehen. Das deinstalliert aber nur den inhalt der Verzeichnisse
/usr/local/lib/arm-linux-gnueabihf/perl/5.28.1/Net/DBus*
/usr/local/man/man3/Net::DBus*

Wenn du cpanm nicht sowieso auf deinem System hast, musst du dafür so viele neue Pakete installieren, dass das sicher nicht lohnt. Da ist ein "rm" wahrscheinlich besser

Desweiteren braucht man wohl diese Pakete nicht mehr:
sudo apt remove libexpat1-dev libxml-parser-perl libtemplate-perl libxml-xpath-perl xml-twig-tools
sudo apt autoremove
Außerdem wird "gcc" für die Net::DBus installation installiert. Wer den nicht braucht, kann den auch gefahrlos entfernen.

Eventuell noch weitere, aber da muss ich noch Experimente mit der Dockerumgebung machen.

Versionsnummer: Ja, macht Sinn. Signal-Cli ist da ja auch inzwischen drin - wobei das dann beides wohl eher in die internal readings gehört. Vielleicht einfach ein String mit allen Versionsnummer damits nicht so viele Zeilen gibt.


Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 04 März 2021, 14:53:51
Hallo Jörg,
danke, ich habe die Verzeichnisse jetzt manuell entfernt. Das "sudo apt remove libexpat1-dev libxml-parser-perl libtemplate-perl libxml-xpath-perl xml-twig-tools" entferne dann doch noch einige andere Pakete, die woanders gebraucht werden.

Versionsnummer: Danke, das ist prima und würde Dir wahrscheinlich auch helfen, wenn einer einen Fehler meldet.
Beste Grüsse, Jamo
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: binford6000 am 04 März 2021, 17:08:01
Signalbot V2 Beta Test, Update zu signal-cli 0.8.1


Der Fehler: "Error in getContactName:Error Executing Method org.asamk.Signal.getContactName: null" kann ignoriert werden. Er tritt auf wenn mit Profilen ohne Namen (bei Kommunikationspartnern) gearbeitet wird. Ein Fix wird es wohl erst mit der nächsten signal-cli Version geben. Am Besten dafür sorgen dass alle Kontakte auch in ihrem Profil (das ist nicht setContact!) einen Namen gesetzt haben.

Gruß,
Jörg

Hallo Jörg,
hier auch soweit alles bene. Musste allerdings neu registrieren. Und hab demzufolge auch den o.g. Fehler bekommen.
Aber sonst alles OK.

Um den Hinweis von Jamo aufzunehmen: Du könntest auch die Version von 50_Signalbot.pm als INTERNAL zur
Verfügung stellen. Dann hast du wirklich alles Infos wenn es mal bei jemandem hakt.

VG Sebastian
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 04 März 2021, 17:28:42
Hallo Jörg,

habe auch gleich mal die Beta2 probiert, installer läuft ohne Probleme durch (habe NICHT neu registriert)....(ok, nachdem ich die TelNr. im Script geändert hatte gings dann. Muss ich mich dran gewöhnen...)

Ich habe jetzt gerade den Bilderversand getestet, aber das klappt nicht. Es kommt gar nichts an, im lastError Reading steht:
Error in sendMessage:/tmp/signalbot1614874881.61289.jpg: /tmp/signalbot1614874881.61289.jpg (No such file or directory)

und mit verbose5 steht das im Log:
2021.03.04 17:21:21.612 3: mySignalBot: Before parse:@S &/opt/fhem/www/snapshots/CamEinfahrt_snapshot.jpg:

2021.03.04 17:21:21.616 4: mySignalBot: sendMessage called for S:/tmp/signalbot1614874881.61289.jpg:
2021.03.04 17:21:21.617 5: mySignalBot: ASync Dbus Call: sendMessage Args:,ARRAY(0x5559addc1a58),ARRAY(0x5559acc1a098)
2021.03.04 17:21:21.623 4: mySignalBot: ASync Error for: sendMessage

Sieht nach Deiner Fehlerbeschreibung
Zitat
Den ersten Bug habe ich schon selber gefunden  :)
Durch den asynchronen Mechanismus hatte ich Bilder schneller gelöscht als verschickt.
Update im oberen Post.
aus,
ich nutze die neuesete SignalBot.pm (55190bytes, Mar 3 12:45) und Neustart ist gemacht.

Gruß

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 März 2021, 18:05:25
@Sany: Das mit dem Bilder muss eigentlich gehen. Ich habe jetzt die Version im Post mit derjenigen ersetzt die Versionsnummern anzeigt. Bitte nochmal aktualisieren.
Im internal Reading VERSION muss dann 2.0.1-beta stehen. (ich mach jetzt mal Unterschritte in der Hoffnung das die 2.1 dann Release wird).

@binford: Neuregistrierung sollte eigentlich nicht nötig sein. Die Fehlermeldung kommt übrigens dann, wenn ANDERE in Signal keinen Profilnamen gesetzt haben, sollte aber weg sein, wenn man diesem Anwender mit setContact einen eigenen Kontaktnamen gibt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 04 März 2021, 18:30:43
@Jörg,

Bild schicken klappt jetzt wieder. Und vielen Dank für die VERSION-Anzeige:
VERSION Signalbot:2.0.1-beta signal-cli:0.8.1 Protocol::DBus:0.16
macht es übersichtlicher :)

Viele Grüße

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 05 März 2021, 08:16:41
Und noch eine Bitte:

Bitte die aktuellen Versionen immer im ersten Beitrag verlinken, nicht mittendrin - mittendrin am besten überall raus holen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: binford6000 am 05 März 2021, 08:32:33
@binford: Neuregistrierung sollte eigentlich nicht nötig sein. Die Fehlermeldung kommt übrigens dann, wenn ANDERE in Signal keinen Profilnamen gesetzt haben, sollte aber weg sein, wenn man diesem Anwender mit setContact einen eigenen Kontaktnamen gibt.

Moin Jörg,
doch ich musste neu registrieren. Komisch...  :o

Heute morgen habe ich die letzte Version eingespielt:
VERSION
Signalbot:2.0.1-beta signal-cli:0.8.1 Protocol::DBus:0.16


Danach eine Nachricht an mich:
sentMsg hallo 2021-03-05 08:20:13
Und kurze Zeit später wieder der Fehler:
lastError Error in getContactName:Error Executing Method org.asamk.Signal.getContactName: null
2021-03-05 08:21:03

Die Nachricht geht ganz normal durch und der Peer ist bekannt und hat einen Namen und alles...
Was mir noch aufgefallen ist: In der Signal App hatte ich nur meinen  Vornamen + ein Emoji gesetzt.
Der Nachname war leer. Vielleicht liegts daran...

Jetzt muss ich nur noch meine nextcloud Two-Factor App auf Signal umstellen und dann kann Telegram
in Rente gehen  ;)

VG Sebastian
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 März 2021, 09:32:23
Hi Sebastian,

Der Nachname war leer. Vielleicht liegts daran...
Der Fall ist eigentlich explizit in signal-cli abgebildet... wobei gestest hab ichs nicht.

Wenn du verbose 5 machst, dann solltest du bei einem "get contacts all" folgende Zeilen im Logfile sehen:
2021.03.02 22:23:59 5: SignalBot: Sync Dbus Call: getContactName Args:+49xxxxxxxx
2021.03.02 22:23:59 4: SignalBot: Sync Error for: getContactName
Jeweils die Zeile vor dem "Sync Error" sollte dir sagen, welche Nummer Probleme macht. Wenn du dann ein setContact machst um der Nummer einen Namen zu geben, sollte das Problem eigentlich weg sein.

Ich diskutiere mit dem signal-cli Author gerade einen Fix für das Problem, aber wir sind uns noch nicht einig :) Hilft aber unmittelbar eh nichts, weil es dann erst in die 0.8.2 kommen würde.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: binford6000 am 05 März 2021, 13:21:49
Hier die Ausgabe:
2021.03.05 13:17:14 5:  signalbot: Sync Dbus Call: listNumbers Args:empty
2021.03.05 13:17:14 5:  signalbot: Sync Dbus Call: isContactBlocked Args:+49...
2021.03.05 13:17:14 5:  signalbot: Sync Dbus Call: isContactBlocked Args:+49...
2021.03.05 13:17:19 5:  signalbot: Sync Dbus Call: getGroupIds Args:empty
2021.03.05 13:17:19 5:  signalbot: Sync Dbus Call: getGroupName Args:ARRAY(0x563c26fe1690)
2021.03.05 13:17:19 5:  found group Tigers
2021.03.05 13:17:19 5:  signalbot: Sync Dbus Call: isMember Args:ARRAY(0x563c26fe1690)
2021.03.05 13:17:19 5:  signalbot: Sync Dbus Call: isGroupBlocked Args:ARRAY(0x563c26fe1690)
2021.03.05 13:17:19 5:  signalbot: Sync Dbus Call: getGroupMembers Args:ARRAY(0x563c27605db0)
2021.03.05 13:17:19 5:  signalbot: Sync Dbus Call: getContactName Args:+49...
2021.03.05 13:17:19 4:  signalbot: Sync Error for: getContactName

Und die passende Fehlermeldung:
lastError Error in getContactName:Error Executing Method org.asamk.Signal.getContactName: null 2021-03-05 13:17:19
Weder die Kontakte noch die Gruppe ist natürlich blocked...
Wie gesagt funktioniert auch alles soweit.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 06 März 2021, 11:07:26
Hallo Jörg!

Bin immer mehr beindruckt von deiner Geschwindigkeit und Qualität!
Ich habe auf die Beta-2 mit signal-cli 0.8.1 umgestellt. Bei der Intallation (sudo signal_install.sh system) wurde bei mir das "Protocol dBus" Perl Modul nicht installiert. Bin mir nicht sicher, ob das hätte passieren sollen. Die Fehlermeldung im FHEM Modul ist aber sehr klar, insofern war die Nachinstallation kein Problem.

1000 Dank dir für das generelle Refactoring, so dass auch Commands jetzt die Readings aktualisieren und vor allem grundsätzlich der allowedPeer geprüft wird.
Ich habe ein generisches notify aufgebaut, dass die Differenzierung von authorisierten und nicht-authorisierten Commands abbildet und zusätzlich eine Favoritendefinition erlaubt. Dazu nutze ich user-defined Attribute auf dem signalblot Device.
Ich kann den Code neben einer Beschreibung entweder hier posten oder im Wiki-Artikel als ergänzenden Use Case mit aufnehmen. Wäre dir letzteres recht?

VG,
weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 März 2021, 12:00:14
Bin immer mehr beindruckt von deiner Geschwindigkeit und Qualität!
Danke für die Blumen.

Zitat
Ich kann den Code neben einer Beschreibung entweder hier posten oder im Wiki-Artikel als ergänzenden Use Case mit aufnehmen. Wäre dir letzteres recht?
Da können wir gerne ein Kapitel im Wiki machen - alles was längerfristig interessant ist, sollte dort landen - im Thread findet man hinterher nichts mehr.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 07 März 2021, 12:14:00
Hi Jörg!

Habe den Wiki Eintrag ergänzt. Bitte gerne um Feedback, wenn etwas überarbeitet werden soll.

VG,
weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 07 März 2021, 17:04:27
Hallo Jörg,

die Beta läuft bei mir stabil, nichts dran auszusetzen, alle Messages kommen wie gewünscht. (Manchmal auf dem Handy etwas später, vermute das liegt am Powermanagement (Android), muss ich noch ergründen.
Was mir noch aufgefallen ist sind Zeilenumbrüche:
Wenn ich direkt im Signabot-Device oder z.B. aus einem DOIF heraus ein
set signalBot send Zeile1\nZeile2\nZeile3\nZeile4 sende wird nur der erste Zeilenumbruch durchgeführt, bei allen danach steht dann ein n mit im Text.
Wenn ich z.B. in einem DOIF erst einer Variablen den Text zuweise und dann sende kommt alles wie gewünscht in mehreren Zeilen. Irgendwo geht da der Escape-backslash verloren.

Ansonsten: tolles Modul, kommt sicher bald ins fhem-update ;)

Viele Grüße :)

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 März 2021, 21:45:24
Kleines Update 2.02-beta im Original Post : https://forum.fhem.de/index.php/topic,118370.msg1136873.html#msg1136873


Anmerkung zu den Multi-Accounts:
Wenn man mehrere Nummern unter signal-cli definiert und beim Start des Daemons den -u Parameter weglässt, dann werden alle Accounts unter speziellen DBus-Pfaden aktiv. Achtung: Der Standard-Pfad funktioniert dann aber gar nicht mehr und damit ging bisher Signalbot auch nicht.
Jetzt kann man für diesen Fall die Telefonnummer an das "define" anhängen und sogar mehrere Instanzen erzeugen die auf unterschiedliche Nummern hören.

Ich hoffe das ich da noch Änderungen in signal-cli einbringen kann, die das Verhalten etwas deterministischer machen (z.B. dann eine Master Instanz, die zwar nicht verbunden ist, aber gewisse Grundfunktionalität wieder Auflistung der Accounts und möglichst sogar die Registrierung anbietet).

Gruß,
Jörg


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Sany am 08 März 2021, 09:43:16
kurze Rückmeldung zu 2.02beta:
- installer läuft problemlos durch
- mehrere zeilenumbrüche funktionieren wie gewünscht.
die anderen Änderungen treffen für mich nicht zu.

Viele Grüße und vielen Dank

Sany
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Mad-at am 08 März 2021, 16:44:45
Hallo!

Finde ich ganz klasse, hat gleich mal Pushbullet ersetzt! Viel schneller&zuverlässiger&einfacher - wenns einmal installiert ist. Das Script ist auch gut, aber bei mir wollte es ein Captcha - vermutlich weil österreichische IP aber deutsche Telefonnummer. Reine Spekulation natürlich.

Aaber: seit ich die Beta 2.0.1 installiert habe ist der Speicherverbrauch auch von fhem selber (also nicht nur die knapp 400 mb durch die cli) deutlich gestiegen. Hat meinen Raspi 3 mit den standard 100Mb Swap File verlässlich in den Tod getrieben (zwischen 13-15 Minuten nach Reboot). Mit 1024 Mb Swap war es viel besser, hat ca 3h durchgehalten. Dann ist mir der Geduldsfaden gerissen und ich hab 8GB Swap angelegt, seither ist Ruhe...

Nur so als Feedback und potentielle Hilfe für andere

Lg
Matthias
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 08 März 2021, 17:46:03
seit ich die Beta 2.0.1 installiert habe ist der Speicherverbrauch auch von fhem selber (also nicht nur die knapp 400 mb durch die cli) deutlich gestiegen.
Das ist seltsam. Ich hätte hier sogar einen umgekehrten Trend erwartet.
Mein Produktivsystem (FHEM+PiVCCU+ffmpeg IPcam Prozess+signal-cli+pi-hole) läuft auf meinem Pi4 mit 1.0/4.0 GB RAM - der 100MB! Swap ist zwar voll, aber sagt ja nichts.
Mein Testsystem (FHEM+signal-cli) hat aktuell 570MB/4.0GB RAM und 0/100MB Swap. Der Raspi 3 hat doch 1GB, oder? D.h. der sollte das schon noch packen.
Beide laufen seit 11 Tagen ohne reboot (da hatte ich mal wieder alle Updates laufen lassen).

Also ich kann dein Speicherproblem nicht wirklich nachvollziehen. Hat sonst noch jemand Erfahrungswerte dazu?

Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Mad-at am 08 März 2021, 17:52:09
Ja der hat 1GB
Aber ehrlicherweise: der arme Pi muss auch bei mir mehr als nur FHEM stemmen: emonhub, Pihole und unbound laufen auch.
Trotzdem ja, finde es auch strange. Ich hatte v1 aber auch nicht sehr lange laufen bis ich Deine beta entdeckt habe, vielleicht wärs unter der auch aufgelaufen? Keine Ahnung.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 08 März 2021, 18:16:36
Also wenn ich bei mir auf den Speicher schaue, dann ist FHEM ferner liefen beim Speicherverbrauch. Das deckt sich mit meiner Vermutung das Signalbot von V1 auf V2 eigentlich eher sogar weniger Speicher braucht (und definitiv weniger als SiSi weil es keinen fork() Prozess braucht).
Ganz vorne ist allerdings signal-cli - und das ist ja ein Java Prozess - und Java bedient sich gerne großzügig und räumt nur auf wenn es muss.
Du könntest mal probieren, ob du Java den Speicherhunger abgewöhnst indem du den maximalen Heap beschränkst.
Das geht mit z.B. mit
-Xmx256m Keine Ahnung wie weit man da runtergehen kann bevor es "Out of Memory" gibt, aber eigentlich sollte signal-cli nicht so wahnsinnig viel brauchen.

Dazu musst du
/etc/systemd/system/signal.serviceeditieren und die Zeile mit Environment z.B. so ändern:
Environment="SIGNAL_CLI_OPTS=-Xms2m -Xmx256m"
Kannst das ja mal versuchen auszureizen und hier posten wie weit man das treiben kann.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Mad-at am 08 März 2021, 18:55:24
Ok, werds ausprobieren! Merci!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 08 März 2021, 21:37:00
Moin Jörg,

Signalbot:2.0.2-beta signal-cli:0.8.1 Protocol::DBus:0.16
Ich habe komplett neu installiert und registriert. Alles ohne Probleme. Funktioniert wie vorher auch schon. Speicher beobachte ich auch mal mit einem Auge. Das Problem mit den Zeilenumbrüchen hatte ich auch. Hatte da aber den Fehler bei mir gesucht nun ist es aber auch gelöst :)

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Nighthawk am 17 März 2021, 13:28:49
Hallo Jörg,

als erstes vielen Dank für das tolle Modul, ich habe dieses von Anfang an auf 2 von einander unabhängigen Instanzen laufen.
Vor ein paar Tagen bin ich mit der ersten Intstanz zu der Beta 2.0.2 gewechselt und diese läuft absolut problemlos, da habe ich auch die zweite Instanz umgestellt.
Die zweite instanz hat leider nur einige Stunden funktioniert, seit gestern bekomme ich keine messages über Signalbot mehr.
Das Device hat eine Fehlermeldung
Error in sendMessage:java.net.ConnectException: Failed to connect to textsecure-service.whispersystems.org/2001:0:0:0:0:0:453f:b88f:443
Und im Log mit Verbose 5 ist nur folgendes zu sehen:
2021.03.17 20:11:15 3: Signal: Before parse:Test:
2021.03.17 20:11:15 4: Signal: sendMessage called for +49********::Test
2021.03.17 20:11:15 5: Signal: ASync Dbus Call: sendMessage Args:Test,ARRAY(0x55ed19b70bf8),ARRAY(0x55ed19b70ca0)
2021.03.17 20:12:25 4: Signal: ASync Error for: sendMessage

Hier ein List des Devices:
Internals:
   FD         42
   FUUID      6021287d-f33f-69d4-45c7-7481c476484bec0d
   NAME       Signal
   NOTIFYDEV  global
   NR         221
   NTFY_ORDER 50-Signal
   STATE      Connected
   TYPE       Signalbot
   VERSION    Signalbot:2.0.2-beta signal-cli:0.8.1 Protocol::DBus:0.16
   Helper:
     DBLOG:
       lastError:
         logdb:
           TIME       1615983145.86363
           VALUE      Error in sendMessage:java.net.ConnectException
   READINGS:
     2021-02-08 20:04:12   joinedGroups   
     2021-03-17 20:12:25   lastError       Error in sendMessage:java.net.ConnectException: Failed to connect to textsecure-service.whispersystems.org/2001:0:0:0:0:0:453f:b88f:443
     2021-03-17 20:11:15   sentMsg         Test
     2021-03-17 05:59:10   sentMsgRecipient XXXXXXX
     2021-03-17 20:11:15   sentMsgTimestamp pending
   helper:
     init       :1.67
     signalpath /org/asamk/Signal
     version    801
     attachments:
     contacts:
       +49********* XXXXXX

Attributes:
   allowedPeer +49*********
   defaultPeer +49*********
   devStateIcon .*Connected:fa_comments@green .*Disconnected:fa_comments@red
   room       Kommunikation
   verbose    5

Was kann ich da tun?

Gruß
Alex
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 17 März 2021, 17:12:07
Was kann ich da tun?
Schaut erstmal eher nach einem signal-cli Problem aus. Ein paar Ansätze:
1. Hast du unterschiedliche Nummern registriert (mit einer kopierten Registrierung wird es nicht funktionieren)
2. In der Fehlermeldung ist eine IPV6 Adresse. Ich wüsste zwar nicht das signal-cli damit ein Problem hat, aber kannst du prüfen ob die beiden Systeme bzgl. IPV4 vs IPV6 anders konfiguiert sind?
3. Schau mal ins /var/log/syslog ob da irgendwas aufschlussreiches steht
4. Starte mal das Install Script mit Option "test" ob die 3 tests auf der Ebene funktionieren

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Nighthawk am 18 März 2021, 02:44:20
Hallo Jörg,

danke für deine Rückmeldung.

Zu 1. auf dem Problemsystem ist nur eine Nummer registriert, diese hatte ich auf dem gleichen System vorher mit der ersten Version des Signalbot am laufen und es hat ja auch einige Stunden mit der Beta 2.0.2 funktioniert.

Zu 2. der Unterschied der Systeme ist, das funktionierende sitzt hiter einer Fritzbox, das mit Aussetzer sitzt hinter einem größeren Server mit NAT.

Zu 3. die Logs schaue ich mir nachher noch genauer an.

Zu 4. der Test hatte nach der Installation auf Anhieb funktioniert, ich füher es heute nochmal aus und schau mal was da passiert.

Gruß
Alex
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Nighthawk am 21 März 2021, 13:12:00
Hallo Jörg,

im Syslog sind nur die 2 folgenden Einträge zu finden:

signal-cli[1579]: WARN Manager - Failed to get sender certificate, ignoring: java.net.ConnectException: Failed to connect to textsecure-service.whispersystems.org/2001:0:0:0:0:0:4a75:b29a:443
signal-cli[1579]: WARN Manager - Failed to retrieve profile, ignoring: java.util.concurrent.TimeoutException

Seltsam ist, dass es manchmal von alleine wieder funktioniert (hat den ganze Freitag tadellos seinen Dienst verrichtet) und dann schlagartig wieder nicht.

Gruß
Alex
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: MarcoE am 22 März 2021, 10:17:26
Moin,
nachdem mir auffiel seit ein paar Tagen keine Nachrichten mehr per Signalbot zu bekommen habe ich die aktuellen Dateien signalbot und installer mir wieder geholt und danach signal_install.sh mit system, install und test aufgerufen.
Bei Test bekam ich folgenden output:
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.8.0
System library path:          /usr/lib
Phone number to be used:      +49623XXXXX
You seem to run Ubuntu on x86_64
Your chose the following option: test

Please enter the number (+49...) of somebody that you can send a test message to
Number:+4915114139958
Sending a message from command line to +4915YYYY
Stopping signal-cli service
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
Failed to send/receive message (Assertion): Unknown version: 0
java.lang.AssertionError: Unknown version: 0
        at org.whispersystems.signalservice.internal.push.PushTransportDetails.getPaddedMessageBody(PushTransportDetails.java:45)
        at org.whispersystems.signalservice.api.crypto.SignalServiceCipher.encrypt(SignalServiceCipher.java:94)
        at org.whispersystems.signalservice.api.SignalServiceMessageSender.getEncryptedMessage(SignalServiceMessageSender.java:1729)
        at org.whispersystems.signalservice.api.SignalServiceMessageSender.getEncryptedMessages(SignalServiceMessageSender.java:1689)
        at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:1534)
        at org.whispersystems.signalservice.api.SignalServiceMessageSender.sendMessage(SignalServiceMessageSender.java:316)
        at org.asamk.signal.manager.Manager.sendMessage(Manager.java:1417)
        at org.asamk.signal.manager.Manager.sendMessage(Manager.java:1345)
        at org.asamk.signal.manager.Manager.sendMessage(Manager.java:1008)
        at org.asamk.signal.dbus.DbusSignalImpl.sendMessage(DbusSignalImpl.java:90)
        at org.asamk.signal.commands.SendCommand.handleCommand(SendCommand.java:134)
        at org.asamk.signal.commands.DbusCommand.handleCommand(DbusCommand.java:14)
        at org.asamk.signal.App.handleLocalCommand(App.java:211)
        at org.asamk.signal.App.init(App.java:169)
        at org.asamk.signal.Main.main(Main.java:43)
If you use an Oracle JRE please check if you have unlimited strength crypto enabled, see README
Start signal-cli service
Sending a message via dbus-send command
Error org.freedesktop.dbus.exceptions.DBusExecutionException: Error Executing Method org.asamk.Signal.sendMessage: Unknown version: 0
Sending a message via perl Net::DBus
org.freedesktop.dbus.exceptions.DBusExecutionException: Error Executing Method org.asamk.Signal.sendMessage: Unknown version: 0
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM

(die xxx und yyy sind natürlich richtige Nummern die auch funktionieren).
Das unterliegende ubuntu ist aktuell.
Was könnte da falsch laufen?

Viele Grüße
Marco
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 März 2021, 10:51:46
Failed to connect to textsecure-service.whispersystems.org/2001:0:0:0:0:0:4a75:b29a:443

Also für mich schaut das nach einem generellen Verbindungsproblem zum Signal Server aus. Check bei Problemen mal ob du textsecure-service.whispersystems.org anpingen kannst. Das ist irgendwo auf der System/Netzwerkebene und meiner Meinung nach kein Problem von signal-cli oder Signalbot.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 März 2021, 10:57:16
Failed to send/receive message (Assertion): Unknown version: 0

Haben deine Profile einen Usernamen (set updateProfile ...) , so einen Fehler habe ich meine ich schon gesehen, wenn die Nummer keinen definierten Namen hat.
Du bist noch auf der alten signal-cli Version - vielleicht solltest du probieren auf 0.8.1 und Signalbot V2-beta zu gehen (werde ich demnächst ohne große Änderungen als nicht-beta releasen, muss nur noch mal dazu kommen zu testen, welche Pakete der Installer jetzt wirklich braucht)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: MarcoE am 22 März 2021, 17:41:41
Hallo,
Haben deine Profile einen Usernamen (set updateProfile ...) , so einen Fehler habe ich meine ich schon gesehen, wenn die Nummer keinen definierten Namen hat.
Du bist noch auf der alten signal-cli Version - vielleicht solltest du probieren auf 0.8.1 und Signalbot V2-beta zu gehen (werde ich demnächst ohne große Änderungen als nicht-beta releasen, muss nur noch mal dazu kommen zu testen, welche Pakete der Installer jetzt wirklich braucht)

Jörg

Der Fehler tritt schon auf shell Ebene auf. bei signal_install test. Oder gibt es da auch einen updateProfile?
Ich bin auf der Version die hier auf Seite 1 (für 50_Signalbot) verlinkt ist. Was muß ich noch updaten? Oder woher bekomme ich neueres?

Viele Grüße
Marco
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 März 2021, 18:12:11
Beta release ist hier: https://forum.fhem.de/index.php/topic,118370.msg1136873.html#msg1136873
Sobald ich dazu komme es endgültig zu releasen, kommt die in den ersten Post.

Das Script hat eine Option "name" mit der man von dort den Namen setzen kann.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 März 2021, 20:15:57
Nachdem die Beta jetzt schon lange genug bei mir und anderen im Einsatz ist habe ich die neue Version (nahezu unverändert) als V2.1 im ersten Post freigegeben.
Ich hoffe mir sind da keine last-minute Schnitzer reingekommen. Derzeit bin ich leider anderweitig sehr beschäftigt und weiß auch nicht wann ich dazu komme die Anleitung im Wiki upzudaten (Hilfe erwünscht :) )

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: MarcoE am 23 März 2021, 08:19:48
Hallo,
Beta release ist hier: https://forum.fhem.de/index.php/topic,118370.msg1136873.html#msg1136873
Sobald ich dazu komme es endgültig zu releasen, kommt die in den ersten Post.

Das Script hat eine Option "name" mit der man von dort den Namen setzen kann.

Danke! Habe nun auf die beta umgestellt. Jetzt im Moment funktioniert es- ich hoffe es bleibt so.

Viele Grüße
Marco
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Nighthawk am 23 März 2021, 10:44:51
Hallo Joerg,

leider bekomme ich keinen Hacken an das Problem.
Vor der Umstellung auf Beta 2 und 0.8.1 hat Signalbot klaglos seinen Dienst verrichtet.
Ich würde gerne testen ob es tatsächlich an der Umstellung liegt und nicht an einer potentiell veränderten Netzwerkstruktur.
Was müsste ich genau tun (neben dem zurückkopieren der 50_Signalbot.pm) um auf NET::DBUS zurückzukehren ?

Gruß
Alex
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 März 2021, 15:24:52
Hi Alex,

der Fehler liegt eindeutig auf der Ebene signal-cli/signal - wenn Signalbot oder das Net::DBus/Protocol::Dbus schon ein Problem hätte, würdest du nichts im syslog finden.
Ich kann jetzt nur vaage vermuten, dass irgendwas mit der Registrierung nicht stimmt.
Eventuell mal komplett den Inhalt von /var/lib/signal-cli löschen und mit dem Installer die Nummer neu registrieren.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Nighthawk am 24 März 2021, 07:31:10
Hallo Jörg,

eine falsche, oder defekte Registrierung würde doch dazu führen dass es gar nicht funktioniert, in meinem Fall funktioniert es immer mal wieder für einige Stunden und dann wieder nicht.
Ich fürchte das wird an der "brutalen" NAT liegen hinter der ich sitze, leider habe ich auf diese absolut keinen Einfluss :-(


Gruß
Alex
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kaufi88 am 04 April 2021, 20:27:34
Das besorgt mich jetzt nicht sehr, aber vielleicht kannst du die mal irgendwo hochladen, damit ich die vergleichen (oder sogar mal auf meinem Testsystem einspielen) kann. Bisher sehe ich nicht warum es nicht funktionieren sollte.

Jörg

Hallo Jörg,
ich hatte die letzten Tagen viel um die Ohren und konnte jetzt die Feiertage nutzen.
Heute habe ich dann die neuste Version von Dir installiert, habe auch gesehen dass er Singal-CLI 0.81 herunterladen hat.
Jedoch habe ich das selbige Problem.
Die Datei zkgroup-java-0.7.0.jar wurde auch angefasst. Du findest diese hier: http://www.intespa.de/zkgroup-java-0.7.0.jar

Hier noch die Ausgabe vom Install-Skript:

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.8.1
System library path:          /usr/lib
Phone number to be used:      +49xxxx
You seem to be on a Raspberry pi with armv7l
This will update system packages, install signal-cli and help to register with Signal service
[....]
Checking for /usr/lib...found
Checking for /etc/dbus-1...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for /run/dbus...found
Checking for apt-ftparchive...available
Checking for wget...available
Checking for sudo...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for qrencode...available
Checking for zip...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/build-essential/essential-packages-list...available
Checking for /usr/share/doc/libimage-librsvg-perl...available
Checking for Protocol::DBus...V0.16 found
Checking user signal-cli ...found
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...found
Checking signal-cli version...signal-cli 0.8.0
Update to current version (y/N)? y
Proceed with signal cli installation
Downloading signal-cli 0.8.1...done
Unpacking ...
Downloading native armv7l libraries...
done
Updating native x86 since you're on Raspberry...updating: libzkgroup.so (deflated 55%)
updating: libsignal_jni.so (deflated 53%)
done
done
Changing file ownership ...done
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
11c11
< ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli -u "+49zzzzzzzzz" daemon --system
---
> ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli -u "+49xxxx" daemon --system
/etc/systemd/system/signal.service differs, update (Y/n)?
n
/etc/systemd/system/signal.service left untouched
You already seem to have a device configured, add +49xxxx additionally?
Continue (y) or skip (N)?N
Please enter the number (+49...) of somebody that you can send a test message to
Number:+49174yyyyyyyyyyyyy
Sending a message from command line to +49174yyyyyyyyyyyyyyy
Stopping signal-cli service
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
WARN App - WARNING: Support for new group V2 is disabled, because the required native library dependency is missing: libzkgroup
Invalid username (phone number), make sure you include the country code.
Start signal-cli service
Sending a message via dbus-send command
method return time=1617526008.746986 sender=:1.2620 -> destination=:1.2621 serial=5 reply_serial=2
   int64 1617526007446
Sending a message via perl Protocol::DBus
Message received
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM
pi@raspberrypi:/tmp $ cd /opt/signal/lib

Folgende Datei habe ich Dir hochgeladen:
pi@raspberrypi:/tmp $ sudo find / -name zkgroup-java-*.jar 2>/dev/null
/opt/signal/lib/zkgroup-java-0.7.0.jar

Viele Grüße & Danke
Kaufi
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 April 2021, 21:01:27
Hi Kaufi,

Inhaltlich ist dein .jar mit meinem identisch. Seltsamerweise stimmt die Dateigröße des komprimierten .jar nicht überein, was jetzt aber nicht unbedingt was heißen muss. (evtl. verhält sich ja "zip" beim re-pack nicht deterministisch)
Ich hänge mal meine Version an. Probiere die mal aus.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kaufi88 am 05 April 2021, 00:18:48
Hi Kaufi,

Inhaltlich ist dein .jar mit meinem identisch. Seltsamerweise stimmt die Dateigröße des komprimierten .jar nicht überein, was jetzt aber nicht unbedingt was heißen muss. (evtl. verhält sich ja "zip" beim re-pack nicht deterministisch)
Ich hänge mal meine Version an. Probiere die mal aus.

Gruß,
Jörg

Hallo Jörg,
vielen Dank für Dein File.
Hat leider auch nicht zum Erfolg geführt.
Kann es evtl. an der Java-Version liegen?

Diese hier hab ich installiert:
pi@raspberrypi:/tmp $ java -version
openjdk version "11.0.3" 2019-04-16 LTS
OpenJDK Runtime Environment Zulu11.31+16-CA (build 11.0.3+7-LTS)
OpenJDK Client VM Zulu11.31+16-CA (build 11.0.3+7-LTS, mixed mode)


Grüße
Kaufi
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 April 2021, 15:53:21
Hi Kaufi,

kann natürlich grundsätzlich an Java liegen. Bei mir ist folgendes installiert:
pi@raspberrypi4:~ $ java --version
openjdk 11.0.9.1 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Raspbian-1deb10u2)
OpenJDK Server VM (build 11.0.9.1+1-post-Raspbian-1deb10u2, mixed mode)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 April 2021, 22:26:34
Ich habe jetzt das Wiki entsprechend der V2 überarbeitet: https://wiki.fhem.de/wiki/Signalbot
Verbesserungsvorschläge willkommen (oder wer Schreibrechte hat, darf kleine Korrekturen gerne selbst vornehmen).

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 08 April 2021, 09:44:09
Hi Jörg,
fhem stürzt reproduzierbar wegen Signal bei mir ab, mit folgendem Eintrag im Log (verbose 5):
Ich hatte mal Babble benutzt, habe aber babble bei mir vor 2 Tagen wieder gelöscht. Die attribute im Signal hatte ich aber stehen lassen, liegts daran?
Dann müsste evtl noch ein check rein, ob es das babble device wirklich gibt, falls die Attribute gesetzt sind.

PS: Nach Löschen der babble attribute stürzt fhem nicht mehr ab, also lag es daran.

2021.04.08 09:38:57 5: Starting notify loop for Signal, 1 event(s), first is msgText: L
2021.04.08 09:38:57 5: BatterieWechsel: not on any display, ignoring notify
2021.04.08 09:38:57 5: Batteriestatus: not on any display, ignoring notify
2021.04.08 09:38:57 5: Triggering Signal_n
2021.04.08 09:38:57 4: Signal_n exec {mySignal_n($NAME,$EVENT)}
2021.04.08 09:38:57 5: Cmd: >{mySignal_n($NAME,$EVENT)}<
2021.04.08 09:38:57 3: [mySignal_n] N=Signal, E=msgText: L, input=l, sender=+4915123456789, words=1
2021.04.08 09:38:57 5: Cmd: >set Signal send @+4915123456789 Usage: \"Cxx 2FAToken\"<
2021.04.08 09:38:57 5: End notify loop for Signal
Undefined subroutine &main::Babble_DoIt called at ./FHEM/50_Signalbot.pm line 565.
2021.04.08 09:38:57 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
2021.04.08 09:40:28 1: Including fhem.cfg

List:
Internals:
   FD         54
   NAME       Signal
   NOTIFYDEV  global
   NR         3290
   NTFY_ORDER 50-Signal
   STATE      Connected
   TYPE       Signalbot
   VERSION    Signalbot:2.1 signal-cli:0.8.1 Protocol::DBus:0.16
   READINGS:
     2021-03-04 18:13:01   joinedGroups   
     2021-04-08 09:40:40   lastError       Error in getContactName:Error Executing Method org.asamk.Signal.getContactName: null
     2021-03-23 12:55:52   msgAttachment   
     2021-03-23 12:55:52   msgAuth         0
     2021-03-23 12:55:52   msgGroupName   
     2021-03-23 12:55:52   msgSender       Hans Jamo
     2021-03-23 12:55:52   msgText         RR123456789DE
     2021-03-23 12:55:52   msgTimestamp    23-03-2021 12:55:50
     2021-03-23 12:55:52   prevMsgAttachment
     2021-03-23 12:55:52   prevMsgGroupName
     2021-03-23 12:55:52   prevMsgSender   Hans Jamo
     2021-03-23 12:55:52   prevMsgText     C02
     2021-03-23 12:55:52   prevMsgTimestamp 14-03-2021 21:58:20
     2021-04-02 11:43:52   sentMsg         wall_e: Docked
     2021-04-05 20:15:07   sentMsgRecipient Hans Jamo
     2021-04-05 20:15:07   sentMsgTimestamp 02-04-2021 11:43:52
   helper:
     init       :1.6445
     signalpath /org/asamk/Signal
     version    801
     contacts:
       +4915123456789  Hans Jamo
Attributes:
   allowedPeer +4915123456789
   babbleDev  Babble
   babbleExclude ^p$|^P$|^c|^C
   babblePeer +4915123456789
   defaultPeer +4915123456789
   doLog      1
   event-on-update-reading msgText
   room       Messages
   userattr   doLog:0,1
   verbose    0
   webCmd     reconnect
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 08 April 2021, 21:19:57
Hi Jamo,

Dann müsste evtl noch ein check rein, ob es das babble device wirklich gibt, falls die Attribute gesetzt sind.

PS: Nach Löschen der babble attribute stürzt fhem nicht mehr ab, also lag es daran.

ja, das ist nachvollziehbar. Perl mag das gar nicht wenn man eine nicht-existierende Funktion aufruft.
Check habe ich eingefügt, aber da das eher ein "corner case" ist, werde ich erstmal weitere Änderungen aufsammeln bevor ich ein Update poste.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deekay2000 am 19 April 2021, 18:43:16
Ich habe gerade auf die neueste Version aktualisiert (Austausch des Moduls). Nach dem FHEM-Neustart wurde ich aufgefordert, Protocol::Dbus zu installieren, was ich dann mit cpan install Protocol::DBus gemacht habe. Die Funktionalität ist weiterhin gegeben, allerdings habe ich nun folgenden Fehler in den Device Readings:

lastError: Error in version:The method `org.asamk.Signal.version' does not exist on this object.

Sobald ich z. B. ein "get contacts all" eingebe, erscheint ein Popup: Signal-cli 0.8.1+ required for this functionality.

Das Versenden von Nachrichten funktioniert aber weiterhin. Habe ich etwas falsch gemacht, oder ist das eventuell ein Bug in der neuesten Version?

Viele Grüße,
Daniel
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 19 April 2021, 19:20:33
Hast du auch den aktuellen Installer laufen lassen um signal-cli zu updaten?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Deekay2000 am 21 April 2021, 02:15:13
Stimmt, das habe ich glatt vergessen - ich hatte die FHEM-Instant komplett aktualisiert und dabei "mal eben" das Modul aktualisiert. Ich habe jetzt den aktuellen Installer heruntergeladen und die Funktionen "system" und "install" genutzt. Danach wurde die Meldung in FHEM nicht mehr angezeigt. Meine bestehende Config wurde vom Installer einwandfrei übernommen.  :D

Viele Grüße,
Daniel
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dkreutz am 05 Mai 2021, 16:47:51
Erst einmal ein großes Danke für die Entwicklung dieses Moduls!

Ich hatte Schwierigkeiten bei Installation auf einem RPI3 mit Raspbian/Debian "Stretch" (ja ich weiß, das ist nicht mehr aktuell):
Die signal-cli Installation mit dem Installationsskript signal_install.sh hat nicht vollständig funktioniert. Ich habe mir letztendlich damit geholfen, dass ich von https://github.com/DutchForeigner/signal-cli_rpi (https://github.com/DutchForeigner/signal-cli_rpi) das für den RPI fertig gebaute Signal-cli v0.8.1 (zkgroup-java-0.7.1.jar ist bereits integriert) über die fehlgeschlagene Installation kopiert habe. Vielleicht ist das für das Installationsskript interessant?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 09 Mai 2021, 21:38:49
Hallo Jörg,

ich hatte SiSi installiert, das aber nach einem simplen Neustart des Servers nicht mehr funktionierte. Ich hatte daraufhin alles, was mit SiSi zu hat, deinstalliert. Im Wiki hatte ich gelesen, dass SiSi nicht mehr weiterentwickelt wird, so habe ich mich etwas später entschlossen, dein Modul Signalbot zu installieren, und zwar mit sudo -E ./signal_install.sh.

Mein Server:
Your configuration
Linux HPT610 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 GNU/Linux
has not been tested, continue at own risk

Die Installation lief auch im wesentlichen durch bis auf 2 Besonderheiten:
- ich hatte meine bei der Installation von SiSi registrierte Festnetznummer angegeben, sowohl in der Installationdatei, als auch bei der Abfrage in der Installation
- das zweite ist folgender Text, der während der Installation gezeigt wurde:

...
Stopping signal-cli service
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
No input data.
Reading account data
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
done
Please enter the number (+49...) of somebody that you can send a test message to
Number:+49MeineMobilnummer
Sending a message from command line to +49MeineMobilnummer
Stopping signal-cli service
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Sending a message via dbus-send command
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.
Sending a message via perl Protocol::DBus
Error getting message
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM

Ein list meines Devices:
Internals:
   CFGFN     
   FD         23
   FUUID      60983278-f33f-e986-bab0-35aae0950916cc12
   NAME       Signal
   NOTIFYDEV  global
   NR         1232
   NTFY_ORDER 50-Signal
   STATE      Connected
   TYPE       Signalbot
   READINGS:
     2021-05-09 21:26:21   lastError       Error in sendMessage:Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
     2021-05-09 21:25:56   sentMsg         Hallo, hier ist Fhem.
     2021-05-09 21:25:56   sentMsgTimestamp pending
   helper:
     init       :1.13
     signalpath /org/asamk/Signal
     attachments:
     bm:
       Signalbot_Attr:
         cnt        4
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:06:15
         max        0.000128030776977539
         tot        0.000437021255493164
         mAr:
           set
           Signal
           group
           Push
       Signalbot_Define:
         cnt        1
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:05:28
         max        0.068789005279541
         tot        0.068789005279541
         mAr:
           HASH(0x559d1337dc20)
           Signal Signalbot
       Signalbot_Get:
         cnt        13
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:05:57
         max        6.00814819335938e-05
         tot        0.000626087188720703
         mAr:
           HASH(0x559d1337dc20)
           Signal
           ?
       Signalbot_Notify:
         cnt        10
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:05:36
         max        7.70092010498047e-05
         tot        0.00048518180847168
         mAr:
           HASH(0x559d1337dc20)
           HASH(0x559d0774ae98)
       Signalbot_Read:
         cnt        9
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:10:05
         max        0.107939004898071
         tot        0.559039354324341
         mAr:
           HASH(0x559d1337dc20)
       Signalbot_Set:
         cnt        40
         dmx        -1000
         dtot       0
         dtotcnt    0
         mTS        09.05. 21:25:03
         max        0.0134880542755127
         tot        0.0284733772277832
         mAr:
           HASH(0x559d1337dc20)
           Signal
           reinit
Attributes:
   defaultPeer +49MeineMobilnummer
   group      Push
   icon       im_bullhorn
   verbose    5

signal.service scheint nicht zu laufen, er lässt sich auch nicht starten:
pi@HPT610:/opt/fhem/FHEM$ 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 Sun 2021-05-09 21:25:56 CEST; 3min 26s ago
  Process: 28276 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli -u +492143103913 daemon --system (code=exited, status=1/FAILURE)
 Main PID: 28276 (code=exited, status=1/FAILURE)

May 09 21:25:56 HPT610 signal-cli[28276]:         at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.security.AccessController.doPrivileged(Native Method)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
May 09 21:25:56 HPT610 signal-cli[28276]:         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
May 09 21:25:56 HPT610 signal-cli[28276]:         at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
May 09 21:25:56 HPT610 signal-cli[28276]:         at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
May 09 21:25:56 HPT610 systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
May 09 21:25:56 HPT610 systemd[1]: signal.service: Failed with result 'exit-code'.
May 09 21:25:56 HPT610 systemd[1]: Failed to start Send secure messages to Signal clients.
pi@HPT610:/opt/fhem/FHEM$ sudo systemctl start 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:/opt/fhem/FHEM$

Hast du eine Idee, was hier schief gelaufen ist, und was ich tun müsste, um es zum Laufen zu bringen?

Viele Grüße Gisbert
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 09 Mai 2021, 23:58:23
Hallo Jörg,

mein Problem scheint wohl mit Java 8 und 11 zusammenzuhängen.
Meine Unifi-Installation bzw. der Unifi-Controller für mein Netzwerk verlangt nach Java 8, signal-cli verlangt nach Java 11.

Ich hab Java 11 installiert:
sudo apt install default-jre
Diese Java-Versionen scheine ich auf meinem Server zu haben:
pi@HPT610:~$ dpkg -l | grep "oracle\|openjdk"
ii  openjdk-11-jre:amd64                 11.0.11+9-1~deb10u1                  amd64        OpenJDK Java runtime, using Hotspot JIT
ii  openjdk-11-jre-headless:amd64        11.0.11+9-1~deb10u1                  amd64        OpenJDK Java runtime, using Hotspot JIT (headless)
ii  openjdk-8-jre-headless:amd64         8u232-b09-1~deb9u1                   amd64        OpenJDK Java runtime, using Hotspot JIT (headless)

java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

Es ändert aber nichts an der Tatsache, dass ich diese Fehlermeldung bekomme, da offensichtlich Java 8 anstelle von 11 genommen wird:
Stopping signal-cli service
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/asamk/signal/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Hast du eine Idee, wie ich hier vorgehen kann?

Viele Grüße Gisbert
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 10 Mai 2021, 07:51:06
Hi Gisbert,

Check mal die Reihenfolge in deiner $PATH, was zuerst kommt wird genommen.
Du könntest auch die richtige Version im Startscript unter /opt/signal/bin hardcoden (mit absolutem Pfad)

Jörh
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 10 Mai 2021, 09:03:58
Hallo Jörg,

ich bekomme das bei $PATH:
pi@HPT610:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
pi@HPT610:~$
Kannst damit was anfangen?

/opt/signal/bin hardcoden (mit absolutem Pfad):
Gerne, dann benötige ich aber konkrete Vorgaben, da ich weder Linux noch Perl gut genug kann. Gleiches gilt für $PATH.

Viele Grüße​ Gisbert​

Edit:
Ich hab den Pfad /opt/signal/bin vorne in PATH eingetragen und dann versucht signal.service zu starten, was aber nicht gelang.

Edit2:
$JAVA_HOME, welches in signal-cli steht, liefert das:
pi@HPT610:/opt/signal/bin$ echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/jre/
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 12 Mai 2021, 20:50:52
Hi Gisbert,

so sollte es aussehen:

pi@raspi400:~ $ which java
/usr/bin/java
pi@raspi400:~ $ java -version
openjdk version "11.0.9.1" 2020-11-04
OpenJDK Runtime Environment (build 11.0.9.1+1-post-Raspbian-1deb10u2)
OpenJDK Server VM (build 11.0.9.1+1-post-Raspbian-1deb10u2, mixed mode)

Mein $JAVA_HOME ist leer, dadurch dass deins aber gesetzt ist, nimmt er die entsprechende Version dort.
sofern
/usr/bin/java -versionbei dir die richtige Version ausgibt, sollte es reichen die $JAVA_HOME nicht zu setzen - wo auch immer das bei dir passiert (.bashrc) oder zumindest im .bashrc vom signal-cli Benutzer zu überschreiben (export JAVA_HOME=)

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 12 Mai 2021, 21:07:22
Hallo Jörg,

ich kann das liefern:
pi@HPT610:/opt/signal/bin$ which java
/usr/bin/java
pi@HPT610:/opt/signal/bin$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-8u232-b09-1~deb9u1-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
pi@HPT610:/opt/signal/bin$

sowie:
echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/jre/

dpkg -l | grep "oracle\|openjdk" liefert:
ii openjdk-11-jre:amd64 11.0.11+9-1~deb10u1 amd64 OpenJDK Java runtime, using Hotspot JIT
ii openjdk-11-jre-headless:amd64 11.0.11+9-1~deb10u1 amd64 OpenJDK Java runtime, using Hotspot JIT (headless)
ii openjdk-8-jre-headless:amd64 8u232-b09-1~deb9u1 amd64 OpenJDK Java runtime, using Hotspot JIT (headless)

Damit kommt Signal - wie vermutet - nicht zurecht.
Womit wir beim zweiten Teil deines letzten Satzes sind, den ich aber ohne Hilfe nicht umsetzen kann.

Viele Grüße Gisbert
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 13 Mai 2021, 09:15:06
Dann hat sich Java8 wohl als dein primäres Java eingenistet.
Dein System via Forum remote zu debuggen ist jetzt wirklich mühsam. Ein letzter Tipp - sonst suche dir bitte Hilfe von einem Linux Admin, denn das alles hat mit Signal nicht wirklich etwas zu tun.

Ich denke, dass du signal-cli dazu bringen kannst, die korrekte Java Version zu verwenden, indem du $JAVA_HOME vor dem Aufruf auf das Verzeichnis von Java11 setzt.
Den genauen Pfad bei dir kenne ich jetzt nicht, aber wahrscheinlich sowas wie
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/Testen kannst du das dann erst mal mit dem Install Script (mit der "test" option"), musst bei Erfolg aber diese Zeile auch ins .bashrc des signal-cli users einfügen.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 13 Mai 2021, 14:01:17
Dann hat sich Java8 wohl als dein primäres Java eingenistet.
Dein System via Forum remote zu debuggen ist jetzt wirklich mühsam. Ein letzter Tipp - sonst suche dir bitte Hilfe von einem Linux Admin, denn das alles hat mit Signal nicht wirklich etwas zu tun.

Ich denke, dass du signal-cli dazu bringen kannst, die korrekte Java Version zu verwenden, indem du $JAVA_HOME vor dem Aufruf auf das Verzeichnis von Java11 setzt.
Den genauen Pfad bei dir kenne ich jetzt nicht, aber wahrscheinlich sowas wie
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/Testen kannst du das dann erst mal mit dem Install Script (mit der "test" option"), musst bei Erfolg aber diese Zeile auch ins .bashrc des signal-cli users einfügen.

Hallo Jörg,

es ist aber auch zu verflixt, auch diese Möglichkeit wird mit immer dem gleichen Fehler quittiert. Ich habe auch noch andere Ratschläge ausprobiert - nichts führt zum Erfolg.
Ich wundere mich nur, dass ich anscheinend der einzige (lebende) Anwender bin, der gleichzeitig einen UniFi-Controller und Signal auf einem Server unter Debian10 installiert hat bzw. es möchte.

Trotzdem vielen Dank.
Ich gebe nur zwischenzeitlich auf, denn Aufgeben ist ja bekanntlich keine Option.
Viele Grüße
Gisbert
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 13 Mai 2021, 18:44:03
Hallo Jörg,
hallo zusammen,

vielleicht interessiert euch die Lösung, wenn man unbedingt wegen des UniFi-Controllers Java 8 behalten muss.

Die Lösung war, dass ich es irgendwie geschafft habe, den Standard bei Java von 8 auf 11 zu ändern.
Informationen gibt es dazu in dieser Datei:
/usr/lib/jvm/java-11-openjdk-amd64/docs/README.alternatives
Wenn man den folgenden Befehl ausgeführt hat, dann ist Java 11 die primäre Installation von Java.
sudo update-java-alternatives --auto
java -version
openjdk version "11.0.11" 2021-04-20
OpenJDK Runtime Environment (build 11.0.11+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.11+9-post-Debian-1deb10u1, mixed mode, sharing)

Dannach war es ein Kinderspiel, die Signalbot-Installation durchzuführen.

UniFi benutzt nach wie vor noch Java 8, das ist anscheinend dort hart verlinkt, was ja auch Sinn macht, wenn UniFi nur mit Java 8 funktioniert.
Ich habe auf diesem Weg einiges gelernt, wenn auch nicht wirklich verstanden, aber immerhin.

Nochmals vielen Dank und viele Grüße
Gisbert
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kabakakao am 13 Mai 2021, 20:11:47
Guten Abend,
wollte mal den Signalbot testen. Meine FHEM Installation läuft in einem Docker Container.
Die Installation scheint soweit durchzulaufen, jedoch bekomme ich beim register keinen Anruf.
Dann habe ich den register Aufruf direkt mit der signal-cli aufgerufen. Dann bekomme ich die Meldung, dass die libzkgroup library fehlt.
Jedoch habe ich bisher keinen Ansatz gefunden, wie ich das in einer Container-Installation lösen kann. Bisher habe ich das nur in Zusammenhang mit einem RasPi gefunden.

Kann mir da einer helfen?
Danke und Gruß,
Stephan
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 13 Mai 2021, 20:19:37
Update des Installers auf V2.2

Enthält nur Versionsupdates der Pakete signal-cli (auf 0.8.3) und Protocol::DBus (auf 0.17).
Wenn alles funktioniert, sehe ich keinen zwingenden Grund für dieses Update.

Siehe Changelogs ob es sich für euch lohnt:
https://github.com/AsamK/signal-cli/blob/master/CHANGELOG.md
https://metacpan.org/release/Protocol-DBus

Um das Update durchzuführen, einfach Installer laufen lassen (Registrierung auslassen, aber Test durchführen, da das gleich den Service neu startet).
In FHEM ist ein "shutdown restart" nötig um die neue Protocol::DBus Version anzuziehen - sonst reicht ein "reinit" für signal-cli.

Soweit ich sehe mussten die ARM libraries nicht aktualisiert werden - bei mir lief nach dem Update zumindest alles wie gewohnt, habe aber keinen sehr ausführlichen Test gemacht.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 13 Mai 2021, 20:29:54
Jedoch habe ich bisher keinen Ansatz gefunden, wie ich das in einer Container-Installation lösen kann. Bisher habe ich das nur in Zusammenhang mit einem RasPi gefunden.

Läuft der Container auch auf einem Raspi? Dann finden sich die native libraries (die vom install script automatisch eingebunden werden) unter https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/
Dieser Teil des Installers kümmert sich darum die x86 libraries durch ARM (Raspian Buster) zu ersetzen:
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libzkgroup.so
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libsignal_jni.so
zip -u $SIGNALPATH/signal/lib/zkgroup-java-*.jar libzkgroup.so
zip -u $SIGNALPATH/signal/lib/signal-client-java-*.jar libsignal_jni.so

Wenn das ganze auf x86 unter Ubuntu laufen darf, habe ich mir mal ein Script zur Containererstellung gebaut (siehe Anhang) - habs aber schon länger nicht mehr getestet, daher ohne Gewähr und eher als Anregung.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 13 Mai 2021, 20:32:56
Die Lösung war, dass ich es irgendwie geschafft habe, den Standard bei Java von 8 auf 11 zu ändern.
Informationen gibt es dazu in dieser Datei:
/usr/lib/jvm/java-11-openjdk-amd64/docs/README.alternatives
Wenn man den folgenden Befehl ausgeführt hat, dann ist Java 11 die primäre Installation von Java.
sudo update-java-alternatives --auto

Schön das du eine Lösung gefunden hast. Ich bin leider derzeit ziemlich mit anderen Themen unter Wasser und kann mich nicht sehr tief in solche Problemstellungen einarbeiten.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: kabakakao am 13 Mai 2021, 20:39:47
Läuft der Container auch auf einem Raspi? Dann finden sich die native libraries (die vom install script automatisch eingebunden werden) unter https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/
Dieser Teil des Installers kümmert sich darum die x86 libraries durch ARM (Raspian Buster) zu ersetzen:
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libzkgroup.so
wget -qN https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signallibs_armv7l/libsignal_jni.so
zip -u $SIGNALPATH/signal/lib/zkgroup-java-*.jar libzkgroup.so
zip -u $SIGNALPATH/signal/lib/signal-client-java-*.jar libsignal_jni.so

Wenn das ganze auf x86 unter Ubuntu laufen darf, habe ich mir mal ein Script zur Containererstellung gebaut (siehe Anhang) - habs aber schon länger nicht mehr getestet, daher ohne Gewähr und eher als Anregung.

Jörg

Danke für die schnelle Antwort. Der Container läuft auf meiner QNAP. Ist auch ein ARM system. Kann ich die library sonst irgendwie auf dem system bauen?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 13 Mai 2021, 21:06:17
Danke für die schnelle Antwort. Der Container läuft auf meiner QNAP. Ist auch ein ARM system. Kann ich die library sonst irgendwie auf dem system bauen?

Vielleicht funktionieren die libraries ja sogar?
Sonst sehe ich noch zwei Optionen:
1.) Du baust den Container basierend auf einem Raspian Buster image - dann sollten sie eigentlich gehen?
2.) Du versuchst dich im Eigenbau. Eine Anleitung dazu gibts im signal-cli Wiki: https://github.com/AsamK/signal-cli/wiki/Provide-native-lib-for-libsignal

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 22 Mai 2021, 10:20:36
Hallo Jörg,

ich hätte eine Nachricht, die ein Apostroph enthält, so in der Art ... Gisbert's ...
Ich bekomme dann folgenden log-Eintrag, und die Nachricht wird nicht verschickt:
Specify either a message text or an attachment
Kann man das Apostroph maskieren, und wenn ja, wie?

Viele​ Grüße​ Gisbert​

Edit: Ich hab eine Lösung gefunden, ein Backslash vor dem Apostroph: ... Gisbert\'s ... liefert ... Gisbert​'s ...
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 31 Mai 2021, 19:03:57
Hallo,

bin weder aus diesem Thema hier noch aus der Doku zu msg (msgConfig) (Wiki) schlau geworden, wie ich msg als Nachrichtenzentrale mit Signalbot einsetzen kann. Signalbot läuft bei mir.

Hat jemand bitte ein list von einer funktionierenden Konfiguration für mich?

Danke
Boris
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 01 Juni 2021, 16:28:06
Hallo Boris,

aus der Erinnerung heraus kann ich sagen, dass du Java 11 benötigst. Da ich auf dem gleichen Linuxsystem einen UniFi-Controller habe, der zwingend Java 8 benötigt, musste ich erst dieses Problem lösen. Falls es hierzu Fragen gibt, dann helfe ich gerne.

Ansonsten ist die Wiki-Anleitung mithilfe des Installationskriptes aus meiner Sicht nachvollziehbar und funktioniert.

Hier ist meine (simple) Definition in Fhem:
define Signal Signalbot
attr Signal defaultPeer +49...MeineHandynummer
Ein list ist schwierig, da viele persönliche Informationen enthalten sind.

Falls noch Fragen sind, dann melde dich gerne.

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 01 Juni 2021, 18:02:43
Falls noch Fragen sind, dann melde dich gerne.

Danke, Gisbert, für Deine Unterstützung.

Ich habe mich missverständlich ausgedrückt. Der Signalbot läuft bei mir einwandfrei. Installation gemäß Wiki lief am Schnürchen.

Mit fehlt der Ansatz, msg über Signalbot Nachrichten versenden zu lassen. msg unterstützt von Hause aus verschiedene Messenger-Devices aber eben nicht Signalbot. Es gibt bei msg die Möglichkeit, die Kommandos von Hand zu Fuß zu definieren. Und da wollte ich gerne ein list von einen msg-Device, das so konfiguriert ist, dass es Signalbot benutzt.


Viele Grüße
Boris
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 01 Juni 2021, 19:47:18
Hallo Boris,

bei mir funktioniert in einem DOIF folgender Ausführungsteil:
(set Signal send Das Fenster in Gisbert\'s Zimmer steht offen. Die Temperatur beträgt [Temp.OG:Gisbert]°C.)
Meinst du etwas in der Art? Anscheinend gibt es in Signal (von Fhem aus) mehrere Möglichkeiten Nachrichten zu versenden. Ich erhalte dann auf meinem Handy, auf der die App Signal läuft (*man bemerke die Namensgleichheit *Ironie Ende), die obige Nachricht, alles nach "send".

Bei der Einrichtung werden 3 Nachrichten von der Linuxebene zum Handy geschickt, siehe beigefügter Screenshot. Wenn du diese Nachrichten empfangen hast, dann ist die Einrichtung auf dem Server und auf dem Handy in Ordnung.

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Juni 2021, 22:04:26
Ich hatte im thread von "msg" schon mal nachgefragt ob Loredo Signalbot integrieren kann:
https://forum.fhem.de/index.php/topic,39983.msg1136318.html#new
Leider ist auf dem Forum keine Aktivität. Aber wenn mehr Leute Interesse bekunden, vielleicht hilft das ja?

Ich persönlich habe die Sache bei mir nicht weiter probiert und kann daher leider keine passende Config liefern.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 02 Juni 2021, 18:23:07
Leider ist auf dem Forum keine Aktivität. Aber wenn mehr Leute Interesse bekunden, vielleicht hilft das ja?

Habe es mal getan.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 02 Juni 2021, 20:56:25
Hallo,

bin weder aus diesem Thema hier noch aus der Doku zu msg (msgConfig) (Wiki) schlau geworden, wie ich msg als Nachrichtenzentrale mit Signalbot einsetzen kann. Signalbot läuft bei mir.

Hat jemand bitte ein list von einer funktionierenden Konfiguration für mich?

Danke
Boris

Hallo,

evtl. verstehe ich was falsch, aber ist es vielleicht das was gesucht wird?

https://wiki.fhem.de/wiki/SiSi#Zusammenspiel_mit_den_Modulen_Msg_und_Roommate (https://wiki.fhem.de/wiki/SiSi#Zusammenspiel_mit_den_Modulen_Msg_und_Roommate)

VG Dieter
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger)
Beitrag von: Edi77 am 05 Juni 2021, 00:33:52
Hallo,

FHEM läuft bei mit unter Ubuntu x86 habe Signal-cli installiert und eine Nummer registriert aber der Service startet nicht

root@ubuntu-FHEM:/home/user# sudo systemctl start 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.
root@ubuntu-FHEM:/home/user# 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-06-05 00:50:53 CEST; 8s ago
    Process: 2712536 ExecStart=/opt/fhem/signal-cli/bin/signal-cli -u +49"MeineNR." --config /opt/fhem/.local/share/signal-cli/data daemon --syste>
   Main PID: 2712536 (code=exited, status=1/FAILURE)

Jun 05 00:50:53 ubuntu-FHEM systemd[1]: Starting Send secure messages to Signal clients...
Jun 05 00:50:53 ubuntu-FHEM signal-cli[2712536]: User +49"meineNr." is not registered.
Jun 05 00:50:53 ubuntu-FHEM systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Jun 05 00:50:53 ubuntu-FHEM systemd[1]: signal.service: Failed with result 'exit-code'.
Jun 05 00:50:53 ubuntu-FHEM systemd[1]: Failed to start Send secure messages to Signal clients.

Aber es kommt kein FEhler

Mache ich "sudo -u fhem signal-cli -u <RegistrierteNummer> send -m "Greetings from FHEM!" <Empfängernummer>" natürlich mit den richtigen Nr. funktioniert es ………..

root@ubuntu-FHEM:/home/user# sudo -E ./signal_install.sh
sudo: ./signal_install.sh: Befehl nicht gefunden

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Edit

der Signal.service läuft jetzt, user=fhem in root getauscht und dem Pfad der Config beibehalten

Problem erledigt, man sollte das script  Signal_install.sh mit chmod -x auch ausführbar machen ;-)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 07 Juni 2021, 17:23:02
https://wiki.fhem.de/wiki/SiSi#Zusammenspiel_mit_den_Modulen_Msg_und_Roommate (https://wiki.fhem.de/wiki/SiSi#Zusammenspiel_mit_den_Modulen_Msg_und_Roommate)

Ich denke, dass ist es, was ich suche. Ich muss es noch ausprobieren. Danke, Dieter.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 07 Juni 2021, 19:08:13
Ich denke, dass ist es, was ich suche. Ich muss es noch ausprobieren. Danke, Daniel.

Gern geschehen, und für den Daniel drück ich mal ein Auge zu  ;)  ;D

VG Dieter
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: heiko.ne am 10 Juni 2021, 13:28:41
Eine vermutlich einfache Frage für Zwischendurch:
Wie kann ist das Modul Signalbot anweisen, auch Umlaute zu empfangen (Senden klappt prinzipiell)?

Hier mal ein Beispiel aus meinem Listing, bei dem aus Temperatur Küche halt Temperatur K�che wurde.

Gibt es generelle Eisntellungen, die hinsichtlich Umnlauten zu beachten sind?

Gruß und Dank für eine fachkundige Antwort,
Heiko

   FUUID      xxx
   NAME       SignalBot
   NOTIFYDEV  global
   NR         382
   NTFY_ORDER 50-SignalBot
   STATE      Connected
   TYPE       Signalbot
   READINGS:
     2021-04-29 08:16:23   joinedGroups   
     2021-06-09 17:29:45   lastError       Error in sendMessage:Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
     2021-06-10 13:21:57   msgAttachment   
     2021-06-10 13:21:57   msgAuth         0
     2021-06-10 13:21:57   msgGroupName   
     2021-06-10 13:21:57   msgSender       Heiko
     2021-06-10 13:21:57   msgText         Temperatur K�che

...

Attributes:
   defaultPeer +4915150036845
   group      Signal
   room       IT
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 10 Juni 2021, 15:47:14
Hi Heiko,

In die Richtung habe ich das wohl nie probiert.
Anbei mal ein quick fix den ich aber nicht weiter getestet habe (außer dass ich damit Umlaute jetzt hoffentlich in alle Richtungen korrekt kriege). Wäre schön wenn du den auf "Herz und Nieren" testen kannst (ist nur eine Zeile die eine utf8 Umwandlung der eingehenden Message macht).
Bei der Gelegenheit habe ich auch noch zwei andere Kleinigkeiten gefunden und gefixt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: heiko.ne am 10 Juni 2021, 17:34:55
Getestet, geht, FETTES DANKE für den schnellen Support!

Hier mein Listung, das zeigt, dass die Umlaute nun gut aufgenommen werden (sowohl im "msgText" als auch im "sentMsg"-Reading sind die Umlaute nun da):

   FD         4
   FUUID      xxx
   NAME       SignalBot
   NOTIFYDEV  global
   NR         382
   NTFY_ORDER 50-SignalBot
   STATE      Connected
   TYPE       Signalbot
   VERSION    Signalbot:2.1a signal-cli:0.8.1 Protocol::DBus:0.16
   READINGS:
     2021-04-29 08:16:23   joinedGroups   
     2021-06-10 17:02:26   lastError       Error in getContactName:Error Executing Method org.asamk.Signal.getContactName: null
     2021-06-10 17:30:23   msgAttachment   
     2021-06-10 17:30:23   msgAuth         0
     2021-06-10 17:30:23   msgGroupName   
     2021-06-10 17:30:23   msgSender       Heiko
     2021-06-10 17:30:23   msgText         Rolläden
     2021-06-10 17:30:23   msgTimestamp    10-06-2021 17:30:24
     2021-06-10 17:30:23   prevMsgAttachment
     2021-06-10 17:30:23   prevMsgGroupName
     2021-06-10 17:30:23   prevMsgSender   Heiko
     2021-06-10 17:30:23   prevMsgText     [b]Temperatur Küche[/b]
     2021-06-10 17:30:23   prevMsgTimestamp 10-06-2021 17:30:11
     2021-06-10 17:30:23   sentMsg         Die Rolläden haben die folgende Position

 - Wohnzimmer Tür links: 0%
 - Wohnzimmer Tür rechts: 0%
 - Wohnzimmer Fenster: 0%
 - Küche Fenster: 0%

 (0% = offen, 100% = geschlossen)
     2021-06-10 17:30:24   sentMsgRecipient xxx
     2021-06-10 17:30:24   sentMsgTimestamp 10-06-2021 17:30:23
   helper:
     init       :1.33938
     signalpath /org/asamk/Signal
     version    801
     auth:
     contacts:
       +49xxx xxx
       +49xxx xxx
Attributes:
   defaultPeer +49xxx
   group      Signal
   room       IT

Gruß
Heiko
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 10 Juni 2021, 17:44:42
und für den Daniel drück ich mal ein Auge zu  ;)  ;D

Sorry Dieter, hatte während des Schreibens eine Unterbrechung durch einen Daniel und da sind bei mir die Ds durcheinander geraten...  :o
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 10 Juni 2021, 22:41:38
Danke Heiko, ich habe die Änderung (und noch einen weiteren kleinen Fix) als v2.2 am Anfang des Threads aktualisert.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 11 Juni 2021, 13:02:37
Danke Heiko, ich habe die Änderung (und noch einen weiteren kleinen Fix) als v2.2 am Anfang des Threads aktualisert.

Jörg

Hallo Jörg,
kommt das Update automatisch per Fhem, oder was muss ich genau beachten?

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 11 Juni 2021, 14:57:10
Signalbot ist kein offizielles Modul (was hauptsächlich daran liegt, dass es für sich alleine nicht funktioniert und den Installer und andere Abhängigkeiten benötigt).
Daher findet sich immer im ersten Post dieses Threads die aktuelle Version inkl. eines kurzen Changelog.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 14 Juni 2021, 07:59:51
Hallo Jörg,

Signalbot ist kein offizielles Modul (was hauptsächlich daran liegt, dass es für sich alleine nicht funktioniert und den Installer und andere Abhängigkeiten benötigt).

es gibt ja eine Menge Module, die zusätzlich zu der Software, die standardmäßig beim Betriebssystem/bei der Distribution dabei ist, Nachinstallationen verlangen und sich dennoch großer Popularität erfreuen (Alexa, Tradfri) und im Standard mitverteilt werden. Eine gute, verständliche und leicht nachvollziehbare Doku ist das A und O. Beim Signalbot macht es die Doku leicht, die restliche Software zu installieren. Die Infos oder zumindest der Verweis aufs Wiki sollte in der Commandref sein.

Ich fände es gut, wenn Signalbot als Standard-Modul für Signal in die offizielle Modul-Verteilung käme.

Viele Grüße
Boris

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 16 Juni 2021, 22:45:52
Hi. Wie ist der Stand der Dinge?
Ist das Skript inzwischen ausgereift?
Ich würde Boris Vorschlag ebenfalls befürworten.

Schönen Abend.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 17 Juni 2021, 07:31:57
Werde ich mir mal anschauen, wenn ich wieder mehr Luft habe. Derzeit gehts mit Arbeit und privaten Projekten ziemlich rund.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 17 Juni 2021, 07:32:46
Klar. Ist verständlich.
Aber trotzdem erstmal Dankeschön für deine Arbeit ;)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 24 Juni 2021, 11:48:10
Hallo,

das Skript läuft bei mir durch.
Aber ich bekommen weder einen Anruf noch eine SMS - auch nach einer Stunde warten tut sich nix ...

Update:
Es funktioniert nicht mit Festnetznummern!
Mit einer Mobilnummerfunktioniert es!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Dr. Boris Neubert am 24 Juni 2021, 17:00:57
Hallo Remo,

es funktioniert grundsätzlich auch mit Fetznetznummern. Das habe ich dreimal erfolgreich durchgeführt.

Beim ersten Mal hatte ich jedoch dasselbe Erlebnis. Es kommt einfach kein Rückruf. Recherche hat ergeben, dass es damals an einem Serverproblem (Überlastung?) lag. Eine Woche später ging es bei einem erneuten Registrierungsversuch, ohne dass ich etwas dazu getan hätte.

Viele Grüße
Boris
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 27 Juni 2021, 21:43:59
Hallo Boris.
Danke für den Hinweis.
Ich hatte es allerdings über drei Wochen mit insgesamt vier Anläufen versucht.
Bisher ohne Erfolg. Wann war denn deine erfolgreiche Registrierung mit einer Festnetznummer?
Vor Kurzem?
Ich würde es gerne noch einmal versuchen wollen.

BTW:
Kann man über das Skript auch wieder Nummern unregistern?

Liebe Grüße
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Juni 2021, 09:55:18
Hallo,

Festnetz geht definitiv. Ich habe nur Festnetznummern registriert. Wenn kein Anruf kommt - wird ein Captcha verlangt? Bevor dies nicht gelöst wurde, gibt es auch keinen Anruf.
Nummer zu "de-registrieren" ist nicht nötig. Eine erneute Registrierung überschreibt die vorherige.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 28 Juni 2021, 11:50:53
Hallo.

Gerade nochmals versucht.
Captcha klappt.

Bei einer Mobilfunknummer kommt sofort nach eingabe des Captcha-Hashes die SMS.
Bei Festnetz passiert nix.

Werder Anruf noch wird mir die SMS vorgelesen...


EDIT:

Jetzt hat es auf einmal funktioniert.
Captcha ok.
SMS kam als Anruf (Festnetz beim Provider aufs Handy weitergeleitet) ok.

Keine Ahnung - Habe nix anders gemacht als vorher ...
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: jascha am 29 Juni 2021, 07:15:34
Hallo zusammen,

erst einmal vielen Dank für die ganzen Mühen & Arbeit! Stelle mein Setup gerade von SiSi auf den Signalbot um. Zu meinem Problem: Die Skriptausführung bricht mit einem Fehler ab:

./signal_install.sh: 406: ./signal_install.sh: Syntax error: "(" unexpected (expecting "fi")
Ich nutze das Docker Image nicht, also habe ich die folgende Stelle

#398 stop_service() {
#399   if [ -z "$DOCKER" ]; then
#400         echo "Stopping signal-cli service"
#401         service signal stop
#402   else
#403         SIGSERVICE=`ps -eo pid,command | grep $SIGNALVAR | grep -v grep`
#404         if [ -n "$SIGSERVICE" ]; then
#405                 echo "Stopping signal-cli daemon for Docker"
#406 >>              ARRAY=($SIGSERVICE)
#407                 PID=${ARRAY[0]}
#408                 kill $PID
#409         fi
#410   fi
#411 }

wie folgt angepasst:

stop_service() {
        echo "Stopping signal-cli service"
        service signal stop
}

Dann habe ich folgenden Fehler bekommen:

./signal_install.sh: 659: ./signal_install.sh: Syntax error: "(" unexpected (expecting "fi")
Auch hier dasselbe Spiel. Dieser Block

#651 if [ -z "$DOCKER" ]; then
#652         systemctl daemon-reload
#653         systemctl disable signal.service
#654         systemctl reload dbus.service
#655 else
#656         DBDAEMON=`ps -eo pid,command | grep dbus-daemon | grep -v grep`
#657         if [ -n "$DBDAEMON" ]; then
#658                 echo "Stopping dbus daemon for Docker"
#659 >>              ARRAY=($DBDAEMON)
#660                 PID=${ARRAY[0]}
#661                 kill $PID
#662        fi
#663 fi

wird zu

        systemctl daemon-reload
        systemctl disable signal.service
        systemctl reload dbus.service

Dann klappt die Ausführung, allerdings beschwert sich das Skript, dass die Ausführung, die ich so ausführe (vielleicht ist das sh das Problem? Ein Aufruf ohne vorangestelltes sh mit sudo -E ./signal_install.sh liefert aber sudo: ./signal_install.sh: command not found)

$ sudo -E sh ./signal_install.sh
nicht mit bash erfolgt:

[...]
Checking for zip...available
This script requires bash for some functions. Check if bash is installed.
Checking for bash...available
Please re-run using bash

Die default shell ist aber bash:

$ finger $USER|grep -oP 'Shell: \K.*'
/bin/bash

Der Aufruf explizit mit bash funktioniert:

$ /bin/bash ./signal_install.sh
Zum Schluss scheint das Verschicken von Nachrichten noch nicht zu klappen, aber da schaue ich noch weiter rein.

[...]
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Sending a message via dbus-send command
Error org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
Sending a message via perl Protocol::DBus
Error getting message
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM

== Update ==

Das Skript lief nun erfolgreich durch. Vermutlich trat der vorherige Fehler auf, weil ich die Option -E weggelassen hatte. Mit Angabe von -E und der Pflege der Nummer in ~/.bash_profile lief das Skript erfolgreich durch und ich konnte meinen Account verlinken.  :)

Viele Grüße,
Jascha
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: acw81 am 29 Juni 2021, 14:18:50
Hallo zusammen,

ich habe mit dem Installationsskript den Signal Client soweit am laufen (Der Test schickt 3 Meldungen, die auch auf der Gegenseite ankommen). Leider kann ich aber kein Signal Device in FHEM anlegen, obwohl Protocol::DBus installiert ist. Ich halte nur folgende Meldung im Log:

2021.06.29 14:10:57.055 1: Define init_done: SignalClient Signalbot
2021.06.29 14:10:57.055 1: SignalClient: Init: Please make sure that Protocol::DBus is installed, e.g. by 'sudo cpan install Protocol::DBus'
2021.06.29 14:10:57.055 1: define SignalClient Signalbot: Please make sure that Protocol::DBus is installed, e.g. by 'sudo cpan install Protocol::DBus'

root@rpi:/home/xxx# cpan install Net:DBus
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 29 Jun 2021 09:29:03 GMT
Net::DBus is up to date (1.2.0).
root@rpi:/home/xxx# cpan install Protocol::DBus
Loading internal logger. Log::Log4perl recommended for better logging
Reading '/root/.cpan/Metadata'
  Database was generated on Tue, 29 Jun 2021 09:29:03 GMT
Protocol::DBus is up to date (0.17).


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 29 Juni 2021, 17:10:04
Wie stehen die Chancen die Datei "50_Signalbot.pm" standardmäßig mit aufzunehmen, ohne,
dass diese manuell abgelegt werden muss?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 30 Juni 2021, 12:58:53
Leider kann ich aber kein Signal Device in FHEM anlegen, obwohl Protocol::DBus installiert ist. Ich halte nur folgende Meldung im Log:

Wenn das Script under root geht, aber unter deinem fhem user das Perl Modul nicht gefunden wird, dann überprüfe mal das Environment des Users (besonders hinsichtlich Perl).
Alle Pfade korrekt? Alle notwendigen Variablen gesetzt? Gruppenzugehörigkeit passt?

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 30 Juni 2021, 13:00:50
Wie stehen die Chancen die Datei "50_Signalbot.pm" standardmäßig mit aufzunehmen, ohne,
dass diese manuell abgelegt werden muss?

Wie schon weiter oben gesagt: Wenn ich wieder mehr Zeit habe. Wenn ich das jetzt so aufnehme, dann werden sich zig Leute beschweren das es nicht "out of the box" funktioniert. D.h. da muss die Fehlerbehandlung (Script nicht gelaufen) weiter verbessert werden mit konkreten Hinweisen wo das Skript zu funden ist etc.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: remo am 30 Juni 2021, 20:48:58
Hallo.

Gerade nochmals versucht.
Captcha klappt.

Bei einer Mobilfunknummer kommt sofort nach eingabe des Captcha-Hashes die SMS.
Bei Festnetz passiert nix.

Werder Anruf noch wird mir die SMS vorgelesen...


EDIT:

Jetzt hat es auf einmal funktioniert.
Captcha ok.
SMS kam als Anruf (Festnetz beim Provider aufs Handy weitergeleitet) ok.

Keine Ahnung - Habe nix anders gemacht als vorher ...


Ich verstehe es nicht.
Frisches System. Wollte eine weitere Nummer registrieren:
Selbes Ding: Captcha ok - kein Anruf/SMS ......

Scheint mir ein großes Glücksspiel zu sein  :-\


EDIT:

Nach ca. 18 Versuchen mit --remove und Neuinstallation hat es nun funktioniert.
Der Captcha-Hash sah aber auch etwas anders aus - mehr Zeichen - als bei den 17 anderen Versuchen.
Vielleicht mehrere Captchas lösen bevor man den Hash wieder einfügt?!

Testen werde ich das jetzt nicht - bin froh, dass das jetzt erstmal funktioniert hat.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: _Niemand_ am 06 Juli 2021, 18:15:01
Erstmal... besten Dank für die Arbeit so ein Skript und ein entsprechendes Modul zu erstellen. :)

Ich hatte es die letzten Tagen auch mal versucht auf meinen Raspberry1 zu installieren und es lief auch bis zur Eingabe des 6-Digit-Signal-Codes durch - ohne allerdings die Captcha-Abfrage anzuzeigen. Es kam auch kein SMS Code bzw. Anruf an - mehrmals mit verschiedenen Nummer getestet.

Jetzt nehme ich an, dass die entsprechenden SO-Files (libsignal_jni.so/libzkgroup.so) wohl nicht (korrekt) auf meinen Raspberry (armv6l) laufen, da in der Beschreibung nur von armv7l die Rede ist (was mindestens einen Raspberry2 voraussetzt). Richtig?
Auch die JNI-API (hier 52) scheint wohl zu niedrig zu sein, oder? (Leider sind bis jetzt alle meine Versuche ein Java11 auf den Raspberry1 zu installieren gescheitert).

Deshalb schätze ich mal, dass ich mit meinen Raspberry1 den Signalbot nicht nutzen kann, oder besteht noch irgendwie Hoffnung?
Danke.. viele Grüße...

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 06 Juli 2021, 20:39:07
Mit einem Raspberry1 hast du da wohl wirklich schlechte Karten.
Wie du richtig bemerkt hast sind die Libraries für armv7l und als OS wird auch "Buster" vorraus gesetzt.
Die beiden libraries zu übersetzen braucht außerdem sehr viel Resourcen. Mein Raspi4 mit 4GB Speicher schwitzt da schon sehr. Mit 512MB sehe ich da keine Chance.
Also höchste Zeit fürs Upgrade auf einen Raspi4  :) Kost ja nicht die Welt.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: laberlaib am 10 Juli 2021, 18:00:51
Hallo,

kurze Rückmeldung von heute:
Ubuntu 20.04 Server auf Proxmox.
Wenn ich kapiert hätte, dass man die Nummer im Skript hinterlegen muss, dann hätte es beim ersten Durchlauf schon geklappt (das werde ich highlighten im Wiki, sobald ich meine Zugangsdaten dazu finde).
Festnetznummer per Voiceaktivierung.
Das Captcha-Ding mit Chrome war etwas fummlig, das sieht nicht so ganz aus, wie auf dem Screenshot, aber man findet es.
Der Key ist schon sehr sehr lang.

Vielen Dank, super Arbeit, liest sich mega kompliziert, war dann aber sehr einfach für mich als Anwender.

Endlich kann ich alle erreichen und nicht nur die Jabbernerds der Familie (mich).

Philipp

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 14 Juli 2021, 13:42:35
Hallo,
ich hatte mir irgendwie, mein FHEM zerschossen, jedenfalls ging Signal nicht mehr.

Also zum Test, habe ich einen "jungfreulichen" Dockercontainer für FHEM erstellt.
Dein Script gestartet.
Bis zur Registrierung lief alles gut. Nur ich wurde nie nach einen captcha gefragt.
hier das Install Log des Scriptes (fehlt)

upps, ich denke mal das LOG ist zu groß und hat den Post gecrasht.

Auszug eine /tmp/signal12345.log Temp files
./signal-cli: 39: cd: can't cd to ./..
./signal-cli: 41: cd: can't cd to /opt/fhem/signal/bin
Error: Could not find or load main class org.asamk.signal.Main
Caused by: java.lang.ClassNotFoundException: org.asamk.signal.Main

Im FHEM Log
2021.07.14 15:39:45.666 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/50_Signalbot.pm line 1256.
connect(unix:path=/var/run/dbus/system_bus_socket): Connection refused at /usr/local/share/perl/5.28.1/Protocol/DBus/Client.pm line 144.

Starte ich die Registrierung per signal-cli läuft alles prima inkl Captcha Abfrage.
Dockerfile gemäß WiKi

Wo kann ich nicht suchen? Danke
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: _Niemand_ am 18 Juli 2021, 12:42:46
Also höchste Zeit fürs Upgrade auf einen Raspi4  :) Kost ja nicht die Welt.

Update auf Raspi4 durchgeführt  - SignalBot läuft wie am Schnürchen  ;D

Nochmal: besten Dank für das tolle Modul!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: max333 am 22 Juli 2021, 18:44:48
Ich habe von Telegram auf Signal umgestellt und das Modul läuft sofort stabil. Außerdem habe ich laut dem Freezemon viel weniger Freezes.

Von mir auch besten Dank für das Modul.  :)
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Che007 am 23 Juli 2021, 21:50:08
@BAfH

Hattest du das Problem lösen können?

EDIT:
Ok es scheint mit den librarys und Version 0.8.4.1 noch nicht alles zu stimmen. In der Version am Anfang von diesem Thread steht noch .8.3. damit geht es.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 27 Juli 2021, 14:05:35
Ich sehe aktuell in der 0.8.4.1 keine wichtigen Fixes/Updates und habe mich aus Zeitmangel auch nicht tiefer damit beschäftigt.
Richtig ist aber, das diese Version neuere native libraries für den Raspi benötigt.
Wer es ausprobieren will, findet hier die passenden:
https://github.com/bublath/FHEM-Signalbot/tree/main/armv7l-0.8.4 (https://github.com/bublath/FHEM-Signalbot/tree/main/armv7l-0.8.4)

Ich hab das auf meinem Testsystem laufen und es scheint zu funktionieren, ist aber nicht tiefgehender getestet.
Sonst bitte weiter 0.8.3 verwenden, was ja auch der Standard des Installationskripts ist.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Che007 am 27 Juli 2021, 21:51:29
Also Signal-cli läuft mit DBUS und Perl, doch beim define Signal Signalbot stürzt FHEM ab. Ich verwende ich angepasste Docker Version. Der DBUS läuft als root und nicht mit einem extra Benutzer. Vielleicht liegt es ja daran?!

O::Framed::X::EmptyRead: Got empty read; EOF?
==> X::Tiny::create('IO::Framed::X', 'EmptyRead') (called in /usr/local/share/perl/5.28.1/IO/Framed/Read.pm at line 95)
==> IO::Framed::Read::_expand_read_buffer(IO::Framed=HASH(0x6480da8), '65536') (called in /usr/local/share/perl/5.28.1/IO/Framed/Read.pm at line 117)
==> IO::Framed::Read::read_until(IO::Framed=HASH(0x6480da8), '
') (called in /usr/local/share/perl/5.28.1/Protocol/DBus/Authn.pm at line 252)
==> Protocol::DBus::Authn::_read_line(Protocol::DBus::Authn=HASH(0x64fe4d0)) (called in /usr/local/share/perl/5.28.1/Protocol/DBus/Authn.pm at line 99)
==> (eval)(Protocol::DBus::Authn=HASH(0x64fe4d0)) (called in /usr/local/share/perl/5.28.1/Protocol/DBus/Authn.pm at line 96)
==> Protocol::DBus::Authn::go(Protocol::DBus::Authn=HASH(0x64fe4d0)) (called in /usr/local/share/perl/5.28.1/Protocol/DBus/Client.pm at line 105)
==> Protocol::DBus::Client::initialize(Protocol::DBus::Client=HASH(0x653fc58)) (called in ./FHEM/50_Signalbot.pm at line 653)
==> main::Signalbot_setup(HASH(0x5e06a48)) (called in ./FHEM/50_Signalbot.pm at line 1241)
==> main::Signalbot_setPath(HASH(0x5e06a48), undef) (called in ./FHEM/50_Signalbot.pm at line 1294)
==> main::Signalbot_Init(HASH(0x5e06a48), 'Signal Signalbot') (called in ./FHEM/50_Signalbot.pm at line 1268)
==> main::Signalbot_Define(HASH(0x5e06a48), 'Signal Signalbot') (called in fhem.pl at line 3894)
==> main::CallFn('Signal', 'DefFn', HASH(0x5e06a48), 'Signal Signalbot') (called in fhem.pl at line 2127)
==> main::CommandDefine(HASH(0x5f28cc0), 'Signal Signalbot', 'define') (called in fhem.pl at line 1265)
==> main::AnalyzeCommand(HASH(0x5f28cc0), 'define Signal Signalbot', 'ACC') (called in fhem.pl at line 1116)
==> main::AnalyzeCommandChain(HASH(0x5f28cc0), 'define Signal Signalbot') (called in ./FHEM/01_FHEMWEB.pm at line 2775)
==> main::FW_fC('define Signal Signalbot', '') (called in ./FHEM/01_FHEMWEB.pm at line 1006)
==> main::FW_answerCall('/fhem&fw_id=101&room=Unsorted&fwcsrf=csrf_145788320052560&cmd=define+Signal+Signalbot') (called in ./FHEM/01_FHEMWEB.pm at line 598)
==> main::FW_Read(HASH(0x5f28cc0)) (called in fhem.pl at line 3894)
==> main::CallFn('WEBtablet_192.168.0.103_50335', 'ReadFn', HASH(0x5f28cc0)) (called in fhem.pl at line 773)
...propagated at /usr/local/share/perl/5.28.1/Protocol/DBus/Authn.pm, line 153
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: SouzA am 28 Juli 2021, 06:56:06
Hi,

das Modul lief schon sehr gut.
Allerdings bekomme ich jetzt folgenden Fehler ausgespuckt:
Error in version:Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)Und es funktioniert nichts mehr.
Was kann man tun?

Thx und bis denn
SouzA

Edit:
Bei z.B. "get Signalbot contacts all" kommt
Signal-cli 0.8.1+ required for this functionalityaber es ist
STATE Connected??
Wie gesagt, es hat schon funktioniert!

Edit 2:
Habe das install-script noch mal ausgeführt.
Jetzt funktioniert es wieder?!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Juli 2021, 17:10:50
Signal-cli 0.8.1+ required for this functionality
Wenn die Abfrage der Version fehlschlägt, dann vermutet Signalbot dass signal-cli V0.8.0 hat (da es da noch keine Versionsabfrage gab) und blockiert manche neuere Funktionen.

Schön das es nach dem Install wieder geht. Dieses einfach nochmal auszuführen ist generell ein guter Ansatz. Wo und warum da vorher der Wurm drin war, lässt sich natürlich so nicht sagen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 28 Juli 2021, 17:16:51
Also Signal-cli läuft mit DBUS und Perl, doch beim define Signal Signalbot stürzt FHEM ab. Ich verwende ich angepasste Docker Version. Der DBUS läuft als root und nicht mit einem extra Benutzer. Vielleicht liegt es ja daran?!
Der Fehler liegt irgendwo tief in den Abhängigkeiten des Protocol::Dbus Moduls. Ich kann da nur vermuten, das dieses oder eine der vielen Abhängigkeiten in deiner Docker installation nicht oder nicht korrekt installiert sind.
Ein Quercheck wäre mit der Test-Funktion des install scripts zu machen. Dort wird auf 3 Arten (u.a. auch über Perl/Dbus) eine Nachricht abgesetzt - erstmal ganz ohne Signalbot. Das sollte eigentlich mit root funktionieren (lässt man ja mit sudo laufen). Wenn das auch nicht geht, dann musst du dir mal ansehen wie du Protocol::Dbus installierst und ob alle Abhängigkeiten vorhanden sind.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Che007 am 29 Juli 2021, 07:37:37
Danke Jörg für die Antwort.

Die 3 Sendetests funktionieren.

Ist wohl alles ein wenig seltsam. FHEM startet. Ich definiere Signalbot - FHEM stürzt mit der o.g. Fehlermeldung ab. FHEM startet neu. Signalbot wurde nicht angelegt. Definiere ich es noch einmal klappt es. Ich kann senden etc.
Nur nach einem Neustart kommt FHEM nicht hoch, wegen o.g. Fehler.
Auch das verzögerte Anlegen des Signalbots hilft nicht.

Leider habe ich keine Idee mehr wo ich ansetzen soll.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 29 Juli 2021, 08:21:45
Kannst du mal versuchen den FHEM start zu verzögern?
Eventuell ist irgendwas noch nicht bereit.
Allerdings müsste ich dann dringend den FHEM Absturz abfangen. Das sollte nicht sein. Schaue ich mir bei Gelegenheit mal an.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Che007 am 29 Juli 2021, 09:35:46
Ja hatte ich bereits versucht.
Hatte nach DBus und Signal-Cli start eine Pause von 5 Minuten eingebaut.
Wobei ich auch nach 1 Tag laufenden Diensten und FHEM mal den Signalbot angelegt habe und es trotzdem abgestürzt ist.
Es funktioniert nur, wenn das fhem/fhem Docker Image nach dem Absturz wieder hoch kommt und ich das Gerät dann anlegen. Weiß Gott wieso?!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 29 Juli 2021, 09:57:59
Morgen,
sorry für die späte Rückmeldung, die Arbeit hat mir keinen Freiraum gelassen.
Ich habe heute den FHEM Test Container:
Das Script geändert auf Version 0.8.3 und über die signal_install.sh in der Console als root gestartet.

Alles wurde soweit installiert, das Install Log hänge ich an,  was mir aufgefallen.
Checking for Protocol::DBus...Can't locate Protocol/DBus.pm in @INC (you may need to install the Protocol::DBus module) (@INC contains: /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at /tmp/signal10137.tmp line 5.
BEGIN failed--compilation aborted at /tmp/signal10137.tmp line 5.
Installing latest Protocol::DBus...done
Checking user signal-cli ...Adding user `signal-cli' ...
Adding new group `signal-cli' (1001) ...
Adding new user `signal-cli' (1001) with group `signal-cli' ...
Creating home directory `/home/signal-cli' ...
Copying files from `/etc/skel' ...
created
Checking for /opt/fhem...found
Checking for /var/lib/signal-cli...created
Checking for existing signal-cli installation...not found
Proceed with signal cli installation
Downloading signal-cli 0.8.3...done
Unpacking ...
Downloading native armv7l libraries...
done
Updating native x86 since you're on Raspberry...updating: libzkgroup.so (deflated 55%)
updating: libsignal_jni.so (deflated 53%)
done
done
Changing file ownership ...done
No device configuration found, starting process for +493338703585
Continue (y) or skip (N)?y
You can either
(r) register a new device (if that device is already registered e.g. to a smartphone that will be removed)
(l) link to an already registered device (both device will get the messages)
It is recommended to register a new device e.g. a land-line for usage with FHEM
register or link (r/l)r
Registering for +49xxx

Receive registration code for +49xxx by (S)MS or (V)oice (s/v)? v
Registering +49xxx with Voice call
You should get a call or SMS now providing a 6 digit code
Enter this code here:^C
Nichts passiert also Abbruch

in der Signal TMP Log finde ich folgendes
./signal-cli: 39: cd: can't cd to ./..
./signal-cli: 41: cd: can't cd to /opt/fhem/signal/bin
Error: Could not find or load main class org.asamk.signal.Main
Caused by: java.lang.ClassNotFoundException: org.asamk.signal.Main
Der PI ist auf aktuellem Stand.
Hat noch jemand eine Idee, wo ich was suchen oder drehen kann.

Danke

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Che007 am 29 Juli 2021, 10:53:22
Das Problem habe ich auch, wenn ich das Skript nicht als root laufen lassen, bzw. wenn der signal-cli User benutzt wird.
Ich habe das Skript angepasst, dass alles als root gemacht wird, also ohne extra User.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 29 Juli 2021, 12:16:07
Du hast ja so recht, machmal ist man auch noch blind... ::)
Danke für den Hinweis.
Das Problem habe ich auch, wenn ich das Skript nicht als root laufen lassen
Nur, was mir aufgefallen ist, signal-install.sh fragt nie nach einen Chapta
Ich habe anschließend das signal-cli manuell gestartet, das Chapta geholt
cd /opt/fhem/signal/bin
./signal-cli -u +49xxxx register --voice --captcha CHAPTA
Anruf erfolgte
./signal-cli -u +49xxx verify  CODEokay, Test mittels
./opt/fhem/signal/bin/signal-cli -u +49xxx send -m "Test FHEM TEST" +49yyy
funktioniert auch, Nachricht empfangen
Anschließend des
./signal_install.sh test
You seem to run in a docker environment. Warning: This is experimental
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt/fhem
Signal config storage:        /var/lib/signal-cli
Signal version:               0.8.3
System library path:          /usr/lib
Phone number to be used:      +49festnetz
You seem to be on a Raspberry pi with armv7l
Your chose the following option: test

Please enter the number (+49...) of somebody that you can send a test message to
Number:+49mobil
Sending a message from command line to +49mobil
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
sudo: unknown user: signal-cli
sudo: unable to initialize policy plugin
Waiting for dbus to become ready..running
Starting signal-cli daemon for Docker
Waiting for signal-cli to become ready........................................
Nichts passiert..
Container restart. Keine Änderung.
Das wundert mich auch sudo: unknown user: signal-cli

Was habe ich übersehen oder vergessen....
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 30 Juli 2021, 09:06:08
Das Problem habe ich auch, wenn ich das Skript nicht als root laufen lassen, bzw. wenn der signal-cli User benutzt wird.
Ich habe das Skript angepasst, dass alles als root gemacht wird, also ohne extra User.
Hast Du da nur im Script was geändert?
#!/bin/bash
SCRIPTVERSION="$Id:2.2$"
# Author: Adimarantis
# License: GPL
#Install script for signal-cli
if [ -z "$PHONE" ]; then
   PHONE="+49festnetz"
fi
SIGNALPATH=/opt
SIGNALUSER=signal-cli
LIBPATH=/usr/lib
SIGNALVERSION="0.8.3"
SIGNALVAR=/var/lib/$SIGNALUSER
DBSYSTEMD=/etc/dbus-1/system.d
DBSYSTEMS=/usr/share/dbus-1/system-services
SYSTEMD=/etc/systemd/system
LOG=/tmp/signal_install.log
TMPFILE=/tmp/signal$$.tmp
VIEWER=eog
DBVER=0.17
OPERATION=$1


wie sieht dein Dockerfile aus?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: SouzA am 04 August 2021, 05:21:34
Hi,
mein Signalbot versendet noch Nachrichten.
Bei "get Signalbot contacts all" oder "get Signalbot groups all" kommt die Fehlermeldung
Signal-cli 0.8.1+ required for this functionality

Wie gesagt, Messages werden versendet.
Ich bitte um Hilfe.
Vielen Dank!

Bis denn
SouzA
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 August 2021, 13:08:20
Signal-cli 0.8.1+ required for this functionality
SouzA

Dann ist entweder eine veraltete Signal-Cli version installiert oder der "Versionscheck" beim Start ist fehlgeschlagen.
Folgende Dinge kannst du probieren (jede für sich kann bereits helfen)

Wenn das alles nichts hilft mal verbose level hoch und logfiles sammeln, ggf. auch vom syslog.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: SouzA am 04 August 2021, 14:09:51
Dann ist entweder eine veraltete Signal-Cli version installiert oder der "Versionscheck" beim Start ist fehlgeschlagen.
Folgende Dinge kannst du probieren (jede für sich kann bereits helfen)
  • Einfach mal ein "set reinit" machen, dann sollte der Versioncheck wiederholt werden
  • FHEM restart
  • Install Script nochmal laufen lassen (mit Kommandozeilen Option "install" - und nochmal FHEM restart

Wenn das alles nichts hilft mal verbose level hoch und logfiles sammeln, ggf. auch vom syslog.

Jörg

Moin,
danke für Antwort.

Punkt 1. "reinit" hat schon geholfen.

Thx und bis denn
SouzA
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 04 August 2021, 14:31:11
Ich habe nochmal einiges probiert.
Vor jede Versuch habe ich immer das Image gelöscht und alles neu erstellen lassen.
Das signal_install.sh läuft jetzt so sauber durch. Das ich meine Rufnummer registrieren kann und eine , wirklich nur einen Testnachricht versenden kann.
Hier ein Auszug
root@e7a4044dfc19:/opt/fhem# ./signal_install.sh test
You seem to run in a docker environment. Warning: This is experimental
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settigns are correct:
Signal-cli User:              root
Signal-cli Install directory: /opt/fhem
Signal config storage:        /var/lib/root
Signal version:               0.8.3
System library path:          /usr/lib
Phone number to be used:      +49festnetz
You seem to be on a Raspberry pi with armv7l
Your chose the following option: test

Please enter the number (+49...) of somebody that you can send a test message to
Number:+49mobil
Sending a message from command line to +49mobil
If you get a 'in use, waiting' message, skip by pressing CTRL-C - this is normal when system service is already up and running
1628080015204
Waiting for dbus to become ready..running
Starting signal-cli daemon for Docker
Waiting for signal-cli to become ready...................................................running
Sending a message via dbus-send command
Error org.freedesktop.DBus.Error.ServiceUnknown: The name org.asamk.Signal was not provided by any .service files
Sending a message via perl Protocol::DBus
Error getting message
If the recipient got all three messages, your setup looks healthy and you're ready to go to set up Signalbot in FHEM
Im FHEM sehe ich nur setstate Signal 2021-08-04 14:27:21 lastError Error in version:The name org.asamk.Signal was not provided by any .service filesHat jemand eine Idee, was ich noch ändern kann. Danke
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 August 2021, 20:48:25
Zitat
setstate Signal 2021-08-04 14:27:21 lastError Error in version:The name org.asamk.Signal was not provided by any .service filesHat jemand eine Idee, was ich noch ändern kann. Danke
Steht was im syslog? Der Service oder Dbus läuft nicht.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: BAfH am 05 August 2021, 09:51:02
das syslog im Docker habe ich nicht gefunden.
Starte ich den Container sehe ich im Log
2021.08.05 09:16:10.787 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/50_Signalbot.pm line 1256.
connect(unix:path=/var/run/dbus/system_bus_socket): Connection refused at /usr/local/share/perl/5.28.1/Protocol/DBus/Client.pm line 144.
Nach einem Restart ist kein Prozess DBUS zu sehen
root@e7a4044dfc19:/opt/fhem# service dbus status
[FAIL] dbus is not running ... failed!
gefunden in der /var/log/signal.err
root@e7a4044dfc19:/opt/fhem# more /var/log/signal.err
INFO DaemonCommand - Exported dbus object: /org/asamk/Signal
ERROR DaemonCommand - Dbus command failed
org.freedesktop.dbus.exceptions.DBusException: Connection ":1.9" is not allowed to own the service "org.asamk.Signal" due to security policies in the configuration file
        at org.freedesktop.dbus.connections.impl.DBusConnection.requestBusName(DBusConnection.java:469)
        at org.asamk.signal.commands.DaemonCommand.handleCommand(DaemonCommand.java:70)
        at org.asamk.signal.App.handleLocalCommand(App.java:211)
        at org.asamk.signal.App.init(App.java:171)
        at org.asamk.signal.Main.main(Main.java:51)
Dbus command failed
root@e7a4044dfc19:/opt/fhem#
Hilft das weiter.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 05 August 2021, 10:18:57
root@e7a4044dfc19:/opt/fhem# service dbus status
[FAIL] dbus is not running ... failed!
Dann ist es ja ziemlich eindeutig. Deine Docker Umgebung hat kein DBus - wahrscheinlich sind die erforderlichen Pakete nicht installiert.
Ich hänge mal mein Docker Install Script an - da kannst du abschauen welche Pakete ich installiere.
Da ich selbst keine Docker-Installation verwende, kann ich jetzt nicht garantieren, das das Script noch funktioniert. Das war nur mal ein Test - soweit ich mich erinnere aber ein erfolgreicher.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: darkness am 23 August 2021, 08:54:12
Guten Morgen.

Ich wollte mir gerade mal Signalbot installieren. Soweit haben alle Schritte geklappt und versenden von Nachrichten ausserhalb von FHEM klappt auch.
Jedoch bekomme ich vom Modul folgenden Fehler:

Zitat
Error in version:/org/asamk/Signal is not an object provided by this process


Installiert habe ich die Version 0.8.5 von signal-cli.

Anfangs hatte ich das Problem, das libsignal-client  nicht gefunden wurde. (https://github.com/AsamK/signal-cli/issues/643). Nach einem Update auf Bullseye läuft die signal-cli aber.

Edit:
Es scheint noch ein Fehler im Dbus vorzuliegen. Ich bekomme folgenden Fehler:

Zitat
org.freedesktop.dbus.exceptions.DBusException: Connection ":1.5" is not allowed to own the service "org.asamk.Signal" due to security policies in the configuration file
konnte ich schon lösen. Bei mir läuft signal-cli unter dem user fhem. Das musste ich in den Configdateien anpassen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: darkness am 23 August 2021, 10:13:48
Ok, hat sich erledigt. Jetzt läuft alles. Es lag letztendlich an Berechtigungsproblemen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 29 August 2021, 23:26:39
Hallo zusammen.

Nachdem ich über den Sommer ein großes "nicht-IT" Projekt realisiert habe, bin ich jetzt wieder dran am Signabot weiterzuentwickeln.
Daher möchte ich mal kurz einen Ausblick geben, was gerade geplant ist:

Eine aktuelle Änderung in signal-cli (die der Autor dankenswerterweise auf meine Anregung aufgenommen hat) wird wohl ab Version 0.8.6 ermöglichen den Service ohne vorherige Registrierung einer Nummer zu starten. D.h. das Installationsscript kann dahingehend vereinfacht werden, dass es eine "blanke" signal-cli Installation zur Verfügung stellt und alles weitere (Nummern linken oder registrieren) aus FHEM heraus geht. Dies ist für mich ein entscheidender Schritt um SignalBot später ins automatische Update aufzunehmen. Hierbei ist es dann auch möglich zwischen mehreren Nummern zu wechseln (vielleicht um auf einer Nummer mitzuhören und eine andere zum Senden zu verwenden).

Meine aktuelle Beta-Version kann schon zwischen Nummern wechseln und auch einen QR Code anzeigen um FHEM zu einer bestehenden Signal App auf dem Smartphone dazuzulinken.
Ein großes Problem ist wie schon im Script, dass die feste Registrierung ein Captcha erfordert. Hier habe ich nach wie vor keinen guten Weg gefunden das Token automatisiert auszulesen (da braucht man wohl einen handler im Browser der auf "signalcapcha://" hört. Wer da Ahnung hat bitte melden.
Sonst wird es wohl darauf rauslaufen, dass ich den Link zum Captcha zwar zum Anklicken anzeigen kann, man aber nach wie vor gleich umständlich das Token suchen und per Copy&Paste einfügen muss. Immerhin kann der Anwender etwas schöner durch die Prozedur geführt werden, als im Script.

Die signal-cli API unterstützt inzwischen noch ein paar weitere Aktionen wie das Löschen von Nachrichten und schicken on "Reactions" (also z.B. eine empfangene Nachricht mit "Daumen hoch" zu markieren) aber da sehe ich eigentlich keinen sinnvollen Anwendungsfall in FHEM - korrigiert mich wenn ich da falsch liege - und plane nicht das einzubauen.

Ich hoffe ich kriege die Änderungen einigermassen Rückwärtskompatibel hin.
Möglicherweise werde ich aber die neuste signal-cli Version "erzwingen" müssen und man muss ggf. einmalig nach dem Update die korrekte Nummer in FHEM definieren (nicht neu registrieren).

Gruß,
Jörg

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dkreutz am 30 August 2021, 11:23:42
Ein großes Problem ist wie schon im Script, dass die feste Registrierung ein Captcha erfordert. Hier habe ich nach wie vor keinen guten Weg gefunden das Token automatisiert auszulesen (da braucht man wohl einen handler im Browser der auf "signalcapcha://" hört. Wer da Ahnung hat bitte melden.

Ich habe mal etwas ähnliches (Token auslesen, 2FA automatisieren) experimentell für den Amazon-Music Login geskriptet und dafür Selenium/Webdriver (https://www.selenium.dev/documentation/webdriver/) verwendet.
Das war allerdings in Python, ob und wie ein Perl-Support vorhanden is, habe ich nicht recherchiert.
Das ganze ist/war aber ziemlich hakelig (sobald es eine Änderung auf der Webseite gibt, muss man sein Skripting wieder anpassen) und der Installationsaufwand für Selenium/Webdriver für ein FHEM-Modul dürfte auch nicht unerheblich sein.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 03 September 2021, 14:06:05
Ich habe mithilfe des signal-cli Forums tatsächlich eine Lösung für Windows gefunden. Der Plan ist dynamisch eine Registry Datei zur Verfügung zu stellen mit der das dann vollautomatisch abläuft.
Für Linux muss es da auch was geben (Stichwort xdg-utils) aber da muss ich noch mal stöbern.

Hier schon mal ein Preview wie das aussehen kann.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 September 2021, 17:30:06
Hallo,

das angekündigte Update ist quasi fertig. Es müsste nur noch besser getestet werden.
Das Problem dabei ist, dass die signal-cli Version die dazu nötig ist, derzeit noch nicht released ist und mein Pull Request auf GitHub schon eine Weile auf approval wartet.
Wenn jemand ganz viel Lust hat das Ganze mal auf Herz und Nieren zu testen, könnte ich meine Version (für Raspberry Pi, wenn nötig auch für Ubuntu/Debian X86) zusammenzippen und zur Verfügung stellen.
Bei Interesse per PM melden.

Sobald die nächste signal-cli version (hoffentlich inklusive meiner Patches) released ist, können wir in die öffentliche Beta gehen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: fz55 am 11 September 2021, 15:20:15
Hallo Adimarantis,

vielen Dank für dieses Modul.

Nachdem das Modul SiSi Ende August bei  mir plötzlich nicht mehr funktionierte, bin ich auf Signalbot (inklusive Neuregistrierung) umgestiegen. Probleme hatte ich nur beim Auslesen des Captchas mit meinem Standardbrowser Firefox - mit Edge hat es aber funktioniert.

In meiner Automation benutzte ich häufig den FHEM-Befehl msg, um Signal-Nachrichten zu versenden. Mit Signalbot ist dies zur Zeit nicht möglich. Deshalb meine Bitte: Könntest du parallel zu "set Signalbor send" auch "set Signabot msg" einpflegen, damit msg weiterhin benutzt werden kann. Ich habe es so bei mir umgesetzt:

27a28
>   "msg" => "textField",
131c132
<       if ( $cmd ne "send") {
---
>       if ( $cmd ne "send" and $cmd ne "msg") {
207c208
<       } elsif ( $cmd eq "send") {
---
>       } elsif ( $cmd eq "send" || $cmd eq "msg") {


Vielen Dank
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 11 September 2021, 23:22:34
Mal sehen, ich möchte eigentlich die "set" Liste möglichst kurz halten und das "msg" wäre eben ein redundanter Eintrag.
Ich weiss, Telegrambot hat z.B. eine ganze Liste solcher "Aliase". Ich hatte mich eben beim Erstellen des Moduls auf "send" festgelegt.

Grundsätzlich liesse sich hier eine bestehenden Automatisierung per find&replace im fhem.cfg (msg->send) ja recht schnell umstellen.

Findet die Einführung von "msg" als alias für "send" noch weitere Unterstützer? Am Besten einfach den Beitrag "hochvoten" - das ist übersichtlicher als lauter Antworten.

Ich warte aber ohnehin noch das die neue signal-cli Version veröffentlicht wird. Vorher werde ich kein Update machen.
Mit der neuen Version wird das mit den Captchas dann übrigens einfacher. Ich habe inzwischen eine Automatisierung wenn der Browser unter Windows läuft und für Linux zumindest für den Firefox.

Jörg 
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Flachzange am 12 September 2021, 08:01:38
Ich beschäftige mich jetzt zum ersten Mal mit dem msg-Framework und wollte auch primär Signalbot nutzen (dessen Einrichtung prima geklappt hat). Vielleicht täuche ich mich, aber aus meiner Sicht braucht es keine Unterstützung für msg, da ich einfach  msgCmdPush entsprechend mit "send" setze:

attr globalMsg msgCmdPush set %DEVICE% send @%RECIPIENT% %MSG%
Erstmal nur stumpf adaptiert. Aber wie gesagt, lasse mich hier als Newbie auch gerne eines besseren belehren.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: fz55 am 12 September 2021, 10:51:00
Flachzanges Lösungsvorschlag funktioniert!! Wieder etwas gelernt. Besten Dank.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Flachzange am 12 September 2021, 13:44:17
Ich bin mir nicht sicher, ob es vielleicht zu OffTopic ist, aber ich denke schon, dass es eine Spezialiät von Signalbot. Ich möchte gerne über msg eine Nachricht an alle Hausbewohner schicken. Die Nachricht soll aber nicht einzeln an jeden geschickt werden, sondern an eine Signal-Gruppe, in der alle drin sind. FHEM ist bereits Teildieser Gruppe und ich kann Nachrichten an diese Gruppe schicken.

Wie kann ich nun über

Zitat
msg @Hausbewohner Hier Text

die Nachricht in genau diese Gruppe schicken ohne dass ich die Gruppe msg-Befehl direkt erwähne?

Ich habe es bereits versucht mit

Zitat
attr Hausbewohner msgContactPush Signalbot:#"Smart Home"

Hausbewohner ist das RESIDENTS device
Signalbot ist das Signalbot Device
"Smart Home" ist die entsprechende Signal-Gruppe.

Danke!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 12 September 2021, 15:05:48
Hilft das vielleicht:

Setze das Attribut defaultPeer auf #gruppenname

Dann kannst du ein "send" ohne weitere Angaben (nur mit dem Nachrichtentext) machen und es landet in der entsprechenden Gruppe.

Gruß.
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Flachzange am 12 September 2021, 16:15:04
Danke für die schnelle Antwort. Das funktioniert und ist sicherlich ein Workaround geht dann aber leider auch am msg-Konzept vorbei. Der für mich entscheidende Punkt ist, wie msg mit Signalbot interagiert und bei Gruppen scheint das irgendwie zu haken bzw. ich habe ich noch nicht verstanden, wie es funktioniert. Für Einzelempfänger funktioniert es mit

attr globalMsg msgContactPush Signalbot:+49175xxxxxx
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 12 September 2021, 20:43:45
Hab mich mit dem "msg" Modul jetzt noch kaum beschäftigt, aber es schaut mir nicht so aus als ob da eine Unterscheidung für Einzelempfänger und Gruppen vorgesehen ist.
Was aber auf jeden Fall geht, ist generell an Gruppen statt Einzelempfänger zu schicken:
attr globalMsg msgCmdPush set %DEVICE% send #%RECIPIENT% %MSG%
attr globalMsg msgContactPush Signalbot:testgruppe
klappt bei mir.

Wenn das "#" Zeichen für msgContactPush eingesetzt wird, dann sehe ich im Logfile noch nicht mal den Versuch Signalbot aufzurufen. "msg" kann da die Device vom Recipient nicht sauber trennen:
msg globalMsg: ID=1631471291.47571.1 TYPE=push ROUTE=SignalBot:#testgruppe STATUS=UNDEFINED PRIORITY=0 TITLE='' 'test'
Wenn ich es aber wie oben konfiguriere kommt korrekt:
msg globalMsg: ID=1631471759.65634.1 TYPE=push ROUTE=SignalBot RECIPIENT=testgruppe STATUS=OK PRIORITY=0 TITLE='' MSG='test'
und ich erhalte auch die Nachricht in meiner Gruppe.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 13 September 2021, 16:35:18
Beta Test Signalbot V3

Es ist soweit. Signal-cli 0.9.0 ist released - leider ohne meine Änderungsvorschläge, wofür ich jetzt ein paar Workarounds bauen musste, was aber für die Funktionalität selbst keine große Rolle spielt.
Da mit dieser Version geplant ist ins reguläre FHEM update zu gehen, liegt das jetzt als tgz Archiv mit voller Verzeichnisstruktur bei.
Einfach als user "fhem" im fhem home (also überlicherweise /opt/fhem) entpacken:
tar xf SignalbotV3beta1.tgzAusgepackt wird das Modul nach FHEM sowie ein paar Hilfsdateien und der Installer nach www/signal

Testszenarien:
- An sich sollte Signalbot nach einem "shutdown restart" weiter funktionieren (ist ja auch nötig falls jemand Signalbot schon verwendet und nicht mitkriegt, dass "update" seine alte Version überschrieben hat). Hier sollten aber im Modul deutliche Hinweise auf das entsprechende signal-cli update angezeigt werden
- Nachdem der Installer gelaufen ist (dann bitte "shutdown restart" oder zumindest "set reinit") ist der Normalfall wahrscheinlich, dass man genau eine Nummer registriert hat. Signalbot sollte das erkennen und diese automatisch als Standard übernehmen
- Sollten mehrere Nummern registriert sein, dann muss erst mit "set account" eine davon ausgewählt werden oder eine weitere Nummer registriert werden.
- Wenn noch gar nichts registriert ist gibt es fast den selben Hinweis, nur das jetzt zwingend mit "set register" der Registrierungsprozess gestartet werden muss. Das könnt ihr testen indem ihr mit
sudo mv /var/lib/signal-cli/data /var/lib/signal-cli/data.orgdie alte Registrierung wegschiebt ("sudo service signal restart" nicht vergessen).
- Grundsätzlich ist es kein Problem die selbe Nummer testweise nochmal zu registrieren (ich würde allerdings vorsichtshalber die neue Registrierung auch weiter verwenden, anstatt die alte wiederherzustellen)

Sonst will ich jetzt gar nicht gross mehr Anleitung geben, da der Registrierungsprozess wie eine Art "Wizard" geführt wird und damit hoffentlich selbsterklärend ist.
Bitte ruhig kreuz und quer rumprobieren. Ich hab sicher nicht alle möglichen Fehlerfälle und Benutzereingaben abgedeckt. Wenn was auffällt bitte mit Loglevel 5 nachstellen und posten (oder per PM, dann braucht ihr nicht zwangsweise die Telefonnummer rauszulöschen - ich gelobe die PM nach Durchsicht zu löschen und die Nummern nicht für Werbezwecke zu verwenden :) )

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: KuhKai am 15 September 2021, 00:51:27
Bei mir hängt sich install.sh auf...
Zitat
Linux fhem-fhem0 4.4.180+ #41890 SMP Fri Jun 25 02:37:14 CST 2021 x86_64 GNU/Linux                                                                                     
has not been tested, continue at own risk                                                                                                                               
This will update system packages, install or uninstall signal-cli                                                                                                       
                                                                                                                                                                       
system   : prepare required system package (except signal-cli)                                                                                                         
install  : install signal-cli and setup as dbus system service                                                                                                         
test     : run a basic test if everything is installed and registered correctly                                                                                         
remove   : Remove signal-cli and all configurations (will be archived)                                                                                                 
start    : Start the signal-cli service (or respective docker processes)                                                                                               
all      : Run system, install, start and test (default)                                                                                                               
                                                                                                                                                                       
!!! Everything needs to run with sudo/root !!!                                                                                                                         
                                                                                                                                                                       
Proceed (Y/n)? y                                                                                                                                                       
Checking for /usr/lib...found                                                                                                                                           
Checking for /etc/dbus-1...found                                                                                                                                       
Checking for /etc/dbus-1/system.d...found                                                                                                                               
Checking for /usr/share/dbus-1...found                                                                                                                                 
Checking for /usr/share/dbus-1/system-services...found                                                                                                                 
Checking for /etc/systemd/system...found                                                                                                                               
Checking for /run/dbus...found                                                                                                                                         
Running in Docker, performing apt update/upgrade...Hit:1 https://deb.nodesource.com/node_10.x buster InRelease                                                         
Hit:2 https://cdn-aws.deb.debian.org/debian buster InRelease                                                                                                           
Hit:3 https://cdn-aws.deb.debian.org/debian-security buster/updates InRelease                                                                                           
Hit:4 https://cdn-aws.deb.debian.org/debian buster-updates InRelease                                                                                                   
Reading package lists...                                                                                                                                               
Reading package lists...                                                                                                                                               
Building dependency tree...                                                                                                                                             
Reading state information...                                                                                                                                           
Calculating upgrade...                                                                                                                                                 
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.                                                                                                         
done                                                                                                                                                                   
Checking for apt-ftparchive...available                                                                                                                                 
Checking for wget...available                                                                                                                                           
Checking for sudo...available                                                                                                                                           
Checking for haveged...available                                                                                                                                       
Checking for java...available                                                                                                                                           
Checking for diff...available                                                                                                                                           
Checking for dbus-send...available                                                                                                                                     
Checking for cpan...available                                                                                                                                           
Checking for zip...available                                                                                                                                           
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available                                                                                                             
Checking for /usr/share/build-essential/essential-packages-list...available                                                                                             
Checking for /usr/share/doc/libimage-librsvg-perl...available                                                                                                           
Checking for Protocol::DBus...V0.19 found                                                                                                                               
Checking user signal-cli ...Adding user `signal-cli' ...                                                                                                               
Adding new group `signal-cli' (1000) ...                                                                                                                               
Adding new user `signal-cli' (1000) with group `signal-cli' ...                                                                                                         
The home directory `/home/signal-cli' already exists.  Not copying from `/etc/skel'.                                                                                   
created                                                                                                                                                                 
Checking for /opt/fhem...found                                                                                                                                         
Checking for /var/lib/signal-cli...found                                                                                                                               
Checking for existing signal-cli installation...found                                                                                                                   
Checking signal-cli version...signal-cli 0.9.0                                                                                                                         
signal-cli matches target version...ok                                                                                                                                 
Starting dbus daemon for Docker                                                                                                                                         
Waiting for dbus to become ready..running                                                                                                                               
Starting signal-cli daemon for Docker                                                                                                                                   
Waiting for signal-cli to become ready..........

...ab hier geht es nicht mehr weiter. Das Docker Protokoll sagt: "connect(unix:path=/var/run/dbus/system_bus_socket): Connection refused at /usr/local/share/perl/5.28.1/Protocol/DBus/Client.pm line 144."
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: darkness am 15 September 2021, 07:36:24
Guten Morgen,

ich habe gerade das Script auf einer frischen FHEM-Installation getestet. Die Installation endet mit folgender Fehlermeldung:

Checking for /etc/systemd/system/signal.service.../etc/systemd/system/signal.service installed
Created symlink /etc/systemd/system/dbus-org.asamk.Signal.service -> /etc/systemd/system/signal.service.
Created symlink /etc/systemd/system/multi-user.target.wants/signal.service -> /etc/systemd/system/signal.service.
Start signal-cli service
Checking installation via dbus-send command...Error org.freedesktop.dbus.errors.UnknownMethod: The method `org.asamk.Signal.isRegistered' does not exist on this object.
Sending a message via perl Protocol::DBus...Error getting reply

Jedoch scheint danach alles zu laufen:
Internals:
   CFGFN     
   FD         4
   FUUID      614182f1-f33f-df6c-5561-a013bf20afb00d4a
   NAME       mySignalbot
   NOTIFYDEV  global
   NR         20
   NTFY_ORDER 50-mySignalbot
   STATE      Connected to /org/asamk/Signal/_49XXX
   TYPE       Signalbot
   VERSION    Signalbot:3.0beta signal-cli:0.9.0 Protocol::DBus:0.19
   READINGS:
     2021-09-15 05:26:46   account         +49XXX
     2021-09-15 05:21:54   joinedGroups   
     2021-09-15 05:26:46   lastError       ok
     2021-09-15 05:27:25   sentMsg         Testnachricht
     2021-09-15 05:27:31   sentMsgRecipient +49XXXX
     2021-09-15 05:27:31   sentMsgTimestamp 15-09-2021 05:27:25
   helper:
     accounts   1
     captcha    03AGdBq25E6cM1xMWWUjx606UtWg-zTIotfkfVhhiK6C-ecHDU22b2xmx-s3HKMrZXc-S9brXQO7JOPPwSk9tdnpw-UWchtsQcYyPkgtd8XF54cMqeIHms79zJjQ1J0-Imwwxun_j2cu8Ap8TA7tljLxunHowQP7Lq1HiukUXST6x8jxph7PBRv0eA3YDcrfqkxFPwVzcd-_XVRvLgFLfZeZxxQ1cnA7Z1dYAv2PUCWWY4PQVzNMPzgKaO9UEXDIlUdql7Z69NMy5I9ok7vU5CRZk09IcuP3-tkmRsaZ7L6wlCTbylTiLfr3xJ2D9_YxAHoSFzOrPOTlYzYhVCofjHyimW688koDh1Vqsxm0L2IQpVS4r-w3eZSs_yDk4qix8_L31SgND4B3k8kfIQ3mJrUTwuUDzlN37M696P1c_Vo_zg0qRfAgyzd3JIWwqTsj5_HpRb3o9nHJh-
     init       :1.34
     multi      1
     qr         
     register   
     signalpath /org/asamk/Signal/_49XXX
     verification
     version    900
     contacts:
       +49XXX
       +49XXX
Attributes:
   registerMethod Voice

Edit:
Übrigens funktioniert die Captcha-Abfrage über den Browser nicht, da ich ein csrf-Error erhalte:

2021.09.15 05:24:54 3: FHEMWEB WEB CSRF error:  ne csrf_YYYYYYYYYYYYYY for client WEB_172.16.40.10_46764 / command set mySignalbot captcha signalcaptcha://03AGdBq26R30L-rSsjsYpeD-aLGiODeDZYVlwwtcDhcyLpik916fUwIZoKhcZJ2QirST2eQzxV7-rIm95qF0Y4l1HEO5zrFfoHV6pSRqQrRWuiiPNeKs2TmH5Exsp5WnUSshrkIH65ZnJ5S8ag_0MQu9nrDNhSi1VqkjjkQMFJ4riV0eszG96xdnB7BN8gyfgdHiqmgQdnrFtpbiNUBxxgu-srnoXYO5dn43whg5XmjMLpXjYLKb8Ckbu1sz18JqzQg9TvXqUuUdy0z422KelQl_85VhiOkSeX9d85fj83K49YdPoqIQ94QB0eHHjaTYERlYsl7XhAC-sbdJaeZQCpnar-ww8GAZG1Sx5B8Q7GR0C3NGxHwNnwKM-UO_I39EYx_Uv4Z6uvEp07-e3GE7T0ZEbKjTuH3M0GR7R-iONfmXJIv5Fi78bVw81ElNjDGJjOi9yV6oGwVGD_. For details see the csrfToken FHEMWEB attribute.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 15 September 2021, 09:47:30
Zitat
Checking installation via dbus-send command...Error org.freedesktop.dbus.errors.UnknownMethod: The method `org.asamk.Signal.isRegistered' does not exist on this object.
Sending a message via perl Protocol::DBus...Error getting reply

Das kann ignoriert werden. Da habe ich im Rahmen des workaround (weil meine Änderung in signal-cli noch nicht akzeptiert wurden) vergessen auf eine andere test-funktion umzustellen.

Zitat
...ab hier geht es nicht mehr weiter. Das Docker Protokoll sagt: "connect(unix:path=/var/run/dbus/system_bus_socket): Connection refused at /usr/local/share/perl/5.28.1/Protocol/DBus/Client.pm line 144."
Hmm.. ok - den Docker-spezifischen Teil habe ich nicht getestet, muss ich mir ansehen. Danke.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: KuhKai am 15 September 2021, 18:59:56
Hi Jörg,

sudo -u $SIGNALUSER ./signal-cli --config $SIGNALVAR -u $PHONE daemon --system >/var/log/signal.log 2>/var/log/signal.err &
Liefert
./signal-cli: 39: cd: can't cd to ./..                                                                                                                                                                                                       
./signal-cli: 41: cd: can't cd to /opt/fhem/signal/bin                                                                                                                                                                                       
Error: Could not find or load main class org.asamk.signal.Main                                                                                                                                                                               
Caused by: java.lang.ClassNotFoundException: org.asamk.signal.Main

Ich verstehe leider nicht, warum der Verzeichniswechsel nicht von statten gehen kann.
$PHONE ist ein Überbleibsel von der Vorversion?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 15 September 2021, 20:42:45
Meine Dockerinstallation (extra script) installiert signal-cli unterhalb vom fhem in /opt/fhem/signal
Die Standardinstallation unter /opt/signal
Einfach so funktioniert das ist.
Das "-u" ist zwar wirklich ein Überbleibsel, würde aber erstmal nichts ausmachen solange $PHONE die korrekte Telefonnummer enthält.

Wenn du unter Docker eine Standardinstallation machen willst, dann musst die am Anfang vom Script die Dockererkennung entfernen. Das ist aber alles nicht supported.
Docker würde ich mir in einem weiteren Schritt ansehen, wenn ich weiss, dass die normale Installation sauber läuft.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 15 September 2021, 20:47:58
Zitat
Übrigens funktioniert die Captcha-Abfrage über den Browser nicht, da ich ein csrf-Error erhalte:
Ok, das habe ich bei mir deaktiviert (ich glaube das hat mit IFTTT damals Probleme gemacht - aber das verwende ich inzwischen nicht mehr)
Sollte eigentlich möglich sein das Token in die generierten .reg bzw. mime Files zu integrieren. Nachteil ist natürlich, das man nach jeden FHEM Neustart diese Files neu installieren muss.
Muss ich mir ansehen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 18 September 2021, 13:17:39
Um die Installation zu vereinfachen experimentiere ich gerade mit Debian packages.

Letztendlich ist dann das Installer Script nicht mehr notwendig sondern es muss nur Protocol::DBus von cpan installiert werden:
sudo cpan install Protocol::DBus
Sowie der signal-cli service über apt für Ubuntu (20.04+ , für 18.04 passt die glibc version nicht)
sudo apt-get install -f ~/signal-cli-dbus_0.9.0-1_amd64.debbzw. für Raspberry (Buster)
sudo apt-get install -f ~/signal-cli-dbus_0.9.0-1_armhf.deb
Die Packages liegen jetzt erstmal testweise auf meinem Google Drive. Evtl. lege ich die dann zukünftig auf das FHEM SVN oder es hat jemand eine bessere Idee.

amd64:
https://drive.google.com/file/d/1R3H8lghA452kevxbhu7q8O492gc7LmMc/view?usp=sharing

Armhf:
https://drive.google.com/file/d/1s-ykv5LCtlol9mMJf9SWX32orld8HDOT/view?usp=sharing

Damit sollte es auch recht einfach sein ein bestehendes FHEM Docker Installationsscript zu erweitern:
RUN cpan install -f Protocol::DBus
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y -f ~/signal-cli-dbus_0.9.0-1_amd64.deb

Im Docker hab ich das jetzt noch nicht getestet aber auf meinem Raspberry bzw. meiner Ubuntu VM läuft das soweit.
Die Abhängigkeiten zu Dbus and Java sollten eigentlich von apt-get aufgelöst werden, aber es ist möglich, das ich noch nicht alle Abhängigkeiten erfasst habe.

Jörg


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 18 September 2021, 14:36:45
Update für das csrf Token Problem.
Wenn FHEM ein csrf Token verwendet, wird dieses jetzt im jeweiligen .reg / .desktop file mitgeneriert.
Wichtig: Sofern ein zufälliges Token verwendet wird, muss dieses dann neu geholt und installiert werden, wenn FHEM neu gestartet wurde.

Getestet habe ich das bisher aus Zeitgründen nur für zufälliges Token (=Attribut in FHEMWEB nicht gesetzt) und Windows.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 18 September 2021, 15:39:29
Hallo Jörg,

Zitat
Evtl. lege ich die dann zukünftig auf das FHEM SVN oder es hat jemand eine bessere Idee.

D.h. derzeit kommen Updates noch nicht per Fhem update, sehe ich das richtig?

Für mich ist jeder Updateprozess in Ordnung, solange ich ihn nachvollziehen und mit meinem beschränkten Wissen ausführen kann.

Wenn du soweit bist, dass Updates per Fhem oder sonstwie eingespielt werden können, wäre es schön, wenn du einen Fahrplan für die Anwender bereithalten könntest, die dein nützliches Modul jetzt schon nutzen.

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 18 September 2021, 16:17:28
Hallo Gisbert,

richtig, bisher geht noch nichts über FHEM Update - da möchte ich erst noch etwas mehr Test Feedback und ein paar Kleinigkeiten bezüglich der Ablage der Files sind auch noch zu klären.

Es wird auf jeden Fall so ablaufen, dass du als "alter" Anwender keine Probleme bekommst. Das dann verteilte Modul ist rückwärtskompatibel mit deiner jetzigen Umgebung.
Es wird dich aber "nerven" auf die neuere signal-cli Version zu gehen - welche aber nur zwingend für die neuen Features erforderlich ist. Alle Hinweise erscheinen in FHEM, so dass auch Anwender die hier nicht ständig mitlesen die notwendigen Infos haben.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 21 September 2021, 20:13:54
Release Candidate: Signalbot V3

Sofern keine signifikanten Bugs gefunden werden, plane ich diese Version demnächst per Update zur Verfügung zu stellen.

Zur Installation einfach das Modul ersetzen und entweder "shutdown restart" oder "reload 50_Signalbot" (dann aber bitte "set reinit").
Das Modul funktioniert weiter mit älteren signal-cli Versionen, wird sich aber beschweren, dass ihr ein Update auf 0.9.0 machen sollt. Der Update Prozess ist im Modul beschrieben.

Das Modul lädt selbstständig das aktuelle Installer script nach ~fhem/www/signal von https://svn.fhem.de/fhem/trunk/fhem/contrib/signal/ oder per Download link im Modul.
Dieses dann wie gewohnt mit
sudo ./signal_install.shausführen. Ist aber einiges schlanker und benötigt keine Angabe der Telefonnummer mehr. Diese wird übernommen bzw. im Modul konfiguriert und registriert.

Alternativ findet ihr unter https://svn.fhem.de/fhem/trunk/fhem/thirdparty/signal-cli-packages/ auch Debian packages (siehe README).
Diese installieren aber nur signal-cli - d.h. fehlende Perl Module oder andere FHEM spezifische Abhängigkeiten müssen ggf. nachinstalliert werden.

Docker wird für signal-cli nicht unterstützt. Ein im Docker installiertes FHEM wird wahrscheinlich Probleme haben mit dem DBus zu kommunizieren. Dazu muss man denke ich /run/dbus/system_bus_socket im FHEM container sichtbar machen und eben signal-cli mit apt (außerhalb vom Docker) installieren. Wer das Modul bereits in einem Container betreibt, sollte dieses aber auch nach dem Update weiter betreiben können. Sofern auch signal-cli geupdated werden soll muss das manuell erfolgen (bin und lib austauschen, signal-service script ohne -u )

Neue Funktionen sind mit älteren signal-cli Versionen ausgeblendet und ohnehin hauptsächlich für die Registrierung interessant.
Englische Anleitung im Modul ist angepasst. Wiki folgt wenn ich Zeit habe (das möchte ich noch aktualisieren, bevor ich das Modul per Update verteile).

Dann bin ich mal gespannt auf Rückmeldungen.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Flachzange am 21 September 2021, 22:04:12
Ich habe es gerade mal schnell gemacht. Zwei Anmerkungen:

1) Das Skript muss in der Regel noch ausführbar gemacht werden "chmod +x"
2) Ich musste nach dem Beenden des Skripts signal.service einmal neustarten, damit Version 0.90 geladen wird.

Ansonsten keine Auffälligkeiten wahrgenommen.

Grundsätzlich: Vielen Dank!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 September 2021, 12:43:35
Danke für die Rückmeldung.

Das Installerscript hat beim "upgrade" den Service nur gestartet (aber nicht neu gestartet - ist wohl versehentlich bei den Aufräumarbeiten rausgefallen). Sollte jetzt wieder der Fall sein.
Wenn signal_install.sh nach www/signal geladen wird, werde ich jetzt das +x setzen. Beim normalen "Download" funktioniert das natürlich nicht, daher hab ich den Hinweis jetzt im Wiki https://wiki.fhem.de/wiki/Signalbot ergänzt. Dort habe ich übrigens jetzt schon die V3 updates weitgehend eingepflegt.
Wer mag, darf gerne mal Querlesen und Verbesserungsvorschläge geben.

Auf meiner TODO liste steht noch die Docker Installation zu reparieren und zu testen..... (steht momentan überall als "unsupported")
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 22 September 2021, 17:45:18
Hallo Adimarantis,
ich benutze gerade noch die folgenden Versionen:  Signalbot:2.2      signal-cli:0.8.1       Protocol::DBus:0.19

Jetzt moechte ich auf die Signalbot:3.0 Version updaten, aber ich bekomme die 0.9.0 von signal-cli nicht installiert,
Die Ubuntu versionen mit dem .deb package installieren nicht (der signal service started nicht), für Buster habe ich die falsche Architekur.
Wie kann ich die 0.9.0 von signal-cli installieren?

jamo@inuc:~$ uname -r
4.19.0-17-amd64
jamo@inuc:~$ cat /etc/debian_version
10.10
jamo@inuc:~$ cat /proc/version
Linux version 4.19.0-17-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.194-3 (2021-07-18)

Ich habe gesucht und gelesen das man sich bestimmte libraries selber compilieren muss, aber die vorgehensweise ist unterschiedlich und ich traue mir nicht zu das zu machen ohne mir mein System zu zerschiessen.

Kannst Du oder jemand anderes helfen? Danke!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 September 2021, 18:22:03
Debian 10.10 scheint glibc-2-28 zu verwenden,das hab ich tatsächlich leider nicht im Programm.

Im Prinzip ist es kein Hexenwerk die beiden Libraries selber zu übersetzen.
Ich gehe jetzt davon, dass signal-cli per install script oder apt installiert wurde (egal welches).

Erstmal brauchst du "rust":

sudo curl https://sh.rustup.rs -sSf | sh
Dann die zkgroup libs übersetzen:
git clone git@github.com:signalapp/zkgroup.git
cd ffi/java
make

Da kommt am Schluss ein Fehler, den kann man aber ignorieren, wenn die library erfolgreich erzeugt wurde.
libzkgroup.so aus target/release/ nach /opt/signal/lib kopieren

Die libsignal-client übersetzen:
git clone git@github.com:signalapp/libsignal-client.git
cd java
./build_jni.sh desktop

libsignal_jni.so aus target/release/ nach /opt/signal/lib kopieren

Libraries ersetzen:
cd /opt/signal/lib
sudo -u signal-cli zip -u signal-client-java-*.jar libsignal_jni.so
sudo -u signal-cli zip -u zkgroup-java-*.jar libzkgroup.so

Dann service neu starten
sudo service signal start
Und dann läuft die Sache hoffentlich.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 22 September 2021, 22:40:00
Hallo Joerg,
danke erstmal, sehr hilfreich. Die Dateien sind soweit compiliert nach deiner Anleitung, aber jetzt bekomme ich:

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 Wed 2021-09-22 22:32:41 CEST; 9s ago
  Process: 24416 ExecStart=/opt/fhem/signal/bin/signal-cli --config /var/lib/signal-cli -u +491234567890 daemon --system (code=exited, status=1/FAILURE)
 Main PID: 24416 (code=exited, status=1/FAILURE)

Sep 22 22:32:41 inuc systemd[1]: Starting Send secure messages to Signal clients...
Sep 22 22:32:41 inuc signal-cli[24416]: WARN ServiceConfig - Failed to call libsignal-client: /tmp/resource1448454141144256459.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/resource1448454141144256459.so)
Sep 22 22:32:41 inuc signal-cli[24416]: Missing required native library dependency: libsignal-client
Sep 22 22:32:41 inuc systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Sep 22 22:32:41 inuc systemd[1]: signal.service: Failed with result 'exit-code'.
Sep 22 22:32:41 inuc systemd[1]: Failed to start Send secure messages to Signal clients.

Das sieht nach unlösbarem Problem aus, oder? Was ich gegoogled habe muss ich noch was kompilieren, oder gcc upgraden....
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Flachzange am 22 September 2021, 23:07:22
Eine kurze Recherche sagt, dass GLIBC 2.29 erst ab Kernel 4.20 dabei ist. Buster fährt noch mit 4.19. Eine Möglichkeit wäre es mit einem Backport-Kernel zu testen.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 22 September 2021, 23:09:50
Compiliert wurde anscheinend für glibc 2.29 - nur findet der die nicht (und ich hätte eigentlich 2.28 erwartet)
was sagt den
ldd --version
@Flachzange: Wenn auf dem selben System compiliert wird, dann würde ich eigentlich erwarten dass das zusammenpasst.


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 22 September 2021, 23:16:37
ldd --version
ldd (Debian GLIBC 2.28-10) 2.28
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 September 2021, 07:10:36
Hi Jamo,

also da ist dann irgendwas faul in deinem System. ldd schaut ok aus, aber warum übersetzt er dann für 2.29? Hast du schon mal ein einfaches Programm übersetzt und geschaut ob das läuft? Alle Pakete aktuell?
Vielleicht solltest du einfach auf Debian 11 updaten, falls da generell ein Wurm drin ist.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 23 September 2021, 10:40:47
Hallo Joerg,
danke erstmal aber ich verstehe das nicht. Vielleicht kannst Du mir das nochmal erklären.

Bevor ich die beiden libraries laut deiner Anleitung übersetzt habe, habe ich mit sudo apt install ./signal-cli-dbus_0.9.0-1_glibc2.31_amd64.deb die beiden Ubuntu pakete installiert (manchmal funktionieren ja die Ubuntu auch für Debian).

Was meinst Du mit ''warum übersetzt er dann für 2.29''? ''Was'' habe ich mit 2.29 übersetzt, und kann ich das wieder entfernen und nochmal übersetzten?

Er meckert ja nicht die beiden Dateien 'libsignal_jni.so' und 'libzkgroup.so' an, die ich als einzige kopiert habe, sondern /lib/x86_64-linux-gnu/libm.so.6. Die ist bei mir von May 2019 und zeigt auf

lrwxrwxrwx 1 root root 12 May  1  2019 /lib/x86_64-linux-gnu/libm.so.6 -> libm-2.28.so

Danke erstmal.


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 September 2021, 11:26:33
Bevor ich die beiden libraries laut deiner Anleitung übersetzt habe, habe ich mit sudo apt install ./signal-cli-dbus_0.9.0-1_glibc2.31_amd64.deb die beiden Ubuntu pakete installiert (manchmal funktionieren ja die Ubuntu auch für Debian).Ich fürchte damit hast du dein System inkonsistent gemacht.
Schmeiss das wieder runter und installiere vorsichtshalber die passende glibc (2.28) nochmal
Dann nochmal libraries compilieren.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 23 September 2021, 13:17:00
Hallo Jörg,
TADA TADA!

Signalbot:3.0beta3     signal-cli:0.9.0     Protocol::DBus:0.19

Nachdem ich deinem Rat gefolgt bin, und nochmal compiliert habe, habe ich gemerkt, das ich beim ersten Mal die Libraries gar nicht ersetzt hatte:
cd /opt/signal/lib
sudo -u signal-cli zip -u signal-client-java-*.jar libsignal_jni.so
sudo -u signal-cli zip -u zkgroup-java-*.jar libzkgroup.so

Nachdem ich das jetzt gemacht hatte, funktionierts.

DANKE Dir für die Geduld und die Erklärungen.

Letzte Frage(n):
Ich bekomme im FHEM-Modul folgende Meldung: Signal-cli is running in single-mode, please consider starting it without -u parameter (e.g. by re-running the installer)

Deswegen habe ich in /etc/systemd/system/signal.service unter ExecStart den -u parameter geloescht, aber das funktioniert nicht. Ich bekomme folgendes:
1) Liegts daran das der user fhem ist, und nicht signal-cli?
2) Was heisst genau "single-mode"? Im Wiki finde ich nichts.... Was ist der Vorteil/Nachteil für mich?
3) Im Log erscheint folgende Fehlermeldung: PERL WARNING: Use of uninitialized value $multi in numeric eq (==) at ./FHEM/50_Signalbot.pm line 1638.
4) Ich kann die kompilierten Libraries für Debian 10/amd64 zur Verfügung stellen, falls das für jemanden anderes nützlich ist. Bitte melden.

 jamo@inuc:/opt/fhem/FHEM$ 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 Thu 2021-09-23 13:11:48 CEST; 10s ago
  Process: 11890 ExecStart=/opt/fhem/signal-cli/bin/signal-cli +4912123456789 --config /opt/fhem/.local/share/signal-cli daemon --system (code=exited, status=1/
 Main PID: 11890 (code=exited, status=1/FAILURE)

Sep 23 13:11:48 inuc systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Sep 23 13:11:48 inuc systemd[1]: signal.service: Failed with result 'exit-code'.
Sep 23 13:11:48 inuc systemd[1]: Failed to start Send secure messages to Signal clients.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 September 2021, 14:14:47
Die Telefonnummer gehört zum "-u" Parameter und muss auch weg.

Single Mode heisst du hast eine dedizierte Nummer. Das ist quasi die alte Art und Weise.
Jetzt kann man zwischen mehreren Nummer wechseln. Hat erstmal keinen Nachteil für dich, außer der nervigen Meldung :)

Die Libraries kannst du mir gerne irgendwo zur Verfügung stellen, dann mach ich damit noch ein .deb Paket

Fehlermeldung schau ich mir an - da hab ich wohl einen Fall noch nicht richtig behandelt, sollte aber an der Stelle erstmal harmlos sein.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Jamo am 23 September 2021, 15:53:26
Hallo Jörg,
danke nochmal, hier die beiden Libraries.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 23 September 2021, 21:16:10
Danke Jamo,

(edit: Dateien umgezogen, da svn.fhem.de dafür der falsche Platz war)
unter http://fhem.bublath.de/ finden sich somit aktuell 4 Varianten von .deb packages.
- Raspbian Buster
- Ubuntu 18.04
- Ubuntu 20.04
- Debian Buster

Bitte beachten, dass diese Packages nur den Betrieb von signal-cli sicherstellen sollen und ggf. trotzdem Perl Module für Signalbot auf dem System fehlen könnten.

Ich habe jetzt auch mein Docker Script wieder aktualisert und etwas getested. Es ist im Wiki: https://wiki.fhem.de/wiki/Signalbot (https://wiki.fhem.de/wiki/Signalbot) verlinkt und beschrieben.

Ein paar Tage Test möchte ich noch abwarten, dann werde ich das Modul über Update verteilen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Flachzange am 26 September 2021, 10:35:59
Ich würde gerne die Gelegenheit nutzen mich für das Modul zu bedanken. Es läuft wirklich gut und die Doku im Wiki ist vorbildlich. Auch die kleinen Extras wie das "Command-Notify" mit GoogleAuth sind klasse.

Drei kleinere Verbesserungsvorschläge, die weitestgehend kosmetischer Natur sind:

1) Unterstützung für Gruppen im Command Notify. Wenn die Nachricht aus einer Gruppe kam, soll sie auch zurück in die Gruppe (command-Notify:14)
my $msgGroup =  ReadingsVal("Signalbot", "msgGroupName", "");
my $msgSender = ReadingsVal("Signalbot", "msgSender", "");
if ($msgGroup ne "") {$msgSender  = "#" . $msgGroup;}
elsif (substr($msgSender, 0, 1) ne "+")  { $msgSender = "@" . $msgSender }

2) Verhinderung einer Perl Warning, wenn man nur den favprefix schickt (command-Notify:26)
# ggf. Favoriten auflösen
if ($favPrefix && substr($msgText, 0, length($favPrefix)) eq $favPrefix) {
   $favno = $favPrefix eq $msgText ? 0 : int(substr($msgText, length($favPrefix)));
       @favarray = split(";", AttrVal("Signalbot", "favList", undef));

3) UTF-8 Encoding im Log (50_Signalbot.pm:345)
Log3 $hash->{NAME}, 3 , $hash->{NAME}.": Before parse:" . encode_utf8($fullstring) . ":";

Wenn Blödsinn gerne ignorieren.

Gruß
Chris
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 26 September 2021, 11:27:12
Hi Chris,

Schau ich mir mal an.
Die Favoriten im Wiki sind "Fremdcode" von @Weini.
Wenn die Nachfrage nach dem Feature größer wird, müsste man wohl mal darüber nachdenken, wie man das integriert.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 27 September 2021, 07:28:20
Hi Chris!

Danke dir für die Anmerkungen. Ich habe 1) & 2) jetzt bei mir eingebaut und möchte ein wenig testen. Wenn keine Probleme auftreten, dann übernehme ich das so ins Wiki.

weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 27 September 2021, 15:09:16
Punkte 1) & 2) sind jetzt im notify code im Wiki enthalten.

@Flachzange: Vielen Dank dir!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 27 September 2021, 15:57:30
Ich habe das Modul soeben ins SVN gepushed. Sollte ab morgen über UPDATE verfügbar sein.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 27 September 2021, 18:36:05
Habe von einer manuellen Installation (mit anderen Pfaden) mithilfe des Installations-Skriptes neu installiert und erfolgreich meinen registrierten Account da hinein migriert; außerdem aus dem SVN die neue Signalbot.pm geholt und eingebaut.

Läuft. Danke für deine Arbeit!
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Brause am 27 September 2021, 19:46:43
erstmal danke für das Modul, es läuft fantastisch  :)

nur falls es mal jemand braucht
um z.B. eine Test- oder alte Nummer (bei mir nach Rufnummerwechsel) deregistrieren will

sudo service signal stop
cd /opt/signal/bin
sudo -u signal-cli ./signal-cli --config /var/lib/signal-cli -u +49xxxx unregister --delete-account
sudo service signal start

und dann noch ein
set reinit

das heisst ich habe vorsichtshalber noch unter /var/lib/signal-cli/data
noch den entsprechenden Ordner/Datei entfernt
keine Ahnung ob das nötig gewesen wäre
aber ich dachte mir sicher ist sicher


Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 27 September 2021, 19:58:29
Grundsätzlich dürfte es reichen unter /var/lib/signal-cli die Daten für die entsprechende Nummer zu löschen.
Kann sein das dann auf dem Signal Server noch "Reste" übrigbleiben, aber da eine erneute Registrierung die alte überschreibt, ist das unbedenklich.
Die von @Brause beschriebene Option ist natürlich noch sauberer.

Es gibt bereits einen pull-request um die unregister Funktion auch über DBus zur Verfügung zu stellen. Außerdem gibt es weitere Funktionen wie z.B. eine Registrierung mit einer PIN zu schützen, die bereits commited sind. Sobald diese diese Änderungen in die nächste offzielle signal-cli Release einfliessen, kann ich sie gerne auch per Signalbot zur Verfügung stellen.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 27 September 2021, 20:11:29
Hallo Jörg,

ich habe eine Installation laufen.
Wenn ich in Fhem ein generelles Update (update all) mache, dann wird dein Modul jetzt auch erneuert.

Muss ich dann noch irgendetwas machen, bzw. berücksichtigen als "Alt"-User?

Ich zögere etwas, da ich nicht weiß, ob und wieviel Zeit ich anschließend benötige, bis es wieder läuft.

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 27 September 2021, 20:35:01
Hallo Gisbert,

Über "Update all" sollte das Modul erst morgen drin sein (ich glaube morgends um 7 läuft der Job der Änderungen übernimmt).

Aber gründsätzlich:
- Du musst erstmal nichts machen. Das Modul wird sich zwar in der Detailseite über die veraltete signal-cli Version beschweren, wird aber weiter seinen Dienst verrichten
- Auch nachdem du die signal-cli Version auf 0.9.0 per Script (nach Neustart/Reinit des Moduls unter www/signal zu finden) aktualisiert hast, musst du nichts weiter tun
- Wenn du auf Nummer sicher gehen willst, dann sichere dir vorher die alte 50_Signalbot.pm Datei weg. Falls irgendwas nicht geht, kannst du damit das Update rückgängig machen

Die meisten Änderungen betreffen neue Nutzer, die jetzt die Registrierung bequem aus Signalbot heraus machen können. Alles andere ist eigentlich unverändert geblieben.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: enno am 27 September 2021, 20:55:40
Ich zögere etwas, da ich nicht weiß, ob und wieviel Zeit ich anschließend benötige, bis es wieder läuft.

Moin Gisbert,

ich habe mir die aktuelle Version eben aus dem SVN geholt. Kommt sonst morgen nach 8:00 Uhr. Habe den Installer laufen lassen und FHEM neu gestartet. Danach war alles als wenn nichts passiert wäre. Super! Danke an Jörg!

VERSION

Signalbot:3.0 signal-cli:0.9.0 Protocol::DBus:0.19

Gruss
  Enno
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 29 September 2021, 21:53:29
Hallo Jörg,
hallo Enno,

der Umstieg war tatsächlich sehr einfach.
Ein ganz dickes Lob für Jörg, erstens für das Modul und zweitens für den reibungslosen Updateprozess, der nun in Fhem integriert ist.

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 09:13:57
Hallo,

bei mir lief bereits die Vorgänger Version erfolgreich.
Jetzt wollte ich auf die neue Version updaten.
Leider ohne Erfolg.

dieter@intelnuc:~$ sudo ./signal_install.sh
This script will help you to install signal-cli as system dbus service
and prepare the use of the FHEM Signalbot module

Please verify that these settings are correct:
Signal-cli User:              signal-cli
Signal-cli Install directory: /opt
Signal config storage:        /var/lib/signal-cli
Signal version:               0.9.0
System library path:          /usr/lib
You seem to run Ubuntu on x86_64
This will update system packages, install or uninstall signal-cli

system   : prepare required system package (except signal-cli)
install  : install signal-cli and setup as dbus system service
test     : run a basic test if everything is installed and registered correctly
remove   : Remove signal-cli and all configurations (will be archived)
start    : Start the signal-cli service (or respective docker processes)
all      : Run system, install, start and test (default)

!!! Everything needs to run with sudo/root !!!

Proceed (Y/n)? Y
Checking for /usr/lib...found
Checking for /etc/dbus-1...found
Checking for /etc/dbus-1/system.d...found
Checking for /usr/share/dbus-1...found
Checking for /usr/share/dbus-1/system-services...found
Checking for /etc/systemd/system...found
Checking for /run/dbus...found
Checking for apt-ftparchive...available
Checking for wget...available
Checking for sudo...available
Checking for haveged...available
Checking for java...available
Checking for diff...available
Checking for dbus-send...available
Checking for cpan...available
Checking for zip...available
Checking for /usr/include/dbus-1.0/dbus/dbus.h...available
Checking for /usr/share/build-essential/essential-packages-list...available
Checking for /usr/share/doc/libimage-librsvg-perl...available
Checking for /usr/share/perl5/URI.pm...available
Checking for Protocol::DBus...V0.19 found
Checking user signal-cli ...found
Checking for /opt...found
Checking for /var/lib/signal-cli...found
Checking for existing signal-cli installation...found
Checking signal-cli version...signal-cli 0.9.0
signal-cli matches target version...ok
Checking for /etc/dbus-1/system.d/org.asamk.Signal.conf...found
Checking for /usr/share/dbus-1/system-services/org.asamk.Signal.service...found
Checking for /etc/systemd/system/signal.service...found
Start signal-cli service
Job for signal.service failed because the control process exited with error code.
See "systemctl status signal.service" and "journalctl -xe" for details.
Checking installation via dbus-send command...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.
unexpected reply

Sending a message via perl Protocol::DBus...Error getting reply

Kann jemand weiter helfen?

Danke und Gruß
Dieter
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 01 Oktober 2021, 10:34:50
Hallo Dieter,

was sagen denn

systemctl status signal.service

journalctl -xe
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 10:40:04
Hallo Dieter,

was sagen denn

systemctl status signal.service

journalctl -xe

Hallo und danke für deine Unterstützung.

● 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 Fri 2021-10-01 09:09:26 CEST; 1h 26min ago
  Process: 7125 ExecStart=/opt/signal/bin/signal-cli --config /var/lib/signal-cli daemon --system (code=exited, status=1
 Main PID: 7125 (code=exited, status=1/FAILURE)

Okt 01 09:09:25 intelnuc systemd[1]: Starting Send secure messages to Signal clients...
Okt 01 09:09:26 intelnuc signal-cli[7125]: WARN ServiceConfig - Failed to call libsignal-client: /tmp/resource5225696170
Okt 01 09:09:26 intelnuc signal-cli[7125]: Missing required native library dependency: libsignal-client
Okt 01 09:09:26 intelnuc systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Okt 01 09:09:26 intelnuc systemd[1]: signal.service: Failed with result 'exit-code'.
Okt 01 09:09:26 intelnuc systemd[1]: Failed to start Send secure messages to Signal clients.

Und hier noch ein Auszug aus dem syslog

Oct  1 09:08:35 intelnuc systemd[1]: Created slice User Slice of dieter.
Oct  1 09:08:35 intelnuc systemd[1]: Starting User Manager for UID 1000...
Oct  1 09:08:35 intelnuc systemd[1]: Started Session 171 of user dieter.
Oct  1 09:08:35 intelnuc systemd[6529]: Failed to open directory /home/dieter/.config/systemd/user, ignoring: Permission denied
Oct  1 09:08:35 intelnuc systemd[6529]: Listening on GnuPG cryptographic agent and passphrase cache (restricted).
Oct  1 09:08:35 intelnuc systemd[6529]: Listening on REST API socket for snapd user session agent.
Oct  1 09:08:35 intelnuc systemd[6529]: Listening on GnuPG cryptographic agent (ssh-agent emulation).
Oct  1 09:08:35 intelnuc systemd[6529]: Listening on GnuPG network certificate management daemon.
Oct  1 09:08:35 intelnuc systemd[6529]: Listening on GnuPG cryptographic agent and passphrase cache (access for web browsers).
Oct  1 09:08:35 intelnuc systemd[6529]: Reached target Timers.
Oct  1 09:08:35 intelnuc systemd[6529]: Reached target Paths.
Oct  1 09:08:35 intelnuc systemd[6529]: Listening on GnuPG cryptographic agent and passphrase cache.
Oct  1 09:08:35 intelnuc systemd[6529]: Reached target Sockets.
Oct  1 09:08:35 intelnuc systemd[6529]: Reached target Basic System.
Oct  1 09:08:35 intelnuc systemd[6529]: Reached target Default.
Oct  1 09:08:35 intelnuc systemd[6529]: Startup finished in 25ms.
Oct  1 09:08:35 intelnuc systemd[1]: Started User Manager for UID 1000.
Oct  1 09:08:35 intelnuc kernel: [143421.730633] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:36 intelnuc kernel: [143422.729781] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:37 intelnuc kernel: [143423.738776] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:37 intelnuc kernel: [143423.944778] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:38 intelnuc kernel: [143424.741773] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:39 intelnuc kernel: [143425.954770] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:41 intelnuc kernel: [143427.970761] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:42 intelnuc kernel: [143428.765757] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:43 intelnuc kernel: [143429.768746] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:45 intelnuc kernel: [143431.781624] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:45 intelnuc kernel: [143431.991735] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:47 intelnuc kernel: [143433.784728] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:48 intelnuc kernel: [143434.784725] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:50 intelnuc kernel: [143436.794719] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:51 intelnuc kernel: [143437.806663] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:53 intelnuc kernel: [143439.814705] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:55 intelnuc kernel: [143441.821615] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:56 intelnuc kernel: [143442.830686] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:57 intelnuc systemd[1]: Reloading.
Oct  1 09:08:58 intelnuc systemd[1]: Reloading.
Oct  1 09:08:58 intelnuc systemd[1]: Reloading D-Bus System Message Bus.
Oct  1 09:08:58 intelnuc dbus-daemon[1000]: Unknown group "power" in message bus configuration file
Oct  1 09:08:58 intelnuc dbus-daemon[1000]: [system] Reloaded configuration
Oct  1 09:08:58 intelnuc dbus-send[6832]: method return time=1633072138.327776 sender=org.freedesktop.DBus -> destination=:1.417 serial=3 reply_serial=2
Oct  1 09:08:58 intelnuc systemd[1]: Reloaded D-Bus System Message Bus.
Oct  1 09:08:58 intelnuc kernel: [143445.043482] Bluetooth: hci0: advertising data len corrected
Oct  1 09:08:59 intelnuc systemd[1]: Starting Send secure messages to Signal clients...
Oct  1 09:09:00 intelnuc signal-cli[6868]: WARN ServiceConfig - Failed to call libsignal-client: /tmp/resource11115342621250009503.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/resource11115342621250009503.so)
Oct  1 09:09:00 intelnuc signal-cli[6868]: Missing required native library dependency: libsignal-client
Oct  1 09:09:00 intelnuc systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Oct  1 09:09:00 intelnuc systemd[1]: signal.service: Failed with result 'exit-code'.
Oct  1 09:09:00 intelnuc systemd[1]: Failed to start Send secure messages to Signal clients.
Oct  1 09:09:00 intelnuc dbus-daemon[1000]: [system] Activating via systemd: service name='org.asamk.Signal' unit='dbus-org.asamk.Signal.service' requested by ':1.418' (uid=0 pid=6919 comm="dbus-send --system --type=method_call --print-repl" label="unconfined")
Oct  1 09:09:00 intelnuc systemd[1]: Starting Send secure messages to Signal clients...
Oct  1 09:09:00 intelnuc kernel: [143446.856500] Bluetooth: hci0: advertising data len corrected
Oct  1 09:09:01 intelnuc kernel: [143447.864508] Bluetooth: hci0: advertising data len corrected
Oct  1 09:09:01 intelnuc signal-cli[6920]: WARN ServiceConfig - Failed to call libsignal-client: /tmp/resource10138519067502167.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/resource10138519067502167.so)
Oct  1 09:09:01 intelnuc signal-cli[6920]: Missing required native library dependency: libsignal-client
Oct  1 09:09:01 intelnuc systemd[1]: signal.service: Main process exited, code=exited, status=1/FAILURE
Oct  1 09:09:01 intelnuc systemd[1]: signal.service: Failed with result 'exit-code'.
Oct  1 09:09:01 intelnuc systemd[1]: Failed to start Send secure messages to Signal clients.

Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 01 Oktober 2021, 11:37:28
Da passt was mit den Librarys nicht:

Oct  1 09:09:01 intelnuc signal-cli[6920]: WARN ServiceConfig - Failed to call libsignal-client: /tmp/resource10138519067502167.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/resource10138519067502167.so)
Oct  1 09:09:01 intelnuc signal-cli[6920]: Missing required native library dependency: libsignal-client

sudo apt-get install -y build-essential
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 11:53:00
Da passt was mit den Librarys nicht:

Oct  1 09:09:01 intelnuc signal-cli[6920]: WARN ServiceConfig - Failed to call libsignal-client: /tmp/resource10138519067502167.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/resource10138519067502167.so)
Oct  1 09:09:01 intelnuc signal-cli[6920]: Missing required native library dependency: libsignal-client

sudo apt-get install -y build-essential

sudo apt-get install -y build-essential
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
build-essential ist schon die neueste Version (12.4ubuntu1).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Ralli am 01 Oktober 2021, 12:03:12
Mmh. Ubuntu 12? Wenn ja, ein wenig alt. Da bin ich raus, wie die GLIBC 2.29 da nachgezogen werden kann.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 12:24:07
Mmh. Ubuntu 12? Wenn ja, ein wenig alt. Da bin ich raus, wie die GLIBC 2.29 da nachgezogen werden kann.

Es ist natürlich kein Ubuntu 12 sondern Ubuntu 18.04.6 LTS
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Oktober 2021, 12:35:03
Für Ubuntu 18, hol dir http://fhem.bublath.de/signal-cli-dbus_0.9.0-1_glibc2.27_amd64.deb
und installier es mit
sudo apt install ./signal-cli-dbus_0.9.0-1_glibc2.27_amd64.debdann
sudo service signal start
dann sollte es eigentlich klappen.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 13:28:40
Für Ubuntu 18, hol dir http://fhem.bublath.de/signal-cli-dbus_0.9.0-1_glibc2.27_amd64.deb
und installier es mit
sudo apt install ./signal-cli-dbus_0.9.0-1_glibc2.27_amd64.debdann
sudo service signal start
dann sollte es eigentlich klappen.

Gruß,
Jörg

Das hat geholfen.
Vielen Dank und schönes Wochenende.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 14:16:54
Ich noch mal.

Wie kann man einen auf diese Weise erstellten Account wieder löschen?
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Oktober 2021, 14:44:43
Das Löschen des Accounts hatten wir schon mal:
https://forum.fhem.de/index.php/topic,118370.msg1176692.html#msg1176692
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: dk3572 am 01 Oktober 2021, 14:50:48
Das Löschen des Accounts hatten wir schon mal:
https://forum.fhem.de/index.php/topic,118370.msg1176692.html#msg1176692

Sorry, wohl überlesen.
Hat funktioniert, vielen Dank.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 01 Oktober 2021, 17:14:41
Das signal_install script ist jetzt umgebaut, dass es nicht nur X86 und ARM unterscheidet sondern auch die glibc.
Jetzt sollten automatisch alle Systeme mit X86 und glibc2.27, glibc2.28 und glibc2.31 sowie ARM und glibc2.28 erkannt und korrekt installiert werden, sofern sie "apt" unterstützen.

Sollten neue Kombinationen auftauchen, gibt es im Wiki eine Sektion die erklärt wie die native libraries zu übersetzen sind.
Diese dann gerne hier posten, dann nehme ich sie in den Installer auf

Zu Erinnerung: Der installer wird bei jedem "set reinit" oder FHEM Neustart in www/signal aktualisiert - ist also auf diesem Weg immer sofort verfügbar

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: SouzA am 04 Oktober 2021, 13:02:22
Hi,

was muss ich auf einem Raspi bei dem Befehl updateProfile für einen Pfad eingeben, wenn ich dem SignalBot ein Avatar in Signal verpassen will?
Krieg da immer eine Fehlermeldung, dass das Bild nicht gefunden wird....

Vielen Dank! :D

Bis denn
SouzA
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Oktober 2021, 14:13:46
Pfade sollten hier immer relativ zum $HOME des fhem users sein.
Außerdem muss der user natürlich auch Leserechte auf die Datei haben (wenn du sie z.B. in /tmp legst, was auch gehen sollte).
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: SouzA am 04 Oktober 2021, 14:21:34
Danke für die Antwort.
Allerdings bin ich zu blöd dafür...
Das Logo "FHEM_Logo.png" liegt in /tmp. Leserechte für alle.
Wie muß jetzt konkret der Pfad aussehen? Bitte! :D

Thx und bis denn
SouzA
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 04 Oktober 2021, 14:27:07
Also eigentlich einfach "/tmp/FHEM_Logo.png"
Aber vielleicht passt ja irgendwas anderes nicht - was steht denn im Logging?
Es gibt z.B. noch eine 2MB Begrenzung für die Bildgröße.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: SouzA am 04 Oktober 2021, 14:37:33
Hi,
  ::)
man sollte die eckigen Klammern weg lassen.... :o ;D

Sorry und Thx
SouzA
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 07 Oktober 2021, 07:41:07
Hallo Jörg,

es kommt bei meiner Fhem-Installation regelmäßig vor, dass Fhem ungeplant ohne mein bewusstes Dazutun sich selbst neu startet oder neu gestartet wird. Frequenz: 2mal die Woche bis 1mal alle 2 Wochen.

Ich habe folgenden Befehl auf der Linuxebene eingegeben:
sudo grep fhem /var/log/syslogund erhalte folgendes Ergebnis:
Oct  5 12:01:33 HPT610 systemd[1]: fhem.service: State 'stop-sigterm' timed out. Killing.
Oct  5 12:01:33 HPT610 systemd[1]: fhem.service: Killing process 2276467 (perl) with signal SIGKILL.
Oct  5 12:01:33 HPT610 systemd[1]: fhem.service: Failed with result 'signal'.
Es gibt hier eine sprachliche Übereinstimmung mit "signal", ich weiß aber nicht, ob dies etwas mit deinem Modul zu tun hat.

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 07 Oktober 2021, 07:56:27
Hi Gisbert!

Ich bin jetzt nicht Jörg, aber trotzdem sehr sicher das hier das Linux "signal" gemeint ist. Das dürfte nichts mit dem Signal Modul zu tun haben.
Entstehen die Logs durch ein bewusstes Herunterfahren / Neustarten von FHEM oder "einfach so"?
Hast du im FHEM Log zu diesem Zeitpunkt irgendwelche Auffälligkeiten gesehen?

Falls du eine vom Standard abweichende Definition für den FHEM systemd Service hast, dann wäre der Output von sudo systemctl cat fhem.service mal interessant.

VG, weini
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 07 Oktober 2021, 08:03:34
Weini war schneller :)

Vielleicht noch als Nachtrag:
Das Logfile deutet eigentlich darauf hin, dass jemand ein "service fhem stop" probiert, FHEM aber nicht reagiert und daher dann gekillt wird.

Die Namensgebung von "Signal" macht es manchmal schwer spezfische Infos zum Signal Messenger zu finden, da der Begriff wie man sieht viel häufiger in einem anderen Kontext verwendet wird.

Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Gisbert am 07 Oktober 2021, 13:11:04
Hallo weini,
hallo Jörg,

den Fhem-logfile muss ich dann noch untersuchen.
Hier ein Auszug aus der fhem.service:
sudo systemctl cat fhem.service
# /etc/systemd/system/fhem.service
# $Id: fhem.service 16001 2018-01-26 11:54:41Z betateilchen $

[Unit]
Description=FHEM Home Automation
Wants=network.target
After=network.target

[Service]
Type=forking
User=fhem
Group=dialout
WorkingDirectory=/opt/fhem
ExecStart=/usr/bin/perl fhem.pl fhem.cfg
#ExecStart=/usr/bin/perl fhem.pl configDB
Restart=always
#WatchdogSec=120s
#StartLimitInterval=5min
#StartLimitBurst=4
#StartLimitAction=reboot-force

[Install]
WantedBy=multi-user.target
Ist der Inhalt so sinnvoll?

Viele​ Grüße​ Gisbert​
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: weini am 07 Oktober 2021, 13:13:40
Die Servicedefinition sieht ok aus. Ich wollte nur wissen, ob irgendwelche Limits definiert sind, auf deren Basis systemd den FHEM service ggf. abschießen würde.
Das ist aber nicht der Fall.
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: globalcow am 16 Oktober 2021, 21:31:44
Hallo Jörg,

eines vorweg, ich bin ganz neu im Forum und weiß nicht ob das hier der richtige Ort ist einen eventuellen Bug im Modul zu melden.

Danke für das tolle Modul! Ich nutze Signalbot (Signalbot:3.0 signal-cli:0.9.0 Protocol::DBus:0.19) in Kombination mit Babble (ohne Chatbot) wie im Wiki beschrieben. Der Weg von Signal nach Babble funktionierte ohne Probleme, allerdings habe ich nie eine Antwort von Babble in Signal bekommen. Der Grund dafür war das der Empfänger nicht richtig angegeben war. Die Variable $PARM0 wurde von Signalbot immer als # übergeben. Ich konnte eine Ursache und eine Lösung dafür finden. In Zeile 686 in 50_Signalbot.pm steht:
$replyPeer="#".$groupIdRegex if defined $groupIdRegex;Da diese alle vorherigen replyPeer Ermittlungen überschreibt und es wohl vorkommen kann, das die $groupIdRegex definiert aber leer ist, ergibt sich der replyPeer = #. Ich habe diese wie folgt geändert und das Problem damit umgangen:
$replyPeer="#".$groupIdRegex if (defined $groupIdRegex && $groupIdRegex ne "");Schau doch mal ob ich da einen Denkfehler habe oder ob dass tatsächlich ein Fehler ist.

Viele Grüße
globalcow
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 17 Oktober 2021, 09:41:14
Hi globalcow,

Da hast du wirklich einen Bug entdeckt.
Das Problem liegt sogar noch etwas tiefer: Dadurch das ich weiter oben irgendwann ein "quotemeta" eingebaut habe, ist der Fall "undefined" bei allen 3 Tests gar nicht möglich (nach quotemeta wird aus undef anscheinend ein leerer String). D.h. richtig ist hier immer der Tests auf Leerstring.

Gruß,
Jörg
Titel: Antw:Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli
Beitrag von: Adimarantis am 17 Oktober 2021, 12:09:02
Beim Testen der Änderungen ist mir noch eine Unschönheit beim "invite" Kommando aufgefallen. Änderungen sind im svn eingecheckt und morgen über update verfügbar (Version 3.1)

Achtung Ich hatte mein Testsystem auf signal-cli 0.9.1 upgedated und dabei feststellen müssen, das eine für Signalbot wichtige Funktion für die Handhabung von Kontakten nicht mehr funktioniert. Daher enthält das aktuelle Update auch gleich eine Warnung, falls jemand 0.9.1. installiert haben sollte, wieder auf 0.9.0 zu gehen.

Jörg