Archivumbau zur 5.5

Hallo Niels,
bei mir läuft es auf Ubuntu. Da ich aber erst letzte Woche vom Raspberry auf eine VM mit Ubuntu umgestiegen bin, kann ich dir sagen, dass der Fehler bei beiden Systemen auftritt.
Gruß

Ich bin mir ziemlich sicher das es alle Stufen betrifft!

bei mir RaspPi ist es auch!

Habe gestern Update gefahren und heute gesehen das wieder die Null-Werte da waren! Scheint also wirklich mit Restart zusammenzuhängen!

Beobachte weiter

Heiko

Hallo,

einige meiner Variablen werden aktuell nicht geloggt, haben aber bereits Werte. Sie können nicht (mehr) betrachtet werden, das sollte aber möchlich sein. Die Fehlermeldung
archiv.JPG
ist auf jeden Fall in mehrerlei Hinsicht falsch. Das Datum der letzten Änderung dürfte dann auch nicht ‚NIE‘ sein.

Grüße, Gerhard

Das wäre auch ein Fehler. Wenn es Werte gibt, sollten diese betrachtet werden können. Ich kann das bei mir auch nicht nachstellen. Nur wenn die Variable gar nicht mehr existiert können die Werte nicht mehr angeschaut werden. Bist du auch auf der aktuellen Version? Ich hatte da vor einiger Zeit für Variablen, die nicht mehr geloggt werden, angepasst. Wenn ja, kannst du mir die Archivdaten einer betroffenen Variable schicken?

Ich schicke die Daten.
Version: IP-Symcon 5.5, Raspberry Pi, 15.10.2020, e7d6ee85b48e

Grüße, Gerhard

Hallo,

habe gerade auch ein Update gemacht.
Es waren wieder ein Paar Graphen davon betroffen, hab kein reagg gemacht.
Aber IPS paar mal beendet und wieder gestartet, es war dann weg ohne reagg gemacht zu haben.
Wie es aussieht habe ich die unten genannte Variable noch nicht entdeckt gehabt.

Edit:
Ab und an nach einem Neustart reist eine Variable doch raus.
Dieser Ausreiser ist bei mir am 27 Juli um 3.00 morgens.

Dies kommt bei CSV wenn man bei der Variable und deren Grafik ist:

Hinweis: Um Daten per Copy&Paste nach Excel zu übertragen verwenden Sie bitte STRG + ALT + V und wählen Text als Quelle aus

Name: Ersparnis Stromkosten (ID: 30400)
Aggregation: Monat
Start: 1.1.2020 00:00:00
Ende: 15.10.2020 21:58:53

TimeStamp;Avg;MinTime;Min;MaxTime;Max
1.10.2020 00:00:00;24,84;15.10.2020 21:16:01;0,00;9.10.2020 12:10:00;0,37
1.9.2020 00:00:00;45,16;1.9.2020 19:46:00;0,00;10.9.2020 11:34:00;0,14
1.8.2020 00:00:00;42,10;2.8.2020 06:58:00;0,00;21.8.2020 17:48:00;0,05
1.7.2020 00:00:00;2223,24;1.7.2020 05:32:00;0,00;27.7.2020 03:18:00;2175,66
1.6.2020 00:00:00;39,46;11.6.2020 14:30:00;0,00;2.6.2020 14:30:00;0,04
1.5.2020 00:00:00;39,07;11.5.2020 15:36:00;0,00;15.5.2020 14:32:00;0,04
1.4.2020 00:00:00;37,48;4.4.2020 19:00:00;0,00;7.4.2020 15:40:00;0,36
1.3.2020 00:00:00;34,52;13.3.2020 13:24:00;0,00;24.3.2020 15:44:00;0,05
1.2.2020 00:00:00;21,20;16.2.2020 17:30:00;0,00;12.2.2020 12:14:00;0,04
1.1.2020 00:00:00;15,38;18.1.2020 08:12:05;0,00;17.1.2020 12:18:00;0,03

Und:

Hinweis: Um Daten per Copy&Paste nach Excel zu übertragen verwenden Sie bitte STRG + ALT + V und wählen Text als Quelle aus

Name: Ersparnis Stromkosten (ID: 30400)
Aggregation: Tag
Start: 1.7.2020 00:00:00
Ende: 1.8.2020 00:00:00

TimeStamp;Avg;MinTime;Min;MaxTime;Max
1.8.2020 00:00:00;1,30;1.8.2020 21:06:00;0,00;1.8.2020 09:56:00;0,02
31.7.2020 00:00:00;1,58;31.7.2020 21:10:00;0,00;31.7.2020 13:24:00;0,04
30.7.2020 00:00:00;1,56;30.7.2020 21:10:00;0,00;30.7.2020 18:08:00;0,03
29.7.2020 00:00:00;1,52;29.7.2020 21:14:00;0,00;29.7.2020 08:48:00;0,02
28.7.2020 00:00:00;1,14;28.7.2020 21:12:00;0,00;28.7.2020 12:44:00;0,01
27.7.2020 00:00:00;2176,89;27.7.2020 21:02:00;0,00;27.7.2020 03:18:00;2175,66
26.7.2020 00:00:00;0,72;26.7.2020 20:58:00;0,00;26.7.2020 09:22:00;0,02
25.7.2020 00:00:00;1,83;25.7.2020 21:10:00;0,00;25.7.2020 12:28:00;0,03
24.7.2020 00:00:00;1,63;24.7.2020 21:16:00;0,00;24.7.2020 14:30:00;0,04
23.7.2020 00:00:00;1,10;23.7.2020 05:52:00;0,00;23.7.2020 09:22:00;0,02
22.7.2020 00:00:00;0,79;22.7.2020 21:18:00;0,00;22.7.2020 16:30:00;0,01
21.7.2020 00:00:00;1,74;21.7.2020 21:26:00;0,00;21.7.2020 17:48:00;0,02
20.7.2020 00:00:00;1,07;20.7.2020 21:28:00;0,00;20.7.2020 07:48:00;0,01
19.7.2020 00:00:00;3,47;19.7.2020 21:26:00;0,00;19.7.2020 11:10:00;0,35
18.7.2020 00:00:00;7,85;18.7.2020 05:42:00;0,00;18.7.2020 19:42:00;0,21
17.7.2020 00:00:00;1,29;17.7.2020 21:22:00;0,00;17.7.2020 09:22:00;0,02
16.7.2020 00:00:00;1,44;16.7.2020 21:28:00;0,00;16.7.2020 16:42:00;0,03
15.7.2020 00:00:00;1,17;15.7.2020 21:18:00;0,00;15.7.2020 11:56:00;0,02
14.7.2020 00:00:00;1,03;14.7.2020 20:48:00;0,00;14.7.2020 16:10:00;0,02
13.7.2020 00:00:00;1,05;13.7.2020 21:28:00;0,00;13.7.2020 09:06:00;0,01
12.7.2020 00:00:00;1,41;12.7.2020 21:32:00;0,00;12.7.2020 12:30:00;0,03
11.7.2020 00:00:00;1,26;11.7.2020 21:30:00;0,00;11.7.2020 11:04:00;0,05
10.7.2020 00:00:00;1,25;10.7.2020 06:08:00;0,00;10.7.2020 13:34:00;0,02
9.7.2020 00:00:00;1,30;9.7.2020 21:20:00;0,00;9.7.2020 14:30:00;0,02
8.7.2020 00:00:00;1,04;8.7.2020 21:16:00;0,00;8.7.2020 10:38:00;0,01
7.7.2020 00:00:00;1,07;7.7.2020 21:22:00;0,00;7.7.2020 08:48:00;0,02
6.7.2020 00:00:00;1,20;6.7.2020 21:36:00;0,00;6.7.2020 17:38:00;0,02
5.7.2020 00:00:00;1,26;5.7.2020 06:16:00;0,00;5.7.2020 13:46:00;0,02
4.7.2020 00:00:00;1,04;4.7.2020 21:22:00;0,00;4.7.2020 09:32:00;0,02
3.7.2020 00:00:00;1,55;3.7.2020 21:38:00;0,00;3.7.2020 15:02:00;0,04
2.7.2020 00:00:00;0,99;2.7.2020 05:34:00;0,00;2.7.2020 09:02:00;0,01
1.7.2020 00:00:00;1,02;1.7.2020 05:32:00;0,00;1.7.2020 12:52:00;0,02

Und bei 2 Graphen wenn ich auf Tag gehe schreibt es mir: Invalid Timestamp because seconds are not 0
Nach erneuten neustart des IPS zeigt er aber bei den Graphen wieder den Tag

Gruß

@GerhardBS: Die Daten sind angekommen. Ich finde darin aber leider keine ungewöhnlich aussehenden Spitzen. Wo sollten diese denn stecken?

@power dodge: Ich würde mir das gerne genauer anschauen bräuchte aber die ganzen oben beschriebenen Daten dazu. So kann ich leider nur das Symptom sehen, aber leider nicht nach der Ursache suchen.

Moin,

gut werde mal später danach schauen. Hoffe kriege das hin.

Gruß

Hatte auch das Problem mit Daten die berechnet werden.

Eine Var schreibt die kW/h von einem ShellyEM mit, nach einem Neustart von IPS wird der Wert ins Archiv geschrieben.

Wenn danach mein Skript zur Berechnung startet(wird minütlich auggerufen), hatte ich Ausreißer drin, und zwar genau den Wert der in der Var aktuell geschrieben wurde. zb Werte im Archiv.

08:20:10 48,6027 kWh
08:13:07 48,6026 kWh ( Da war der Neustart von IPS, und ohne vergleich war die Berechnung dann falsch)
06:58:43 48,6026 kWh

Habe das Skript angepasst, wenn Wert = berechnetem Wert ist, nix machen.

<?php
################################################################################
# Scriptbezeichnung: HM.Consumption.ips.php
# Version:    1.0
# Author:    Heiko Wilknitz
#
# Auswertung und Hochrechnung des Stromverbrauches
# geändert Thomas Schnittcher, nur für meine PV Erzeugung 
#
# ----------------------------- Konfigruration ---------------------------------
#
# Anzahl Nachkommastellen bei Ergebnissen
$roundTo=4;                //Anzahl Nachkommastellen bei Ergebnissen 
#
# ----------------------------------- ID´s -------------------------------------
#
#ID vom Dummy Modul Berechnung
$parentID = IPS_GetObject($_IPS['SELF']); 
//var_dump($parentID);
$parentID = $parentID['ParentID']; 
//var_dump($parentID);
#ID vom Shelly Modul
$parentID1 = IPS_GetObject($parentID); 
//var_dump($parentID1);
$parentID1 = $parentID1['ParentID']; 

//var_dump($parentID1);
# ID des ArchiveHandler ermitteln 
$instances = IPS_GetInstanceListByModuleID('{43192F0B-135B-4CE7-A0A7-1475603F3060}'); 
$archiveID = $instances[0]; 
# Shelly Zähler 
$valueID = IPS_GetObjectIDByIdent("Shelly_TotalReturned1", $parentID1); 
//AC_ReAggregateVariable($archiveID, $valueID);
#
################################################################################
// Variablen anlegen bzw. auslesen
$lastDayID      = CreateVariableByName($parentID, 'Erzeugt Gestern'); 
$currDayID      = CreateVariableByName($parentID, 'Erzeugt Heute'); 
$currMonthID    = CreateVariableByName($parentID, 'Erzeugt aktueller Monat');
$lastMonthID    = CreateVariableByName($parentID, 'Erzeugt letzter Monat');
// ------------------------- AKTUELL WERTE -------------------------------------
$tmp = GetValue($valueID);
//var_dump($tmp );

$data = AC_GetAggregatedValues($archiveID, $valueID, 1 /* Stündlich */, strtotime("today"), strtotime("now"), 0);
$dataDay = CalcTag($data);
//var_dump($currDayID, $dataDay );
if($tmp== $dataDay) { 
// nix machen.....
} else  {
    // HEUTE
    SetValueFloat($currDayID, $dataDay);
    // MONAT
    $data = AC_GetAggregatedValues($archiveID, $valueID, 3 /* Monatlich */, strtotime("first day of this month 00:00"), strtotime("now"), 0);
    $dataMonth = CalcTag($data);
    //var_dump($currMonthID, $dataMonth );
    SetValueFloat($currMonthID, $dataMonth); 

    // -------------------------- LETZTE WERTE -------------------------------------
    // GESTERN

    $data = AC_GetAggregatedValues($archiveID, $valueID, 1 /* Täglich */, strtotime("yesterday"), strtotime("today")-1, 0);  
     //var_dump($data );
    SetValueFloat($lastDayID, CalcTag($data));

    // LETZTER MONAT
    $data = AC_GetAggregatedValues($archiveID, $valueID, 3 /* Monatlich */, strtotime("first day of last month 00:00:00"), strtotime("last day of last month 23:59:59"), 0);  
    //var_dump($data );
    SetValueFloat($lastMonthID, CalcTag($data));
}
// Funktion zum berechnen der Zählerwerte 
function CalcTag($values) 
{
global $roundTo;
    $tag = 0;
    foreach($values as $value) {
        //var_dump($values );
        $tag = $value['Max'] - $value['Min'];
 //       var_dump($tag );
    }
    return round($tag, $roundTo);
}     

// Variablen erstellen falls nicht vorhanden und ID entsprechend zuordnen 
function CreateVariableByName($id, $name) 
{ 
    $vid = @IPS_GetVariableIDByName($name, $id); 
    if($vid === false) { 
        $vid = IPS_CreateVariable(2); 
        IPS_SetParent($vid, $id); 
        IPS_SetName($vid, $name); 
    } 
    return $vid; 
}
 
// Eine Funktion um ein Script im Script-Verzeichnis zu erzeugen 
// erstellt von hirschbrat, angepasst wgreipl 
function CreateScriptByName($scriptName, $parentId) 
{ 
    $scriptID = @IPS_GetScriptIDByName($scriptName, $parentId); 
    if ($scriptID == 0){ 
        $scriptID = IPS_CreateScript(0); 
        IPS_SetName($scriptID, $scriptName); 
        IPS_SetParent($scriptID, $parentId); 
    } 
    return $scriptID; 
}  

Moin,

die Var die gestern auffällig war, war auch zum berechnen.

Heute aber ohne irgendwas am IPS gemacht zu haben und ohne das was berechnet werden musste,
sind weitere Var dazu gekommen gegen 8,00 Uhr morgens.

Das sind die beiden linken Graphen, es ist auch direkt bei den Variablen auch so.
Die gelbe und die Blau Linien werden nicht berechnet.

Habe bis jetzt noch kein reagg gemacht manuell.

Würde ja gerne die Daten zur Verfügung stellen, finde ich diese im DB Ordner dann 2020 / 10 reicht aus?
Dachte dort werden die .csv sein mit der Variablen Nummer. Ist aber nicht so.

Für Wärmepumpen Verbrauch war wohl gestern ein Fehleintrag, wenn ich da bei den Graphen auf Donnerstag gehe und Tag
auswähle sagt mir folgendes:
ungültige aggr hour für Variable #xxxxx Erwartet xxx gefunden xxx
Die passiert in den Graphen, gehe ich auf die Variable und scheue dort, dann war gestern um 22 Uhr ein ausreiser mit 168 KW
Will man genauer schauen und geht auf Stunde, da sieht man keinen ausreiser

Gruß

Kamen die neuen Ausreißer ohne einen Neustart dazu? Denn bisher wurden Ausreißer ja nur im Zusammenhang mit einem Neustart berichtet.

Die Daten sollten im db-Ordner stecken. Falls du Windows verwendest, denke daran, dass seit einiger Zeit schon deine Nutzerdaten in ProgramData/Symcon gespeichert werden und nicht im IP-Symcon-Programmordner. An Daten bitte wie beschrieben die aktuelle Roh-CSV in 2020/10 und alle Aggregationsdateien aus dem Hauptordner. Falls du vor dem Neustart den Archivordner gesichert hast, bitte auch die gleichen Daten von dort, damit ich das vergleichen kann.

Moin,

ja der Ausreißer ist heute dazu gekommen.
Nur gestern startete ich IPS neu.

Denke sichere ganzen Ordner Symcon vor reagg und danach und versuche diesen Dir frei zu geben. Bin auf der Arbeit gerade.

IPS läuft bei mir auf Qnap.

Gruß

Hi,

Mail ist raus zum Office.
Nach reagg zeigte alles wieder normal, außer eine könnte aber auch ein Fehler in meinem System sein.

Gruß

Moin,

gestern hatte ich reaggregiert und nicht mehr IPS neu gestartet und heute gibt es wieder einen zu hohen Wert gegen 11 Uhr gehe ich in die Stunde rein sieht man dieses Phänomen nicht.

Und in der Stunde sieht man es nicht

Hi,
Typ Zähler scheint auch nicht wie gedacht zu funktionieren. Ich protokolliere 2 Stromverbräuche indem ich Sonntags 2 Werte manuell eintrage. Seit Umstellung steht danach nur der Originalwert und nicht die Differenz im WebFront. Wenn ich reaggrigiere stimmt wieder alles.

Ralf

Hallo,

bei mir exakt derselbe Fehler wie bei HarmonyFan. Er tritt bei mir auch bei Zählerwerten auf. Auf den ersten Blick scheint es wohl alle/ziemlich viele Zählerwerte zu betreffen.
Es scheint aber nur annähernd der Originalwert des Zählers angezeigt zu werden. Beispiel Ertragszähler PV: Zählerwert 9375 kWh; Anzeige im Graphen WF Ansicht Jahr 9526 kWH im Balken, auch laut csv.
Alle anderen Aggregationstufen der Variablen 31798 sind auch fehlerhaft. Da scheint also noch massiv was im Argen zu sein.
Nach einer Reaggregation ist dann alles wieder ok, in allen Aggregationsstufen. Diese Probleme hatte ich mit der 5.4 nicht. Änderungen - außer das Update auf die 5.5 RC1 - gab es in den letzten Tagen nicht.

Nach der Umstellung auf 5.5 RC1 hatte ich alle Variablen einmalig reaggregiert.

Ich habe mal die Daten meiner Variablen 31798 angehängt. Einmal aus dem jetzigen Aktualsystem und einmal aus der Sicherung von heute Nacht 04:35. Ich könnte da auch noch ältere Sicherungen liefern. Aktualwert der Variablen 31798 9.375kWh.

Daten_Aktuell_2020-10-18.zip (50.1 KB)

Daten_Sicherung_2020-10-18.zip (97.5 KB)

Bei mir das gleiche Problem. Hatte es auch hier am Rande thematisiert.

Burkhard

Herzlichen Dank für euer Feedback! Ich bin immer noch auf der Suche, konnte bisher aber leider noch nichts finden. Ich werde wohl zeitnah hier nochmal eine Debug-Version posten, die ein bisschen mehr loggt, wenn da vermeintlich etwas schiefgeht. Vorher aber nochmal ein paar Fragen:

  • Initial hatte ich den Eindruck, dass die aggregierten Werte nur bei einem Neustart kaputt gehen. Mittlerweile klingt es aber eher so, als wenn das auch „einfach so“ passiert. Also: Geht bei euch die Aggregation auch ohne einen Neustart kaputt?
  • Könnt ihr testweise mal bei euren Variablen „Nullen ignorieren“ aktivieren? Hilft das gegen die Fehler?

Besten Dank!
Niels

Also bei mir kann ich es bis jetzt bestätigen das es nur bei Neustart passiert!

Wie, wo was „Nullen ignorieren“ - ich muss mich outen - wo kann man das einstellen?

Danke Heiko

Nullen ignorieren kann man bei Zählern in den Archiveinstellungen aktivieren. Ist mit der 5.5 neu dazugekommen.