Hallo Fhem'ler,
ich suche nach einer Möglichkeit, den Inhalt der DBLOG (History) oder einer eigenen Tabelle im FHEMWeb anzuzeigen.
Gibt es dafür ein Device (Module) oder kann ich sowas mittel WEBLINK realisieren?
Vielen Dank im Voraus für eure Ideen :-)
Viele Grüsse
Axel
http://stackoverflow.com/questions/15251095/display-data-from-sql-database-into-php-html-table
Was mit php geht, sollte auch mit perl machbar sein.
I thought about doing that, and when I started researching what it would take I found out it is actually a lot of work
etwas aus der history tabelle anzuzeigen wäre recht einfach mit dem passenden get und anschließendem zeilenweise in eine html tabelle stecken. das geht mit etwas perl und den fhem bordmitteln.
für eine beliebige andere tabelle müsstest du auf db treiber ebene einsteigen. das würde deutlich aufwändiger.
aber wie oft bei fragen dieser art wäre es gut zu wissen was du denn eigentlich vor hast.
gruß
andre
Ich versuche mal eine "myUtils" Methode zuschreiben die im WEBLINK aufgerufen wird.
Beispiel:
define my_Weblink weblink htmlCode { displayDB_tab("TABNAME", "KEY") }
Hier mal ein kurzer Zwischenstand:
Ich habe eine Methode geschrieben (show_dblink()), die über eine Weblink Device (HTMLCODE) eingebunden wird.
Zurzeit wird nur eine statische HTML Tabelle ausgegeben, die aber später dynamisch durch den DB Tabelleninhalt mit Leben gefüllt wird.
Für die Darstellung der Tabelle nutze ich das CSS Element "CLASS" aus der FHEMWEB Oberfläche. Dadurch integriert sich die Tabelle bestens in die FHEM Umgebung (siehe Anhang).
Weblink Device:
define dblink weblink htmlCode { show_dblink("tab", "key") }
sub show_dblink($$)
{
my $html = "
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<table class=\"block wide\" id=\"tab\">
<tr class=\"odd\">
<td>Monat</td>
<td>Verbrauch kw/h - 2013</td>
<td>Verbrauch kw/h - 2014</td>
<td>Differenz kw/h</td>
<td>Differenz %</td>
</tr>
<tr>
<td>Januar</td>
<td>200</td>
<td>230</td>
<td>+30</td>
<td>+15</td>
</tr>
<tr class=\"odd\">
<td>Total</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>";
return $html;
}
Gruß Axel