Autor Thema: FileLog notify Reduzierung  (Gelesen 1785 mal)

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3857
Antw:FileLog notify Reduzierung
« Antwort #15 am: 15 August 2021, 11:52:42 »
Bei der 00_SIGNALduino.pm wird das fakelog nur dazu verwendet um im "Information menu" über eine url das "Last Flashlog" auszugeben, gibts dafür eine andere Möglichkeit?

sub SIGNALduino_FW_Detail($@) {
  my ($FW_wname, $name, $room, $pageHash) = @_;

  my $hash = $defs{$name};
  my @dspec=devspec2array("DEF=.*fakelog");
  my $lfn = $dspec[0];
  my $fn=$defs{$name}->{TYPE}."-Flash.log";

  my $ret = "<div class='makeTable wide'><span>Information menu</span>
<table class='block wide' id='SIGNALduinoInfoMenue' nm='$hash->{NAME}' class='block wide'>
<tr class='even'>";

  if (-s AttrVal('global', 'logdir', './log/') .$fn)
  {
    my $flashlogurl="$FW_ME/FileLog_logWrapper?dev=$lfn&type=text&file=$fn";

    $ret .= "<td>";
    $ret .= "<a href=\"$flashlogurl\">Last Flashlog<\/a>";
    $ret .= "</td>";
  }
...

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24680
Antw:FileLog notify Reduzierung
« Antwort #16 am: 16 August 2021, 10:17:48 »
Zitat
Bei der 00_SIGNALduino.pm wird das fakelog nur dazu verwendet um im "Information menu" über eine url das "Last Flashlog" auszugeben, gibts dafür eine andere Möglichkeit?
Klar, selbst programmieren :)

Offline Ralf9

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3857
Antw:FileLog notify Reduzierung
« Antwort #17 am: 22 August 2021, 19:47:52 »
Zitat
Klar, selbst programmieren
hab ich nun auch gemacht, das Dialogfenster hab ich vom fhemweb abgeschaut.

sub SIGNALduino_FW_Detail {
...
  if (-s AttrVal("global", "logdir", "./log/") .$fn)
  {
  $ret.="<td><a href='#showLastFlashlog' id='showLastFlashlog'>Last Flashlog</a></td>";
  #$ret .= "<a href=\"$flashlogurl\">Last Flashlog<\/a>";
  }
...
<script>
$( "#showLastFlashlog" ).click(function(e) {
e.preventDefault();
FW_cmd(FW_root+\'?cmd={SIGNALduino_FW_getLastFlashlog("'.$FW_detail.'")}&XHR=1\', function(data){SD_dispLastFlashlog(data)});
});
...
function SD_dispLastFlashlog(txt)
{
  var div = $("<div id=\"SD_LastFlashlog\">");
  $(div).html(txt);
  $("body").append(div);
  $(div).dialog({
    dialogClass:"no-close", modal:true, width:"auto", closeOnEscape:true,
    maxWidth:$(window).width()*0.9, maxHeight:$(window).height()*0.9,
    title: "last Flashlog",
    buttons: [
      {text:"close", click:function(){
        $(this).dialog("close");
        $(div).remove();
      }}]
  });
}

sub SIGNALduino_FW_getLastFlashlog
{
my $name = shift;

my $filename = AttrVal("global", "logdir", "./log/") . "$defs{$name}->{TYPE}-Flash.log";
my $ret;
my $openflag = 1;
open my $fh, "<", $filename or $openflag = 0;
if ($openflag) {
$ret = do { local $/; <$fh> };
#$ret = FW_htmlEscape($ret);
$ret = "<pre>$ret</pre>";
$ret =~ s/\n/<br>/g;
Log3 $name, 4, "getLastFlashlog: filename=$filename";
close $fh;
}
else {
$ret = "$filename not found";
}
return $ret;
}

Zu was wird dies benötigt?
$ret = "<pre>$ret</pre>";
Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20867
Antw:FileLog notify Reduzierung
« Antwort #18 am: 22 August 2021, 19:55:18 »
die idee war ja den code wieder zu verwenden statt zu duplizieren. das ganze am ende 4 oder 5 mal zu haben ist nicht wirklich elegant …
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal