Neues Modul: Signalbot (Integration für den Signal Messenger) via signal-cli

Begonnen von Adimarantis, 31 Januar 2021, 19:16:19

Vorheriges Thema - Nächstes Thema

Adimarantis

Zitat von: acw81 am 29 Juni 2021, 14:18:50
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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Zitat 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?

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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

remo

Zitat 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 ...


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.

_Niemand_

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...


Adimarantis

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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

laberlaib

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

--
Proxmox, Homematic, G-Tags, Zigbee2MQTT, Rhasspy Sprachsteuerung im Aufbau (beta)

BAfH

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
Gruß Thorben
mit sonnige Grüße aus Schönow

_Niemand_

Zitat von: Adimarantis am 06 Juli 2021, 20:39:07
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!

max333

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.  :)

Che007

@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.

Adimarantis

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

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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Che007

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

SouzA

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 functionality
aber es ist
STATE Connected
??
Wie gesagt, es hat schon funktioniert!

Edit 2:
Habe das install-script noch mal ausgeführt.
Jetzt funktioniert es wieder?!
Raspi 4, EnOcean TCM310 USB, HM-MOD-UART-USB, Jeelink, hue, AMAD, fully, FRITZBOX, Signalbot, VIERA, Presence BT/Mac, TPLink, Gassistant, Shelly, fhempy, ZigBee

Adimarantis

Zitat von: SouzA am 28 Juli 2021, 06:56:06
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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Adimarantis

Zitat 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?!
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
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)