<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Johannes</id>
	<title>FHEMWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.fhem.de/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Johannes"/>
	<link rel="alternate" type="text/html" href="http://wiki.fhem.de/wiki/Spezial:Beitr%C3%A4ge/Johannes"/>
	<updated>2026-04-06T07:45:20Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Frontendtable.jpg&amp;diff=8489</id>
		<title>Datei:Frontendtable.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Frontendtable.jpg&amp;diff=8489"/>
		<updated>2014-11-14T14:06:13Z</updated>

		<summary type="html">&lt;p&gt;Johannes: Johannes lud eine neue Version von „Datei:Frontendtable.jpg“ hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Frontend_current.jpg&amp;diff=8488</id>
		<title>Datei:Frontend current.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Frontend_current.jpg&amp;diff=8488"/>
		<updated>2014-11-14T14:03:32Z</updated>

		<summary type="html">&lt;p&gt;Johannes: Johannes lud eine neue Version von „Datei:Frontend current.jpg“ hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Datei:Frontend1.png&amp;diff=8487</id>
		<title>Datei:Frontend1.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Datei:Frontend1.png&amp;diff=8487"/>
		<updated>2014-11-14T14:02:29Z</updated>

		<summary type="html">&lt;p&gt;Johannes: Johannes lud eine neue Version von „Datei:Frontend1.png“ hoch&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Importing image file&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=8486</id>
		<title>Neues Charting Frontend</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=8486"/>
		<updated>2014-11-14T13:57:51Z</updated>

		<summary type="html">&lt;p&gt;Johannes: /* Basisinstallation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Modul&lt;br /&gt;
|ModPurpose=Chart Frontend&lt;br /&gt;
|ModType=x&lt;br /&gt;
&amp;lt;!-- |ModCategory= (noch?) nicht verwendet --&amp;gt;&lt;br /&gt;
&amp;lt;!-- |ModCmdRef=   wird automatisch generiert, sofern &lt;br /&gt;
der Seitentitel dem Modulnamen entspricht. Bei &lt;br /&gt;
alternativer Schreibweise (z.B.: Modulname beginnt &lt;br /&gt;
mit Kleinbuchstaben) muss ModCmdRef=modulName&lt;br /&gt;
angegeben werden, anderenfalls werden ungültige Links erzeugt.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
|ModForumArea=Frontends&lt;br /&gt;
|ModTechName=&lt;br /&gt;
|ModOwner=[http://forum.fhem.de/index.php?action=profile;u=653 Johannes]&lt;br /&gt;
}}&lt;br /&gt;
Diese Anleitung beschreibt die Installation und Konfiguration des neuen ExtJS-Frontends, das u.a. eine auf Javascript basierende Chartingfunktion bietet.&lt;br /&gt;
&lt;br /&gt;
[[File:Frontend1.png|200px|right|thumb]]&lt;br /&gt;
[[File:Frontend_current.jpg|200px|right|thumb]]&lt;br /&gt;
[[File:Frontendtable.jpg|200px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Aktueller Funktionsumfang ==&lt;br /&gt;
Folgende Liste ist nur ein Auszug:&lt;br /&gt;
&lt;br /&gt;
* Anzeige von Charts mit mehreren, frei wählbaren Y-Achsen (FHEM Geräte und Readings wählbar)&lt;br /&gt;
* Als Datenquellen können sowhl FileLogs als auch eine Datenbank (DbLog) verwendet werden&lt;br /&gt;
* Ein Chart aus verschiedenen Datenquellen ist problemlos möglich &lt;br /&gt;
* Charts können dynamisch (z.B. heutiger Tag, letzte Stunde,...) oder über einen festen Zeitraum angezeigt werden&lt;br /&gt;
* Achsen können generalisiert werden, um auch größere Datenmengen im Browser mit akzeptabler Geschwindigkeit darzustellen&lt;br /&gt;
* Achsen können mit Statistikfunktionen versehen werden, z.B. mit Durchschnittswerten für einen gewissen Zeitraum (Average per Hour, Max per day, ...) (Achtung, nur per DbLog!)&lt;br /&gt;
* es können Solllinien hinzugefügt werden mit wählbarem Start- und Endwert&lt;br /&gt;
* Chartachsen können selektiv ein- und ausgeschaltet werden durch Klick auf die Legende&lt;br /&gt;
* Achsen können individuell und bequem über die Oberfläche gestylt werden (Füllung, Form, Farbe, Strichbreite, Transparenz, etc)&lt;br /&gt;
* Charts können gezoomt werden mit Hilfe der Maus durch Aufziehen einer Box direkt im Chart&lt;br /&gt;
* Charts können im Frontend gespeichert, gelöscht, umbenannt und in Räume verschoben werden&lt;br /&gt;
* Der Bereich &amp;quot;Database Tables&amp;quot; ermöglicht die Anzeige des gesamten Datenbankinhalts (wenn DbLog genutzt wird) in einer Tabelle im Browser, egal wie groß diese ist.&lt;br /&gt;
* Anzeige der verfügbaren Geräte über den linken Bereich. Nach Auswahl eines Gerätes erhält man die Übersicht zu den aktuellen Readings.&lt;br /&gt;
&lt;br /&gt;
Die Werte in dieser Ansicht werden automatisch alle 5 Sekunden aktualisiert. Zudem ist die Steuerung von &amp;quot;sets&amp;quot; möglich (on / off Button, Dropdown, etc.)&lt;br /&gt;
&lt;br /&gt;
* FHEM Kommandozeile, die mit Enter-Taste und dem Execute Button bedient werden kann.&lt;br /&gt;
* Save Button, der wie bisher bekannt die Änderungen in der fhem.cfg speichert.&lt;br /&gt;
* Shutdown und Restart Buttons, über die sich FHEM herunterfahren oder neustarten lässt. Bei einem Restart wird die Seite, sobald FHEM wieder hochgefahren ist, automatisch neugeladen&lt;br /&gt;
&lt;br /&gt;
Das Frontend kann mit dem FileLog oder DbLog Modul (oder beiden) genutzt werden. Meine Empfehlung: Wer die Installation von DbLog nicht scheut, sollte auf jeden Fall in eine Datenbank loggen.&lt;br /&gt;
&lt;br /&gt;
Nach derzeitigem Stand ist die Installation von DbLog inzwischen sogar neben PCs, Synologys und Raspberrys auch auf Fritzboxen möglich. Dazu bitte auch die Anleitung [[Cpan auf Fritzbox]] beachten.&lt;br /&gt;
&amp;lt;!-- Danke der Hilfe von Jurij ist jetzt auch die Installation von DbLog auf einer Fritzbox mit mips-Archtiketur möglich (z.B. 7390, 7330, ..)&lt;br /&gt;
Eine Anleitung findet sich hier: [http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox] &lt;br /&gt;
.... --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Basisinstallation ===&lt;br /&gt;
&lt;br /&gt;
1. FHEM auf den neuesten Stand bringen mit dem Befehl &amp;quot;update&amp;quot;.&amp;lt;br/&amp;gt;&lt;br /&gt;
2. In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
 &amp;lt;pre&amp;gt;update all http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend/controls_frontend.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
Seit dem 19.08.2014 wird ein neues Update-Modul ({{Link2Forum|Topic=26311}}) von Fhem verteilt. Ist euer FHEM älter, dann lautet der alte Befehl:&lt;br /&gt;
&amp;lt;pre&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/pre&amp;gt;&lt;br /&gt;
Treten bei dem Befehl Fehler auf mit der Meldung &amp;quot;empty answer received&amp;quot;, wie auch hier beschrieben http://forum.fhem.de/index.php/topic,10439.msg219066.html#msg219066&lt;br /&gt;
dann findet sich die Lösung hier: http://forum.fhem.de/index.php/topic,10439.msg219082.html#msg219082&lt;br /&gt;
&lt;br /&gt;
3. Soll das Frontend nur mit FileLog genutzt werden, ist die Installation jetzt schon fertig und das Frontend kann aufgerufen werden über:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://adressevonfhem:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
4. Soll DbLog genutzt werden, müssen die folgenden Schritte durchgefürt werden:&lt;br /&gt;
&lt;br /&gt;
=== DbLog installieren und konfigurieren ===&lt;br /&gt;
[http://fhem.de/commandref_DE.html#DbLog DbLog] muss, falls noch nicht geschehen, konfiguriert werden. Dazu wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Eine Datenbank sollte installiert sein. MySQL, Postgres, SQLite oder Oracle.&lt;br /&gt;
* Unter Umständen müssen fehlende Perl Module nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
Ob dies nötig ist fällt spätestens auf, wenn im übernächsten Schritt die fhem.cfg angepasst und fhem neu gestartet wurde.&lt;br /&gt;
Dann sollten sich bei Problemen im Log von fhem entsprechnde Hinweise finden.&lt;br /&gt;
Unter Linux installiert man die Module z.B. für SQLite mit &amp;lt;code&amp;gt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;lt;/code&amp;gt;. Alternativ auch direkt über Perl möglich mit cpan ([http://fhem.de/commandref_DE.html#DbLog DbLog commandref]). Auf einer Synology kann der folgende Beitrag helfen: [http://forum.fhem.de/index.php/topic,11071.0.html DBLog auf Synology]&lt;br /&gt;
&lt;br /&gt;
* Die Datenbank muss nun vorbereitet werden, sprich es müssen zumindest 2 Tabellen erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielscripte findet man z.B. bei [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/ sourceforge].&lt;br /&gt;
Es muss also eine Tabelle &#039;&#039;&#039;history&#039;&#039;&#039; und eine Tabelle &#039;&#039;&#039;current&#039;&#039;&#039; erstellt werden, wie in den Beispiel SQLs zu sehen ist. &lt;br /&gt;
Anschließend muss die Datei db.conf angepasst werden.&lt;br /&gt;
Dort müssen der Datenbankname, der Benutzer und das Passwort für die Datenbank eingetragen werden. Beispiele dazu findet man auch in dem vorigen Link.&lt;br /&gt;
&lt;br /&gt;
* In die fhem.cfg muss eine Zeile eingefügt werden, die definiert, was alles über DbLog gespeichert werden soll.&lt;br /&gt;
&lt;br /&gt;
Diese Zeile kann z.B. so aussehen (loggt alles in die Datenbank):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /etc/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder, für ein konkretes Gerät (Groß/Kleinschreibung beachten!):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define logdb DbLog db.conf ESA2000_LED_011e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* FHEM neu starten und ins FHEM-Log schauen. FHEM sollte hochfahren und auch loggen, dass es zur Datenbank verbunden ist.&lt;br /&gt;
&lt;br /&gt;
Tut es das nicht oder FHEM startet gar nicht, liegt eine Fehlkonfiguration vor. Dann nochmals die vorherigen Schritte prüfen und das Logfile nach dem Problem befragen.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank vorbereiten ===&lt;br /&gt;
Zuletzt muss in der Datenbank eine Tabelle für das Frontend erstellt werden. &lt;br /&gt;
&lt;br /&gt;
Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
Für SQLite3 kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
Für Postgres kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID SERIAL, TIMESTAMP TIMESTAMP (0) DEFAULT LOCALTIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte DbLog nun laufen, kann das Frontend über &amp;lt;code&amp;gt;Adresse_des_Servers:8083/fhem/frontend/index.html&amp;lt;/code&amp;gt; aufgerufen werden, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.100:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sollte DbLog noch nicht entsprechend konfiguriert sein, so bekommt man hier entsprechendes Feedback.&lt;br /&gt;
Ansonsten ist das Frontend nun einsatzbereit. Für eine Bedienungsanleitung siehe im unteren Abschnitt &amp;quot;Bedienung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Das Frontend Updaten ==&lt;br /&gt;
In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Seit dem 19.08.2014 wird ein neues Update-Modul ({{Link2Forum|Topic=26311}}) von Fhem verteilt. Der obige Befehl ist bei diesen Installationen zu ersetzen durch:&lt;br /&gt;
 &amp;lt;pre&amp;gt;update all http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend/controls_frontend.txt&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bedienung ==&lt;br /&gt;
Ziel des Frontends ist eine möglichst selbsterklärende Bedienung. Fragen und Probleme können jederzeit im Forum, am besten in [http://forum.fhem.de/index.php/topic,10439.0.html diesem Beitrag] gestellt werden. Eine Anleitung folgt, sobald ich mehr Zeit dazu finde...&lt;br /&gt;
&lt;br /&gt;
== Installation auf einem Raspberry Pi (Anleitung von &amp;quot;Puschel&amp;quot;) ==&lt;br /&gt;
Diese Anleitung funktioniert auch auf einem BeagleBone Black mit Debian.&lt;br /&gt;
&lt;br /&gt;
===Hardwarevoraussetzungen===&lt;br /&gt;
* RasPi Model B&lt;br /&gt;
* Funktionierende Internetanbindung&lt;br /&gt;
===Softwarevoraussetzungen===&lt;br /&gt;
* Deutsches Tastaturlayout (j für Ja)&lt;br /&gt;
* Funktionsfähige FHEM-Installation auf RPi Wheezy, die mittels update auf den letzten Stand gebracht wurde (siehe auch: [[:Kategorie:Raspberry_Pi|Raspberry Pi]])&lt;br /&gt;
* Das Frontend wurde installiert mittels&lt;br /&gt;
:&amp;lt;code&amp;gt;update thirdparty &amp;lt;nowiki&amp;gt;http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend&amp;lt;/nowiki&amp;gt; frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zugriff auf den RPi mittels Putty ist gegeben.&lt;br /&gt;
* Zugriffsberechtigungen der Ordner sind auch gegeben (Schreiben in /opt/fhem)&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;amp;lt;Befehl&amp;amp;gt;&amp;lt;/code&amp;gt; = diese Zeile wird am Putty-Prompt eingegeben (ohne &amp;amp;lt;&amp;amp;gt;)&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;amp;lt;IP_des_RPi&amp;amp;gt;&amp;lt;/code&amp;gt; = IP-Adresse über der der RPi erreichbar ist&lt;br /&gt;
&lt;br /&gt;
Was wird gemacht?&lt;br /&gt;
&lt;br /&gt;
Wir werden das neue Chart-Frontend mittels SQLite3 und allen benötigten Bibliotheken auf dem RPi einrichten.&lt;br /&gt;
&lt;br /&gt;
# Wir verbinden uns per Putty mit unserem RPi und loggen uns ein. &lt;br /&gt;
# Um uns das ständige sudo zu ersparen geben wir als erstes ein &amp;amp;lt;sudo bash&amp;amp;gt; ein.&lt;br /&gt;
# &amp;amp;lt;apt-get update&amp;amp;gt;&lt;br /&gt;
# &amp;amp;lt;apt-get upgrade&amp;amp;gt; und die Nachfrage mit „j“ beantworten&lt;br /&gt;
# &amp;amp;lt;apt-get install sqlite3&amp;amp;gt;&lt;br /&gt;
# &amp;amp;lt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;amp;gt;&lt;br /&gt;
# &amp;amp;lt;apt-get install –f&amp;amp;gt; (das &amp;quot;-&amp;quot; hier ggf. in der Putty-Sitzung überschreiben; unter Umständen stimmt der Hex-Code des Zeichens nach Copy/Paste nicht)&lt;br /&gt;
&lt;br /&gt;
Was haben wir bis hierher gemacht?&lt;br /&gt;
&lt;br /&gt;
* Wir haben die Pakete für unser RPi neu eingelesen.&lt;br /&gt;
* Wir haben unsere RPi-Paketinstallation auf den neuesten Stand gebracht.&lt;br /&gt;
* Wir haben sqlite3 installiert.&lt;br /&gt;
* Wir haben die benötigten Bibliotheken installiert.&lt;br /&gt;
* Wir haben alle Abhängigkeiten aufgelöst und fehlende Pakete nachinstallieren lassen.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun bereiten wir unsere Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
In Putty geben wir als erstes ein &amp;amp;lt;cd /opt/fhem&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Dateien in diesem Ordner erstellt – wer will kann das natürlich anpassen.&lt;br /&gt;
&lt;br /&gt;
Anschliessend geben wir am Putty-Promt &amp;amp;lt;sqlite3 fhem.db&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir unsere Datenbank angelegt und diese fhem.db genannt. Nun zeigt unser Prompt in Putty sqlite3&amp;amp;gt; an. Wir befinden uns also in unserer Datenbank.&lt;br /&gt;
&lt;br /&gt;
In dieser Datenbank werden wir noch 2 TABLES anlegen – einmal current und einmal history. Dies könnt ihr einfach per copy&amp;amp;amp;paste übernehmen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE `history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE `current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und noch eine für das Frontend:&lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir&lt;br /&gt;
* mit &amp;lt;code&amp;gt;&amp;amp;lt;.tables&amp;amp;gt;&amp;lt;/code&amp;gt; schauen, ob 3 Einträge auftauchen (current, history, frontend)&lt;br /&gt;
* mit &amp;lt;code&amp;gt;&amp;amp;lt;.exit&amp;amp;gt;&amp;lt;/code&amp;gt; verlassen wir SQLite3 und kehren wieder auf unseren Putty-Prompt zurück.&lt;br /&gt;
&lt;br /&gt;
Bevor wir nun in fhem DBLog definieren, müssen wir erst unsere db.conf anlegen. Dies geschieht mittels &amp;lt;code&amp;gt;&amp;amp;lt;nano db.conf&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Gefüllt wird diese Konfigurationsdatei mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;#160;%dbconfig= (&lt;br /&gt;
 connection =&amp;amp;gt; &amp;quot;SQLite:dbname=/opt/fhem/fhem.db&amp;quot;,&lt;br /&gt;
 user =&amp;amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
 password =&amp;amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;
 );&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Mit STRG+X und „j“ abspeichern und nano wieder verlassen.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /opt/fhem sollten nun also zusätzlich die Dateien db.conf und fhem.db liegen.&lt;br /&gt;
&lt;br /&gt;
Ist das der Fall und die fhem.db hat die benötigten Rechte, können wir in fhem unser DBLog definieren. Ich habe der Einfachheit halber der Gruppe und jedem Benutzer Schreibzugriff gewährt.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;chmod -R g+w fhem.db&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;chmod -R o+w fhem.db&amp;amp;gt;&lt;br /&gt;
in der Putty-Eingabe, da fhem gemeckert hat, dass es nicht in die Datei schreiben kann (&amp;quot;-&amp;quot; ggf wieder überschreiben nach Copy/Paste).&lt;br /&gt;
&lt;br /&gt;
Nun also noch unser&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define myDbLog DbLog /opt/fhem/db.conf .*:.*&amp;lt;/code&amp;gt;&lt;br /&gt;
in fhem eingetragen und ab hier wird nun ALLES in die Datenbank geschrieben.&lt;br /&gt;
&lt;br /&gt;
Nun können wir in unserem Browser (getestet mit Firefox 19.0.2) auf unser Frontend zugreifen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://&amp;amp;lt;IP-des_RPi&amp;amp;gt;:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Achtung! Nicht erschrecken, wenn beim ersten Zugriff nur eine leere Seite erscheint. Einfach den Browser aktualisieren und am neuen Frontend erfreuen.&lt;br /&gt;
&lt;br /&gt;
Getestet: 26.03.2013&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,10439.0.html Forumsdiskussion über dieses Frontend]; bei Problemen, Fragen oder Wünschen am besten dort eine Frage oder Nachricht hinterlassen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=4203</id>
		<title>Neues Charting Frontend</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=4203"/>
		<updated>2014-01-02T14:32:38Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Diese Anleitung beschreibt die Installation und Konfiguration des neuen ExtJS-Frontends, das u.a. eine auf Javascript basierende Chartingfunktion bietet.&lt;br /&gt;
&lt;br /&gt;
[[File:Frontend1.png|200px|right|thumb]]&lt;br /&gt;
[[File:Frontend_current.jpg|200px|right|thumb]]&lt;br /&gt;
[[File:Frontendtable.jpg|200px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
== Aktueller Funktionsumfang ==&lt;br /&gt;
Folgende Liste ist nur ein Auszug:&lt;br /&gt;
&lt;br /&gt;
* Anzeige von Charts mit mehreren, frei wählbaren Y-Achsen (FHEM Geräte und Readings wählbar)&lt;br /&gt;
* Als Datenquellen können sowhl FileLogs als auch eine Datenbank (DbLog) verwendet werden&lt;br /&gt;
* Ein Chart aus verschiedenen Datenquellen ist problemlos möglich &lt;br /&gt;
* Charts können dynamisch (z.B. heutiger Tag, letzte Stunde,...) oder über einen festen Zeitraum angezeigt werden&lt;br /&gt;
* Achsen können generalisiert werden, um auch größere Datenmengen im Browser mit akzeptabler Geschwindigkeit darzustellen&lt;br /&gt;
* Achsen können mit Statistikfunktionen versehen werden, z.B. mit Durchschnittswerten für einen gewissen Zeitraum (Average per Hour, Max per day, ...) (Achtung, nur per DbLog!)&lt;br /&gt;
* es können Solllinien hinzugefügt werden mit wählbarem Start- und Endwert&lt;br /&gt;
* Chartachsen können selektiv ein- und ausgeschaltet werden durch Klick auf die Legende&lt;br /&gt;
* Achsen können individuell und bequem über die Oberfläche gestylt werden (Füllung, Form, Farbe, Strichbreite, Transparenz, etc)&lt;br /&gt;
* Charts können gezoomt werden mit Hilfe der Maus durch Aufziehen einer Box direkt im Chart&lt;br /&gt;
* Charts können im Frontend gespeichert, gelöscht, umbenannt und in Räume verschoben werden&lt;br /&gt;
* Der Bereich &amp;quot;Database Tables&amp;quot; ermöglicht die Anzeige des gesamten Datenbankinhalts (wenn DbLog genutzt wird) in einer Tabelle im Browser, egal wie groß diese ist.&lt;br /&gt;
* Anzeige der verfügbaren Geräte über den linken Bereich. Nach Auswahl eines Gerätes erhält man die Übersicht zu den aktuellen Readings.&lt;br /&gt;
&lt;br /&gt;
Die Werte in dieser Ansicht werden automatisch alle 5 Sekunden aktualisiert. Zudem ist die Steuerung von &amp;quot;sets&amp;quot; möglich (on / off Button, Dropdown, etc.)&lt;br /&gt;
&lt;br /&gt;
* FHEM Kommandozeile, die mit Enter-Taste und dem Execute Button bedient werden kann.&lt;br /&gt;
* Save Button, der wie bisher bekannt die Änderungen in der fhem.cfg speichert.&lt;br /&gt;
* Shutdown und Restart Buttons, über die sich FHEM herunterfahren oder neustarten lässt. Bei einem Restart wird die Seite, sobald FHEM wieder hochgefahren ist, automatisch neugeladen&lt;br /&gt;
&lt;br /&gt;
Das Frontend kann mit dem FileLog oder DbLog Modul (oder beiden) genutzt werden. Meine Empfehlung: Wer die Installation von DbLog nicht scheut, sollte auf jeden Fall in eine Datenbank loggen.&lt;br /&gt;
&lt;br /&gt;
Nach derzeitigem Stand ist die Installation von DbLog inzwischen sogar neben PCs, Synologys und Raspberrys auch auf Fritzboxen möglich. Dazu bitte auch die Anleitung [[Cpan auf Fritzbox]] beachten.&lt;br /&gt;
&amp;lt;!-- Danke der Hilfe von Jurij ist jetzt auch die Installation von DbLog auf einer Fritzbox mit mips-Archtiketur möglich (z.B. 7390, 7330, ..)&lt;br /&gt;
Eine Anleitung findet sich hier: [http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox] &lt;br /&gt;
.... --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Basisinstallation ===&lt;br /&gt;
&lt;br /&gt;
#FHEM auf den neuesten Stand bringen mit dem Befehl &amp;quot;update&amp;quot;.&lt;br /&gt;
#In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
3. Soll das Frontend nur mit FileLog genutzt werden, ist die Installation jetzt schon fertig und das Frontend kann aufgerufen werden über:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://adressevonfhem:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
4. Soll DbLog genutzt werden, müssen die folgenden Schritte durchgefürt werden:&lt;br /&gt;
&lt;br /&gt;
=== DbLog installieren und konfigurieren ===&lt;br /&gt;
[http://fhem.de/commandref_DE.html#DbLog DbLog] muss, falls noch nicht geschehen, konfiguriert werden. Dazu wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Eine Datenbank sollte installiert sein. MySQL, Postgres, SQLite oder Oracle.&lt;br /&gt;
* Unter Umständen müssen fehlende Perl Module nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
Ob dies nötig ist fällt spätestens auf, wenn im übernächsten Schritt die fhem.cfg angepasst und fhem neu gestartet wurde.&lt;br /&gt;
Dann sollten sich bei Problemen im Log von fhem entsprechnde Hinweise finden.&lt;br /&gt;
Unter Linux installiert man die Module z.B. für SQLite mit &amp;lt;code&amp;gt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;lt;/code&amp;gt;. Alternativ auch direkt über Perl möglich mit cpan ([http://fhem.de/commandref_DE.html#DbLog DbLog commandref]). Auf einer Synology kann der folgende Beitrag helfen: [http://forum.fhem.de/index.php/topic,11071.0.html DBLog auf Synology]&lt;br /&gt;
&lt;br /&gt;
* Die Datenbank muss nun vorbereitet werden, sprich es müssen zumindest 2 Tabellen erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielscripte findet man z.B. bei [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/ sourceforge].&lt;br /&gt;
Es muss also eine Tabelle &#039;&#039;&#039;history&#039;&#039;&#039; und eine Tabelle &#039;&#039;&#039;current&#039;&#039;&#039; erstellt werden, wie in den Beispiel SQLs zu sehen ist. &lt;br /&gt;
Anschließend muss die Datei db.conf angepasst werden.&lt;br /&gt;
Dort müssen der Datenbankname, der Benutzer und das Passwort für die Datenbank eingetragen werden. Beispiele dazu findet man auch in dem vorigen Link.&lt;br /&gt;
&lt;br /&gt;
* In die fhem.cfg muss eine Zeile eingefügt werden, die definiert, was alles über DbLog gespeichert werden soll.&lt;br /&gt;
&lt;br /&gt;
Diese Zeile kann z.B. so aussehen (loggt alles in die Datenbank):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /etc/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder, für ein konkretes Gerät (Groß/Kleinschreibung beachten!):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define logdb DbLog db.conf ESA2000_LED_011e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* FHEM neu starten und ins FHEM-Log schauen. FHEM sollte hochfahren und auch loggen, dass es zur Datenbank verbunden ist.&lt;br /&gt;
&lt;br /&gt;
Tut es das nicht oder FHEM startet gar nicht, liegt eine Fehlkonfiguration vor. Dann nochmals die vorherigen Schritte prüfen und das Logfile nach dem Problem befragen.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank vorbereiten ===&lt;br /&gt;
Zuletzt muss in der Datenbank eine Tabelle für das Frontend erstellt werden. &lt;br /&gt;
&lt;br /&gt;
Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
Für SQLite3 kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
Für Postgres kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID SERIAL, TIMESTAMP TIMESTAMP (0) DEFAULT LOCALTIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte DbLog nun laufen, kann das Frontend über &amp;lt;code&amp;gt;Adresse_des_Servers:8083/fhem/frontend/index.html&amp;lt;/code&amp;gt; aufgerufen werden, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.100:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sollte DbLog noch nicht entsprechend konfiguriert sein, so bekommt man hier entsprechendes Feedback.&lt;br /&gt;
Ansonsten ist das Frontend nun einsatzbereit. Für eine Bedienungsanleitung siehe im unteren Abschnitt &amp;quot;Bedienung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Das Frontend Updaten ==&lt;br /&gt;
In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bedienung ==&lt;br /&gt;
Ziel des Frontends ist eine möglichst selbsterklärende Bedienung. Fragen und Probleme können jederzeit im Forum, am besten in [http://forum.fhem.de/index.php/topic,10439.0.html diesem Beitrag] gestellt werden. Eine Anleitung folgt, sobald ich mehr Zeit dazu finde...&lt;br /&gt;
&lt;br /&gt;
== Installation auf einem Raspberry Pi (Anleitung von &amp;quot;Puschel&amp;quot;) ==&lt;br /&gt;
Diese Anleitung funktioniert auch auf einem BeagleBone Black mit Debian.&lt;br /&gt;
&lt;br /&gt;
===Hardwarevoraussetzungen===&lt;br /&gt;
* RasPi Model B&lt;br /&gt;
* Funktionierende Internetanbindung&lt;br /&gt;
===Softwarevoraussetzungen===&lt;br /&gt;
* Deutsches Tastaturlayout (j für Ja)&lt;br /&gt;
* Funktionsfähige FHEM-Installation auf RPi Wheezy, welche mittels update auf den letzten Stand gebracht wurde (siehe auch: [[:Kategorie:Raspberry_Pi|Raspberry Pi]])&lt;br /&gt;
* Das Frontend wurde installiert mittels&lt;br /&gt;
:&amp;lt;code&amp;gt;update thirdparty &amp;lt;nowiki&amp;gt;http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend&amp;lt;/nowiki&amp;gt; frontend&amp;lt;/code&amp;gt;&lt;br /&gt;
* Zugriff auf den RPi mittels Putty ist gegeben.&lt;br /&gt;
* Zugriffsberechtigungen der Ordner sind auch gegeben (Schreiben in /opt/fhem)&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;amp;lt;Befehl&amp;amp;gt;&amp;lt;/code&amp;gt; = diese Zeile wird am Putty-Prompt eingegeben (ohne &amp;amp;lt;&amp;amp;gt;)&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;amp;lt;IP_des_RPi&amp;amp;gt;&amp;lt;/code&amp;gt; = IP-Adresse über der der RPi erreichbar ist&lt;br /&gt;
&lt;br /&gt;
Was wird gemacht?&lt;br /&gt;
&lt;br /&gt;
Wir werden das neue Chart-Frontend mittels SQLite3 und allen benötigten Bibliotheken auf dem RPi einrichten.&lt;br /&gt;
&lt;br /&gt;
# Wir verbinden uns per Putty mit unserem RPi und loggen uns ein. &lt;br /&gt;
# Um uns das ständige sudo zu ersparen geben wir als erstes ein &amp;amp;lt;sudo bash&amp;amp;gt; ein.&lt;br /&gt;
# &amp;amp;lt;apt-get update&amp;amp;gt;&lt;br /&gt;
# &amp;amp;lt;apt-get upgrade&amp;amp;gt; und die Nachfrage mit „j“ beantworten&lt;br /&gt;
# &amp;amp;lt;apt-get install sqlite3&amp;amp;gt;&lt;br /&gt;
# &amp;amp;lt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;amp;gt;&lt;br /&gt;
# &amp;amp;lt;apt-get install –f&amp;amp;gt; (das &amp;quot;-&amp;quot; hier ggf. in der Putty-Sitzung überschreiben; unter Umständen stimmt der Hex-Code des Zeichens nach Copy/Paste nicht)&lt;br /&gt;
&lt;br /&gt;
Was haben wir bis hierher gemacht?&lt;br /&gt;
&lt;br /&gt;
* Wir haben die Pakete für unser RPi neu eingelesen.&lt;br /&gt;
* Wir haben unsere RPi-Paketinstallation auf den neuesten Stand gebracht.&lt;br /&gt;
* Wir haben sqlite3 installiert.&lt;br /&gt;
* Wir haben die benötigten Bibliotheken installiert.&lt;br /&gt;
* Wir haben alle Abhängigkeiten aufgelöst und fehlende Pakete nachinstallieren lassen.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun bereiten wir unsere Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
In Putty geben wir als erstes ein &amp;amp;lt;cd /opt/fhem&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Dateien in diesem Ordner erstellt – wer will kann das natürlich anpassen.&lt;br /&gt;
&lt;br /&gt;
Anschliessend geben wir am Putty-Promt &amp;amp;lt;sqlite3 fhem.db&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir unsere Datenbank angelegt und diese fhem.db genannt. Nun zeigt unser Prompt in Putty sqlite3&amp;amp;gt; an. Wir befinden uns also in unserer Datenbank.&lt;br /&gt;
&lt;br /&gt;
In dieser Datenbank werden wir noch 2 TABLES anlegen – einmal current und einmal history. Dies könnt ihr einfach per copy&amp;amp;amp;paste übernehmen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE `history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE `current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und noch eine für das Frontend:&lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir&lt;br /&gt;
* mit &amp;lt;code&amp;gt;&amp;amp;lt;.tables&amp;amp;gt;&amp;lt;/code&amp;gt; schauen, ob 3 Einträge auftauchen (current, history, frontend)&lt;br /&gt;
* mit &amp;lt;code&amp;gt;&amp;amp;lt;.exit&amp;amp;gt;&amp;lt;/code&amp;gt; verlassen wir SQLite3 und kehren wieder auf unseren Putty-Prompt zurück.&lt;br /&gt;
&lt;br /&gt;
Bevor wir nun in fhem DBLog definieren, müssen wir erst unsere db.conf anlegen. Dies geschieht mittels &amp;lt;code&amp;gt;&amp;amp;lt;nano db.conf&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Gefüllt wird diese Konfigurationsdatei mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;#160;%dbconfig= (&lt;br /&gt;
 connection =&amp;amp;gt; &amp;quot;SQLite:dbname=/opt/fhem/fhem.db&amp;quot;,&lt;br /&gt;
 user =&amp;amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
 password =&amp;amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;
 );&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Mit STRG+X und „j“ abspeichern und nano wieder verlassen.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /opt/fhem sollten nun also zusätzlich die Dateien db.conf und fhem.db liegen.&lt;br /&gt;
&lt;br /&gt;
Ist das der Fall und die fhem.db hat die benötigten Rechte, können wir in fhem unser DBLog definieren. Ich habe der Einfachheit halber der Gruppe und jedem Benutzer Schreibzugriff gewährt.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;amp;lt;chmod -R g+w fhem.db&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;chmod -R o+w fhem.db&amp;amp;gt;&lt;br /&gt;
in der Putty-Eingabe, da fhem gemeckert hat, dass es nicht in die Datei schreiben kann (&amp;quot;-&amp;quot; ggf wieder überschreiben nach Copy/Paste).&lt;br /&gt;
&lt;br /&gt;
Nun also noch unser&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;define myDbLog DbLog /opt/fhem/db.conf .*:.*&amp;lt;/code&amp;gt;&lt;br /&gt;
in fhem eingetragen und ab hier wird nun ALLES in die Datenbank geschrieben.&lt;br /&gt;
&lt;br /&gt;
Nun können wir in unserem Browser (getestet mit Firefox 19.0.2) auf unser Frontend zugreifen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://&amp;amp;lt;IP-des_RPi&amp;amp;gt;:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Achtung! Nicht erschrecken, wenn beim ersten Zugriff nur eine leere Seite erscheint. Einfach den Browser aktualisieren und am neuen Frontend erfreuen.&lt;br /&gt;
&lt;br /&gt;
Getestet: 26.03.2013&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://forum.fhem.de/index.php/topic,10439.0.html Forumsdiskussion über dieses Frontend]; bei Problemen, Fragen oder Wünschen am besten dort eine Frage oder Nachricht hinterlassen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=YAF&amp;diff=2658</id>
		<title>YAF</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=YAF&amp;diff=2658"/>
		<updated>2013-07-27T20:40:06Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Projekt YAF =&lt;br /&gt;
&lt;br /&gt;
YAF entstand als Projektarbeit von Daniel Weisensee und Markus Mangei an der Hochschule&lt;br /&gt;
Karlsruhe Technik&lt;br /&gt;
und Wirtschaft. &lt;br /&gt;
&lt;br /&gt;
Es steht für “Yet Another Floorplan” und soll eine Alternative&lt;br /&gt;
zum bisher vorhandenen Floorplan bieten. YAF basiert auf ClientSeite&lt;br /&gt;
aus den JavaScript&lt;br /&gt;
Frameworks JQuery und JQuery UI, serverseitig werden die CPAN Module &amp;lt;strike&amp;gt;XML::LibXML (bindet&lt;br /&gt;
libxml2 an Perl an) und&amp;lt;/strike&amp;gt; JSON::XS verwendet, um die Konfiguration zu persisitieren und um&lt;br /&gt;
Daten zwischen der Oberfläche und dem Server austauschen zu können.&lt;br /&gt;
&lt;br /&gt;
Durch die Erweiterbarkeit von Widgets soll YAF flexibel gehalten werden. Mit Hilfe dieser&lt;br /&gt;
Schnittstelle können problemlos Widgets von verschiedenen Entwicklern veröffentlicht werden,&lt;br /&gt;
ohne dass sich diese über gewünschte Änderungen am YAF Code mit der Community&lt;br /&gt;
abstimmen müssen. Es soll ähnlich dem Prinzip der Widgets unter Android oder Windows&lt;br /&gt;
funktionieren. Widgets sollen speziell für FHEM Plugins geschrieben werden, um somit&lt;br /&gt;
möglichst komfortable Oberflächen bieten zu können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Das Projekt ist freie Software unter der GNU General Public License und befindet sich auf dem offiziellen FHEM SourceForge.net Repository:&lt;br /&gt;
https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/YAF/&lt;br /&gt;
&lt;br /&gt;
* Im FHEM Forum gibt es einen Thread mit dem Titel “Yet Another Floorplan YAF”:&lt;br /&gt;
http://forum.fhem.de/index.php?t=msg&amp;amp;th=12629&amp;amp;start=0&amp;amp;rid=0&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
== Voraussetzungen ==&lt;br /&gt;
=== &amp;lt;strike&amp;gt;XML::LibXML auf einer Synology&amp;lt;/strike&amp;gt; ===&lt;br /&gt;
In der aktuellen Version nutzt YAF die FHEM Konfiguration, LibXML ist nicht mehr notwendig.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strike&amp;gt;&lt;br /&gt;
YAF benötigt (neben anderen Modulen, siehe HOWTO im SVN), das PERL Modul XML::LibXML.&lt;br /&gt;
&lt;br /&gt;
Dies kann einen fast zur Verzweiflung bringen, da das Modul weder mit CPAN noch manuell kompilieren möchte.&lt;br /&gt;
Das Problem ist, das &amp;quot;perl Makefile.PL&amp;quot; sich weigert, den Makefile zu erstellen.&lt;br /&gt;
Die wenig elegante, aber funktionierende Lösung ist, den entsprechenden Code aus der Datei Makefile.PL zu entfernen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
print &amp;quot;Checking for ability to link against xml2...&amp;quot;;&lt;br /&gt;
#if ( _libxml_check_lib(&#039;xml2&#039;) ) {&lt;br /&gt;
#    print &amp;quot;yes\n&amp;quot;;&lt;br /&gt;
#}&lt;br /&gt;
#else {&lt;br /&gt;
#    print &amp;quot;no\n&amp;quot;;&lt;br /&gt;
#    print &amp;quot;Checking for ability to link against libxml2...&amp;quot;;&lt;br /&gt;
#    if ( _libxml_check_lib(&#039;libxml2&#039;)) {&lt;br /&gt;
#        print &amp;quot;yes\n&amp;quot;;&lt;br /&gt;
#    }&lt;br /&gt;
#    else {&lt;br /&gt;
#        print STDERR &amp;lt;&amp;lt;&amp;quot;DEATH&amp;quot;;&lt;br /&gt;
#libxml2, zlib, and/or the Math library (-lm) have not been found.&lt;br /&gt;
#Try setting LIBS and INC values on the command line&lt;br /&gt;
#Or get libxml2 from&lt;br /&gt;
#  http://xmlsoft.org/&lt;br /&gt;
#If you install via RPMs, make sure you also install the -devel&lt;br /&gt;
#RPMs, as this is where the headers (.h files) are.&lt;br /&gt;
#&lt;br /&gt;
#Also, you may try to run perl Makefile.PL with the DEBUG=1 parameter&lt;br /&gt;
#to see the exact reason why the detection of libxml2 installation&lt;br /&gt;
#failed or why Makefile.PL was not able to compile a test program.&lt;br /&gt;
#DEATH&lt;br /&gt;
#        exit 0; # 0 recommended by http://cpantest.grango.org (Notes for CPAN Authors)&lt;br /&gt;
#    }&lt;br /&gt;
#}&lt;br /&gt;
&lt;br /&gt;
# -------------------------------------------------------------------------- #&lt;br /&gt;
# _NOW_ write the Makefile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
danach:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
perl Makefile.PL&lt;br /&gt;
make&lt;br /&gt;
make install&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/strike&amp;gt;&lt;br /&gt;
==Installation mit FHEM Update==&lt;br /&gt;
&amp;lt;pre&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/contrib/YAF/ yaf&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2266</id>
		<title>Neues Charting Frontend</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2266"/>
		<updated>2013-06-27T19:55:01Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
Diese Anleitung beschreibt die Installation und Konfiguration des neuen ExtJS-Frontends, das u.a. eine auf Javascript basierende Chartingfunktion bietet.&lt;br /&gt;
&lt;br /&gt;
[[File:Frontend1.png|200px|right|thumb]]&lt;br /&gt;
[[File:Frontend_current.jpg|200px|right|thumb]]&lt;br /&gt;
[[File:Frontendtable.jpg|200px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Funktionsumfang:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Anzeige von Charts mit mehreren, frei wählbaren Y-Achsen (FHEM Geräte und Readings wählbar)&lt;br /&gt;
* Charts können dynamisch (z.B. heutiger Tag) oder über einen festen Zeitraum angezeigt werden&lt;br /&gt;
* Charts können generalisiert werden, um auch größere Datenmengen im Browser mit akzeptabler Geschwindigkeit darzustellen&lt;br /&gt;
* Charts können mit Statistikfunktionen erstellt werden, z.B. mit Durchschnittswerten für einen gewissen Zeitraum (Average per Hour, Max per day, ...)&lt;br /&gt;
* Charts können Solllinien hinzugefügt werden mit wählbarem Start- und Endwert&lt;br /&gt;
* Chartachsen können selektiv ein- und ausgeschaltet werden durch Klick auf die Legende&lt;br /&gt;
* Charts können eingefärbt werden mit Farbe nach Wahl, zudem ist eine Füllung möglich&lt;br /&gt;
* Charts können gezoomt werden mit Hilfe der Maus durch Aufziehen einer Box direkt im Chart&lt;br /&gt;
* Charts werden bei Bedarf in der Datenbank über DbLog abgespeichert und können im Frontend auch wieder gelöscht werden&lt;br /&gt;
* &amp;quot;Database Tables&amp;quot; ermöglicht die Anzeige des gesamten Datenbankinhalts in einer Tabelle im Browser, egal wie groß diese ist.&lt;br /&gt;
* Anzeige der verfügbaren Geräte über den linken Bereich. Nach Auswahl eines Gerätes erhält man die Übersicht zu den aktuellen Readings.&lt;br /&gt;
&lt;br /&gt;
Die Werte in dieser Ansicht werden automatisch alle 5 Sekunden aktualisiert. Zudem ist die Steuerung von &amp;quot;sets&amp;quot; möglich (on / off Button, Dropdown, etc.)&lt;br /&gt;
&lt;br /&gt;
* FHEM Kommandozeile, die mit Enter-Taste und dem Execute Button bedient werden kann.&lt;br /&gt;
* Save Button, der wie bisher bekannt die Änderungen in der fhem.cfg speichert.&lt;br /&gt;
* Shutdown und Restart Buttons, über die sich FHEM herunterfahren oder neustarten lässt. Bei einem Restart wird die Seite, sobald FHEM wieder hochgefahren ist, automatisch neugeladen&lt;br /&gt;
&lt;br /&gt;
Zwingende Voraussetzung für die Nutzung des Frontends ist eine Datenbank und das Einbinden des Moduls 93_DbLog, da u.a. für das Charting auf die geloggten Daten zugegriffen wird.&lt;br /&gt;
Daher ist eine Installation nur auf Systemen möglich, die die entsprechenden Perl Module mitbringen, bzw. nachinstallieren lassen.&lt;br /&gt;
&lt;br /&gt;
Nach derzeitigem Stand ist die Installation inzwischen sogar neben PCs, Synologys und Raspberrys auch auf Fritzboxen möglich. Dazu bitte auch die Anleitung [[Cpan auf Fritzbox]] beachten.&lt;br /&gt;
&amp;lt;!-- Danke der Hilfe von Jurij ist jetzt auch die Installation von DbLog auf einer Fritzbox mit mips-Archtiketur möglich (z.B. 7390, 7330, ..)&lt;br /&gt;
Eine Anleitung findet sich hier: [http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox] &lt;br /&gt;
.... --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Basisinstallation ===&lt;br /&gt;
&lt;br /&gt;
#FHEM auf den neuesten Stand bringen mit dem Befehl &amp;quot;update&amp;quot;.&lt;br /&gt;
#In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DbLog installieren und konfigurieren ===&lt;br /&gt;
[http://fhem.de/commandref_DE.html#DbLog DbLog] muss, falls noch nicht geschehen, konfiguriert werden. Dazu wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Eine Datenbank sollte installiert sein. MySQL, Postgres, SQLite oder Oracle.&lt;br /&gt;
* Unter Umständen müssen fehlende Perl Module nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
Ob dies nötig ist fällt spätestens auf, wenn im übernächsten Schritt die fhem.cfg angepasst und fhem neu gestartet wurde.&lt;br /&gt;
Dann sollten sich bei Problemen im Log von fhem entsprechnde Hinweise finden.&lt;br /&gt;
Unter Linux installiert man die Module z.B. für SQLite mit &amp;lt;code&amp;gt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;lt;/code&amp;gt;. Alternativ auch direkt über Perl möglich mit cpan ([http://fhem.de/commandref_DE.html#DbLog DbLog commandref]). Auf einer Synology kann der folgende Beitrag helfen: [http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0 DBLog auf Synology]&lt;br /&gt;
&lt;br /&gt;
* Die Datenbank muss nun vorbereitet werden, sprich es müssen zumindest 2 Tabellen erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielscripte findet man z.B. bei [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/ sourceforge].&lt;br /&gt;
Es muss also eine Tabelle &#039;&#039;&#039;history&#039;&#039;&#039; und eine Tabelle &#039;&#039;&#039;current&#039;&#039;&#039; erstellt werden, wie in den Beispiel SQLs zu sehen ist. &lt;br /&gt;
Anschließend muss die Datei db.conf angepasst werden.&lt;br /&gt;
Dort müssen der Datenbankname, der Benutzer und das Passwort für die Datenbank eingetragen werden. Beispiele dazu findet man auch in dem vorigen Link.&lt;br /&gt;
&lt;br /&gt;
* In die fhem.cfg muss eine Zeile eingefügt werden, die definiert, was alles über DbLog gespeichert werden soll.&lt;br /&gt;
&lt;br /&gt;
Diese Zeile kann z.B. so aussehen (loggt alles in die Datenbank):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /etc/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder, für ein konkretes Gerät (Groß/Kleinschreibung beachten!):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define logdb DbLog db.conf ESA2000_LED_011e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* FHEM neu starten und ins FHEM-Log schauen. FHEM sollte hochfahren und auch loggen, dass es zur Datenbank verbunden ist.&lt;br /&gt;
&lt;br /&gt;
Tut es das nicht oder FHEM startet gar nicht, liegt eine Fehlkonfiguration vor. Dann nochmals die vorherigen Schritte prüfen und das Logfile nach dem Problem befragen.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank vorbereiten ===&lt;br /&gt;
Zuletzt muss in der Datenbank eine Tabelle für das Frontend erstellt werden. &lt;br /&gt;
&lt;br /&gt;
Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)&amp;lt;/code&amp;gt;&lt;br /&gt;
Für SQLite3 kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
Für Postgres kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
:&amp;lt;code&amp;gt;CREATE TABLE frontend (ID SERIAL, TIMESTAMP TIMESTAMP (0) DEFAULT LOCALTIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte DbLog nun laufen, kann das Frontend über &amp;lt;code&amp;gt;Adresse_des_Servers:8083/fhem/frontend/index.html&amp;lt;/code&amp;gt; aufgerufen werden, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.100:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Sollte DbLog noch nicht entsprechend konfiguriert sein, so bekommt man hier entsprechendes Feedback.&lt;br /&gt;
Ansonsten ist das Frontend nun einsatzbereit. Für eine Bedienungsanleitung siehe im unteren Abschnitt &amp;quot;Bedienung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Das Frontend Updaten ==&lt;br /&gt;
In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bedienung ==&lt;br /&gt;
Ziel des Frontends ist eine möglichst selbsterklärende Bedienung. Fragen und Probleme können jederzeit im Forum, am besten in [http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0 diesem Beitrag] gestellt werden. &lt;br /&gt;
Eine Anleitung folgt, sobald ich mehr Zeit dazu finde...&lt;br /&gt;
&lt;br /&gt;
== Installation auf einem Raspberry Pi (Anleitung von &amp;quot;Puschel&amp;quot;) ==&lt;br /&gt;
===Hardwarevoraussetzungen===&lt;br /&gt;
*RasPi Model B&lt;br /&gt;
*Funktionierende Internetanbindung&lt;br /&gt;
===Softwarevoraussetzungen===&lt;br /&gt;
*Deutsches Tastaturlayout (j für Ja)&lt;br /&gt;
*Funktionsfähige FHEM-Installation auf RPi Wheezy, welche mittels update auf den letzten Stand gebracht wurde (siehe auch: [[:Kategorie:Raspberry_Pi Raspberry Pi]])&lt;br /&gt;
*Das Frontend wurde installiert mittels&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://svn.code.sf.net/p/fhem/code/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
*Zugriff auf den RPi mittels Putty ist gegeben.&lt;br /&gt;
*Zugriffsberechtigungen der Ordner sind auch gegeben (Schreiben in /opt/fhem)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Befehl&amp;amp;gt; = diese Zeile wird am Putty-Prompt eingegeben (ohne &amp;amp;lt;&amp;amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;IP_des_RPi&amp;amp;gt; = IP-Adresse über der der RPi erreichbar ist&lt;br /&gt;
&lt;br /&gt;
Was wird gemacht?&lt;br /&gt;
&lt;br /&gt;
Wir werden das neue Chart-Frontend mittels SQLite3 und allen benötigten Bibliotheken auf dem RPi einrichten.&lt;br /&gt;
&lt;br /&gt;
Dann fangen wir mal an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; 1. Wir verbinden uns per Putty mit unserem RPi und loggen uns ein.&lt;br /&gt;
 2. Um uns das ständige sudo zu ersparen geben wir als erstes ein &amp;amp;lt;sudo bash&amp;amp;gt; ein.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und nun geht es los.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; 3. &amp;amp;lt;apt-get update&amp;amp;gt;&lt;br /&gt;
 4. &amp;amp;lt;apt-get upgrade&amp;amp;gt; und die Nachfrage mit „j“ beantworten&lt;br /&gt;
 5. &amp;amp;lt;apt-get install sqlite3&amp;amp;gt;&lt;br /&gt;
 6. &amp;amp;lt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;amp;gt;&lt;br /&gt;
 7. &amp;amp;lt;apt-get install –f&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Was haben wir bis hierher gemacht?&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; Wir haben die Pakete für unsren RPi neu eingelesen.&lt;br /&gt;
 Wir haben unsere RPi-Paketinstallation auf den neuesten Stand gebracht.&lt;br /&gt;
 Wir haben sqlite3 installiert.&lt;br /&gt;
 Wir haben die benötigten Bibliotheken installiert.&lt;br /&gt;
 Wir haben alle Abhängigkeiten aufgelöst und fehlende Pakete nachinstallieren lassen.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun bereiten wir unsere Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
In Putty geben wir als erstes ein &amp;amp;lt;cd /opt/fhem&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Dateien in diesem Ordner erstellt – wer will kann das natürlich anpassen.&lt;br /&gt;
&lt;br /&gt;
Anschliessend geben wir am Putty-Promt &amp;amp;lt;sqlite3 fhem.db&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir unsere Datenbank angelegt und diese fhem.db genannt. Nun zeigt unsere Prompt in Putty sqlite3&amp;amp;gt; an. Wir befinden uns also in unserer Datenbank.&lt;br /&gt;
&lt;br /&gt;
In dieser Datenbank werden wir noch 2 TABLES anlegen – einmal current und einmal history. Dies könnt ihr einfach per copy&amp;amp;amp;paste übernehmen.&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;CREATE TABLE `history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;CREATE TABLE `current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Und noch eine für das Frontend:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
Nun können wir&lt;br /&gt;
* mit &amp;lt;code&amp;gt;&amp;amp;lt;.tables&amp;amp;gt;&amp;lt;/code&amp;gt; schauen, ob 3 Einträge auftauchen (current, history, frontend)&lt;br /&gt;
* mit &amp;lt;code&amp;gt;&amp;amp;lt;.exit&amp;amp;gt;&amp;lt;/code&amp;gt; verlassen wir SQLite3 und kehren wieder auf unseren Putty-Prompt zurück.&lt;br /&gt;
&lt;br /&gt;
Bevor wir nun in fhem DBLog definieren, müssen wir erst unsere db.conf anlegen. Dies geschieht mittels &amp;lt;code&amp;gt;&amp;amp;lt;nano db.conf&amp;amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Gefüllt wird diese Konfigurationsdatei mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &amp;amp;#160;%dbconfig= (&lt;br /&gt;
 connection =&amp;amp;gt; &amp;quot;SQLite:dbname=/opt/fhem/fhem.db&amp;quot;,&lt;br /&gt;
 user =&amp;amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
 password =&amp;amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;
 );&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Mit STRG+X und „j“ abspeichern und nano wieder verlassen.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /opt/fhem sollten nun also zusätzlich die Dateien db.conf und fhem.db liegen.&lt;br /&gt;
&lt;br /&gt;
Ist das der Fall und die fhem.db hat die benötigten Rechte, können wir in fhem unser DBLog definieren. Ich habe der Einfachheit halber der Gruppe und jedem Benutzer Schreibzugriff gewährt.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt; &amp;amp;lt;chmod –R g+w fhem.db&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;chmod –R o+w fhem.db&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in der Putty-Eingabe, da fhem gemeckert hat, dass es nicht in die Datei schreiben kann.&lt;br /&gt;
&lt;br /&gt;
Nun also noch unser&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /opt/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in fhem eingetragen und ab hier wird nun ALLES in die Datenbank geschrieben.&lt;br /&gt;
&lt;br /&gt;
Nun können wir in unserem Browser (getestet mit Firefox 19.0.2) auf unser Frontend zugreifen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://&amp;amp;lt;IP-des_RPi&amp;amp;gt;:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Achtung! Nicht erschrecken, wenn beim ersten Zugriff nur eine leere Seite erscheint. Einfach den Browser aktualisieren und am neuen Frontend erfreuen.&lt;br /&gt;
&lt;br /&gt;
Getestet: 26.03.2013&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
*[http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0 Forumsdiskussion über dieses Frontend]; bei Problemen, Fragen oder Wünschen am besten dort eine Frage oder Nachricht hinterlassen.&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=MAX&amp;diff=2209</id>
		<title>MAX</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=MAX&amp;diff=2209"/>
		<updated>2013-06-20T17:14:07Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MAX! Heizungssteuerung&lt;br /&gt;
== Features ==&lt;br /&gt;
* Bidirektionale Kommuniktion (jeder Befehl wird mit ACK quittiert)&lt;br /&gt;
* Heizkörperthermostate übertragen auch die gemessene Temperatur&lt;br /&gt;
== FHEM Module ==&lt;br /&gt;
Die MAX Komponenten können über den MAX!Cube per Modul 00_MAXLAN,&lt;br /&gt;
oder über einen [[CUNO]] per 14_CUL_MAX gesteuert werden.&lt;br /&gt;
In beiden Fällen werden die einzelnen MAX! Geräte vom Modul 10_MAX&lt;br /&gt;
bereitgestellt.&lt;br /&gt;
&lt;br /&gt;
Nachteil vom Cube ist, dass man ein Polling machen muss, um zu sehen ob sich der Status eines Gerätes geändert hat. Z.B.&lt;br /&gt;
checkt man das alle 30 Sekunden. Dann sieht man aber auch Änderungen möglicherweise erst nach 30 Sekunden.&lt;br /&gt;
Beim CUL sieht man die Funknachrichten direkt.&lt;br /&gt;
Es wird aber auch ein Kombimodus unterstützt, in welchem man alles über den MAXLAN steuert,&lt;br /&gt;
der CUL_MAX aber für zeitnahe Benachrichtigungen sorgt.&lt;br /&gt;
&lt;br /&gt;
== Komponenten ==&lt;br /&gt;
=== Limit ===&lt;br /&gt;
* Auf 8 Thermostate pro Raum beschränkt&lt;br /&gt;
* Limit mit Cube liegt bei ca. 140 Geräten. Durch die 1% Regelung dürften es aber weniger sein&lt;br /&gt;
=== Heizkörperthermostate ===&lt;br /&gt;
Unterstützt wird das Einstellen von&lt;br /&gt;
&lt;br /&gt;
* desiredTemperature = auto (Wochenprogramm), manuell (4.5 - 30.5), eco, comfort, boost, until&lt;br /&gt;
** (Besonderheit der Werte: 4.5 = Off und 30.5 = On)&lt;br /&gt;
* ecoTemperature, comfortTemperature, measurementOffset, maximumTemperature, minimumTemperature, windowOpenTemperature, windowOpenDuration&lt;br /&gt;
&lt;br /&gt;
und das Auslesen&lt;br /&gt;
&lt;br /&gt;
* der gemessenen Temperatur. (Hinweis: Wird bei Verwendung des MAX CUBE nicht regelmäßig aktualisiert)&lt;br /&gt;
=== Fensterkontakte ===&lt;br /&gt;
Der aktuelle Status (offen/geschlossen) wird (praktisch ohne Verzögerung) angezeigt.&lt;br /&gt;
Falls wir nicht mit Ack antworten, wird er mehrmals wiederholt.&lt;br /&gt;
&lt;br /&gt;
Die Fensterkontakte können zusätzlich direkt an mehrere Heizkörperthermostate angelernt werden,&lt;br /&gt;
und versetzen diese dann automatisch in windowOpenTemperature während sie geöffnet sind.&lt;br /&gt;
&lt;br /&gt;
Wenn der Fensterkontakt an mindestens ein Heizkörperthermostat angelernt ist, dann sendet er zusätzlich stündlich seinen aktuellen Zustand.&lt;br /&gt;
&lt;br /&gt;
=== Wandthermostate ===&lt;br /&gt;
Unterstützt wird das Einstellen von&lt;br /&gt;
&lt;br /&gt;
* desiredTemperature (siehe Heizkörperthermostate), ecoTemperature, comfortTemperature&lt;br /&gt;
&lt;br /&gt;
und das Auslesen&lt;br /&gt;
&lt;br /&gt;
* der gemessenen Temperatur.&lt;br /&gt;
=== Eco-Schalter ===&lt;br /&gt;
&#039;&#039;&#039;Achtung&#039;&#039;&#039;: Zumindest über MAXLAN lässt sich der Zustand weder auslesen, noch wird&lt;br /&gt;
man über Veränderungen informiert.&lt;br /&gt;
Per CUL_MAX ist das wahrscheinlich implementierbar.&lt;br /&gt;
&lt;br /&gt;
== Anlernen per CUL ==&lt;br /&gt;
Das Anlernen funktioniert nur mit zurückgesetzen (Werksreset, also entweder alle 3 Tasten am Heizkörperthermostate betätigen, Batterien einlegen, Anzeige rES; oder in FHEM set factoryReset) Heizkörperthermostaten. Bereits an einen Cube angelernte Heizungsregler können NICHT an ein CUL angemeldet werden, hier ist dann nur das &amp;quot;mitlesen&amp;quot; der Funkbotschaften möglich.&lt;br /&gt;
Info: Durch den Reset geht auch ein evtl. per Cube eingestelltes Automatikprogramm verloren.&lt;br /&gt;
&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Siehe [http://fhem.de/commandref.html#CUL_MAX CUL_MAX].&lt;br /&gt;
&lt;br /&gt;
Die Module sind so konzipiert, dass man die offizielle Max! Software nicht benutzen muss. Man kann alles aus FHEM heraus machen.&lt;br /&gt;
Nachdem das MAXLAN oder CUL_MAX Modul konfiguriert wurden (siehe unten), werden bereits gepairte Geräte automatisch erkannt.&lt;br /&gt;
&lt;br /&gt;
=== MAXLAN ===&lt;br /&gt;
Minimale Konfiguration:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define ml MAXLAN 192.168.178.2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
wobei 192.168.178.2 die IP des MAX! Cube ist. Das MAXLAN-Modul findet selbstständig bereits gepairte Geräte und trägt diese in die Konfigurationsdatei fhem.cfg ein. Diese können dann im WEB-Interface mittels „alias“ einen eindeutigen Namen bekommen.&lt;br /&gt;
&lt;br /&gt;
=== CUL_MAX ===&lt;br /&gt;
Minimale Konfiguration:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define CUL0 CUL /dev/ttyACM0@9600 0000&lt;br /&gt;
 attr CUL0 rfmode MAX&lt;br /&gt;
 define cm CUL_MAX 123456&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=== Anlernen ===&lt;br /&gt;
Dazu muss der &amp;quot;pairmode&amp;quot; auf MAXLAN/CUL_MAX per &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set cm/ml pairmode&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder über das Web-Interface aktiviert werden. Falls kein Parameter angegeben wird, ist er&lt;br /&gt;
standardmäßig für 60 Sekunden aktiviert. In dieser Zeit können MAX! Geräte nach deren Anleitung&lt;br /&gt;
in den Anlernmodus versetzt werden, um sie mit FHEM zu pairen.&lt;br /&gt;
&lt;br /&gt;
=== Geräte untereinander anlernen ===&lt;br /&gt;
Es gibt einen anderen Befehl, um Devices untereinander anzulernen (in neueren Versionen des MAX Moduls enthalten, heißt &amp;quot;associate&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Wenn ich z.B.&lt;br /&gt;
set MAXFensterKontakt0 associate MaxHeizkörperthermostat3&lt;br /&gt;
ausführe, dann&lt;br /&gt;
sendet der MAXFensterKontakt0 jede Änderung zusätzlich (direkt über Funk, ohne Cube oder FHEM)&lt;br /&gt;
an das MaxHeizkörperthermostat3.&lt;br /&gt;
&lt;br /&gt;
Damit MaxHeizkörperthermostat3 auch auf die Nachrichten vom MAXFensterKontakt0 hört, muss noch ein&lt;br /&gt;
set MaxHeizkörperthermostat3 associate MAXFensterKontakt0&lt;br /&gt;
erfolgen.&lt;br /&gt;
&lt;br /&gt;
Dann wechselt MaxHeizkörperthermostat3 immer dann auf die windowOpenTemperature, wenn der MAXFensterKontakt0 offen ist.&lt;br /&gt;
Dabei muss die groupId von beiden Geräte gar nicht gleich sein! (Die Semantik der groupId erschließt sich mir deshalb noch nicht ganz.&lt;br /&gt;
Ich glaube, man kann damit Befehle (ala set desiredTemperature) an mehrere Thermostate gleichzeitig richten. Im Moment sendet FHEM einfach an jedes Thermostat einen Befehl.)&lt;br /&gt;
&lt;br /&gt;
Wahrscheinlich funktioniert associate genauso zwischen Heizkörper/Wandthermostaten. Das müsste mal eine ausprobieren und dann hier berichten.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Temperatursturzerkennung ===&lt;br /&gt;
Die Heizkörperthermostate verfügen über eine interne &amp;quot;Fenster-offen Erkennung&amp;quot; (Temperatursturzerkennung). Wird diese ausgelöst regeln sie für die Zeit die unter &amp;quot;windowOpenDuration&amp;quot; festgelegt wurde auf die als &amp;quot;windowOpenTemperature&amp;quot; festgelegt Temperatur herunter und danch wieder auf die zuvor eingestellte Temperatur zurück.&lt;br /&gt;
Nachteil: Die Erkennung benötigt etwas Zeit und reagiert nicht sofort wie es beim Fensterkontakt oben der Fall ist&lt;br /&gt;
Vorteil: Es ist kein Fensterkontakt erforderlich&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Wichtig:&#039;&#039;&#039;Setzt man die windowOpenTemperature auf &amp;quot;Off&amp;quot; (= 4.5 Grad), dann ist die Fenster-offen-Funktion abgeschaltet. Und auch wenn die desiredTemperature gerade auf &amp;quot;On&amp;quot; (= 30.5 Grad&amp;quot;) steht, geht der Heizkörper nicht in die Fenster-offen-Funktion.&lt;br /&gt;
&lt;br /&gt;
=== Externer Sensor für Fenster-offen-Erkennung ===&lt;br /&gt;
Ziel dieses Abschnittes ist es, einen externen Sensor (z.B. 1-Wire o.ä.) zu benutzen, um die MAX Heizkörperthermostate in und aus dem Fenster-offen Modus zu holen.&lt;br /&gt;
Dazu sei bereits ein CUL, ein CUL_MAX und ein MAX Heizkörper definiert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define CUL0 CUL /dev/ttyACM0@9600 0000&lt;br /&gt;
 define cm CUL_MAX 123456&lt;br /&gt;
 define Heizung MAX HeatingThermostat abcdef&lt;br /&gt;
 attr Heizung IODev cm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Wir müssen einmalig den internen Fake-Fensterkontakt mit dem Heizkörper assozieren&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set Heizung associate fakeShutterContact&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
damit dieser die Nachrichten vom Fensterkontakt akzeptiert.&lt;br /&gt;
&lt;br /&gt;
Nun können wir per &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set cm fakeSC Heizung 1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
die Nachricht &amp;quot;Fenster offen&amp;quot; an die Heizung senden und per&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set cm fakeSC Heizung 0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
die Nachricht &amp;quot;Fenster zu&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Externer Temperatursensor für Heizkörperregelung ===&lt;br /&gt;
Ziel dieses Abschnittes ist es, einen externen Sensor (z.B. 1-Wire o.ä.) zu benutzen, um die MAX Heizkörperthermostate zu regeln.&lt;br /&gt;
Dazu sei bereits ein CUL, ein CUL_MAX und ein MAX Heizkörper definiert:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define CUL0 CUL /dev/ttyACM0@9600 0000&lt;br /&gt;
 define cm CUL_MAX 123456&lt;br /&gt;
 define Heizung MAX HeatingThermostat abcdef&lt;br /&gt;
 attr Heizung IODev cm&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Wir müssen einmalig das interne Fake-Wandthermostat mit dem Heizkörper assozieren: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set Heizung associate fakeWallThermostat&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
damit dieser die Nachrichten vom Wandthermostat akzeptiert. Achtung: Dies schaltet im&lt;br /&gt;
Heizkörperthermostat die Regelung mit dem internen Temperaturfühler aus. Ohne die gleich kommenden &amp;quot;fakeWT&amp;quot; Nachrichten wird das Heizkörperthermostat nicht mehr regeln.&lt;br /&gt;
&lt;br /&gt;
Nun können wir per &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set cm fakeWT Heizung 14.5 12.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
die desiredTemperature 14.5 und gemessene Temperatur 12.1 an die Heizung senden.&lt;br /&gt;
Diese wird dann die Ventile öffnen, bis wir ein &amp;quot;fakeWT&amp;quot; absetzten, dessen gemessene Temperatur&lt;br /&gt;
höher als die desiredTemperature ist.&lt;br /&gt;
&lt;br /&gt;
Falls man zu lange Zeit (ca. 30 Minuten) kein neues &amp;quot;fakeWT&amp;quot; sendet, wird bei Heizung das Attribut rferror gleich 1. Es ist nicht klar, ob das neben diesem Attribute auch Auswirkung auf die Funktionalität hat. Es wurde beobachtet, das dann der interne Temperatursensor bis zum nächsten FakeWT aktiviert wird.&lt;br /&gt;
&lt;br /&gt;
Beispiel eines automatischen Sendens einer externen Temperatur, der externe Temperatursensor heißt &amp;quot;WS300&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define SendExtTemp notify WS300:temperature.* {&lt;br /&gt;
 MaxFakeWallThermostat(&amp;quot;Heizung&amp;quot;,&amp;amp;#160;%EVTPART1);&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Dazu die Funktion, bitte in 99_MyUtils.pm eintragen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;sub MaxFakeWallThermostat($$)&lt;br /&gt;
{&lt;br /&gt;
 my ($heizung, $aktTemp)    = @_;&lt;br /&gt;
 my $CULMAX     = $defs{$heizung}{LASTInputDev};&lt;br /&gt;
 my $desiredTemp   = ReadingsVal($heizung, &amp;quot;desiredTemperature&amp;quot;, undef);&lt;br /&gt;
 my $windowOpenTemp = ReadingsVal($heizung, &amp;quot;windowOpenTemperature&amp;quot;, undef);&lt;br /&gt;
 my $lastTemp    = ReadingsVal($heizung, &amp;quot;LastExtTemperature&amp;quot;, 0);&lt;br /&gt;
 my $lastSet     = ReadingsTimestamp($heizung, &amp;quot;LastExtTemperature&amp;quot;, 0);&lt;br /&gt;
 if($desiredTemp &amp;amp;amp;&amp;amp;amp; $windowOpenTemp &amp;amp;amp;&amp;amp;amp;&lt;br /&gt;
 $desiredTemp&amp;amp;#160;!= $windowOpenTemp &amp;amp;amp;&amp;amp;amp; &lt;br /&gt;
 (time()-time_str2num($lastSet) &amp;amp;gt;= 600 || abs($aktTemp-$lastTemp)&amp;amp;gt;=0.2 )) {&lt;br /&gt;
  Log 3, &amp;quot;set $CULMAX fakeWT $heizung $desiredTemp $aktTemp&amp;quot;;&lt;br /&gt;
  readingsSingleUpdate($defs{$heizung}, &amp;quot;LastExtTemperature&amp;quot;, $aktTemp, 0);&lt;br /&gt;
  fhem(&amp;quot;set $CULMAX fakeWT $heizung $desiredTemp $aktTemp&amp;quot;);&lt;br /&gt;
 }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
In diesem Beispiel heißt das zu steuernde Thermostat &amp;quot;Heizung&amp;quot;. Die vom externen Sensor gemessene Temperatur wird nur unter den folgenden Voraussetzungen gesendet:&lt;br /&gt;
- Das Thermostat befindet sich nicht im &amp;quot;Fenster-offen&amp;quot; Modus, und&lt;br /&gt;
- das letzte Senden liegt mindestens 10min zurück&lt;br /&gt;
- oder die gemessene Temperatur weicht um mindestens 0.2°C von der letzten gesendeten Temperatur ab&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Wochenheizplan für Wandthermostat erstellen ===&lt;br /&gt;
Ein Heizplan, den der Wandthermostat versteht und speichern kann, sieht folgendermaßen aus:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set WZ_Wandthermostat weekProfile &lt;br /&gt;
 Mon 17,17:30,20,23:00,17 &lt;br /&gt;
 Tue 17,17:30,20,23:00,17&lt;br /&gt;
 Wed 17,17:30,20,23:00,17&lt;br /&gt;
 Thu 17,17:30,20,23:00,17&lt;br /&gt;
 Fri 17,15:00,20,23:00,17&lt;br /&gt;
 Sat 17,11:00,20,23:00,17&lt;br /&gt;
 Sun 17,11:00,20,23:00,17&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Genauer erläutert wird die Funktionsweise auch unter [http://fhem.de/commandref.html#MAX http://fhem.de/commandref.html#MAX]. &lt;br /&gt;
Der gesamte Block kann kopiert und als FHEM Befehl abgesetzt werden. Unter Umständen benötigt das Speichern, bzw Übertragen wegen der Größe etwas Zeit, bevor die aktuellen, neu gesetzten Werte wieder ausgelesen werden können.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Werte Plotten ===&lt;br /&gt;
In den Log-Dateien wird regelmäßig der Batteriestatus, die Soll-Temperatur, die Ventilstellung und die Ist-Temperatur (Vorsicht wird nicht zuverlässig, möglicherweise nur bei einer Änderung der Ventilstellung übertragen.)&lt;br /&gt;
&lt;br /&gt;
Inhalt der LOG-Datei eines Heizkörperthermostates:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;2012-12-30_08:55:31 MAX_018d3f battery: ok&lt;br /&gt;
2012-12-30_08:55:31 MAX_018d3f desiredTemperature: 19.5&lt;br /&gt;
2012-12-30_08:55:31 MAX_018d3f valveposition: 83&lt;br /&gt;
2012-12-30_08:55:31 MAX_018d3f temperature: 16.4&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Plot_MAX_Beispiel.png|thumb|left|Plot eines MAX Heizkörperthermostates]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Mit folgender Plot-Datei (max_temp.gplot) kann der Verlauf der Sensordaten gut angezeigt werden. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;set terminal png transparent size &amp;amp;lt;SIZE&amp;amp;gt; crop&lt;br /&gt;
set output &#039;&amp;amp;lt;OUT&amp;amp;gt;.png&#039;&lt;br /&gt;
set xdata time&lt;br /&gt;
set timefmt &amp;quot;%Y-%m-%d_%H:%M:%S&amp;quot;&lt;br /&gt;
set xlabel &amp;quot; &amp;quot;&lt;br /&gt;
set y2tics&lt;br /&gt;
set title &#039;&amp;amp;lt;L1&amp;amp;gt;&#039;&lt;br /&gt;
set grid xtics y2tics&lt;br /&gt;
set y2label &amp;quot;Temperatur in Grad Celsius&amp;quot;&lt;br /&gt;
set ylabel &amp;quot;Signal in&amp;amp;#160;%&amp;quot;&lt;br /&gt;
#FileLog 4:desiredTemperature:0:&lt;br /&gt;
#FileLog 4:temperature:0:&lt;br /&gt;
#FileLog 4:valveposition:0:&lt;br /&gt;
plot \&lt;br /&gt;
&amp;quot;&amp;amp;lt; egrep &#039;desiredTemperature&#039; &amp;amp;lt;IN&amp;amp;gt;&amp;quot;\&lt;br /&gt;
  using 1:4 axes x1y2 title &#039;Soll-Temperatur (C)&#039; with lines lw 2 \&lt;br /&gt;
&amp;quot;&amp;amp;lt; egrep &#039;temperature&#039; &amp;amp;lt;IN&amp;amp;gt;&amp;quot;\&lt;br /&gt;
  using 1:4 axes x1y2 title &#039;Ist-Temperatur(ungenau)(C)&#039; with lines lw 2 \&lt;br /&gt;
&amp;quot;&amp;amp;lt; egrep &#039;valveposition&#039; &amp;amp;lt;IN&amp;amp;gt;&amp;quot;\&lt;br /&gt;
  using 1:4 axes x1y1 title &#039;Ventil (%)&#039; with lines lw 2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Einbinden eines Plots in der fhem.cgf&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#Werte plotten&lt;br /&gt;
define MAX_017840_weblink weblink fileplot FileLog_MAX_017840:max_temp:CURRENT&lt;br /&gt;
attr MAX_017840_weblink label &amp;quot;Kueche Soll-Temperatur Min $data{min1}, Max $data{max1}, Last $data{currval1}&amp;quot;&lt;br /&gt;
attr MAX_017840_weblink room MAX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
=== Nützliche kleine Erweiterungen ===&lt;br /&gt;
&#039;&#039;&#039;Einen Alias-Namen vergeben für eine bessere Lesbarkeit im Webinterface&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr MAX_018d3f alias Kueche&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Die Anzeigen für die einzelnen File-Logs füllen das Webinterface schnell und machen es unübersichtlich. Die File-Logs können einfach in einen separaten Raum verband werden.&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr FileLog_MAX_018d3f room LOG&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Einstellmöglichkeit für die Soll-Temperatur direkt in der „Raum-Seite“ schaffen.&#039;&#039;&#039;Die Temperatur wird dauerhaft auf einen bestimmten Wert gestellt. Das Wochenprogramm in dem Thermostat wird deaktiviert.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;attr MAX_018d3f webCmd desiredTemperature&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Soll-Temperatur setzen ohne das automasche Programm des Thermostates abzuschalten.&#039;&#039;&#039;&lt;br /&gt;
Es besteht die Möglichkeit eine Soll-Temperatur bis zum nächsten Schaltzeitpunkt zu setzen. Zum Beispiel kann das automatische Wochenprogramm in den Thermostaten dazu genutzt werden nur abends die Soll-Temperatur zu senken. So läuft die Heizung nachts nicht voll durch. Wenn jedoch die Temperatur im Web-Interface von Fhem verändert wird, wird auch der Thermostat auf manuell gesetzt. So greift das Wochenprogramm nicht mehr. Abhilfe schafft der Befehl: &amp;quot;set MAX_04711 desiredTemperature auto 20&amp;quot;. Damit die Eingabe komfortabel aus Fhem möglich ist, kann ein Dummy-Device erstellt werden:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;#Dummy für die Schnell-Einstellung der Temperatur bis zum nächsten automatischen Schaltzeitpunkt&lt;br /&gt;
 define HeizkoerperBad dummy&lt;br /&gt;
 attr HeizkoerperBad room MAX,Heizungen&lt;br /&gt;
 attr HeizkoerperBad setList state:eco,auto,14.0,16.0,17.0,18.0,19.0,20.0,21.0,22.0,23.0&lt;br /&gt;
 attr HeizkoerperBad webCmd state&lt;br /&gt;
 define HeizkoerperBad.ntfy notify HeizkoerperBad.* {\&lt;br /&gt;
  my $valtemp = &amp;quot;%&amp;quot;;;\&lt;br /&gt;
  my $device = &amp;quot;MAX_04711&amp;quot;;;\&lt;br /&gt;
  my $cmd = &#039;set &#039;.$device.&#039; desiredTemperature auto &#039;.$valtemp;;\&lt;br /&gt;
  fhem($cmd);;\&lt;br /&gt;
 }&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Diese Dummy-Device kann alternativ oder ergänzend zu &amp;quot;attr MAX_018d3f webCmd desiredTemperature&amp;quot; verwendet werden.&lt;br /&gt;
&lt;br /&gt;
= Internals =&lt;br /&gt;
== IST-Temperaturwerte ==&lt;br /&gt;
[[File:Plot_MAX_Beispiel.png|thumb|left|Plot eines MAX Heizkörperthermostates]]&lt;br /&gt;
Diese Abbildung zeigt, dass die IST-Temperatur nicht regelmäßig dem MAX CUBE mitgeteilt wird. Im Automatikbetrieb wird beim einer Änderung der Ventilstellung die neue Ventilstellung zusammen mit der aktuellen IST-Temperatur gesendet. Bei der Abbildung war die Therme in der Nacht ausgeschaltet. Daraufhin sinkte die Temperatur soweit ab, dass das Heizungsthermostat das Ventil in Maximalstellung geöffnet hat. Gegen 08:50 wurde die Therme eingeschaltet und die Soll-Temperatur an diesem Heizungsthermostat erhöht. Während dieser ganzen Zeit erfolgt keine Aktualisierung der Ist-Temperatur. So kommt es auch gegen 10:30 zu einem sprunghaften Temperaturanstieg von 13,5°C auf 19°C (siehe Markierung *A).&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Die IST-Temperatur wird scheinbar aktualisiert bei einer Änderung der:&lt;br /&gt;
&lt;br /&gt;
* Ventilstellung&lt;br /&gt;
* Soll-Temperatur&lt;br /&gt;
== MAXLAN ==&lt;br /&gt;
== CUL_MAX ==&lt;br /&gt;
The Max devices use a CC1100 chip. For parameters see rf_moritz.c in culfw.&lt;br /&gt;
The thermostats use a Wake-On-Radio, thus one has to send packets at the right time.&lt;br /&gt;
&lt;br /&gt;
CC1100 initialization sequence on one of the max devices (not Cube) (format: addr value, both in hex):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;00 08&lt;br /&gt;
 02 46&lt;br /&gt;
 04 C6&lt;br /&gt;
 05 26&lt;br /&gt;
 0B 06&lt;br /&gt;
 10 C8 //MDMCFG4 DRATE_E=8&lt;br /&gt;
 11 93 //MDMCFG3 DRATE_M=147, data rate = (256+DRATE_M)*2^DRATE_E/2^28*f_xosc = (9992.599) 1kbit/s (at f_xosc=26 Mhz)&lt;br /&gt;
 12 03&lt;br /&gt;
 15 34&lt;br /&gt;
 17 00&lt;br /&gt;
 18 18&lt;br /&gt;
 19 16&lt;br /&gt;
 1B 43&lt;br /&gt;
 21 56&lt;br /&gt;
 25 00&lt;br /&gt;
 26 11&lt;br /&gt;
 0D 21&lt;br /&gt;
 0E 65&lt;br /&gt;
 0F 6A&lt;br /&gt;
 07 4C //PKTCTRL1: ADR_CHK=0 APPEND_STATUS=1 CRC_AUTOFLUSH=1 PQT=2 (preamble must have 8 toggling bits before sync word detection)&lt;br /&gt;
 16 1C //RXTIME=4&lt;br /&gt;
     RX_TIME_QUAL=1 (when rx timeout expires, keep receiving if either sync word is found or PQI is set (see PQT))&lt;br /&gt;
     RX_TIME_RSSI=1 (terminate RX if there is no carrier sense within the first 8 symbol periods)&lt;br /&gt;
 20 78 //WORCTRL, WOR_RES=00 (1.8-1.9 sec), RC_CAL=1, EVENT1=7 (48 ticks), RC_PD=0&lt;br /&gt;
 1E 87 //WOREVT1&lt;br /&gt;
 1F 6B //WOREVT0, i.e. EVENT0 = 34667&lt;br /&gt;
 29 59&lt;br /&gt;
 2C 81&lt;br /&gt;
 2D 35&lt;br /&gt;
 3E C3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Not set, i.e. factory defaults:&lt;br /&gt;
 13 MDMCFG1 NUM_PREAMBLE=2 (4 preamble bytes)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
From the configuration, we see that the&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;RC Oscillator: f_xosc/750 = 34666.66 Hz&lt;br /&gt;
 Event1 = Event1(=48 ticks)/RC Oscillator = 1.385 ms&lt;br /&gt;
 t_Event0 = 750/26Mhz * EVENT0 * 2^(5*WOR_RES) = 1.00 second&lt;br /&gt;
 C(RX_TIME, WOR_RES)= 0.2254&lt;br /&gt;
 rx timeout = EVENT0·C(RX_TIME, WOR_RES) ·26/X(=26) = 34667*0.2254 us = 7.8139 ms&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ShutterContact seems to always sleep. Thus it is necessary to trigger it manually (by opening/closing the window) to make it receive messages. Pushing the button may work to. It is also awake just after&lt;br /&gt;
pairing, so one may send messages right then. One can use the WakeUp message to keep it from sleeping for some time. (This is also the reason why in the official MAX software, one must trigger the ShutterContact&lt;br /&gt;
after removing it from the house. The &amp;quot;factoryReset&amp;quot; packet is sent directly after the &amp;quot;ShutterContactState&amp;quot; packet has been acked.)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Probleme und Lösungen =&lt;br /&gt;
== Der Wandthermostat oder Heizthermostat reagieren nicht auf Änderungen über FHEM ==&lt;br /&gt;
Das Autocreate von FHEM erkennt, wenn aktiviert, die Geräte initial und legt auch Einträge an. Es fehlt aber noch das Pairing, da sonst keine Steuerung möglich ist!&lt;br /&gt;
Wenn im Log also Meldungen wie&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;2013.03.20 15:12:30 5: CUL_MAX_SendQueueHandler: 1 items in queue&lt;br /&gt;
 2013.03.20 15:12:30 5: CUL_MAX_SendQueueHandler: 1 items in queue&lt;br /&gt;
 2013.03.20 15:12:30 2: CUL_MAX_SendQueueHandler: Missing ack from 01c9bb for 0b05008212345601c9bb0000&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
auftauchen (im Verbose Modus 5), dann wurde vermutlich kein oder ein inkorrektes Paring durchgeführt.&lt;br /&gt;
Nach dem Pairing sollten diese Meldungen verschwinden und stattdessen etwas wie&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;2013.03.20 15:21:43 5: Got matching ack&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
auftauchen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Hardware]]&lt;br /&gt;
[[Kategorie:Kontaktsensor (magnetisch)]]&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:MAX]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2163</id>
		<title>Neues Charting Frontend</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2163"/>
		<updated>2013-06-17T14:04:37Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Anleitung beschreibt die Installation und Konfiguration des neuen ExtJS-Frontends, dass u.a. eine javascriptbasierte Chartingfunktion bietet.&lt;br /&gt;
&lt;br /&gt;
[[File:Frontend1.png|200px|right|thumb]]&lt;br /&gt;
[[File:Frontend_current.jpg|200px|right|thumb]]&lt;br /&gt;
[[File:Frontendtable.jpg|200px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
Im Forum gibt es einen Beitrag, in dem über die Entwicklung diskutiert wird:&lt;br /&gt;
[http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0 http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0]&lt;br /&gt;
Bei Problemen, Fragen oder Wünschen am besten dort eine Nachricht hinterlassen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Funktionsumfang:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zur Zeit hat das Frontend folgende Funktionen:&lt;br /&gt;
&lt;br /&gt;
* Anzeige von Charts mit mehreren, frei wählbaren Y-Achsen (FHEM Geräte und Readings wählbar)&lt;br /&gt;
* Charts können dynamisch (z.B. heutiger Tag) oder über einen festen Zeitraum angezeigt werden&lt;br /&gt;
* Charts können generalisiert werden, um auch größere Datenmengen im Browser mit akzeptabler Geschwindigkeit darzustellen&lt;br /&gt;
* Charts können mit Statistikfunktionen erstellt werden, z.B. mit Durchsnittswerten für eine gewissen Zeit (Average per Hour, Max per day, ...)&lt;br /&gt;
* Charts können Solllinien hinzugefügt werden mit wählbarem Start- und Endwert&lt;br /&gt;
* Chartachsen können selektiv ein und ausgeschaltet werden durch Klick auf die Legende&lt;br /&gt;
* Charts können eingefärbt werden mit Farbe nach wahl, zudem ist eine Füllung möglich&lt;br /&gt;
* Charts können gezoomt werden mit Hilfe der Maus durch aufziehen einer Box direkt im Chart&lt;br /&gt;
* Charts werden bei Bedarf in der Datenbank über DbLog abgespeichert und können im Frontend auch wieder gelöscht werden&lt;br /&gt;
* &amp;quot;Database Tables&amp;quot; ermöglicht die Anzeige des gesamten Datenbankinhalts in einer Tabelle im Browser, egal wie groß diese ist.&lt;br /&gt;
* Anzeige der verfügbaren Geräte über den linken Bereich. Nach Auswahl eines Gerätes erhält man die Übersicht zu den aktuellen Readings.&lt;br /&gt;
&lt;br /&gt;
Die Werte in dieser Ansicht werden automatisch alle 5 Sekunden aktualisiert. Zudem ist die Steuerung von &amp;quot;sets&amp;quot; möglich (on / off Button, Dropdown, etc.)&lt;br /&gt;
&lt;br /&gt;
* FHEM Kommandozeile. Sie kann mit Enter-Taste und dem Execute Button bedient werden.&lt;br /&gt;
* Save Button, der wie bisher bekannt die Änderungen in der fhem.cfg speichert&lt;br /&gt;
* Shutdown und Restart Button hinzugefügt, über die sich FHEM herunterfahren oder neustarten lässt. Bei einem Restart wird die Seite, sobald FHEM wieder hochgefahren ist, automatisch neugeladen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zwingende Voraussetzung für die Nutzung des Frontends ist eine Datenbank und das Einbinden des Moduls 93_DbLog, da u.a. für das Charting auf die geloggten Daten zugegriffen wird.&lt;br /&gt;
Daher ist eine Installation nur auf Systemen möglich, die die entsprechenden PerlModule mitbringen, bzw. nachinstallieren lassen.&lt;br /&gt;
&lt;br /&gt;
Nach derzeitigem Stand ist die Installation inzwischen sogar neben PCs, Synologys und Raspberrys auch auf Fritzboxen möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;&lt;br /&gt;
Danke der Hilfe von Jurij ist jetzt auch die Installation von DbLog auf einer Fritzbox mit mips-Archtiketur möglich (z.B. 7390, 7330, ..).&lt;br /&gt;
Eine Anleitung findet sich hier: [http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Grundinstallation ===&lt;br /&gt;
&lt;br /&gt;
1.) FHEM auf den neuesten Stand bringen mit dem Befehl &amp;quot;update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.) In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DbLog installieren und konfigurieren ===&lt;br /&gt;
DbLog ([http://fhem.de/commandref_DE.html#DbLog http://fhem.de/commandref_DE.html#DbLog]) muss, falls noch nicht geschehen, konfiguriert werden. Dazu wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Eine Datenbank sollte installiert sein. MySQL, Postgres, SQLite oder Oracle.&lt;br /&gt;
* Unter Umständen müssen fehlende Perl Module nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
Ob dies nötig ist fällt spätestens auf, wenn im übernächsten Schritt die fhem.cfg angepasst und fhem neu gestartet wurde.&lt;br /&gt;
Dann sollten sich bei Problemen im Log von fhem entsprechnde Hinweise finden.&lt;br /&gt;
Unter Linux installiert man die Module z.B. für SQLite mit &amp;quot;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;quot;&lt;br /&gt;
Alternativ auch direkt über Perl möglich mit cpan ([http://fhem.de/commandref_DE.html#DbLog http://fhem.de/commandref_DE.html#DbLog]).&lt;br /&gt;
Auf einer Synology kann der folgende Beitrag helfen: [http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0 http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0]&lt;br /&gt;
&lt;br /&gt;
* Die Datenbank muss nun vorbereitet werden, sprich es müssen zumindest 2 Tables erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielscripte findet man z.B. dort: [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/ http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/].&lt;br /&gt;
Es muss also ein Table history und ein Table current erstellt werden, wie in den Beispiel SQLs zu sehen ist. &lt;br /&gt;
Anschließend muss die Datei db.conf angepasst werden.&lt;br /&gt;
Dort muss der Datenbankname, der Benutzer und das Passwort für die Datenbank eingetragen werden. Beispiele dazu findet man auch in dem vorigen Link.&lt;br /&gt;
&lt;br /&gt;
* In die fhem.cfg muss eine Zeile eingefügt werden die definiert, was alles über DbLog gespeichert werden soll.&lt;br /&gt;
&lt;br /&gt;
Diese Zeile kann z.B. so aussehen (loggt alles in die Datenbank):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /etc/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder für ein konkretes Gerät (Groß/Kleinschreibung beachten!):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define logdb DbLog db.conf ESA2000_LED_011e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* FHEM neustarten und ins FHEM-Log schauen. FHEM sollte hoch fahren und auch loggen, dass es zur Datenbank verbunden ist.&lt;br /&gt;
&lt;br /&gt;
Tut es das nicht oder FHEM startet garnicht, liegt eine Fehlkonfiguration vor. &lt;br /&gt;
Dann nochmals die vorherigen Schritte prüfen und das Logfile nach dem Problem befragen.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank vorbereiten ===&lt;br /&gt;
Zuletzt muss auf der Datenbank ein Table für das Frontend erstellt werden. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)&lt;br /&gt;
   Für SQLite3 kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&lt;br /&gt;
   Für Postgres kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID SERIAL, TIMESTAMP TIMESTAMP (0) DEFAULT LOCALTIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte DbLog nun laufen kann das Frontend über Adresse des Servers:8083/fhem/frontend/index.html aufgerufen werden, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.100:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Sollte DbLog noch nicht entsprechend konfiguriert sein, so bekommt man hier entsprechendes Feedback.&lt;br /&gt;
&lt;br /&gt;
Ansonsten ist das Frontend nun einsatzbereit. Für eine Bedienungsanleitung siehe im unteren Abschnitt &amp;quot;Bedienung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Das Frontend Updaten ==&lt;br /&gt;
In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bedienung ==&lt;br /&gt;
Ziel des Frontends ist eine möglichst selbsterklärende Bedienung. Fragen und Probleme können jederzeit im Forum, am besten im Beitrag &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
gestellt werden.&lt;br /&gt;
Eine Anleitung folgt, sobald ich mehr Zeit dazu finde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installationsanleitung von Puschel ==&lt;br /&gt;
&#039;&#039;&#039;Hardwarevoraussetzungen bei Installation auf einem RasPi&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;RasPi Model B&lt;br /&gt;
 Funktionierende Internetanbindung&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Softwarevoraussetzungen:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Deutsches Tastaturlayout (j für Ja)&lt;br /&gt;
 Funktionsfähige FHEM-Installation auf RPi Wheezy welche mittels update auf den letzten Stand &lt;br /&gt;
 gebracht wurde ([http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi]).&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das Frontend wurde mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
Zugriff auf den RPi mittels Putty ist gegeben.&lt;br /&gt;
&lt;br /&gt;
Zugriffsberechtigungen der Ordner sind auch gegeben (Schreiben in /opt/fhem)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Befehl&amp;amp;gt; = diese Zeile wird am Putty-Prompt eingegeben (ohne &amp;amp;lt;&amp;amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;IP_des_RPi&amp;amp;gt; = IP-Adresse über der der RPi erreichbar ist&lt;br /&gt;
&lt;br /&gt;
Was wird gemacht?&lt;br /&gt;
&lt;br /&gt;
Wir werden das neue Chart-Frontend mittels SQLite3 und allen benötigten Bibliotheken auf dem&lt;br /&gt;
RPi einrichten.&lt;br /&gt;
&lt;br /&gt;
Dann fangen wir mal an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1. Wir verbinden uns per Putty mit unserem RPi und loggen uns ein.&lt;br /&gt;
 2. Um uns das ständige sudo zu ersparen geben wir als erstes ein &amp;amp;lt;sudo bash&amp;amp;gt; ein.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und nun geht es los.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;3. &amp;amp;lt;apt-get update&amp;amp;gt;&lt;br /&gt;
 4. &amp;amp;lt;apt-get upgrade&amp;amp;gt; und die Nachfrage mit „j“ beantworten&lt;br /&gt;
 5. &amp;amp;lt;apt-get install sqlite3&amp;amp;gt;&lt;br /&gt;
 6. &amp;amp;lt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;amp;gt;&lt;br /&gt;
 7. &amp;amp;lt;apt-get install –f&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Was haben wir bis hierher gemacht?&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Wir haben die Pakete für unsren RPi neu eingelesen.&lt;br /&gt;
 Wir haben unsere RPi-Paketinstallation auf den neuesten Stand gebracht.&lt;br /&gt;
 Wir haben sqlite3 installiert.&lt;br /&gt;
 Wir haben die benötigten Bibliotheken installiert.&lt;br /&gt;
 Wir haben alle Abhängigkeiten aufgelöst und fehlende Pakete nachinstallieren lassen.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun bereiten wir unsere Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
In Putty geben wir als erstes ein &amp;amp;lt;cd /opt/fhem&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Dateien in diesem Ordner erstellt – wer will kann das natürlich anpassen.&lt;br /&gt;
&lt;br /&gt;
Anschliessend geben wir am Putty-Promt &amp;amp;lt;sqlite3 fhem.db&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir unsere Datenbank angelegt und diese fhem.db genannt. Nun zeigt unsere Prompt in Putty sqlite3&amp;amp;gt; an. Wir befinden uns also in unserer Datenbank.&lt;br /&gt;
&lt;br /&gt;
In dieser Datenbank werden wir noch 2 TABLES anlegen – einmal current und einmal history. Dies könnt ihr einfach per copy&amp;amp;amp;paste übernehmen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;CREATE TABLE `history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&lt;br /&gt;
 CREATE TABLE `current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und noch eine für das Frontend:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun können wir&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;a) mit &amp;amp;lt;.tables&amp;amp;gt; schauen ob 3 Einträge auftauchen (current, history, frontend)&lt;br /&gt;
 b) mit &amp;amp;lt;.exit&amp;amp;gt; verlassen wir SQLite3 wieder und kehren wieder auf unseren Putty-Prompt zurück.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bevor wir nun in fhem DBLog definieren, müssen wir erstmal unsere db.conf anlegen.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels &amp;amp;lt;nano db.conf&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Gefüllt wird dieses Konfigfile mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;#160;%dbconfig= (&lt;br /&gt;
 connection =&amp;amp;gt; &amp;quot;SQLite:dbname=/opt/fhem/fhem.db&amp;quot;,&lt;br /&gt;
 user =&amp;amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
 password =&amp;amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;
 );&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Mit STRG+X und „j“ abspeichern und nano wieder verlassen.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /opt/fhem sollten nun also zusätzlich die Dateien db.conf und fhem.db liegen.&lt;br /&gt;
&lt;br /&gt;
Ist das der Fall und die fhem.db hat die benötigten Rechte können wir in fhem unser DBLog&lt;br /&gt;
definieren. Ich habe der Einfachheit halber der Gruppe und jedem Schreibzugriff gewährt.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;lt;chmod –R g+w fhem.db&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;chmod –R o+w fhem.db&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in der Putty-Eingabe da fhem gemeckert hat es kann nicht in die Datei schreiben.&lt;br /&gt;
&lt;br /&gt;
Nun also noch unser&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /opt/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in fhem eingetragen und ab hier wird nun ALLES in die Datenbank geschrieben.&lt;br /&gt;
&lt;br /&gt;
Nun können wir in unserem Browser (getestet mit FF 19.0.2) auf unser Frontend zugreifen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://&amp;amp;lt;IP-des_RPi&amp;amp;gt;:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Achtung! Nicht erschrecken wenn beim ersten Zugriff nur eine leere Seite erscheint.&lt;br /&gt;
Einfach den Browser aktualisieren und am neuen Frontend erfreuen.&lt;br /&gt;
&lt;br /&gt;
Getestet: 26.03.2013&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2162</id>
		<title>Neues Charting Frontend</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2162"/>
		<updated>2013-06-17T14:03:28Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Anleitung beschreibt die Installation und Konfiguration des neuen ExtJS-Frontends, dass u.a. eine javascriptbasierte Chartingfunktion bietet.&lt;br /&gt;
&lt;br /&gt;
[[File:Frontend1.png|200px|right|thumb]]&lt;br /&gt;
[[File:Frontend_current.jpg|200px|right|thumb]]&lt;br /&gt;
[[File:Frontendtable.jpg|200px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
Im Forum gibt es einen Beitrag, in dem über die Entwicklung diskutiert wird:&lt;br /&gt;
[http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0 http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0]&lt;br /&gt;
Bei Problemen, Fragen oder Wünschen am besten dort eine Nachricht hinterlassen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Funktionsumfang:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zur Zeit hat das Frontend folgende Funktionen:&lt;br /&gt;
&lt;br /&gt;
* Anzeige von Charts mit mehreren, frei wählbaren Y-Achsen (FHEM Geräte und Readings wählbar)&lt;br /&gt;
* Charts können dynamisch (z.B. heutiger Tag) oder über einen festen Zeitraum angezeigt werden&lt;br /&gt;
* Charts können generalisiert werden, um auch größere Datenmengen im Browser mit akzeptabler Geschwindigkeit darzustellen&lt;br /&gt;
* Charts können mit Statistikfunktionen erstellt werden, z.B. mit Durchsnittswerten für eine gewissen Zeit (Average per Hour, Max per day, ...)&lt;br /&gt;
* Charts können Solllinien hinzugefügt werden mit wählbarem Start- und Endwert&lt;br /&gt;
* Chartachsen können selektiv ein und ausgeschaltet werden durch Klick auf die Legende&lt;br /&gt;
* Charts können eingefärbt werden mit Farbe nach wahl, zudem ist eine Füllung möglich&lt;br /&gt;
* Charts können gezoomt werden mit Hilfe der Maus durch aufziehen einer Box direkt im Chart&lt;br /&gt;
* Charts werden bei Bedarf in der Datenbank über DbLog abgespeichert und können im Frontend auch wieder gelöscht werden&lt;br /&gt;
* &amp;quot;Database Tables&amp;quot; ermöglicht die Anzeige des gesamten Datenbankinhalts in einer Tabelle im Browser, egal wie groß diese ist.&lt;br /&gt;
* Anzeige der verfügbaren Geräte über den linken Bereich. Nach Auswahl eines Gerätes erhält man die Übersicht zu den aktuellen Readings.&lt;br /&gt;
&lt;br /&gt;
Die Werte in dieser Ansicht werden automatisch alle 5 Sekunden aktualisiert. Zudem ist die Steuerung von &amp;quot;sets&amp;quot; möglich (on / off Button, Dropdown, etc.)&lt;br /&gt;
&lt;br /&gt;
* FHEM Kommandozeile. Sie kann mit Enter-Taste und dem Execute Button bedient werden.&lt;br /&gt;
* Save Button, der wie bisher bekannt die Änderungen in der fhem.cfg speichert&lt;br /&gt;
* Shutdown und Restart Button hinzugefügt, über die sich FHEM herunterfahren oder neustarten lässt. Bei einem Restart wird die Seite, sobald FHEM wieder hochgefahren ist, automatisch neugeladen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zwingende Voraussetzung für die Nutzung des Frontends ist eine Datenbank und das Einbinden des Moduls 93_DbLog, da u.a. für das Charting auf die geloggten Daten zugegriffen wird.&lt;br /&gt;
Daher ist eine Installation nur auf Systemen möglich, die die entsprechenden PerlModule mitbringen, bzw. nachinstallieren lassen.&lt;br /&gt;
&lt;br /&gt;
Nach derzeitigem Stand ist die Installation inzwischen sogar neben PCs, Synologys und Raspberrys auch auf Fritzboxen möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;&lt;br /&gt;
Danke der Hilfe von Jurij ist jetzt auch die Installation von DbLog auf einer Fritzbox mit mips-Archtiketur möglich (z.B. 7390, 7330, ..).&lt;br /&gt;
Eine Anleitung findet sich hier: [http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Grundinstallation ===&lt;br /&gt;
&lt;br /&gt;
1.) FHEM auf den neuesten Stand bringen mit dem Befehl &amp;quot;update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
2.) In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DbLog installieren und konfigurieren ===&lt;br /&gt;
DbLog ([http://fhem.de/commandref_DE.html#DbLog http://fhem.de/commandref_DE.html#DbLog]) muss, falls noch nicht geschehen, konfiguriert werden. Dazu wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Eine Datenbank sollte installiert sein. MySQL, Postgres, SQLite oder Oracle.&lt;br /&gt;
* Unter Umständen müssen fehlende Perl Module nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
Ob dies nötig ist fällt spätestens auf, wenn im übernächsten Schritt die fhem.cfg angepasst und fhem neu gestartet wurde.&lt;br /&gt;
Dann sollten sich bei Problemen im Log von fhem entsprechnde Hinweise finden.&lt;br /&gt;
Unter Linux installiert man die Module z.B. für SQLite mit &amp;quot;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;quot;&lt;br /&gt;
Alternativ auch direkt über Perl möglich mit cpan ([http://fhem.de/commandref_DE.html#DbLog http://fhem.de/commandref_DE.html#DbLog]).&lt;br /&gt;
Auf einer Synology kann der folgende Beitrag helfen: [http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0 http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0]&lt;br /&gt;
&lt;br /&gt;
* Die Datenbank muss nun vorbereitet werden, sprich es müssen zumindest 2 Tables erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielscripte findet man z.B. dort: [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/ http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/].&lt;br /&gt;
Es muss also ein Table history und ein Table current erstellt werden, wie in den Beispiel SQLs zu sehen ist. &lt;br /&gt;
Anschließend muss die Datei db.conf angepasst werden.&lt;br /&gt;
Dort muss der Datenbankname, der Benutzer und das Passwort für die Datenbank eingetragen werden. Beispiele dazu findet man auch in dem vorigen Link.&lt;br /&gt;
&lt;br /&gt;
* In die fhem.cfg muss eine Zeile eingefügt werden die definiert, was alles über DbLog gespeichert werden soll.&lt;br /&gt;
&lt;br /&gt;
Diese Zeile kann z.B. so aussehen (loggt alles in die Datenbank):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /etc/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder für ein konkretes Gerät (Groß/Kleinschreibung beachten!):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define logdb DbLog db.conf ESA2000_LED_011e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* FHEM neustarten und ins FHEM-Log schauen. FHEM sollte hoch fahren und auch loggen, dass es zur Datenbank verbunden ist.&lt;br /&gt;
&lt;br /&gt;
Tut es das nicht oder FHEM startet garnicht, liegt eine Fehlkonfiguration vor. &lt;br /&gt;
Dann nochmals die vorherigen Schritte prüfen und das Logfile nach dem Problem befragen.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank vorbereiten ===&lt;br /&gt;
Zuletzt muss auf der Datenbank ein Table für das Frontend erstellt werden. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)&lt;br /&gt;
   Für SQLite3 kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&lt;br /&gt;
   Für Postgres kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID SERIAL, TIMESTAMP TIMESTAMP (0) DEFAULT LOCALTIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte DbLog nun laufen kann das Frontend über Adresse des Servers:8083/fhem/frontend/index.html aufgerufen werden, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.100:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Sollte DbLog noch nicht entsprechend konfiguriert sein, so bekommt man hier entsprechendes Feedback.&lt;br /&gt;
&lt;br /&gt;
Ansonsten ist das Frontend nun einsatzbereit. Für eine Bedienungsanleitung siehe im unteren Abschnitt &amp;quot;Bedienung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Das Frontend Updaten ==&lt;br /&gt;
In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bedienung ==&lt;br /&gt;
Ziel des Frontends ist eine möglichst selbsterklärende Bedienung. Fragen und Probleme können jederzeit im Forum, am besten im Beitrag &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
gestellt werden.&lt;br /&gt;
Eine Anleitung folgt, sobald ich mehr Zeit dazu finde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installationsanleitung von Puschel ==&lt;br /&gt;
&#039;&#039;&#039;Hardwarevoraussetzungen bei Installation auf einem RasPi&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;RasPi Model B&lt;br /&gt;
 Funktionierende Internetanbindung&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Softwarevoraussetzungen:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Deutsches Tastaturlayout (j für Ja)&lt;br /&gt;
 Funktionsfähige FHEM-Installation auf RPi Wheezy welche mittels update auf den letzten Stand &lt;br /&gt;
 gebracht wurde ([http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi]).&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das Frontend wurde mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
Zugriff auf den RPi mittels Putty ist gegeben.&lt;br /&gt;
&lt;br /&gt;
Zugriffsberechtigungen der Ordner sind auch gegeben (Schreiben in /opt/fhem)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Befehl&amp;amp;gt; = diese Zeile wird am Putty-Prompt eingegeben (ohne &amp;amp;lt;&amp;amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;IP_des_RPi&amp;amp;gt; = IP-Adresse über der der RPi erreichbar ist&lt;br /&gt;
&lt;br /&gt;
Was wird gemacht?&lt;br /&gt;
&lt;br /&gt;
Wir werden das neue Chart-Frontend mittels SQLite3 und allen benötigten Bibliotheken auf dem&lt;br /&gt;
RPi einrichten.&lt;br /&gt;
&lt;br /&gt;
Dann fangen wir mal an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1. Wir verbinden uns per Putty mit unserem RPi und loggen uns ein.&lt;br /&gt;
 2. Um uns das ständige sudo zu ersparen geben wir als erstes ein &amp;amp;lt;sudo bash&amp;amp;gt; ein.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und nun geht es los.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;3. &amp;amp;lt;apt-get update&amp;amp;gt;&lt;br /&gt;
 4. &amp;amp;lt;apt-get upgrade&amp;amp;gt; und die Nachfrage mit „j“ beantworten&lt;br /&gt;
 5. &amp;amp;lt;apt-get install sqlite3&amp;amp;gt;&lt;br /&gt;
 6. &amp;amp;lt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;amp;gt;&lt;br /&gt;
 7. &amp;amp;lt;apt-get install –f&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Was haben wir bis hierher gemacht?&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Wir haben die Pakete für unsren RPi neu eingelesen.&lt;br /&gt;
 Wir haben unsere RPi-Paketinstallation auf den neuesten Stand gebracht.&lt;br /&gt;
 Wir haben sqlite3 installiert.&lt;br /&gt;
 Wir haben die benötigten Bibliotheken installiert.&lt;br /&gt;
 Wir haben alle Abhängigkeiten aufgelöst und fehlende Pakete nachinstallieren lassen.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun bereiten wir unsere Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
In Putty geben wir als erstes ein &amp;amp;lt;cd /opt/fhem&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Dateien in diesem Ordner erstellt – wer will kann das natürlich anpassen.&lt;br /&gt;
&lt;br /&gt;
Anschliessend geben wir am Putty-Promt &amp;amp;lt;sqlite3 fhem.db&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir unsere Datenbank angelegt und diese fhem.db genannt. Nun zeigt unsere Prompt in Putty sqlite3&amp;amp;gt; an. Wir befinden uns also in unserer Datenbank.&lt;br /&gt;
&lt;br /&gt;
In dieser Datenbank werden wir noch 2 TABLES anlegen – einmal current und einmal history. Dies könnt ihr einfach per copy&amp;amp;amp;paste übernehmen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;CREATE TABLE `history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&lt;br /&gt;
 CREATE TABLE `current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und noch eine für das Frontend:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun können wir&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;a) mit &amp;amp;lt;.tables&amp;amp;gt; schauen ob 3 Einträge auftauchen (current, history, frontend)&lt;br /&gt;
 b) mit &amp;amp;lt;.exit&amp;amp;gt; verlassen wir SQLite3 wieder und kehren wieder auf unseren Putty-Prompt zurück.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bevor wir nun in fhem DBLog definieren, müssen wir erstmal unsere db.conf anlegen.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels &amp;amp;lt;nano db.conf&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Gefüllt wird dieses Konfigfile mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;#160;%dbconfig= (&lt;br /&gt;
 connection =&amp;amp;gt; &amp;quot;SQLite:dbname=/opt/fhem/fhem.db&amp;quot;,&lt;br /&gt;
 user =&amp;amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
 password =&amp;amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;
 );&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Mit STRG+X und „j“ abspeichern und nano wieder verlassen.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /opt/fhem sollten nun also zusätzlich die Dateien db.conf und fhem.db liegen.&lt;br /&gt;
&lt;br /&gt;
Ist das der Fall und die fhem.db hat die benötigten Rechte können wir in fhem unser DBLog&lt;br /&gt;
definieren. Ich habe der Einfachheit halber der Gruppe und jedem Schreibzugriff gewährt.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;lt;chmod –R g+w fhem.db&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;chmod –R o+w fhem.db&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in der Putty-Eingabe da fhem gemeckert hat es kann nicht in die Datei schreiben.&lt;br /&gt;
&lt;br /&gt;
Nun also noch unser&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /opt/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in fhem eingetragen und ab hier wird nun ALLES in die Datenbank geschrieben.&lt;br /&gt;
&lt;br /&gt;
Nun können wir in unserem Browser (getestet mit FF 19.0.2) auf unser Frontend zugreifen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[http:// http://]&amp;amp;lt;IP-des_RPi&amp;amp;gt;:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Achtung! Nicht erschrecken wenn beim ersten Zugriff nur eine leere Seite erscheint.&lt;br /&gt;
Einfach den Browser aktualisieren und am neuen Frontend erfreuen.&lt;br /&gt;
&lt;br /&gt;
Getestet: 26.03.2013&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
	<entry>
		<id>http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2160</id>
		<title>Neues Charting Frontend</title>
		<link rel="alternate" type="text/html" href="http://wiki.fhem.de/w/index.php?title=Neues_Charting_Frontend&amp;diff=2160"/>
		<updated>2013-06-17T14:01:34Z</updated>

		<summary type="html">&lt;p&gt;Johannes: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Diese Anleitung beschreibt die Installation und Konfiguration des neuen ExtJS-Frontends, dass u.a. eine javascriptbasierte Chartingfunktion bietet.&lt;br /&gt;
&lt;br /&gt;
[[File:Frontend1.png|200px|right|thumb]]&lt;br /&gt;
[[File:Frontend_current.jpg|200px|right|thumb]]&lt;br /&gt;
[[File:Frontendtable.jpg|200px|right|thumb]]&lt;br /&gt;
&lt;br /&gt;
Im Forum gibt es einen Beitrag, in dem über die Entwicklung diskutiert wird:&lt;br /&gt;
[http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0 http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0]&lt;br /&gt;
Bei Problemen, Fragen oder Wünschen am besten dort eine Nachricht hinterlassen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aktueller Funktionsumfang:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Zur Zeit hat das Frontend folgende Funktionen:&lt;br /&gt;
&lt;br /&gt;
* Anzeige von Charts mit mehreren, frei wählbaren Y-Achsen (FHEM Geräte und Readings wählbar)&lt;br /&gt;
* Charts können dynamisch (z.B. heutiger Tag) oder über einen festen Zeitraum angezeigt werden&lt;br /&gt;
* Charts können generalisiert werden, um auch größere Datenmengen im Browser mit akzeptabler Geschwindigkeit darzustellen&lt;br /&gt;
* Charts können mit Statistikfunktionen erstellt werden, z.B. mit Durchsnittswerten für eine gewissen Zeit (Average per Hour, Max per day, ...)&lt;br /&gt;
* Charts können Solllinien hinzugefügt werden mit wählbarem Start- und Endwert&lt;br /&gt;
* Chartachsen können selektiv ein und ausgeschaltet werden durch Klick auf die Legende&lt;br /&gt;
* Charts können eingefärbt werden mit Farbe nach wahl, zudem ist eine Füllung möglich&lt;br /&gt;
* Charts können gezoomt werden mit Hilfe der Maus durch aufziehen einer Box direkt im Chart&lt;br /&gt;
* Charts werden bei Bedarf in der Datenbank über DbLog abgespeichert und können im Frontend auch wieder gelöscht werden&lt;br /&gt;
* &amp;quot;Database Tables&amp;quot; ermöglicht die Anzeige des gesamten Datenbankinhalts in einer Tabelle im Browser, egal wie groß diese ist.&lt;br /&gt;
* Anzeige der verfügbaren Geräte über den linken Bereich. Nach Auswahl eines Gerätes erhält man die Übersicht zu den aktuellen Readings.&lt;br /&gt;
&lt;br /&gt;
Die Werte in dieser Ansicht werden automatisch alle 5 Sekunden aktualisiert. Zudem ist die Steuerung von &amp;quot;sets&amp;quot; möglich (on / off Button, Dropdown, etc.)&lt;br /&gt;
&lt;br /&gt;
* FHEM Kommandozeile. Sie kann mit Enter-Taste und dem Execute Button bedient werden.&lt;br /&gt;
* Save Button, der wie bisher bekannt die Änderungen in der fhem.cfg speichert&lt;br /&gt;
* Shutdown und Restart Button hinzugefügt, über die sich FHEM herunterfahren oder neustarten lässt. Bei einem Restart wird die Seite, sobald FHEM wieder hochgefahren ist, automatisch neugeladen&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Zwingende Voraussetzung für die Nutzung des Frontends ist eine Datenbank und das Einbinden des Moduls 93_DbLog, da u.a. für das Charting auf die geloggten Daten zugegriffen wird.&lt;br /&gt;
Daher ist eine Installation nur auf Systemen möglich, die die entsprechenden PerlModule mitbringen, bzw. nachinstallieren lassen.&lt;br /&gt;
&lt;br /&gt;
Nach derzeitigem Stand ist die Installation inzwischen sogar neben PCs, Synologys und Raspberrys auch auf Fritzboxen möglich.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update&#039;&#039;&#039;&lt;br /&gt;
Danke der Hilfe von Jurij ist jetzt auch die Installation von DbLog auf einer Fritzbox mit mips-Archtiketur möglich (z.B. 7390, 7330, ..).&lt;br /&gt;
Eine Anleitung findet sich hier: [http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox http://www.fhemwiki.de/wiki/Cpan_auf_Fritzbox] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
=== Grundinstallation ===&lt;br /&gt;
&lt;br /&gt;
1.) FHEM auf den neuesten Stand bringen mit dem Befehl &amp;quot;update&amp;quot;. ===&lt;br /&gt;
&lt;br /&gt;
2.) In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DbLog installieren und konfigurieren ===&lt;br /&gt;
DbLog ([http://fhem.de/commandref_DE.html#DbLog http://fhem.de/commandref_DE.html#DbLog]) muss, falls noch nicht geschehen, konfiguriert werden. Dazu wie folgt vorgehen:&lt;br /&gt;
&lt;br /&gt;
* Eine Datenbank sollte installiert sein. MySQL, Postgres, SQLite oder Oracle.&lt;br /&gt;
* Unter Umständen müssen fehlende Perl Module nachinstalliert werden.&lt;br /&gt;
&lt;br /&gt;
Ob dies nötig ist fällt spätestens auf, wenn im übernächsten Schritt die fhem.cfg angepasst und fhem neu gestartet wurde.&lt;br /&gt;
Dann sollten sich bei Problemen im Log von fhem entsprechnde Hinweise finden.&lt;br /&gt;
Unter Linux installiert man die Module z.B. für SQLite mit &amp;quot;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;quot;&lt;br /&gt;
Alternativ auch direkt über Perl möglich mit cpan ([http://fhem.de/commandref_DE.html#DbLog http://fhem.de/commandref_DE.html#DbLog]).&lt;br /&gt;
Auf einer Synology kann der folgende Beitrag helfen: [http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0 http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=11071&amp;amp;amp;start=0&amp;amp;amp;rid=0]&lt;br /&gt;
&lt;br /&gt;
* Die Datenbank muss nun vorbereitet werden, sprich es müssen zumindest 2 Tables erstellt werden.&lt;br /&gt;
&lt;br /&gt;
Beispielscripte findet man z.B. dort: [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/ http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/contrib/dblog/].&lt;br /&gt;
Es muss also ein Table history und ein Table current erstellt werden, wie in den Beispiel SQLs zu sehen ist. &lt;br /&gt;
Anschließend muss die Datei db.conf angepasst werden.&lt;br /&gt;
Dort muss der Datenbankname, der Benutzer und das Passwort für die Datenbank eingetragen werden. Beispiele dazu findet man auch in dem vorigen Link.&lt;br /&gt;
&lt;br /&gt;
* In die fhem.cfg muss eine Zeile eingefügt werden die definiert, was alles über DbLog gespeichert werden soll.&lt;br /&gt;
&lt;br /&gt;
Diese Zeile kann z.B. so aussehen (loggt alles in die Datenbank):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /etc/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
oder für ein konkretes Gerät (Groß/Kleinschreibung beachten!):&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define logdb DbLog db.conf ESA2000_LED_011e&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* FHEM neustarten und ins FHEM-Log schauen. FHEM sollte hoch fahren und auch loggen, dass es zur Datenbank verbunden ist.&lt;br /&gt;
&lt;br /&gt;
Tut es das nicht oder FHEM startet garnicht, liegt eine Fehlkonfiguration vor. &lt;br /&gt;
Dann nochmals die vorherigen Schritte prüfen und das Logfile nach dem Problem befragen.&lt;br /&gt;
&lt;br /&gt;
=== Datenbank vorbereiten ===&lt;br /&gt;
Zuletzt muss auf der Datenbank ein Table für das Frontend erstellt werden. &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Für MySQL kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID int NOT NULL UNIQUE AUTO_INCREMENT, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE varchar(64), NAME varchar(64), VALUE TEXT)&lt;br /&gt;
   Für SQLite3 kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&lt;br /&gt;
   Für Postgres kann folgendes SQL in der Datenbank abgesetzt werden: &lt;br /&gt;
     CREATE TABLE frontend (ID SERIAL, TIMESTAMP TIMESTAMP (0) DEFAULT LOCALTIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte DbLog nun laufen kann das Frontend über Adresse des Servers:8083/fhem/frontend/index.html aufgerufen werden, z.B.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://192.168.0.100:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Sollte DbLog noch nicht entsprechend konfiguriert sein, so bekommt man hier entsprechendes Feedback.&lt;br /&gt;
&lt;br /&gt;
Ansonsten ist das Frontend nun einsatzbereit. Für eine Bedienungsanleitung siehe im unteren Abschnitt &amp;quot;Bedienung&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Das Frontend Updaten ==&lt;br /&gt;
In FHEM oder über telnet den folgenden Befehl aufrufen und ein paar Minuten warten:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bedienung ==&lt;br /&gt;
Ziel des Frontends ist eine möglichst selbsterklärende Bedienung. Fragen und Probleme können jederzeit im Forum, am besten im Beitrag &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;http://forum.fhem.de/index.php?t=msg&amp;amp;amp;th=10439&amp;amp;amp;start=0&amp;amp;amp;rid=0&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
gestellt werden.&lt;br /&gt;
Eine Anleitung folgt, sobald ich mehr Zeit dazu finde...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installationsanleitung von Puschel ==&lt;br /&gt;
&#039;&#039;&#039;Hardwarevoraussetzungen bei Installation auf einem RasPi&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;RasPi Model B&lt;br /&gt;
 Funktionierende Internetanbindung&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Softwarevoraussetzungen:&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Deutsches Tastaturlayout (j für Ja)&lt;br /&gt;
 Funktionsfähige FHEM-Installation auf RPi Wheezy welche mittels update auf den letzten Stand &lt;br /&gt;
 gebracht wurde ([http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi http://www.fhemwiki.de/wiki/Kategorie:Raspberry_Pi]).&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Das Frontend wurde mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;update thirdparty [http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend http://fhem.svn.sourceforge.net/viewvc/fhem/trunk/fhem/www/frontend] frontend&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
installiert.&lt;br /&gt;
Zugriff auf den RPi mittels Putty ist gegeben.&lt;br /&gt;
&lt;br /&gt;
Zugriffsberechtigungen der Ordner sind auch gegeben (Schreiben in /opt/fhem)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;Befehl&amp;amp;gt; = diese Zeile wird am Putty-Prompt eingegeben (ohne &amp;amp;lt;&amp;amp;gt;)&lt;br /&gt;
&lt;br /&gt;
&amp;amp;lt;IP_des_RPi&amp;amp;gt; = IP-Adresse über der der RPi erreichbar ist&lt;br /&gt;
&lt;br /&gt;
Was wird gemacht?&lt;br /&gt;
&lt;br /&gt;
Wir werden das neue Chart-Frontend mittels SQLite3 und allen benötigten Bibliotheken auf dem&lt;br /&gt;
RPi einrichten.&lt;br /&gt;
&lt;br /&gt;
Dann fangen wir mal an.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;1. Wir verbinden uns per Putty mit unserem RPi und loggen uns ein.&lt;br /&gt;
 2. Um uns das ständige sudo zu ersparen geben wir als erstes ein &amp;amp;lt;sudo bash&amp;amp;gt; ein.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und nun geht es los.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;3. &amp;amp;lt;apt-get update&amp;amp;gt;&lt;br /&gt;
 4. &amp;amp;lt;apt-get upgrade&amp;amp;gt; und die Nachfrage mit „j“ beantworten&lt;br /&gt;
 5. &amp;amp;lt;apt-get install sqlite3&amp;amp;gt;&lt;br /&gt;
 6. &amp;amp;lt;apt-get install libdbi-perl libdbd-sqlite3-perl&amp;amp;gt;&lt;br /&gt;
 7. &amp;amp;lt;apt-get install –f&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Was haben wir bis hierher gemacht?&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;Wir haben die Pakete für unsren RPi neu eingelesen.&lt;br /&gt;
 Wir haben unsere RPi-Paketinstallation auf den neuesten Stand gebracht.&lt;br /&gt;
 Wir haben sqlite3 installiert.&lt;br /&gt;
 Wir haben die benötigten Bibliotheken installiert.&lt;br /&gt;
 Wir haben alle Abhängigkeiten aufgelöst und fehlende Pakete nachinstallieren lassen.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun bereiten wir unsere Datenbank vor.&lt;br /&gt;
&lt;br /&gt;
In Putty geben wir als erstes ein &amp;amp;lt;cd /opt/fhem&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Nun werden alle Dateien in diesem Ordner erstellt – wer will kann das natürlich anpassen.&lt;br /&gt;
&lt;br /&gt;
Anschliessend geben wir am Putty-Promt &amp;amp;lt;sqlite3 fhem.db&amp;amp;gt; ein.&lt;br /&gt;
&lt;br /&gt;
Damit haben wir unsere Datenbank angelegt und diese fhem.db genannt. Nun zeigt unsere Prompt in Putty sqlite3&amp;amp;gt; an. Wir befinden uns also in unserer Datenbank.&lt;br /&gt;
&lt;br /&gt;
In dieser Datenbank werden wir noch 2 TABLES anlegen – einmal current und einmal history. Dies könnt ihr einfach per copy&amp;amp;amp;paste übernehmen.&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;CREATE TABLE `history` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&lt;br /&gt;
 CREATE TABLE `current` (TIMESTAMP TIMESTAMP, DEVICE varchar(32), TYPE varchar(32), EVENT varchar(512), READING varchar(32), VALUE varchar(32), UNIT varchar(32));&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Und noch eine für das Frontend:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;CREATE TABLE frontend (ID INTEGER PRIMARY KEY, TIMESTAMP TIMESTAMP DEFAULT CURRENT_TIMESTAMP, TYPE TEXT, NAME TEXT, VALUE TEXT);&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Nun können wir&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;a) mit &amp;amp;lt;.tables&amp;amp;gt; schauen ob 3 Einträge auftauchen (current, history, frontend)&lt;br /&gt;
 b) mit &amp;amp;lt;.exit&amp;amp;gt; verlassen wir SQLite3 wieder und kehren wieder auf unseren Putty-Prompt zurück.&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Bevor wir nun in fhem DBLog definieren, müssen wir erstmal unsere db.conf anlegen.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels &amp;amp;lt;nano db.conf&amp;amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Gefüllt wird dieses Konfigfile mit&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;#160;%dbconfig= (&lt;br /&gt;
 connection =&amp;amp;gt; &amp;quot;SQLite:dbname=/opt/fhem/fhem.db&amp;quot;,&lt;br /&gt;
 user =&amp;amp;gt; &amp;quot;&amp;quot;,&lt;br /&gt;
 password =&amp;amp;gt; &amp;quot;&amp;quot;&lt;br /&gt;
 );&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Mit STRG+X und „j“ abspeichern und nano wieder verlassen.&lt;br /&gt;
&lt;br /&gt;
Im Ordner /opt/fhem sollten nun also zusätzlich die Dateien db.conf und fhem.db liegen.&lt;br /&gt;
&lt;br /&gt;
Ist das der Fall und die fhem.db hat die benötigten Rechte können wir in fhem unser DBLog&lt;br /&gt;
definieren. Ich habe der Einfachheit halber der Gruppe und jedem Schreibzugriff gewährt.&lt;br /&gt;
&lt;br /&gt;
Dies geschieht mittels&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&amp;amp;lt;chmod –R g+w fhem.db&amp;amp;gt;&lt;br /&gt;
 &amp;amp;lt;chmod –R o+w fhem.db&amp;amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in der Putty-Eingabe da fhem gemeckert hat es kann nicht in die Datei schreiben.&lt;br /&gt;
&lt;br /&gt;
Nun also noch unser&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;define myDbLog DbLog /opt/fhem/db.conf .*:.*&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
in fhem eingetragen und ab hier wird nun ALLES in die Datenbank geschrieben.&lt;br /&gt;
&lt;br /&gt;
Nun können wir in unserem Browser (getestet mit FF 19.0.2) auf unser Frontend zugreifen:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;[http:// http://]&amp;amp;lt;IP-des_RPi&amp;amp;gt;:8083/fhem/frontend/index.html&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Achtung! Nicht erschrecken wenn beim ersten Zugriff nur eine leere Seite erscheint.&lt;br /&gt;
Einfach den Browser aktualisieren und am neuen Frontend erfreuen.&lt;br /&gt;
&lt;br /&gt;
Getestet: 26.03.2013&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Glossary]]&lt;br /&gt;
[[Kategorie:FHEM Frontends]]&lt;/div&gt;</summary>
		<author><name>Johannes</name></author>
	</entry>
</feed>