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

Jamo

Zitat von: Gisbert am 30 März 2024, 20:14:02
ZitatMit "<br>" bekommst Du einen Zeilenumbruch:
Hallo Jamo,
mit <br> funktioniert es tatsächlich, aber \n sollte doch bei Perl auch funktionieren.
Wie dem auch sei - ich hab jetzt eine Lösung.
Viele Grüße Gisbert
Hallo Gisbert,
die STATE Anzeige im Web Frontend ist aber HTML formatiert, deswegen <br>. 
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Jippy

Jetzt habe ich noch mal eine Frage...
Kann man die STATE Anzeige "Connected to /org/asamk/Signal/_49xxxxxxxxx" durch ein Icon ersetzen?
Ich habe es mit dem Attribut devStateIcon "Connected.to./org/asamk/Signal/_49xxxxxxxxx: 10px-kreis-gruen" bzw. "Connected.*: 10px-kreis-gruen" versucht, das funktioniert aber nicht.

Jamo

Zitat von: Jippy am 31 März 2024, 12:25:26Jetzt habe ich noch mal eine Frage...
Kann man die STATE Anzeige "Connected to /org/asamk/Signal/_49xxxxxxxxx" durch ein Icon ersetzen?
Ich habe es mit dem Attribut devStateIcon "Connected.to./org/asamk/Signal/_49xxxxxxxxx: 10px-kreis-gruen" bzw. "Connected.*: 10px-kreis-gruen" versucht, das funktioniert aber nicht.
Das geht dann so: Connected.to..org.asamk.Signal._XXXXXXX:10px-kreis-gruen
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Adimarantis

Wie wärs damit:
attr SignalBot devStateIcon { my $status_img = "10px-kreis-gruen";;;; my $status_txt = ReadingsVal($name, "state", "disconnected");;;; if (!$status_txt =~ /Connected.*/) { $status_img = "10px-kreis-rot";;;;} my $restart_icon = "<a href=\"/fhem?cmd.dummy=set $name reinit&XHR=1\" title=\"Reinit\">".FW_makeImage("control_reboot")."</a>";;;; "<div> <a>".FW_makeImage($status_img, $status_txt)."</a> ".$restart_icon." ".$status_txt."</div>" }
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Sailor

Hallo Adimarantis
Zitat von: Adimarantis am 01 April 2024, 12:50:49Wie wärs damit:
attr SignalBot devStateIcon { my $status_img = "10px-kreis-gruen";;;; my $status_txt = ReadingsVal($name, "state", "disconnected");;;; if (!$status_txt =~ /Connected.*/) { $status_img = "10px-kreis-rot";;;;} my $restart_icon = "<a href=\"/fhem?cmd.dummy=set $name reinit&XHR=1\" title=\"Reinit\">".FW_makeImage("control_reboot")."</a>";;;; "<div> <a>".FW_makeImage($status_img, $status_txt)."</a> ".$restart_icon." ".$status_txt."</div>" }

Ich glaube das kannste auch als Standard reinsetzen, sofern Attribut nicht gesetzt.

Gruss
    Sailor
******************************
Man wird immer besser...

Jamo

Hallo alle zusammen,
ich moechte mit Signal einen http link verschicken, also sowas wie
<a href=/opt/fhem/www/Pics/bild.jpg>BILD</a> , so das ich in der Signal message nur den link "BILD" angezeigt bekomme. Leider funktioniert das nicht, ich bekomme mit set Signal send Bitte auf BILD klicken <a href=/opt/fhem/www/Pics/bild.jpg>BILD</a> nur den Textstring angezeigt. Im Wiki finde ich unter den formatierungen auch nichts. Kann jemand helfen, oder geht das nicht?
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Sailor

Hallo Jamo

Zitat von: Jamo am 08 April 2024, 13:21:53Hallo alle zusammen,
ich moechte mit Signal einen http link verschicken,
Leider funktioniert das nicht

Der SignalBot kann nur versenden was du auch auf dem Handy erstellen könntest.
Wenn du es auf dem Handy kannst, sende es an deinen fhem - SignalBot und schau dir den empfangenen Code an.

Gruß
    Sailor
******************************
Man wird immer besser...

Sailor

Hi Adimaratis

Wie kann ich den Standard - Pfad für empfangene Bilder von "/var/lib/signal-cli/attachments/" auf "/home/pi/Pictures" oder ein anderes ändern?

Kann man das ggf mit einem Attribut lösen?

Gruß
    Sailor
******************************
Man wird immer besser...

Adimarantis

@Jamo: Ich frage mich was jetzt eigentlich der Anwendungfall ist.
Wenn man einen http link verschickt, der einen absoluten lokalen Pfad enthält, dann kann man den auf den Handy sowieso nicht lesen - die Datei ist ja auf den Handy gar nicht vorhanden.
Bilder kann man aber mit Signalbot sehr wohl verschicken, einfach mit
set Signalbot send @handy Bild: &/opt/fhem/www/Pics/bild.jpgWarum dann einen http link?
Was übrigens grundsätzlich einwandfrei funktioniert:
set Signalbot send @handy http://google.de
@Sailor:
Ich weiss jetzt nicht auf Anhieb ob man nur das attachment Verzeichnis verlegen kann. Ich glaube das ist eine Einheit mit der restlichen Konfiguration.
Du kannst es dir doch aber einfach "herbeilinken"
ln -s /var/lib/signal-cli/attachments/ pictures

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 08 April 2024, 16:09:56@Jamo: Ich frage mich was jetzt eigentlich der Anwendungfall ist.
Wenn man einen http link verschickt, der einen absoluten lokalen Pfad enthält, dann kann man den auf den Handy sowieso nicht lesen - die Datei ist ja auf den Handy gar nicht vorhanden.
Bilder kann man aber mit Signalbot sehr wohl verschicken, einfach mit
set Signalbot send @handy Bild: &/opt/fhem/www/Pics/bild.jpgWarum dann einen http link?
Was übrigens grundsätzlich einwandfrei funktioniert:
set Signalbot send @handy http://google.de
Hallo Adimarantis,
erstmal danke, und ja da habe ich Dich in die Irre geführt, es ist ein Link auf eine externe Webseite, sowas wie https://www.microsoft.com/de-de/berlin/veranstaltungen/fast-forward-ai/renderingassets/og-image.jpg, das sieht einfach haesslich aus weil so lang. Schoener waere es wenn es wie bei HTML einen kurzschreibweise geben würde, wo dann der eigentliche Link dahinter liegt.
Beste Grüsse, Jamo

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

Sailor

Hallo Jamo

Zitat von: Jamo am 08 April 2024, 21:26:13erstmal danke, und ja da habe ich Dich in die Irre geführt, es ist ein Link auf eine externe Webseite, sowas wie https://www.microsoft.com/de-de/berlin/veranstaltungen/fast-forward-ai/renderingassets/og-image.jpg, das sieht einfach haesslich aus weil so lang. Schoener waere es wenn es wie bei HTML einen kurzschreibweise geben würde, wo dann der eigentliche Link dahinter liegt.

Ich bezweifle, dass die Signal-APP aus Sicherheits-Aspekten heraus die Darstellung von <html> zulassen wird.
Es ist ja ein Messenger und kein Browser.

Ansonsten gibt es doch die Möglichkeit Kurzlinks zu erstellen wie beispielsweise mit "https://t1p.de/".
(Disclaimer: Ich habe keine Kenntnisse hinsichtlich der Seriosität der genannten website)

Gruß
    Sailor
******************************
Man wird immer besser...

Adimarantis

Man könnte sich vorstellen, dass Signalbot auf ein &http://somesite.com/bild.jpg so reagiert, dass er eine lokale Kopie des Bildes zieht und dieses dann per Signal verschickt.
Da sind wir halt dann wieder bei den Sicherheitsaspekten. Will man wirklich, dass eine Datei "irgendwo" aus dem Internet auf die lokale Platte kopiert wird und dann verschickt wird.
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

Sailor

Zitat von: Adimarantis am 09 April 2024, 09:38:24Da sind wir halt dann wieder bei den Sicherheitsaspekten.
Will man wirklich, dass eine Datei "irgendwo" aus dem Internet auf die lokale Platte kopiert wird und dann verschickt wird?

Lieber nicht!
Wenn, dann soll der User sich Gedanken machen, was heruntergeladen wird und dann anschließend von seinem Rechner aus das Bild versenden oder den Link, welcher dann beim Empfänger in den Browser geschoben wird.

Gruss
    Sailor
******************************
Man wird immer besser...

memento_10

Hallo zusammen!

Erstmal danke für das tolle Modul, läuft bei mir einwandfrei.
Jetzt bin ich dabei, einige automatisierte Nachrichten zu verschicken, habe aber ein (Luxus-)Problem bei der Formatierung.
Normalen Text in Festbreitenschrift ist kein Problem mit <code/>.

Wenn ich jedoch dazwischen berechnete Werte habe, dann greifen diese Tags nicht, wie hier zb:
$message = $message . "<code>" . sprintf("%02d", $j) . "" . ":00 - " . sprintf("%02d", $j + 1) . ":00 --> " . sprintf("%.2f", @values[$j]) . " ct/kWh </code>" . "<br>";
Wennn ich diesen ganzen Pack sende, wird nur der letzte Textteil (ct/kWh) formatiert. <tt> und Markdown-Style habe ich auch schon versucht -> selbes Problem.
Hat hier jemand einen Tipp für mich?

Liebe Grüße!
Simon
FHEM auf Rpi4, OpenWRT auf Netgear Nighthawk, CUL868, FHT80, Tradfri, CUL433, tbot, alexa-fhem, ESP8266, Shelly 1+2, homebridge, Klingelerkennung über ESP, Anwesenheit per OpenWRT

Adimarantis

Kann ich bei manuell fabrizierten Beispielen nicht nachstellen.
Kannst das fertige $message mal irgendwo ausgeben oder verbose von Signalbot hochstellen und posten wie das aussieht?
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU) + RfxTrx433XL + 2xRaspberry 1
Module: 50_Signalbot, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)