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

Che007

Hallo zusammen,

ich habe seit heute auch das Problem, dass ich Nachrichten senden kann, aber empfangen werden keine mehr.
Ich habe wie KeyleK mal auf Version 014.4.1 aktualisiert, aber das Empfangen geht leider weiterhin nicht.

EDIT:
lt github signal-cli in 0.14.5 gefixt.

Ja in der install-signal Datei auf 0.14.5 ändern, damit geht es!

enno

Moin,

ich hatte auch das Problem, dass nur Senden, aber kein Empfang ging. Ich habe wie im Script vermerkt auf den Seite die "latest Version" genommen.

SIGNALVERSION="0.14.5"
#Check for latest valid version at https://github.com/AsamK/signal-cli/releases
LIBRARYVERSION="0.96.0"
#Check for latest valid version at https://github.com/exquo/signal-libs-build/releases

Dann das Script gestartet und alles lief wieder.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

Adimarantis

Kann ich ebenfalls so nachvollziehen. Danke enno und Che007
Neues signal_install.sh für 0.14.5 ist eingecheckt

Gruß,
Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Flachzange

Hallo Adimarantis,

ich bin jetzt seit Jahren Nutzer von signalbot und es stellt ein elementares Element meiner FHEM-Installation dar. Bisher hat es mich nicht sonderlich gestört, dass Umlaute, Sonderzeichen etc in den Readings falsch codiert dargestellt wurden. Es war vermeintlich kosmetisch, z.B.

Wetter: Aktuell Dach: 17.1�C (gef�hlt: 17.1�C).
Das ist so lange kosmetisch wie die Nachricht keine "wide (unicode) characters" enthält. Durch ein paar Copy-&-Paste-Aktionen ist mir aber genau das passiert. Es wurden Unicode Wide Characters verschickt. Das funktionierte auch erstmal. Gleiches passiert übrigens, wenn man per Signal ein Emoji an FHEM schickt.

Jetzt passiert aber folgendes: Diese Wide Characters stehen nativ Unicode-codiert in den Readings von Signalbot, weil du das scheinbar vorher für das Verschicken über signal-cli so brauchst. Das scheint aber nicht den FHEM-Konventionen zu entsprechen, welches immer UTF-8-codierte readings erwartet. Entsprechend fällt configDB bei mir auf die Nase mit
Wide character in subroutine entry at configDB.pm line 444.
2026.06.09 23:59:55 1: PERL WARNING: Issuing rollback() due to DESTROY without explicit disconnect() of DBD::mysql::db handle database=configDB;host=192.168.5.36;port=3306 at configDB.pm line 444

Das führt unmittelbar zu einem FHEM-Crash und Neustart und ist daher zu vermeiden ;)

Randnotiz: Das passiert immer dann, wenn configDB WriteStatefile() aufruft.

Du kannst dir vorstellen, dass man bei der Fehlermeldung die berühmte Nadel im Heuhaufen sucht. Es hat mich somit eine Weile gebraucht bis ich herausgefunden habe, dass es nicht die Device-Definitionen mit den Wide-Characters sind, sondern die Readings von Signalbot, die nicht in UTF-8, sondern Unicode codiert sind. Hintergrund ist nämlich, dass configDB nicht nur die Device-Definitionen speichert, sondern natürlich auch die aktuellen Reading-Werte persistiert.

Bottom line: Mindestens die msg-Readings von Signalbot müssen UTF-8-codiert sein und nicht Unicode. Möglicher Lösungsvorschlag anbei. Ich habe das bei mir erfolgreich getestet und auch Unicode Wide Characters machen nun keine Probleme mehr. Netter Nebeneffekt: Die Codierungsfehler in den Readings sind auch behoben.

Gruß
Chris



Adimarantis

Schau ich mir mal bei Gelegenheit an.
Läuft dein FHEM unter unicode (global->encoding = unicode)?

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Flachzange

Zitat von: Adimarantis am 01 Juli 2026, 10:15:35Läuft dein FHEM unter unicode (global->encoding = unicode)?
Nein, kein unicode gesetzt (was ja default wäre).

Adimarantis

Mein System läuft unter Unicode.
Habe aber keine ConfigDB
Wäre halt interessant ob die Probleme mit Unicode auch bestehen und ob dein Patch damit sauber funktioniert.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Flachzange

Zitat von: Adimarantis am 01 Juli 2026, 12:18:07Wäre halt interessant ob die Probleme mit Unicode auch bestehen
Vermutlich würde es funktionieren, wenn es auf Unicode steht, aber das ist halt eben nicht Standard,

Zitat von: Adimarantis am 01 Juli 2026, 12:18:07und ob dein Patch damit sauber funktioniert.
 
In diese Falle passiert das, was heute passiert: das Reading wird in Unicode geschrieben:
return $value if $unicodeEncoding;
configDB braucht es für diesen Test eigentlich nicht. Wenn global unicode=unicode gesetzt ist, müsste configDB ja auch funktionieren. Das Problem ist hier die Mischung aus UTF-8 und Unicode.

Adimarantis

Ok. Auf den ersten Blick schaut der Patch vernünftig aus. Solche Umwandlungen habe ich ja schon an mehr Stellen ohne Garantie auf Vollständigkeit.
Probiere ich bei Gelegenheit aus und werde es wohl aufnehmen.

Danke.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

weini

Zitat von: Adimarantis am 14 Juni 2026, 20:45:32Kann ich ebenfalls so nachvollziehen. Danke enno und Che007
Neues signal_install.sh für 0.14.5 ist eingecheckt

Gruß,
Jörg
Lieber Jörg!
Es wäre super, wenn du LIBRARYVERSION auf "0.96.4" erhöhen könntest. Damit könnten auch die 32-Bit Nutzer einfach das Update durchlaufen lassen.
Hintergrund ist, dass es von der 0.94.4 keine 32-Bit Version der native Library im GitHub gibt, ab der 0.96.* aber schon wieder.

LG,
weini

Adimarantis

Ich habe mich gerade mit dem Update auf signal-cli 0.14.6 rumgeschlagen, welches eben libsignal-client 0.96.3 verwendet (ich verwende bevorzugt die Versionen die signal-cli selbst verwendet).
Bei mir habe ich Probleme Nachrichten vom Handy zu empfangen. Mit der 0.14.5 ging das noch.
Auf meiner Testumgebung geht es komischerweise auch nach dem Downgrade nicht mehr (Produktiv geht es wieder).
Nachrichten zwischen meinen beiden FHEM Umgebungen kann ich senden, aber hier kommt der Absender plötzlich als eine Art UUID String an.

Kann das jemand nachvollziehen?
Aktuell werde ich daher kein Update mit höheren Versionen einchecken.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Jamo

Hallo Jörg,
ich habe kein Problem mit Senden oder Empfangen vom Handy, gerade extra nochmal getestet. VERSION Signalbot:3.23 signal-cli:0.14.6 Protocol::DBus:0.22
model Debian GNU/Linux 12 (bookworm)
Ich habe dafür https://github.com/AsamK/signal-cli/releases/download/v0.14.6/signal-cli-0.14.6.tar.gz heruntergeladen.

Wie finde ich die LIBRARYVERSION?

Beste Grüsse Jamo!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee2MQTT, Conbee III, FB7690, Signal, Alexa (fhem-lazy), Geotracking, LaCrosse JeeLink, LoRaWan (TTN / Chirpstack), Sonos, ESPresence, HomeAssistant via MQTT, Meshtastic

enno

Moin Jörg,

ich habe vor zwei Tagen dein Script geändert und durchlaufen lassen. Danach funktioniert bei mir alles wie gehabt. Senden und auch empfangen. Auch heute noch.

SIGNALVERSION="0.14.5"
LIBRARYVERSION="0.94.4"

auf dem zweite System in meiner Ferienwohnung habe ich eben dein Script mit
SIGNALVERSION="0.14.6"
LIBRARYVERSION="0.96.3"

gestartet. Sendet und empfängt auch ohne Probleme...

und mit
SIGNALVERSION="0.14.6"
LIBRARYVERSION="0.97.3"

klappt es auch ohne Probleme.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian