Image in einer HTML Box einfügen

Hallo zusammen,

ich hab seit einigen Tagen IPS 4.0 auf meinen Raspberry Pi 2 installiert.
Nach ein bisschen ausprobieren und lesen der Doku und einigen Threads hier im Forum komme ich nicht mehr weiter.

Ich habe mir ein Skript geschrieben was mir die CPU last usw. vom Pi ausliest. Das Funktioniert soweit auch ganz gut.
Ich gebe einige Informationen in einer HTML Box aus und wollte dort jetzt ein Image einfügen was im Medien Ordner liegt. Ich bekomme es einfach nicht hin dieses Image einzufügen.

Das Skript sieht wie folgt aus. In Zeile 30 ist der Pfad zum Bild und in Zeile 36 Versuch ich es in den HTML Code einzufügen.


<?php
/* sysstat muss auf dem Pi instaliert sein [sudo apt-get install sysstat]*/

$IPS_directory = "/usr/share/symcon";
$networkcard = "eth0";

$CPU_idle =exec("mpstat| grep all| awk '{print $12}'"); // CPU Auslastung %idle
$CPU_temp = substr(exec('vcgencmd measure_temp'), 5, 4); //Temperatur CPU
$CPU_volts = substr(exec("vcgencmd measure_volts"),5,4); //CPU Spannung 
$RAM_total = exec("free -m| grep Mem | awk '{print $2}'"); //Verfügbarer RAM
$RAM_used = exec("free -m| grep Mem | awk '{print $3}'"); //Benutzer RAM 
$HDD_total = exec("df -h | grep /dev/root | awk '{print $2}'"); // Verfügbarer  Speicherplatz SD-Karte
$HDD_used = exec("df -h | grep /dev/root | awk '{print $3}'"); // Belegter Speicherplatz SD-Karte
$HDD_syncom = exec("du -sh -m $IPS_directory| awk '{print $1}'"); // Verzeichnissgröße IPS
$LAN_IP = substr(exec("/sbin/ifconfig $networkcard | grep 'inet addr'| awk '{print $2}'"),5); // IP Adresse
$Linux_Vers = exec('uname -snr'); // Linux Version
$SSH_Log = substr(exec("who -q | grep '#' | awk '{print $2}'"),6); // Anzahl SSH Verbindungen
$SSH_Connection = substr(exec("who -s"),14); // // SSH Verbindungen von Client xy

SetValueFloat(42942 /*[Raspberry PI\CPU\CPU-Temperatur]*/, $CPU_temp);
SetValueFloat(34908 /*[Raspberry PI\CPU\CPU-Auslastung]*/, 100 - $CPU_idle);
SetValueFloat(18906 /*[Raspberry PI\CPU\CPU-Spannung]*/,  $CPU_volts);

SetValueFloat(33591 /*[Raspberry PI\Speicher\RAM-Auslastung]*/, ($RAM_used/$RAM_total)*100);
SetValueFloat(23484 /*[Raspberry PI\Speicher\HDD-Belegung]*/,  ($HDD_used/$HDD_total)*100);
SetValueFloat(36166 /*[Raspberry PI\Speicher\IPS-Speicherbelegung]*/,  $HDD_syncom);



$local_data = IPS_GetKernelDir()."media/Raspi-PGB001.png";  // Raspberry LOGO


$html = ' <table width="100%" border="0" cellpadding="0" cellspacing="2" align="center" valign="top" >
 <tr >
<td align="center" valign="top"  width="100px"; rowspan="6">
<img src="'.$local_data.'" style="float:left"; width="80px">
 </tr>
 <tr>
  <td align="left" valign="top">IP Adresse:</td>
  <td align="right" valign="top">'.$LAN_IP.'</td>
 </tr>
 <tr>
  <td align="left" valign="top">System Online seit:</td>
  <td align="right" valign="top">'.uptime().'</td>
 </tr>
 <tr>
  <td align="left" valign="top">Linux Version:</td>
  <td align="right" valign="top">'.$Linux_Vers.'</td>
 </tr>
  <tr>
  <td align="left" valign="top">SSH Verbindung:</td>
  <td align="right" valign="top">'.$SSH_Connection.'</td>
 </tr>
   <tr>
  <td align="left" valign="top">IPS Version:</td>
  <td align="right" valign="top">'.IPS_GetKernelVersion().'</td>
 </tr>
 
 
</table>';

SetValueString(25702 /*[Raspberry PI\System\Informationen ]*/, $html);

function uptime()
{
$upSeconds = exec("/usr/bin/cut -d. -f1 /proc/uptime");
$uptimeDays = floor($upSeconds /86400);
$uptimeHours = $upSeconds /3600 % 24;
$uptimeMin = $upSeconds /60 % 60;
$uptime = " $uptimeDays Tag(e) $uptimeHours Stunde(n) $uptimeMin Minute(n)";

return $uptime;
}


?>


Danke für die Hilfe

Dein Image sollte im /usr/share/symcon/webfront/user/ Ordner liegen und darauf solltest du auch verweisen. Medien kannst du so in der HTMLBox nicht einfach anzeigen :wink:

paresy

Danke für den Tipp. :slight_smile:

Habe das Bild ins Verzeichnis /usr/share/symcon/webfront/user/ kopiert und den Code angepasst

<img src="user/Raspi-PGB001.png" style="float:left"; width="110px">

jetzt wird alles richtig angezeigt :slight_smile:

Mir ist jetzt aber noch was anderes aufgefallen. Ich habe bei den Variablen das Logging Aktiviert, und das Skript wird alle 20 Sek ausgeführt. Wenn ich mir aber die Loggs angucken, habe ich z.B. für die CPU-Auslastung nur 2 Werte.

Und im Webfront ist das Diagramm leer.

Muss ich irgendwo noch was einstellen:confused:

Wenn ich das jpg unter /usr als Datei liegen habe, wie muss ich dann die HTML Box genau beschreiben?

Mit „“ vorne und hinten oder?

"<img src="user/Raspi-PGB001.png" style="float:left"; width="110px"> "

Ich möchte eigentlich je nach Status einer Variablen eins von 5 bildern im WF anzeigen.

Hallo,

versuchs mal mit außen: " " und innen: ’ '.

Entweder Du nutzt ’ oder Du must Escape Sequence \ setzen.

Also

$html = "<img src=\"user/Raspi-PGB001.png\" style=\"float:left\"; width=\"110px\">";

oder

$html = '<img src="user/Raspi-PGB001.png" style="float:left"; width="110px">';