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

drhirn

Tja, gerade auch ratlos. Kannst du noch die "signalbot" Definition posten bitte?

Und probier mal: msg push @rr_martin 1 Textnachricht

Bei mir sieht derselbe Befehl, den du auch absetzt, im Log so aus:
msg rr_XXX: ID=167024xxx TYPE=push ROUTE=Signalbot RECIPIENT=@+49xxx STATUS=OK PRIORITY=0 TITLE='Nachricht von FHEM' MSG='Textnachricht'

Also irgendwas hat's bei dir mit der Priorität. Kannst ja mal folgendes bei globalMsg probieren:
attr globalMsg msgPriorityPush 1

***edit***
Sehe gerade in deinem Roommate-Device
2022-12-04 20:18:53   fhemMsgPushGw    signalbot:UNAVAILABLE

Das ist natürlich schlecht. Heißt das Signalbot-Device wirklich "signalbot"? Ich bleib dabei, her mit der Definition des Devices ;)

Martin W


Zitat von: drhirn am 05 Dezember 2022, 13:07:37

Und probier mal: msg push @rr_martin 1 Textnachricht

Bei mir sieht derselbe Befehl, den du auch absetzt, im Log so aus:
msg rr_XXX: ID=167024xxx TYPE=push ROUTE=Signalbot RECIPIENT=@+49xxx STATUS=OK PRIORITY=0 TITLE='Nachricht von FHEM' MSG='Textnachricht'

Also irgendwas hat's bei dir mit der Priorität. Kannst ja mal folgendes bei globalMsg probieren:
attr globalMsg msgPriorityPush 1
Hat leider keine Auswirkung.

Zitat von: drhirn am 05 Dezember 2022, 13:07:37
***edit***
Sehe gerade in deinem Roommate-Device
2022-12-04 20:18:53   fhemMsgPushGw    signalbot:UNAVAILABLE

Das ist natürlich schlecht. Heißt das Signalbot-Device wirklich "signalbot"? Ich bleib dabei, her mit der Definition des Devices ;)

Ja, er heißt  wirklich "signalbot" :)

define signalbot Signalbot
attr signalbot registerMethod Voice
attr signalbot room Alarmanlage,Server
attr signalbot showtime 1
#   FD         4
#   FUUID      61b74507-f33f-abb9-a6b0-2326e2283f6cc132
#   NAME       signalbot
#   NOTIFYDEV  global
#   NR         108
#   NTFY_ORDER 50-signalbot
#   STATE      0
#   TYPE       Signalbot
#   VERSION    Signalbot:3.11 signal-cli:0.11.4 Protocol::DBus:0.22
#   eventCount 4
#   model      Raspbian GNU/Linux 11 (bullseye)
#   Helper:
#     DBLOG:
#       account:
#         logdb:
#           TIME       1670210837.00059
#           VALUE      +496329xxxxxx
#       joinedGroups:
#         logdb:
#           TIME       1670229098.16383
#           VALUE      Zuhause
#       lastError:
#         logdb:
#           TIME       1670210837.00059
#           VALUE      ok
#   READINGS:
#     2022-12-05 04:27:16   account         +496329xxxxx
#     2022-12-05 04:27:16   accountName     
#     2022-12-05 09:31:38   joinedGroups    Zuhause
#     2022-12-05 04:27:16   lastError       ok
#     2022-11-13 22:40:07   msgAttachment   
#     2022-11-13 22:40:07   msgAuth         0
#     2022-11-13 22:40:07   msgGroupName   
#     2022-11-13 22:40:07   msgSender       Martin W.
#     2022-11-13 22:40:07   msgText         Zur�ck
#     2022-11-13 22:40:07   msgTimestamp    13-11-2022 22:40:04
#     2022-12-05 09:59:07   sentMsg         Fenster im Bad oben noch offen!!
#     2022-12-05 09:59:14   sentMsgRecipient martin
#     2022-12-05 09:59:14   sentMsgTimestamp 05-12-2022 09:59:07
#     2021-12-13 20:49:14   state           0
#   helper:
#     accounts   1
#     init       1
#     lasterr    Error in version:Failed to activate service 'org.asamk.Signal': timed out (service_start_timeout=25000ms)
#     multi      1
#     signalpath /org/asamk/Signal/_496329989295
#     version    1104
#     accountlist:
#       +4963299xxxx
#     contacts:
#       +4915206xxxxxx martin
#       +4917660xxxxxx vera
#       +4963299xxxxxx
#     groups:
#       113 253 133 152 238 212 203 75 255 37 233 189 185 239 95 184 168 90 183 78 145 138 27 235 77 74 122 35 214 215 49 162:
#         active     1
#         blocked    0
#         name       Zuhause
#
setstate signalbot 0
setstate signalbot 2022-12-05 04:27:16 account +496329xxxxx
setstate signalbot 2022-12-05 04:27:16 accountName
setstate signalbot 2022-12-05 09:31:38 joinedGroups Zuhause
setstate signalbot 2022-12-05 04:27:16 lastError ok
setstate signalbot 2022-11-13 22:40:07 msgAttachment
setstate signalbot 2022-11-13 22:40:07 msgAuth 0
setstate signalbot 2022-11-13 22:40:07 msgGroupName
setstate signalbot 2022-11-13 22:40:07 msgSender Martin W.
setstate signalbot 2022-11-13 22:40:07 msgText Zur�ck
setstate signalbot 2022-11-13 22:40:07 msgTimestamp 13-11-2022 22:40:04
setstate signalbot 2022-12-05 09:59:07 sentMsg Fenster im Bad oben noch offen!!
setstate signalbot 2022-12-05 09:59:14 sentMsgRecipient martin
setstate signalbot 2022-12-05 09:59:14 sentMsgTimestamp 05-12-2022 09:59:07
setstate signalbot 2021-12-13 20:49:14 state 0


drhirn

Bin leider gerade etwas überfragt. Und testen ist schwer, weil mal schnell ein Signalbot-Device auf einer Testinstanz aufsetzen geht leider nicht so einfach.

Wenn du folgendes einträgst
attr globalMsg msgContactPush signalbot:@+49152xxxx
solltest du einfach mit
msg Test
Nachrichten an die obige Nummer verschicken können. Das hilft, Tippfehler zu vermeiden.

Und dann kannst du ja noch bei globalMsg verbose auf 5 stellen und schauen, ob noch irgendwie interessante Meldungen im Log auftauchen.

MarcoE

Hallo,
ich hatte wohl eine Uralt Version die mitterweile nicht mehr lief und habe nun SignalBot neu eingerichtet. Nur über die Captchas komme ich nicht weg. Das Captcha sieht gut aus: signalcaptcha://signal-recaptcha-v2.6LfBXs0bAAAAAAjkDyyI1Lk5gBAUWfhI_bIyox5W.registration.03AE...
Aber FHEM liefert folgenden Fehler:
Incorrect captcha - e.g. needs to start with signalcaptcha://

Wo kann ich da noch weitersuchen?

Viele Grüße
Marco


Adimarantis

Hi Marco,
was steht denn im reading "lasterr".
Ich wollte gerade mal auf meinem Testsystem einfach eine erneute Registrierung durchprobieren und er hat sich beschwert, dass "Account already in use".
Das Captcha an sich hätte bei mir funktioniert.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

MarcoE

Hallo,
Zitat von: Adimarantis am 05 Dezember 2022, 17:37:20
was steht denn im reading "lasterr".
Tja- du hast völlig recht: da hätte ich gleich mal schauen sollen: 413 Rate limit exceeded. Ich hatte es wohl zu häufig versucht. Heute morgen ging es auf Anhieb.
Vielen Dank!

Adimarantis

Gibt es noch weitere Erkenntnisse zum Thema "msg"?
Ich verwende das selber nicht, und kann da wenig beitragen, würde aber gerne dazu etwas ins Wiki übernehmen, wenn mir jemand eine Zusammenfassung schreiben kann.
Der einzige (schon zitierte) Tipp war ja, dass man statt "#" auch "@#" für Gruppen verwenden kann, was msg akzeptieren sollte.
Hab mir den "msg" source mal angesehen - da gibt es in msgConfig noch eine Sektion die spezifisch für TelegramBot ist, was allerdings eingehende Messages auswertet. Ich weiss nicht wo das gebraucht ist, ist kann das aber gerne für SignalBot erweitern und hier posten, falls es jemand ausprobieren möchte.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

drhirn

Eingehende Nachrichten gehen ja so auch schon. Oder was genau meinst du mit "auswertet"?

Adimarantis

Einige Device typen werden in msgConfig für Notify registriert:
TYPE=(Jabber|TelegramBot|yowsup)
da könnte man SignalBot aufnehmen.

Im Falle eines Notify wertet dann eine Routine erhaltene Nachrichten aus.
Wenn ich den Code richtig lese, ist wohl das einzige was passiert, dass das reading fhemMsgRcv im Device des Empfängers (roommates?) die erhaltene Nachricht hinterlegt wird. Keine Ahnung wozu das dann gut ist.

Ausserdem werden in msgSchema.pm noch Device spezifische Dinge definiert. Da könnte man den TelegramBot Teil für Signalbot kopieren. Scheint irgendwelche Defaultbefehle festzulegen:
        'SignalBot' => {
            'Normal' => 'set %DEVICE% %SignalBot_MTYPE% %RECIPIENT% %MSG%',
            'High'   => 'set %DEVICE% %SignalBot_MTYPE% %RECIPIENT% %MSG%',
            'Low'    => 'set %DEVICE% %SignalBot_MTYPE% %RECIPIENT% %MSG%',
            'defaultValues' => {
                'Normal' => {
                    'RECIPIENT'         => '',
                    'SignalBot_MTYPE' => 'send',
                },
                'High' => {
                    'RECIPIENT'         => '',
                    'SignalBot_MTYPE' => 'send',
                },
                'Low' => {
                    'RECIPIENT'         => '',
                    'SignalBot_MTYPE' => 'send',
                },
            },
        },

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

drhirn

Zitat von: Adimarantis am 07 Dezember 2022, 14:44:10
Einige Device typen werden in msgConfig für Notify registriert:
TYPE=(Jabber|TelegramBot|yowsup)
da könnte man SignalBot aufnehmen.
Ach so, Notify. Ja, warum eigentlich nicht.

Flachzange

Wir haben ein neues Handy erhalten und sind dann in die Situation gekommen, dass wir den Fehler

ZitatUntrusted Identity for "+49xxxxxxx"

erhalten haben. Das ist aber nur aufgefallen, weil Signalbot/signal-cli keine Nachrichtem auch von einem anderen Gerät keine Nachrichten mehr entgegengenommen hat.

Nachdem ich der betroffenen Nummer wieder vertraut habe, hat Signalbot/signal-cli wieder alle Nachrichten von allen Geräten angenommen.

Ist das ein nachvollziehbares/gewolltes Verhalten oder ein Fehler?

Gruß
Chris

enno

Einfacher FHEM Anwender auf Intel®NUC

Flachzange

Ja, das kenne ich. Der spannende Punkt ist, aber warum dann von anderen Geräten auch keine Nachrichten mehr empfangen werden können, obwohl nur das eine untrusted ist.

Adimarantis

Das sollte eigentlich nicht so sein. Waren das "persönliche Nachrichten" oder in einer Gruppe/Kanal?
Könnte mir nur vorstellen, dass er generell den Nachrichten der ganzen Gruppe nicht vertraut, wenn ein Teilnehmer nicht vertrauenswürdig ist, fände ich aber trotzdem seltsam.

Leider gibt es nach wie vor kein DBus Interface für "trust", wodurch man das immer zu Fuss über die Kommandozeile machen muss.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Flachzange

Also nochmal zusammenfassend:

Gerät A: keine Änderung / trusted
Gerät B: untrusted
FHEM: Signalbot / keine Änderung
Gruppe 1: besteht aus beiden Geräten und FHEM

Senderichtung FHEM => Gerät A: funktioniert weiterhin
Senderichtung FHEM => Gerät B: Fehlermeldung "untrusted identity"
Senderichtung FHEM => Gruppe 1: Gerät A empfängt, Gerät B nicht. Keine Fehlermeldung

Senderichtung Gerät A => FHEM: Kein Empfang und keine Empfangsbestätigung im Gerät A
Senderichtung Gerät B => FHEM: Kein Empfang und keine Empfangsbestätigung im Gerät B
Senderichtung Gruppe 1 / Gerät A => FHEM: Kein Empfang und keine Empfangsbestätigung im Gerät A
Senderichtung Gruppe 1 / Gerät B => FHEM: Kein Empfang und keine Empfangsbestätigung im Gerät B