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: heiko.ne am 12 Dezember 2021, 10:37:08
PS: Dort fand ich auch gerade den Abschnitt "Versenden von Nachrichten ohne FHEM". Damit hätte ich mir meine ursprüngliche Frage auch selbst beantworten können :-X. Ich Blindfisch.
Der Abschnitt ist erst Aufgrund deiner Frage drin  ;)
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

remo

Coole Sache.

Sehr überschaubar die Ersteinrichtung.

Nur eine Frage:
wie setze ich einen Avatar und einen Namen?

Gruß

Adimarantis

set updateProfile <new name> [&<avatar picture>]

Das Bild muss ein für FHEM lesbarer Dateiname sein und sollte kleiner 2MB sein.

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

Danke für die Rückmeldung.

Aber es kommt ein Fehler:    
Error in updateProfile:Error Executing Method org.asamk.Signal.updateProfile: Could not initialize class org.signal.zkgroup.internal.Native

Gruß

Adimarantis

Also bei mir funktioniert es.
Grundsätzlich zum Bild: Am Besten absoluter Pfad (z.B. /opt/fhem/xxx.png) und der User signal-cli muss die Datei auch lesen können.

Der Fehler deutet aber eher auf ein Installationsproblem mit der nativen zkgroup library hin.
Da müsste dann eigentlich auch etwas im syslog stehen wenn der Service gestartet wird. Außerdem solltest du dann eigentlich auch Probleme mit der Verwendung von Gruppen haben.
Was für ein Linux verwendest du (was steht in "model")?

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

Gruppen verwende ich nicht.

Model: Debian GNU/Linux 11 (bullseye)

Die Installation hab ich gemäß Anleitung durchgeführt.
Es funktioniert auch nicht wenn ich NUR den Namen setzen möchte.

LuGu

Hallo Adimarantis,

ich habe den gleichen Fehler bei set userProfile, wenn ich versuche meinem fhem Account einen Namen zu geben.

Log:

2021.12.22 21:30:05 4 signal: ASync Dbus Call: updateProfile Args:myName,,,,0
2021.12.22 21:30:05 4: signal: ASync Error for: updateProfile


Reading lastError:

Error in updateProfile:Error Executing Method org.asamk.Signal.updateProfile: Could not initialize class org.signal.zkgroup.internal.Native 2021-12-22 21:30:05


Nach einem reinit steht folgendes im Log:

2021.12.22 21:54:44 5: Disconnected and cleaned up
2021.12.22 21:54:44 5: signal: Sync Dbus Call: version Args:empty
2021.12.22 21:54:44 5: signal: Sync Dbus Call: isRegistered Args:empty
2021.12.22 21:54:44 4: signal: Sync Error for: isRegistered
2021.12.22 21:54:44 5: signal: Sync Dbus Call: listAccounts Args:empty
2021.12.22 21:54:44 5: signal: ASync Dbus Call: listNumbers Args:empty
2021.12.22 21:54:44 5: signal: My Dbus Name is :1.82


Das "Error for: isRegistred" irritiert mich, denn die Kommunikation zw. fhem und meinem Handy funktioniert ohne Probleme.


Gruß LuGu
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

remo

Guten Morgen.

Kann ich so bestätigen.
Habe das selbe Verhalten.

Gruß

Adimarantis

Hi LuGu,

bist auf dem selben OS wie remo? Evtl. stimmt da dann was mit den native Libraries nicht (ich verwende die Kombi selbst nicht produktiv). Zumindest die Dateigröße von zkgroup passte nicht.
Im Falle von Debian 11 (auch @remo) bitte mal /opt/signal löschen und signal_install.sh nochmal laufen lassen. Ich hoffe dass es dann funktioniert.

Der "isRegistered" Fehler ist normal. Leider hat der signal-cli Author meinen PR nicht übernommen der diese Funktion konsistent zur Verfügung stellt, daher nehme ich das Fehlen dieser Funktion als Indikator. Muss mir vielleicht noch was besseres überlegen, aber normalerweise sieht man das ja nicht.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

LuGu

Moin Jörg,

ja, bei mir läuft auch Debian 11. Nachdem ich deinen Hinweis befolgt habe, gibt es keine Fehlermeldung mehr.
Ich komme aber glaube ich mit den Parametern für updateProfile noch nicht klar.

Nach einem:
send updateProfile myName &/opt/fhem/www/images/myAvatar.png
habe ich diese Logeinträge:

2021.12.23 10:27:59 4: signal: updateProfile Avatar /opt/fhem/www/images/myAvatar.png
2021.12.23 10:27:59 5: signal: ASync Dbus Call: updateProfile Args:myName,,,/opt/fhem/www/images/myAvatar.png,0

Die myAvar.png wird übernommen, kann ich auf der Gegenseite (Handy) sehen.
Ich kann aber nicht erkennen, dass der Account Name übernommen wurde.

Ist mein Aufruf updateProfile falsch?

Gruß LuGu
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

Adimarantis

Hi LuGu,

Das ist so schon richtig. Eventuell erscheint die Änderung nicht sofort in Signal.
Hast du schon eine Nachricht gesendet?
Bei mir steht zumindest im 1:1 Chat auf dem Handy dann "<alter name> hat den Profilnamen zu <neuer name> geändert" - die Aktualisierung in der Übersicht dauert aber möglicherweise länger.

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

Hat funktioniert.
Besten Dank und schöne Weihnachten!

LuGu

Hast Rech Jörg. Ich war nur zu ungeduldig.
Funktioniert alles.
Danke!

Gruß LuGu
FHEM mit RPi3 (Visu über FTUI)
HMCCU mit piVCCU3 / MQTT2 mit zigbee2mqtt

Nighthawk

Hallo,

ich musste mein System wegen eines Crashs neu aufsetzen, leider bekomme ich Signalbot absolut nicht mehr zum Laufen.
Das System ist ein X64 Ubunutu 21.10.
Signal ohne DBus funktioniert ohne Probleme, versuche ich aber Signal über Dbus zu nutzen, bekomme ich immer eine Fehlermeldung:

dbus-send --system --type=method_call --print-reply --dest=org.asamk.Signal /org/asamk/Signal/_49XXXXXXXX org.asamk.Signal.sendMessage string:Hallo array:string: string:+49YYYYYYYYYYY
Error org.freedesktop.dbus.errors.UnknownObject: /org/asamk/Signal/_XXXXXXXX is not an object provided by this process.


Der Test aus dem Installscript läuft problemlos durch:
sudo ./signal_install.sh test
amd64-glibc2.34-0.9.2 is an unsupported combination - signal-cli binary libraries might not work
You chose the following option: test

Start signal-cli service
Checking installation via dbus-send command...success
Sending a message via perl Protocol::DBus...reply received


Wie bekomme ich das ganze wieder ans Laufen?

Adimarantis

Ich stelle jetzt mal Vermutungen an:
1. Du schreibst Neuinstallation - hast du komplett neu installiert oder irgendwelche alten Dateien "gerettet" und übernommen?
    -> In dem Fall wäre zu prüfen ob du eine alte /etc/systemd/system/signal.service hast die noch den "-u Nummer" Parameter drin hat. Das Installscript sollte das eigentlich überschreiben - aber nur wenn du es erlaubst.
2. Wenn du den Inhalt von /var/lib/signal-cli nicht gerettet hast, dann fehlt dir die Registrierung.
   -> Dann müsstest du die Nummer in FHEM erneut registrieren (das passiert jetzt nicht mehr über das Script sondern benutzergeführt)

Desweiteren kannst du mal in /var/log/system schauen ob da irgendwelche Fehlermeldungen beim signal service start drinstehen - da du ja eine "unsupportete" libc Version hast. Da allerdings der grundlegende Test funktioniert, scheint das eher nicht dein Problem zu sein - besonders wenns vorher mal ging

Wie schaut das Ganze bei dir überhaupt in FHEM aus? Welche Meldungen bekommst du dort?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)