IPSLibrary Plugwise Energieverbrauchsmessung

So, hab die jetzt mal in den Tree geholt:
Kurzanleitung Scripte ausserhalb des Scripte-Verzeichnisses im Objektbaum:
Kategorie erstellen (wenn nicht vorhanden). Datei im ZielVerzeichnis umbenennen. Im Objektbaum neues Script mit dem Namen des Zielscripts anlegen (Ist dann standardmässig im Verzeichnis Scripts). Im Scripteditor umbenennen und dabei den Pfad zum jeweiligen Default anpassen. Inhalt der umbenannten reinkopieren. Damit kann man künftig die Defaults auch im Scripteditor anschauen.

Hallo 1007,
entweder ich blick die Config nicht oder da stimmt was nicht im WFE.
Habe in der Config fogendes eingestellt:

    array("000D6F0000B82F74","DummyK",				"SonstigePW",						"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0000B81993","S685IP",				"ITInfrastruktur",			"0",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0001A4028A","DummyStealth",		"SonstigePW",					"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0001A40247","Waschmaschine",		"HaushaltsGeraete",			"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0001A40496","Trockner",			"HaushaltsGeraete",			"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0000D33784","Gefrierschrank",	"Dauerlaeufer",				"0",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0001A20F81","Dunstabzugshaube",	"Kochen",						"0",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0000D358B9","DruckerSonja",		"ITGeraete",					"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0001A20F7E","LaptopSonja",		"ITGeraete",					"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0000D36513","LaptopWolf",			"ITGeraete",					"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0001A40105","TV",					"Multimedia",					"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0000D36514","Spuehlmaschine",	"HaushaltsGeraete",			"1",		"100",	"",	"Tarifgruppe Normal",	1 ),
   array("000D6F0000D3300E","Hauswasserwerk",	"Dauerlaeufer",				"0",		"100",	"",	"Tarifgruppe Normal",	1 ),

	// Standardtarifgruppe
	array(""						,""			,""					,"0",""		,""	, "Tarifgruppe Normal"),
  );

	$ExterneGroups = array(
	//*************************************************************************************
	//		   Name 		       Gruppe    ID-Leistung ID-KWh     Watt     kWh  Tarifgruppe              in Gesamt
	//*************************************************************************************
	array("Hauptzaehler" ,"SYSTEM_MAIN"	, false	, false  ,"500"	,"5" 	, "Tarifgruppe Normal",true),
	//array("Sonstige"		,"SYSTEM_REST"	, false	, false	,"500"	,"5" 	, "Tarifgruppe Normal",true),

	array("Heizungssteuerung","Heizung"		,"16528" ,"47331"		,"200"	,"" 	, "Tarifgruppe Normal",true),
	array("Verteilerschrank","ITInfrastruktur2"		,"48155" ,"51657"		,"70"	,"" 	, "Tarifgruppe Normal",true),

Hatte vorher eine Gruppe Sonstige. Scheint wohl bei deinen Scripts aber irgend wo hinterlegt zu sein. Also hab ich meine Sonstige in SonstigePW umbenannt. Update. Hab jetzt wieder eine Sonstige die aber auf einen Fehler läuft: Objekt mit Ident SYSTEM_MAIN wurde nicht gefunden … siehe screenshot.
Wenn ich die Zeile mit Hauptzähler auskommentiere ändert sich auch nichts.
Irgend eine Idee?

Der HiChartsGraph in der Übersicht fehlt auch. Folgefehler?

Bei den Circles wird die Aufnahme in Gesamt mit 0/1 angegeben, in den externen Gruppen mit true/false. Ist das richtig?

Das Problem liegt bei mir.
Ich hab einiges in der Konfig geaendert aber nicht im Default:rolleyes:
Deine ist nicht die aktuelle.
Nun hab ich die Defaultkonfig noch ein bisschen mehr dokumentiert.

Hallo 1007,
nur zur Info: Ich bekomm in der „Uebersicht“ auch keinen Graph angezigt. Text: Variable wird nicht geloggt.
Will Dich wirklich nicht drängen. Wenn ich sehe auf wie vielen Baustellen Du rumturnst …
Schläftst Du auch irgend wann??

Das mit dem Text Variable wird nicht geloggt hab ich vorhin gerade eingebaut
weil ich das Problem auch hatte.
Bei dem Text ist doch die ID mit angegeben ?
Schau mal nach ob sie geloggt wird.
Ist das ein Circle, eine Gruppe oder Gesamt ?
Hatte das Problem das die Varible zwar geloggt angehakt ist aber diese Meldung kommt. Dann waren es fehlerhafte Eintragungen im Archiv Handler.
Schau mal nach ob da Variablen drin sind mit unbekannt oder so?

PS: Hab eben gerade Feierabend (Spaetschicht), Schlaf kommt spaeter;)

Im Moment sollte die Anzeige fuer „Sonstige“ funktionieren.
Vielleicht kann jemand mal die Mysql-Anbindung testen.
Parametrierung in der Konfig

  	//***************************************************************************
	// MySql Anbindung
	//***************************************************************************
	define ( 'MYSQL_ANBINDUNG' , 			true );
	define ( 'MYSQL_SERVER' , 				'192.168.10.8' );
	define ( 'MYSQL_USER' , 				'xxxx' );
	define ( 'MYSQL_PASSWORD' , 			'xxxx' );
	define ( 'MYSQL_DATENBANK' , 			'Plugwise' );
	define ( 'MYSQL_TABELLE_LEISTUNG' , 'Leistung' );
	define ( 'MYSQL_TABELLE_GESAMT' , 	'Gesamtverbrauch' );

Die Aenderungen hier werden sofort ausgefuehrt, also keine Install notwendig.

[ol]
[li]MYSQL_ANBINDUNG=true - Es wird versucht die Daten in eine MysqlDatenbank zu schreiben
[/li][li]MYSQL_SERVER - IP-Adresse
[/li][li]MYSQL_USER - Username
[/li][li]MYSQL_PASSWORD - Password
[/li][li]MYSQL_DATENBANK - Datenbankname
[/li][li]MYSQL_TABELLE_LEISTUNG - Tabelle fuer die Leistungsdaten
[/li][li]MYSQL_TABELLE_GESAMT - Tabelle fuer die Gesamtdaten
[/li][/ol]
Datenbank und Tabellen muessen nicht vorhanden sein,
werden automatisch erstellt. Wenn man zB den einen Tabellennamen aendert
wird ab diesem Zeitpunkt eine neue Tabelle erstellt , die alte bleibt erhalten.

Fuer die HighchartFreaks :
In der Konfig kann jetzt ein Theme angegeben werden

	define ( 'HIGHCHARTS_THEME' , 'ips.js' ) ;   // Highchart Theme

Beim Text ist keine ID mit angegeben. Ist nur in der Gesamtübersicht. Alle anderen funtionieren. Im Archiv Handler hab ich tatsächlich zwei Variablen die nicht existieren. Kann aber sein dass das die Reste einer Aufräumaktion sind.
Version 1.2.1009

Vielleicht kann jemand mal die Mysql-Anbindung testen

Die Tabellen wurden erstellt (irgend wann gestern schon). In der Leistung gibts auch einen Satz Daten. Die Gesamt ist leer. Hab dann wegen der vielen Fehler mal die Anbindung wieder auf false gesetzt.
Jetzt die Anbindung auf true. Passiert nix. kommen keine Daten.

Keine ID ?
Sollte wie im Anhang aussehen. Die Meldung wird im Script Plugwise_Config_Highcharts gemacht ( Zeile 116 )

	$wird_geloggt = @AC_GetLoggingStatus(intval($cfg['ArchiveHandlerId']),intval($id));
	if ( !$wird_geloggt )
	   {
	   $text = "Variable ". $id . " wird nicht geloggt";
	   SetValue($ContentId,$text);
	   return;
	   }

Das mit den Leichen im Archiv Handler kommt dann wenn du eine Variable loeschst die geloggt wird. Dann kann es zu Problemen mit den AC_ Befehlen kommen. Also erst loggen ausschalten dann loeschen. Hatte ich in letzter Zeit sehr oft zB beim Loeschen eines kompletten Circles bleiben dir 2 leichen uebrig.Ich hatte auch schon, dass loggen zwar angehakt aber der Befehl
AC_GetLoggingStatus bringt trotzdem false.
Loggen abwaehlen und wieder anwaehlen. Alle Leichen mit Hand loeschen.
Wenn du den @ vor AC_GetLoggingStatus loeschst sollte der Befehl eine Fehlermeldung bringen.

nichtgeloggt.png

Viel Fehlermeldungen? Zeig mal eine.
Du kannst mal in dem Script Plugwise_Include die Zeilen 1091 und 1107
„scharf“ machen.

Ach ich glaub ich weiss. Loesch mal die beiden Tabellen.
In eine der ersten Versionen hatte ich beim Anlegen weniger Felder definiert.
Es sollten 8 Felder in der tabelle sein

Keine ID.
Leichen gelöscht. Bei den beiden Variablen in \others\gesamt das Logging aus und wieder ein. Ohne Erfolg. Das @ gelöscht, kommt kein Fehler.

Ich glaub ich hab da in der Config zu viel auskommentiert.

Den Fehler hab ich schon weiter unten http://www.ip-symcon.de/forum/165472-post82.html mit einem Screenshot gepostet.

Meine aktuelle Config:

	$ExterneGroups = array(
	//*************************************************************************************
	// Hier koennen "externe" Stromzaehler (IDs) eingetragen werden
	// Noch nicht ganz fertig
	//		   Name 		       Gruppe    ID-Leistung ID-KWh     Watt     kWh  Tarifgruppe              in Gesamt
	//*************************************************************************************
	array("Hauptzaehler" ,"SYSTEM_MAIN"	, 0	, 0  ,"500"	,"5" 	, "Tarifgruppe Normal",true),
	array("Sonstige"		,"SYSTEM_REST"	, false	, false	,"500"	,"5" 	, "Tarifgruppe Normal",true),

	array("Heizungssteuerung","Heizung"		,"16528" ,"47331"		,"200"	,"" 	, "Tarifgruppe Normal",true),
	array("Verteilerschrank","ITInfrastruktur2"		,"48155" ,"51657"		,"70"	,"" 	, "Tarifgruppe Normal",true),

  			); //*/
  			
  			
	$SystemStromzaehlerGroups = array(
	//*************************************************************************************
	//		   Name 		       Gruppe    ID-Leistung ID-KWh     Watt     kWh  Tarifgruppe              in Gesamt
  // Hier ist der Haupstromzaehler und der nicht erfasste Teil definiert
  // Sind bei Gesamt die beiden IDs auf 0 , gibt es keinen Hauptstromzaehler und es wird
  // der Gesamtstrom aus der Summe aller erfassten Daten gebildet.
  // Sonstige ist zur Zeit ein Platzhalter fuer den nicht erfassten Teil
	//*************************************************************************************
	array("Gesamt" 	,"SYSTEM_MAIN"	,0	, 0   ,"500"	,"5" 	, "Tarifgruppe Normal",true),
	array("Sonstige"	,"SYSTEM_REST"	, false	, false		,"500"	,"5" 	, "Tarifgruppe Normal",true),
  			);  //*/

   //***************************************************************************
	// Externe Stromdaten ( zB EKM )
	//***************************************************************************
	define ( 'ID_GESAMTVERBRAUCH',0); // VariablenID des Gesamtverbrauchs
	//define ( 47331 /*[Verbrauche\Strom\IP-Switch_AddE_01\IPSwitchAddE01\Heizung\IPSwitchAddE01_iC16_ZS]*/ ,0); // VariablenID des Gesamtverbrauchs
	define ( 'ID_LEISTUNG',0);        // VariablenID der aktuellen Leistung
	//define ( 16528 /*[Verbrauche\Strom\IP-Switch_AddE_01\IPSwitchAddE01\Heizung\IPSwitchAddE01_iC16_AVerbr]*/ ,0);        // VariablenID der aktuellen Leistung

Ich blick aber nicht wirklich was die drei Abschnitte machen. Der dritte war ja mal zuest da (ganz unten). Da konnt ichs mir noch halbwegs erklären …

MySQL funktioniert. Daten kommen rein. In beiden Tabellen wird die Spalte Gerätegruppe nicht gefüllt.

Das mit der Geraetegruppe ist richtig. Bin mir nicht sicher ob das speichern
der Gruppe sinnvoll , deshalb hab ich das Feld zwar angelegt wird aber nicht besschrieben.

In der Config:
Die $ExterneGroups haben noch keine Funktion.
in Systemstromzaehler gibt es nur 2 Eintraege. Der Hauptstromzaehler (Gesamt) und Sonstige (Rest).

Kannst du mal in Plugwise_Config_Highcharts in Zeile 111 folgendes eintragen

IPS_LogMessage("geloggte Variable",$id);

so das es so aussieht

   // Id des ArchiveHandler auslesen
	$instances = IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}');
	$cfg['ArchiveHandlerId'] = $instances[0];
	IPS_LogMessage("geloggte Variable",$id);
	$wird_geloggt = @AC_GetLoggingStatus(intval($cfg['ArchiveHandlerId']),intval($id));
	if ( !$wird_geloggt )
	   {
	   $text = "Variable ". $id . " wird nicht geloggt";
	   
	   SetValue($ContentId,$text);
	   return;
	   }

Fuehre mal folgendes aus

	$id = 33015;

	print_r(IPS_GetObject($id));
	

wobei die $id von deiner Gesamt-Instance ist

Halbe Entwarnung. Habe nachdem ich die Config wie im letzten Beitrag gezeigt geändert habe, noch mal ein Onlineupdate gemacht. 1.2.1010
Der Fehler beim Click auf Sonstige im Screenshot ist jetzt weg. Der Chart des Gesamtverbrauchs ist auch wieder da.
Im IPS-Logger gibts aber noch viele Fehler. Siehe Screenshot.

Du hast in der Config ID_GESAMTVERBRAUCH, ID_LEISTUNG
geloescht oder auskommentiert ?

Ergebnis:
Array
(
[ChildrenIDs] => Array
(
[0] => 17687
[1] => 24317
)

[HasChildren] => 1
[IsPersistent] => 1
[ObjectIcon] => 
[ObjectID] => 21292
[ObjectIdent] => SYSTEM_MAIN
[ObjectInfo] => 
[ObjectIsHidden] => 
[ObjectIsReadOnly] => 
[ObjectName] => Gesamt
[ObjectPosition] => 0
[ObjectSummary] => 
[ObjectType] => 1
[ParentID] => 52908

)

Du hast in der Config ID_GESAMTVERBRAUCH, ID_LEISTUNG
geloescht oder auskommentiert ?

Wo soll das denn stehen? Ausser im 3. Abschnitt. Siehe Post http://www.ip-symcon.de/forum/165520-post93.html

Und in der aktuellen Config-default steht nicht mehr verwenden. Dann müsst ichs doch auch auskommentieren/löschen können. Ist aktuell aber noch drin.

Wird zwar nicht mehr verwendet wird aber noch abgefragt ob vorhanden.
Will im Moment nicht mehr zuviel aendern, weil ich ab Morgen 1 Woche Springen bin.

Na dann will ich Dich nicht länger vom Packen abhalten. Pack lieber sorgfältig Deinen Schirm.
Viel Spaß und gute Erholung und Hals und Beinbruch. Sagt man das in Springerkreisen?

Wie ist den aktuell dein Stand mit den Fehler etc?
Hab aktuell noch eine Version hochgeladen, da muessten die Fehler weg sein.

Blue Skies sagt man.:smiley: