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

rubinho

Zitat von: Adimarantis am 01 April 2022, 15:03:07
Wenn jemand eine Idee hat, wie man abfragt ob das OS 32 oder 64 bit ist, kann ich da zumindest einen Test/Hinweis einbauen.

Ich hoffe ich blamiere mich jetzt nicht, aber der Befehl mit dem man die architekur im OS abfrägt ist "arch"
Dann bekommst du mit einem 64bit OS und normalen Intel/AMD CPUs "x86_64", oder bei ARM CPUs (Raspi) "aarch64" als Output.
Ich hoffe das ist, was du wissen willst.

Aber nun zu meinem Thema:
Ich hatte zum Wochenende einen Totalausfall bei Signal-CLI (0.8.2)/Signalbot. (Weiß nicht wer jetzt letztendlich verantwortlich war, vermutlich ich  ;D )
Am 31.3, hörte Signal auf zu senden. (Ohne mein zutun)
Das erste was ich dann gemacht habe, war ein Update von Fhem. - Kein Erfolg.
Dann hab ich versucht Signal-Cli upzudaten. Ich wollte natürlich auf die neueste Version (0.10.4.2) updaten, was mir aber nicht gelungen ist.
Dein Script macht momentan nur 0.10.4 mit. Allerdings war das auch nicht nachhaltig erfolgreich.
Nachdem ich meine Nummer mit der v0.10.4 registriert hatte, hatte ich Probleme die Nummer wieder mit meiner Gruppe zu verbinden. Autojoin und der Joingroup funktionierte nicht.
Und das schlimmste war, dass nach jeden Neustart des Systems, oder des Dbus, meine Nummer nicht mehr registriert war.
Erst ein Downgrade auf v0.9.2 brachte die Lösung. Jetzt funktioniert erstmal wieder alles, auch ein Groupjoin.

Ich habe keine Ahnung, ob das bekannte Probleme, oder persönliche Probleme mit der v0.10.x sind.

Gruß
Rubinho
Fhem 5.9@Zotac Zbox Ci327 | HMCCU | Z-Wave@ZMEEUZB1 | HUE Bridge Gen2 | knxd over IP

andies

Bei mir sendet der Bot, auch heute wieder:
Internals:
   FD         33
   FVERSION   50_Signalbot.pm:?/2022-02-02
   NAME       SignalBot
   NOTIFYDEV  global
   NR         463
   NTFY_ORDER 50-SignalBot
   STATE      Connected to /org/asamk/Signal/_49XXXXXXXX
   TYPE       Signalbot
   VERSION    Signalbot:3.6 signal-cli:0.9.2 Protocol::DBus:0.19
   model      Raspbian GNU/Linux 10 (buster)
   READINGS:
     2022-02-15 20:21:40   account         +49XXXXXXXXXX
     2022-02-15 20:21:40   accountName     FHEM
     2021-12-26 21:43:31   joinedGroups   
     2022-02-15 20:21:40   lastError       ok
     2021-12-26 22:18:29   msgAttachment   
     2021-12-26 22:18:29   msgAuth         0
     2021-12-26 22:18:29   msgGroupName   
     2021-12-26 22:18:29   msgSender       XXXXXX
     2021-12-26 22:18:29   msgText         Test4
     2021-12-26 22:18:29   msgTimestamp    26-12-2021 22:18:28
     2021-12-26 22:18:29   prevMsgAttachment
     2021-12-26 22:18:29   prevMsgGroupName
     2021-12-26 22:18:29   prevMsgSender   XXXXXXXXX
     2021-12-26 22:18:29   prevMsgText     Alle klar, erledigt
     2021-12-26 22:18:29   prevMsgTimestamp 26-12-2021 22:10:52
     2022-04-04 06:20:28   sentMsg         Logfile
𝟷𝟿:𝟷𝟼:𝟹𝟿 𝟷: 𝙷𝙼𝚄𝙰𝚁𝚃𝙻𝙶𝚆 𝚆𝙻𝙰𝙽_𝙷𝚖𝚄𝙰𝚁𝚃 𝚍𝚒𝚍 𝚗𝚘𝚝 𝚛𝚎𝚜𝚙𝚘𝚗𝚍 𝚏𝚘𝚛 𝚝𝚑𝚎 𝟷. 𝚝𝚒𝚖𝚎, 𝚛𝚎𝚜𝚎𝚗𝚍𝚒𝚗𝚐
𝟷𝟿:𝟷𝟼:𝟺𝟸 𝟷: 𝙷𝙼𝚄𝙰𝚁𝚃𝙻𝙶𝚆 𝚆𝙻𝙰𝙽_𝙷𝚖𝚄𝙰𝚁𝚃 𝚍𝚒𝚍 𝚗𝚘𝚝 𝚛𝚎𝚜𝚙𝚘𝚗𝚍 𝚏𝚘𝚛 𝚝𝚑𝚎 𝟸. 𝚝𝚒𝚖𝚎, 𝚛𝚎𝚜𝚎𝚗𝚍𝚒𝚗𝚐
𝟷𝟿:𝟷𝟼:𝟺𝟻 𝟷: 𝙷𝙼𝚄𝙰𝚁𝚃𝙻𝙶𝚆 𝚆𝙻𝙰𝙽_𝙷𝚖𝚄𝙰𝚁𝚃 𝚍𝚒𝚍 𝚗𝚘𝚝 𝚛𝚎𝚜𝚙𝚘𝚗𝚍 𝚏𝚘𝚛 𝚝𝚑𝚎 𝟹. 𝚝𝚒𝚖𝚎, 𝚛𝚎𝚜𝚎𝚗𝚍𝚒𝚗𝚐
𝟷𝟿:𝟸𝟽:𝟻𝟷 𝟷: 𝙷𝙼𝚄𝙰𝚁𝚃𝙻𝙶𝚆 𝚆𝙻𝙰𝙽_𝙷𝚖𝚄𝙰𝚁𝚃 𝚍𝚒𝚍 𝚗𝚘𝚝 𝚛𝚎𝚜𝚙𝚘𝚗𝚍 𝚏𝚘𝚛 𝚝𝚑𝚎 𝟷. 𝚝𝚒𝚖𝚎, 𝚛𝚎𝚜𝚎𝚗𝚍𝚒𝚗𝚐

     2022-04-04 06:20:40   sentMsgRecipient XXXXXX
     2022-04-04 06:20:40   sentMsgTimestamp 04-04-2022 06:20:30
   helper:
     accounts   1
     init       :1.2711
     multi      1
     signalpath /org/asamk/Signal/_49XXXXXXXXXX
     version    902
     accountlist:
       +49XXXXXXXXXXX
     contacts:
       +49XXXXXXXXXCC FHEM

Allerdings mache ich wirklich selten Updates. Scheint eine frühere Version zu sein, bei mir.
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Adimarantis

Ich hatte neulich auch einen Ausfall. Hier hat aber ein "sudo service signal restart" gereicht.
Aktuell läuft bei mir signal-cli 0.10.4 soweit aber stabil. Auch das angesprochene autojoin haut bei mir hin.
Es gibt aber sicher einen guten Grund warum es die Hotfixes 0.10.4.1 und 0.10.4.2 gibt. Leider hat mir der signal-cli Author hier ein Bein gestellt, da meine ganze "Versionsverwaltung" auf 3 Versionsmerkmale ausgelegt ist. Daher habe ich vor das Update der Skripten auszusitzen bis eine 0.10.5 oder 0.11.0 rauskommt.

Inzwischen gibt es für "bullseye" auch offiziell Java17 (auch auf dem Raspi), so dass ich den Support für dieses OS auf signal-cli 0.10+ heben werde (statt "experimental").

Das "arch" verwende ich ohnehin schon - d.h. die Warnung "unsupported" müsste Karl-Heinz eigentlich bekommen haben :)
War mir mangels Testsystem nur nicht sicher ob da dann was anderes drinsteht. Unter 32-Bit steht ja nicht "aarch64" sondern "armv7l" (auch bei meinem Raspi4) drin.



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

KarlHeinz2000

Ja, unsupported stand da. Es läuft aber trotzdem weiter und meckert erst am Schluß, dass es nicht geht.  8)
Es gab auch bei anderen Modulen Probleme mit 64bit. Über Signal bin ich erst drauf gekommen.

Adimarantis

Guten Abend,

Was eigentlich nur ein paar kleine Updates werden sollten, hat jetzt dazu geführt, dass ich einige Teile massiv umgebaut habe.
Daher würde ich jetzt ein paar Unerschrockene suchen, die ein wenig testen um sicherzugehen, dass ich nichts "verschlimmbessert" habe.
Die aktualiserte Version findet ihr erstmal nur auf GitHub: https://github.com/bublath/FHEM-Signalbot

Was ist neu?
Mit signal-cli 0.10+
- viele neue Gruppenfunktionen wie add/removeMembers, add/removeAdmins, deleteGroup, Gruppendetails ...
- Zweistufige "set" Menüführung für Gruppen und Kontakt Befehle (d.h. man wählt erst set group und dann z.B. addMembers anstatt eine riesenlange "set" Liste zu haben). Dieses Feature benötigt das aktuellste FHEMWEB daher vorher FHEM updaten

Generell:
- Eine "send message" Box, damit man den "send" Befehl nicht ständig in der "set" Liste suchen muss (in der er ja leider auch nicht an erster Stelle steht) - siehe Screenshot
- Durchgehende Unterstützung des FHEM Unicode Modus (global->encoding=unicode)
- Überarbeitung von Rückmeldungen in Fehlerfällen

Da ich aktuell nur mit signal-cli 0.10.4 getestet habe, wäre es insbesondere interessant ob ich unter 0.9.2 irgendwas kaputt gemacht habe.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Jamo

Hallo,
meine Tochter hat ein neues Handy, und Signal neu installiert, aber weiterhin die alte Mobilnummer. Wenn ich jetzt aus fhem heraus eine Message an ihre Nummer sende, bekomme ich folgenden Fehler als reading in Signal:
lastError
Error in sendMessage:112345678976
Failed to send message:
Untrusted Identity for "+4915012345678"


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

Adimarantis

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

andies

Ich mache ja sehr selten updates, aber letztens ging SignalBot nicht mehr und da musste ich ran. War am Ende auch kein Problem. Ich hatte diese Fehlermeldung im Log
2022.04.10 08:49:44 1: reload: Error:Modul 50_Signalbot deactivated:
Can't locate FHEM/Text/Unicode.pm in @INC (you may need to install the FHEM::Text::Unicode module) (@INC contains: ./lib ./FHEM . /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 ./FHEM/lib) at ./FHEM/50_Signalbot.pm line 31, <$fh> line 3450.
BEGIN failed--compilation aborted at ./FHEM/50_Signalbot.pm line 31, <$fh> line 3450.

2022.04.10 08:49:44 0: Can't locate FHEM/Text/Unicode.pm in @INC (you may need to install the FHEM::Text::Unicode module) (@INC contains: ./lib ./FHEM . /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 ./FHEM/lib) at ./FHEM/50_Signalbot.pm line 31, <$fh> line 3450.
BEGIN failed--compilation aborted at ./FHEM/50_Signalbot.pm line 31, <$fh> line 3450.

Und dann habe ich ein Unterverzeichnis FHEM/Text angelegt und dort Unicode.pm abgelegt. War das die richtige Vorgehensweise? Das Unterverzeichnis ist bei mir nämlich leer.

Müsste ich weitere Bibliotheken einspielen? Bisher läuft ja anscheinend bei mir alles:
2022.04.10 09:05:22 3: SignalBot: Before parse:@XXXXXX Test:
2022.04.10 09:05:22 4: SignalBot: sendMessage called for XXXXXX::Test
2022.04.10 09:05:22 5: SignalBot: ASync Dbus Call: sendMessage Args:Test,ARRAY(0x8074058),ARRAY(0x8074100)
2022.04.10 09:05:26 5: SignalBot: ASync Calling: sendMessage Args:XXXXXX
2022.04.10 09:05:27 5: SignalBot: Sync Callback: ReceiptReceived Args:XXXXXX,+491XXXXXX
2022.04.10 09:05:27 5: SignalBot: Signalbot_receive_callback XXXXXX +491XXXXXX
2022.04.10 09:05:27 5: SignalBot: Sync Callback: ReceiptReceived Args:XXXXXX,+491XXXXXX
2022.04.10 09:05:27 5: SignalBot: Signalbot_receive_callback XXXXXX +491XXXXXX

und
Internals:
   CFGFN     
   FD         58
   FUUID      62528168-f33f-1115-5f0f-30b84c5f03f76435
   NAME       SignalBot
   NOTIFYDEV  global
   NR         569
   NTFY_ORDER 50-SignalBot
   STATE      Connected to /org/asamk/Signal/_493XXXXXXX
   TYPE       Signalbot
   VERSION    Signalbot:3.7 signal-cli:0.9.2 Protocol::DBus:0.19
   model      Raspbian GNU/Linux 10 (buster)
   READINGS:
     2022-04-10 09:04:10   account         +493XXXXXXX
     2022-04-10 09:04:10   accountName     FHEM
     2022-04-10 09:04:10   lastError       ok
     2022-04-10 09:05:22   sentMsg         Test
     2022-04-10 09:05:27   sentMsgRecipient XXXXXXX
     2022-04-10 09:05:27   sentMsgTimestamp 10-04-2022 09:05:22
   helper:
     accounts   1
     init       :1.109
     multi      1
     signalpath /org/asamk/Signal/_493XXXXXXX
     version    902
     accountlist:
       +493XXXXXXX
     contacts:
       +491XXXXXXX XXXXXXX
       +491XXXXXXX XXXXXXX
       +493XXXXXXX FHEM
Attributes:
   allowedPeer XXXXXXX,XXXXXXX
   authDev    GoogleAuth
   defaultPeer XXXXXXX
   registerMethod Voice
FHEM 6.1 auf RaspPi4 (Raspbian:  6.6.28+; Perl: v5.36.0)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Adimarantis

Zitat von: andies am 10 April 2022, 09:11:09
Und dann habe ich ein Unterverzeichnis FHEM/Text angelegt und dort Unicode.pm abgelegt. War das die richtige Vorgehensweise? Das Unterverzeichnis ist bei mir nämlich leer.
Das ist ok. Ein "update all" sollte das aber eigentlich automatisch machen - ich nehme mal an du hast nur ein selektives Update gemacht.
Sonst musst du aktuell nichts updaten.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Jamo

Zitat von: Adimarantis am 09 April 2022, 13:29:35
Dazu steht was im Wiki unter Troubleshooting
Hallo Adimarantis,
danke das hat gut funktioniert! Wahrscheinlich habe ich mit Google nicht nach den richtigen Schlagwörtern gesucht. Danke auch nochmal fuer das tolle Modul und den mehr als guten Support!
Beste Grüsse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Adimarantis

Preview Signalbot 3.8 / signal-cli 0.10.5 / Installer 3.8
Ich habe jetzt grundlegende Tests sowohl mit signal-cli 0.9.2 und 0.10.5 durchgeführt, bevor ich aber nicht ein paar Rückmeldungen bekomme dass alles funktioniert, möchte ich die Version noch nicht über "update" freigeben, daher immer noch nur unter https://github.com/bublath/FHEM-Signalbot
Relevant ist 50_Signalbot.pm und signal_install.sh

Wer erstmal nur signal-cli updaten will, kann dies mit dem neuen Installer machen. Ein Update von Signalbot ist nicht zwingend erforderlich.

Neu:
- Wenn Java17 als Paket verfügbar ist (Debian/Raspbian Bullseye+) oder irgendwie im System installiert ist (JAVA_HOME gesetzt oder "java --version" antwortet mit Version 17) dann wird automatisch signal-cli 0.10.5 installiert. Achtung beim Umstieg von 0.9.2 auf 0.10.5: Die Konfiguration ist nicht rückwärtskompatibel. Es ist also ratsam davon ein Backup anzulegen (installer mit der option "backup" starten). Installer mit "sudo -E" starten wenn ein eigenes JAVA_HOME gesetzt ist.
- Extra "send message" Button
- Mehr Funktionen werden jetzt asychron (im Hintergrund) ausgeführt
- Verbesserte Fehler/Logmeldungen
- set Befehlsliste versteckt weitere Funktionen, wenn diese gerade nicht sinnvoll sind (z.B. captcha, verify)

Nur mit signal-cli 0.10.5: (Achtung, benötigt aktuelles FHEMWEB - insbesondere fhemweb.js)
- neue Gruppenfunktionen zur Mitgliederverwaltung, Löschen von Gruppen, Gruppeninfo
- Zweistufiges "set" Konzept für "group" und "contact" um die "set" Liste übersichtlicher zu gestalten
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Jamo

Hallo Adimarantis,
ich komme von Debian Buster, d.h. ich kann dann nicht auf signal-cli 0.10.5 updaten, korrekt?
lsb_release -d && uname -r
Description:    Debian GNU/Linux 10 (buster)
4.19.0-18-amd64

java -version
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.14+9-post-Debian-1deb10u1, mixed mode, sharing)


Kann ich denn das neue 50_Signalbot.pm installieren, ohne das udpate von signal-cli auf 0.10.5 ?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Adimarantis

Hallo Jamo,

den neuen Signalbot kannst du trotzdem installieren. Wäre ich sogar sehr interessiert daran, ob wirklich alles noch mit signal-cli 0.9.2. funktioniert.

Um signal-cli 0.10.5 auch auf Buster zu installieren gibt es zwei Möglichkeiten:
1. Du suchst dir selber eine Java17 Runtime, installierst diese und setzt JAVA_HOME entsprechend -> dann: sudo -E ./signal_install.sh
2. Du startest den Installer mit der Option "experimental", dann versucht der Installer eine entsprechende Runtime zu installieren

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

enno

Moin Jörg,

habe mir 50_Signalbot.pm und signal_install.sh heruntergeladen und gestartet. Keine Fehlermeldungen, alles läuft wie vorher :)



Mein System ist Signalbot:3.8 signal-cli:0.10.5 Protocol::DBus:0.19 model Debian GNU/Linux 11 (bullseye) auf NUK in Proxmox Container und openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 17.0.2+8-Debian-1deb11u1, mixed mode, sharing)


Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Jamo

Guten morgen Jörg,
hier dito, läuft wie vorher, keine Auffälligkeiten. Allerdings benutze ich auch nur die Message funktion auf das Handy, und die Funktion um Kommandos an Signal zu schicken, das habe ich beides probiert. Aber keine Gruppen/Mitglieder oder sonst was.
VERSION
Signalbot:3.8 signal-cli:0.9.2 Protocol::DBus:0.19
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack