Balken- und Kurvendiagramme

Hallo zusammen,

ich habe gerade mein EKM drangetüddelt und nach Beachtung der S0- Polarisation funktioniert auch alles prima. Steiner’s Skript (Danke) eingespielt und Variablen angepasst… tiptop… läuft tadellos.

Nun wollte ich die neuen Balken- und Kurvendiagramme nutzen, konnte jedoch - ja auch nach Forensuche nicht - keine Tutorial oder ähnliches finden.

Wie kann ich die Balken einschalten, bzw. die Kurvendiagramme mit mehreren Werten (siehe Screenshots: IP-Symcon :: Automatisierungssoftware) einfügen.

Besten Dank im Voraus für eure Hilfe
Lieschen

die Forensuche nach „Balken Zähler“ brachte z.B. folgende Ergebnisse:

  1. link
  2. link
    ff…

Um ein Balkendiagramm zu erhalten muß bei der entsprechenden Variable der Aggregationstyp: Zähler gewählt werden, sonst wird es automatisch ein Kurvendiagramm.:wink:

Danke… ist halt doch nur ein Computer… ich hatte „Balkendiagramme“ und „Balken Diagramme“ gesucht.

Die Welt könnte so einfach sein… Vielen Dank für die semantischen Tips!

Schönes WE noch!
Lieschen

Kurvendiagramme mit verschiedenen Variablen gibt es mit Standart-IPS nicht. Dein Link zeigt eine Grafik mit einer Variable, die Anzeige der Extremwerte täuscht hier etwas…
Für Multicharts brauchst du Hilfsmittel, z.b. JP Gaph oder googlechart. Benutz mal die Suche, hier wurde schon viel Arbeit verrichtet.

Noch eine kleine Frage zum Thema,

habe jetzt DUGTool installiert. DB loggt Daten mit und ich kann mir sofort einen Graphen zeichnen lassen.
Nur die automatische Aktualisierung klappt nicht. Ich bekomme im Script „DBupdate…“ auch folgende Fehler, mit denen ich
mit meinen rudimentären Kentnissen leider nicht viel anfangen kann:

Notice:  Undefined index: IPS_VARIABLE in C:\IP-Symcon\scripts\DBupdate.php on line 21

Warning:  Variable #0 existiert nicht in C:\IP-Symcon\scripts\DBupdate.php on line 23

Notice:  Undefined index: IPS_VALUE in C:\IP-Symcon\scripts\DBupdate.php on line 27

Warning:  sqlite_query() [function.sqlite-query]: near " ": syntax error in C:\IP-Symcon\scripts\DBupdate.php on line 36

Warning:  sqlite_fetch_array() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\DBupdate.php on line 37

Warning:  sqlite_query() [function.sqlite-query]: column IPSID is not unique in C:\IP-Symcon\scripts\DBupdate.php on line 56

Warning:  sqlite_query() [function.sqlite-query]: near " ": syntax error in C:\IP-Symcon\scripts\DBupdate.php on line 63

Warning:  sqlite_fetch_array() expects parameter 1 to be resource, boolean given in C:\IP-Symcon\scripts\DBupdate.php on line 64

Das Script sieht wie folgt aus:

<?
//==================================================================================
// Datei.......: DBupdate.php
// Beschreibung:  speichert Variablenänderungen der Variablen, die dieses Script aufruft in der Datenbank
//
// DUG Version.....: V1.6
// SVN Revisionsnr:	$Revision: 40 $
// zuletzt geändert : 	$Date: 2009-05-29 15:53:44 +0200 (Fr, 29 Mai 2009) $
// Author:			$Author: tobias $
//==================================================================================

 unset($_SERVER['argv']);
 unset($_SERVER['argc']);
 
$logall = true;
include ("DUGToolbasis.php");
include ($DUGTOOLPFAD."sqlitebasis.php");

$dblink = dbopen();

$IPS_VarID = $_SERVER["IPS_VARIABLE"];
//Variablentyp abfragen (Boolean, Integery, Float, String)
$thisvar = IPS_GetVariable($IPS_VarID);
$varType = $thisvar['VariableValue']['ValueType'];
if ($varType == 0)
{
	$varValue = (int)$_SERVER["IPS_VALUE"];
}
else
{
	$varValue = $_SERVER["IPS_VALUE"];
}

//die IPS Variable in der DB suchen
$select = "SELECT * FROM Variable WHERE IPSID = ".$IPS_VarID;
$result = sqlite_query($dblink, $select);
$varindb = sqlite_fetch_array($result);

//Wenn sie noch nicht in der DB ist, muss sie angelegt werden
if (!isset($varindb['ID']))
{
	//für später mal. evtl aus dem Zusatztext die Einheit extrahieren ( nur ne Idee)
	$obj = IPS_GetObject($IPS_VarID);
	$varName = $obj['ObjectName'];	
	$varText = $obj['ObjectInfo'];
	
	$varEinheit = "unbekannt";
	$varPfad = IPS_GetLocation($IPS_VarID);
	if ($logall) {IPS_LogMessage("DUG Tool DB Update", "Die Variable ".$varName." mit der ID ".$IPS_VarID." ist noch nicht in der DB vorhanden.");}
    
	//Variable in der DB neu anlegen
	//als name der Variable, wird der Pfad mit dem Namen der Variablen eingetragen. Der DB Eintrag Name wird
	//auch in der Legende des Graphen benutzt.
	//Der Eintrag Name soll später mal veränderbar sein, während Pfad immer zur Variable gehört
	$select = "INSERT INTO Variable  (IPSID, Name, Typ, Einheit, MaxIntervallZeit, MaxAnzahl) VALUES ('".$IPS_VarID."','".$varPfad."','".$varType."','".$varEinheit."', 0, 0);";
	sqlite_query($dblink, $select);
    if ($logall) {IPS_LogMessage("DUG Tool DB Update", "Die Variable ".$varName." mit der ID ".$IPS_VarID." wurde in der DB '".$dbpfad."' angelegt.");}
}


//alle Informationen über die Variable aus der DB holen
$select = "SELECT * FROM Variable WHERE IPSID = ".$IPS_VarID;
$result = sqlite_query($dblink, $select);
$varindb = sqlite_fetch_array($result);

$override = false;
//falls eine maximale Anzahl an zu speichernden Datensätzen angegeben ist, überprüfe, ob dieses Limit schon erreicht worden ist
//falls die maximale Anazhal errreicht worden ist, wird override auf true gesetzt
//dann soll der älteste Wert neu überschrieben werden
if ((isset($varindb['MaxAnzahl'])) && ($varindb['MaxAnzahl'] != 0))
{
	//abfragen wie viele Datensätze dieser Variable schon gespeichert sind
	$select = "SELECT COUNT(ID) as Anzahl FROM VarEreignis WHERE VarID = '".$varindb['ID']."';";
	$countresult = sqlite_query($dblink, $select);
	$varcount = sqlite_fetch_array($countresult);
	if ($varcount['Anzahl'] >= $varindb['MaxAnzahl']) {$override = true;}
}

if (((isset($varindb['MaxIntervallZeit']))&&($varindb['MaxIntervallZeit'] != 0)) || $override)
{
	//suche den ältesten Datensatz raus
	$select = "SELECT * FROM VarEreignis WHERE VarID = '".$varindb['ID']."' ORDER BY DatumZeit ASC LIMIT 1;";
	$oldvarresult = sqlite_query($dblink, $select);
	$varoldest = sqlite_fetch_array($oldvarresult);
	if (($varindb['MaxIntervallZeit'] != 0)&&($varoldest['DatumZeit'] < (time()-$varindb['MaxIntervallZeit']))) {$override = true;}
	$overrideme = $varoldest;	
}

if ($override)
{
	$select = "UPDATE VarEreignis SET 'DatumZeit' = '".$_SERVER["REQUEST_TIME"]."', Wert = '".$varValue."' WHERE ID ='".$overrideme['ID']."'; ";
}
else
{
	$select = "INSERT INTO VarEreignis (DatumZeit, Wert, VarID) VALUES (".$_SERVER["REQUEST_TIME"].", '".$varValue."','".$varindb['ID']."'); ";
}

$result = sqlite_query($dblink, $select);
if (($result != null)&&($logall))
{
	IPS_LogMessage("DUG Tool DB Update", "Variable ".$IPS_VarID." (".$varindb['ID'].") wurde in der DB '".$dbpfad."' aktualisiert.");
} else
{
	IPS_LogMessage("DUG Tool DB Update", "Variable ".$IPS_VarID." (".$varindb['ID'].") konnte in der DB '".$dbpfad."' nicht aktualisiert werden.");
}

sqlite_close($dblink);
?>

Ich danke für die Mühe
Lieschen