JPG im Reading per Telegram verschicken

Begonnen von kjmEjfu, 15 April 2020, 18:57:57

Vorheriges Thema - Nächstes Thema

kjmEjfu

Hallo zusammen,

ich habe in einem Reading ein JPG liegen, also tatsächlich den Inhalt nicht die URL, und möchte dieses JPG gerne per TelegramBot verschicken.
Jetzt braucht der TelegramBot aber eigentlich einen Pfad und kann nicht einfach ein Reading angeben.

Ich habe zwar
set myTelegramBot cmdSend { plotAsPng('SVG_FileLog_Aussen') }
gefunden, aber das hilft mir ja nur für einen Plot. Gibt es was ähnliches, dass ich nutzen kann?

Danke für Ideen,
kjmEjfu
Migriere derzeit zu Home Assistant

Otto123

Ich habe von Telegram keine Ahnung - aber {hier steht Perl}

Also im Umkehrschluss {ReadingsVal("DeinDevice","DeinReading","Fehler")}

Ob man damit wirklich ein jpg auslesen kann und ob Telegram anstatt png auch jpg kann weiß ich nicht. :-[

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

knopf_piano

pipe dein reading in ein file. den pfad übergibst du telegram
png+jpg geht beides
zotac nano mit proxmox und ganz viel zeug drauf

kjmEjfu

Danke für die Hinweise.

Hab mir was für die 99_myUtils.pm gebaut und rufe es entsprechend auf.

sub writeJPGfromReading($$$) {
  my ($Device,$Reading, $Filename) = @_;
  my $modpath = AttrVal("global", "modpath", ".");
  my $storage = "$modpath/www/snapshots/";
  my $imageFile = $storage.$Filename.".jpg";
  Log 5, "writeJPGfromReading Filename: $imageFile";
  my $fileContent = ReadingsVal($Device,$Reading, "");
  if(!open(FH, ">$imageFile")) {
Log 1, "writeJPG Cannot open file: $imageFile: $!";
return undef;
  }
  print FH $fileContent;
  close(FH);
  Log 5, "writeJPGfromReading $imageFile written";
  return $imageFile;
}


Kann man sicherlich schöner machen, aber läuft soweit.
Migriere derzeit zu Home Assistant

knopf_piano

viele wege füren nach Rom. passt doch!
zotac nano mit proxmox und ganz viel zeug drauf