[gelöst] telegram datei-inhalt versenden

Begonnen von Ralph, 22 März 2018, 17:11:01

Vorheriges Thema - Nächstes Thema

Ralph

Ich suchte leider vergeblich, darum hier die Frage:

Ich möchte den Inhalt (nicht den dateinamen) mittels telegram versenden.

set mein_bot message @@meinziel /opt/fhem/log/status.txt

versendet den Dateinamen.

Wie versendet es den Inhalt der Datei idealstenfalls als reiner Text ?
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Wuehler

Du könntest die Datei vorher in eine Variable einlesen und dann den String versenden oder evtl die Bot-Funktionen sendDocument und InlineQueryResultDocument nutzen. Dazu brauchst du aber ein pdf.
Habe beides bisher aber auch nicht gemacht. Ist also als Denkanstoß zu sehen ;)

Ralph

Nun antworte ich mal - nach langer Sucherei - mir selbst.

Das erste Problem war, dass das - bei mir noch vorhandene - Modul die zeilenweise Ausgabe noch nicht unterstützte.
Irgendwo fand ich, dass das noch nachgebaut werden musste.
Nach einem Update ging es dann.

Mit einem bloßen Fileread ging es dann immer noch nicht, bis ich das mit dem join dann fand.

meine sub sieht nun so aus:

sub readfile($) {
my ($dateiname) = @_;
my ($error, @content) = FileRead({FileName => $dateiname, ForceType => "file"});
my (@content) = join("\n",,@content);
fhem("set mein_bot message @content)");
return
}


Erzeugt wird meine zeilenweise Liste mit:

{schrdatei(("TH_Kueche ".ReadingsVal("TH_Kueche","state","0")."\r\n"),'>/opt/fhem/log/status.txt')}
{schrdatei(("TH_SchlaZi ".ReadingsVal("TH_SchlaZi","state","0")."\r\n"),'>>/opt/fhem/log/status.txt')}
{schrdatei(("TH_WoZi ".ReadingsVal("TH_Z_Z","state","0")."\r\n"),'>>/opt/fhem/log/status.txt')}
{schrdatei(("TH_Aussen ".ReadingsVal("TH_Aussen","state","0")."\r\n"),'>>/opt/fhem/log/status.txt')}
{schrdatei(("InternetSpeed ".ReadingsVal("FB_Link","state","0")."\r\n"),'>>/opt/fhem/log/status.txt')}
{schrdatei(("IP-Adresse ".ReadingsVal("FritzBox","box_ipExtern","0")."\r\n"),'>>/opt/fhem/log/status.txt')}
{readfile("/opt/fhem/log/status.txt")}


Möge es wem helfen
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen