Archivkontrolle

Läuft !
Super, Danke dafür !
lueralba

Und auch der hier ist weg:

Reaggregieren unter RasPi fehlerhaft ?

@paresy:

Die Funktion zum Reaggregieren ist zur Zeit eher schlecht als recht Ich würde auf die Werte die dort raus kommen nicht so sehr vertrauen

paresy

Kann es sein, das ich den Ergebnissen immer noch nicht trauen sollte ?
Ich habe da komische, aber gleichmäßige Abweichungen einer Variable zwischen Tag und Woche/Monat (Faktor +2)

Total geil nun noch ab in eine Datei und gut ist :slight_smile:

Auch hier, alles gut.
Ich lasse den Fehlerabfang in meinem Skript aber erst mal drin.

Hat irgendwer noch das Problem, dass im Archiv Variablen auftauchen, die eigentlich nicht geloggt sind

Yep bei mir auch, jede Menge, aber nicht alle. Und löschen klappt auch nicht immer.

Gruß
Klaus

@paresy

Hat irgendwer noch das Problem, dass im Archiv Variablen auftauchen, die eigentlich nicht geloggt sind?

paresy
Ja, kann ich bestätigen !

Besteht aktuell immer noch!
Integer anlegen, Name, OK -> ist sofort im Archiv !
Und kann man auch nicht löschen !!!

2015-05-06 18_13_03-IP-Symcon Verwaltungskonsole.jpg

Aktiviert man „erweiterte Daten laden“, erscheinen die nicht geloggten Variablen grau.
Aktiviert man dann das „logging“ in der Variable werden sie grün !
Mit Null Datensätzen. Ich habe noch nicht getestet wie sie aussehen (und löschbar sind?) wenn Datensätze enthalten sind

Gruß
lueralba

Ich habe noch (immer) folgende Auffälligkeiten mit der Archivkontrolle/Logging:

  • zur Zeit rund 170 Variablen in der Archivkontrolle, obwohl nur ca. 15 den Haken dafür haben.
  • nach Reboot muss die Aggregation neu angestoßen werden (ist ja bekannt)
  • mein subjektiver Eindruck ist, dass beim Aggregationstyp „Zähler“ die Aggregation auch ohne Reboot häufig wieder neu angeschubst werden muss.

Ich würde mich freuen, wenn es hierzu in den nächsten Versionen ein Update geben könnte :wink:

Ich logge u.a. die Batteriespannung zweier Sensoren. Bei einem davon werden komischerweise keine Daten geloggt, obwohl die Variable im Baum regelmäßig vom Sensor aktualisiert wird (und der Haken natürlich gesetzt ist). Wie kann ich hier vorgehen, um den Fehler einzugrenzen?

Gruß
Peter

Gibt es eigentlich eine Möglichkeit vollautomatisch alle Variablen im Archiv zu entfernen die den Namen „Objekt #… existiert nicht“ haben?

Über längere Zeit habe ich die alten/entfernten Variablen nicht aus dem Archiv gelöscht…jetzt haben sich seitenweise Leichen angehäuft und diese von Hand löschen ist doch seeehr mühselig :frowning:

Hat jemand einen Tipp? :slight_smile:

Danke und Gruß,
Chris

Gibt bestimmt einen AC_Befehl, welcher alle geloggten VariablenIDs auswürft.
Die IDs dann einmal mit IPS_VariableExists prüfen und bei false aus dem AC entfernen.
Kann das aber gerade selber nicht prüfen. Sollte aber funktionieren.
Michael

Die Idee war gut, aber wenn es dafür keinen undokumentierten Befehl gibt, dann wird aus dem Teil mit „alle Archiv-Variablen auslesen“ leider nichts. Auch kann man über die „öffentlichen“ AC Befehle keine Variable aus dem Archiv löschen.

ips_ac-befehle.png

Falls es denn Befehl zum Variable aus Archiv löschen nicht gibt, dann ist das als Funktionswunsch zu verstehen :smiley: Das wäre so oder so praktisch :slight_smile:

Grüße,
Chris

Ist doch alles da :smiley:

Bin inzwischen daheim.

Das hier mal fix gehäkelt… sollte laufen … muss es aber nicht (habe gerade nur ein IPS 4 zu testen gehabt, paßt also auch gut hierher).
Bei einem IPS 3.x, lieber erstmal auf einem nicht produktiven System testen.

$AC_ID =  IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}')[0];
$LoggedVarIDs = AC_GetAggregationVariables($AC_ID,false);
foreach ($LoggedVarIDs as $VarID)
{
	if (!IPS_VariableExists($VarID['VariableID']))
	{
		echo " Variable mit ID ".$VarID['VariableID']." existiert nicht.".PHP_EOL;
		$deleted = AC_DeleteVariableData($AC_ID,$VarID['VariableID'],$VarID['FirstTime'],$VarID['LastTime']);
		if ($deleted !== true)
				echo " Konnte Daten NICHT löschen.".PHP_EOL;
	}
}

Michael

Oh man, wer lesen kann ist klar im Vorteil :smiley: Ich glaub ich sollte heut die Finger vom IPS lassen :smiley:

Aber das probier ich gleich noch aus und werde berichten! Schon mal vielen Dank!!!

-Chris-

Funktioniert PERFEKT! Herzlichen Dank!

Habe es noch minimal „gesprächiger“ gemacht und hier eingepflegt :slight_smile:
IP-Symcon - Wie kann ich… 2.0 - Seite 7

Danke und Grüße,
Chris

Bitte, gern geschehen.
Michael

Schaut mal, was es zufällig neues gibt: AC_DeleteVariableData — IP-Symcon :: Automatisierungssoftware

paresy

Ohja… das war da gestern noch nicht da. Sehr schön :smiley:
Michael

@paresy: Ich wollte ja nicht die geloggten Daten an sich löschen, sondern die komplette verwaiste Variable aus dem Archiv entfernen. Von daher ist das Skript von Nall chan perfekt für meinen Fall :slight_smile: Hab es auch schon durchlaufen lassen und mein Archiv ist wieder „sauber“ :cool:

Den von dir genannten Befehl nutze ich aber ebenfalls, um geloggte Daten (älter als X Wochen/Monate) zu löschen/bereinigen, um mein Archiv zu bereinigen von alten Daten die ich nicht so weit in die Vergangenheit benötige.

Grüße,
Chris

Hallo,

die verwaisten Daten sind jetzt erfolgreich aus dem Archiv verbannt. Was ist mit den nicht geloggten (Datensätze = 0). Die lassen sich noch nicht löschen. Oder habe ich etwas übersehen?

Grüße, Gerhard

Moin Gerhard!

In dem Skript von Nall chan geht es nur darum die Variablen zu löschen, die nicht mehr im IPS existieren, aber noch im Archiv eingetragen sind als „Objekt #12345 existiert nicht“.

Wenn du Objekte im Archiv löschen willst, die 0 Einträge haben, dann sollte das möglich sein, aber könnte ganz schön rechenintensiv werden befürchte ich (je nachdem wie viele geloggte Daten du im Archiv hast). Man müsste von jedem Archiveintrag, über den kompletten Zeitraum in dem IPS läuft, alle geloggten Werte holen, wenn 0, dann 0 :smiley:

>> Aber warum willst du Werte aus dem Archiv löschen mit 0 geloggten Werten? Wichtig wäre dann noch zu prüfen, ob bei diesen Werten die Variablen existieren, wenn ja, dann schauen ob das Logging aktiviert ist oder nicht. Wenn nicht, dann könnte man die löschen.
…für solche Fälle, wo man das Logging mal eingeschaltet hat und dann wieder ausgeschaltet hat, aber die Variablen noch im IPS existieren?! Dann würde ich eher allgemein prüfen, ob eine Variable im Archiv existiert und dann prüfen, ob das Logging bei der jeweiligen Variable eingeschaltet ist, geht einfacher und schneller…

Grüße,
Chris

Hallo Chris,

das mit den nicht mehr existierenden Variablen, die noch im Archiv rumhängen, habe ich schon verstanden.

Mir geht es um existierende Variablen, die nicht geloggt werden, aber trotzdem mit Datensatz 0 im Archoiv stehen. Diese lassen sich (noch) nicht löschen. War nicht ganz euer Thema, passt aber zu Archivkontrolle.
Die Frage geht also eher an Paresy.

Grüße, Gerhard