CCU-Historian V2.3.1 [zurückgezogen]

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

CCU-Historian V2.3.1 [zurückgezogen]

Beitrag von Mathias » 21.11.2019, 22:08

Wichtiger Hinweis: Diese Version kann eine hohe CPU- und Festplattenlast erzeugen!

Die neue Version ist wie immer auf GitHub zu finden.

Wichtige Hinweise:
  • Wenn eine vorhandene Installation aktualisiert werden soll, so muss der CCU-Historian vorher beendet werden. Beim CCU-Add-On geschieht dies automatisch. Das Beenden kann je nach größe der Datenbank längere Zeit dauern (z.B. 1 Minute).
  • Es sollte ein Backup der vorhandenen Datenbank erstellt werden. Die Datenbankdatei data/history.mv.db kann einfach kopiert werden.
Fehlerbehebungen / Verbesserungen
Wie immer heben Spenden die Motivation für eine stetige Weiterentwicklung.

Gruß
Mathias
Zuletzt geändert von Mathias am 22.12.2019, 22:19, insgesamt 1-mal geändert.

Sussenschueppel
Beiträge: 8
Registriert: 29.08.2012, 10:07

Datenbankgröße hat sich deutlich verringert - Muss ich mir Sorgen machen?

Beitrag von Sussenschueppel » 28.11.2019, 14:57

Hallo zusammen,

letzte Nacht hat sich zum ersten Mal mein CCU-Historian V2.2.2, der auf einer Maschine mit Windows 8 schon seit einigen Jahren läuft, verabschiedet. Der Grund war "The database has been closed [90098-199]", wo auch immer das herkam. Ein Reboot hat keinen Erfolg gebracht. Deswegen habe ich ein Update auf die Version 2.3.1 durchgeführt und der CCU-Historian verrichtet wieder ordentlich seinen Dienst. Soweit ich das erkennen kann auch deutlich schneller als vorher.

Aber: Die Datenbankgröße ist nach dem Start der Version 2.3.1 von vorher mehr als 21 GByte auf bescheidene 6 GByte zusammengeschrumpft. Und jetzt zu meiner Frage: Muss ich mir Sorgen machen, dass evtl. Daten verloren gegangen sein könnten? Ein Blick mit der H2 Console auf die Daten in der Datenbank zeigt zumindest bei den Stichproben keinen Datenverlust an. Kann das mit dem Update der Datenbank im CCU-Historian zu tun haben?

Vielen Dank schonmal vorab für eine Antwort.


Viele Grüße

Sussenschueppel

Sussenschueppel
Beiträge: 8
Registriert: 29.08.2012, 10:07

Nachtrag zur Datenbankgröße

Beitrag von Sussenschueppel » 28.11.2019, 15:53

Hallo zusammen,

hier noch ein kleiner Nachtrag zur Datenbankgröße:

Ich habe mal das Backup des CCU-Historian V2.2.2 mit geänderten Ports als zweite Instanz gestartet und mich über die H2 Console mit der Datenbank verbunden. Dann habe ich die Informationen der vorhandenen Tabellen als CSV expotiert:

Code: Alles auswählen

CALL CSVWRITE('d:/databaseold.csv', 'SELECT * FROM INFORMATION_SCHEMA.TABLES ');
Das gleiche habe ich mit der neuen Datenbank durchgeführt und damit die databasenew.csv erzeugt. Im Anschluss habe ich die Inhalte verglichen und mit ein bisschen Beruhigung festgestellt, dass bis auf geringe Abweichungen, welche darauf zurückzuführen sind, dass die neue Instanz mit dem CCU-Historian V2.3.1 seit dem Update einige Stunde länger Daten eingesammelt hat, keine weiteren Unterschiede zu erkennen sind.

Damit kann ich zwar immer noch nicht sagen, ob die Inhalte tatsächlich identisch sind und nichts verloren gegangen ist, aber zumindest scheint es auf den ersten Blick so zu sein. Ist es möglich, dass sich im Laufe der Zeit 15 GByte Müll in der Datenbank angesammelt haben, der dann mit der neuen Version weggeräumt wurde? Oder bleibt doch das Risiko eines Datenverlusts? Nebenbei: Ich verwende keine der Kompressionsfunktionen des CCU-Historian.


Viele Grüße

Sussenschueppel

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

Re: CCU-Historian V2.3.1

Beitrag von Mathias » 29.11.2019, 08:06

Anscheinend ist die aktualisierte Datenbank doch etwas robuster bei dem Fehler "The database has been closed [90098-199]". Das ist gut.

Hast Du vielleicht viele Zeitreihendaten zwischendurch mal gelöscht. Der Speicherplatz wird nicht sofort freigegeben, sondern immer nur ein Teil beim Beenden des CCU-Historians. Wenn er also durchläuft, wird auch nichts freigegeben.

Für einen Vergleich der Datenbanken ist vielleicht folgendes Skript hilfreich. Es ist über die Skriptoberfläche auszuführen.

Code: Alles auswählen

def total=0
database.dataPoints.sort { dp ->
  dp.displayName
}.each { dp ->
  def cnt=database.getCount(dp, null, null)
  total+=cnt
  println "$dp.displayName; $cnt"
}
println "Gesamt; $total"
Es gibt in der letzten Zeile die Gesamtanzahl aller Zeitreiheneinträge in der Datenbank aus. Und damit kannst Du auch die Anzahl der Einträge pro Datenpunkt kontrollieren.

Kenobi
Beiträge: 98
Registriert: 19.07.2014, 21:15
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: CCU-Historian V2.3.1

Beitrag von Kenobi » 01.12.2019, 12:01

Habe soeben einen Update von V2.3.0 auf V2.3.1 auf Synology versucht.
Der Update hat ziemlich lange gedauert (10 Minuten), lief aber schliesslich unauffällig zu Ende.
Leider funktioniert CCU-Historian nun nicht mehr: Es wird auch kein CCU-Historian Logfile mehr erzeugt.

Beim Update bin ich vorgegangen, wie immer: Historian stoppen, mauelle Installation, Historian starten.
Die Installation auf V2.3.0 vor einigen Tagen klappte so völlig reibungslos.
Aufgrund des fehlenden Logfiles bin ich ziemlich ratlos, wo ich mit der Fehlersuche starten soll.
Eine nochmalige Installation habe ich schon versuch, ohne Erfolg.

Kann mir bitte jemand helfen, was ich noch probieren könnte?
...
Habe das Problem inzwischen selbst lösen können.
Ursache der Störung ist immer noch unbekannt aber nach einem Reboot der Synology
wird das Logfile wieder angelegt und kurze Zeit später ist auch CCU-Historian wieder funktionsfähig.
Zuletzt geändert von Kenobi am 01.12.2019, 17:58, insgesamt 1-mal geändert.

Sussenschueppel
Beiträge: 8
Registriert: 29.08.2012, 10:07

Re: CCU-Historian V2.3.1

Beitrag von Sussenschueppel » 01.12.2019, 12:52

Hallo zusammen,

ich habe das Skript von Mathias auf der neuen und der alten Instanz laufen lassen und die Ergebnisse, die mit der direkten, weiter oben beschriebenen Datenbankabfrage übereinstimmen, sind plausibel. Ich habe auch noch mal Trenddarstellungen über die Lebenszeit meiner ältesten Sensoren generiert, die mittlerweile mehr als sieben Jahre beträgt. Auch die angezeigten Darstellungen lassen den Schluss zu, dass mit der neuen Datenbank alles in Ordnung ist.

Kann es eventuell damit einen Zusammenhang geben, dass ich den CCU-Historian schon seit längerer Zeit nicht mehr mit {STRG]+[C] beenden konnte? Zeitreihen habe ich übrigens bisher nicht gelöscht. Es ist teilweise sehr spannend, was sich aus so einem Datalake alles rausziehen lässt, auch oder gerade nach so vielen Jahren. Ach ja: Die CPU-Last ist nach dem Update auf die V2.3.1 ebenfalls deutlich gesunken. Vor dem Update habe ich schon seit ca. Mai 2018 einen höhere CPU-Last des CCU-Historian feststellen müssen, die einen um ca. 10% höheren Energieverbrauch meines Servers zur Folge hatte.

Unterm Strich macht mich die V2.3.1 sehr glücklich:
  • Die Datenbank ist erheblich keiner geworden
  • Die CPU-Last und damit der Energieverbrauch ist gesunken
  • Datenbankzugriffe laufen erheblich schneller ab.
Daher noch mal ein dickes Lob und vielen Dank an Mathias.


Viele Grüße

Sussenschueppel

pdb7596
Beiträge: 1
Registriert: 03.12.2019, 16:01

Re: CCU-Historian V2.3.1

Beitrag von pdb7596 » 03.12.2019, 16:10

Hallo,
hatte auf meiner CCU3 bisher die Version Historian: 2.1.0. Habe heute den Update auf 2.3.1 durchgeführt. Seitdem bekomme ich den Fehler im WEB Browser: Die Website ist nicht erreichbar 192.168.XX.XX hat die Verbindung abgelehnt. ERR_CONNECTION_REFUSED.

Ich habe keine Idee wo es dran liegen kann (habe das Addon auch noch nicht so viel im Gebrauch). Bisher funktionierte es gut.

Danke für die Unterstützung
Rainer

Benutzeravatar
Hoppla
Beiträge: 341
Registriert: 29.12.2018, 19:39
System: Alternative CCU (auf Basis OCCU)
Wohnort: Leipzsch
Hat sich bedankt: 35 Mal
Danksagung erhalten: 12 Mal

Re: CCU-Historian V2.3.1

Beitrag von Hoppla » 06.12.2019, 22:14

Ich versuche CCU-Historian auf der DS 213+ mit der Firmware 6.2.2-24922 Update 2 zu Installieren.
Leider kommt sowohl bei der 2.3.0 als auch bei der 2.3.1 "Ungültiges Dateiformat" beim Start der Installation.

Was läuft hier falsch?
Danke

mawi4de
Beiträge: 147
Registriert: 11.06.2016, 21:53
Danksagung erhalten: 5 Mal

Re: CCU-Historian V2.3.1

Beitrag von mawi4de » 07.12.2019, 11:37

Hallo,

ich habe von der Version 2.2.0-beta4 auf die Version 2.3.1 meine Raspberry upgedatet. Wenn ich Historian starte bekomme ich eine Fehlermeldung das was nicht mit der database stimmt. Ixch habe daruafhin auf die alte Version zurück installiert und bekomme leider weiterhin die gleiche Fehlermeldung. Dummerweise habe ich vor dem Update kein Backup der Datenbank gemacht. Gibt es eine Möglichkeit das ich Historian wieder zum laufn bekommen?
Hier die Fehlerlogdatei

Code: Alles auswählen

2019-12-07 11:28:34|FINE   |Log system configuration:
2019-12-07 11:28:34|FINE   |logSystem.consoleLevel=Level.INFO
2019-12-07 11:28:34|FINE   |logSystem.fileLevel=Level.FINEST
2019-12-07 11:28:34|FINE   |logSystem.fileName='./ccu-historian-%g.log'
2019-12-07 11:28:34|FINE   |logSystem.fileLimit=10000000
2019-12-07 11:28:34|FINE   |logSystem.fileCount=5
2019-12-07 11:28:34|FINE   |logSystem.binRpcLevel=Level.FINER
2019-12-07 11:28:34|INFO   |Starting base services
2019-12-07 11:28:35|INFO   |Connecting to database
2019-12-07 11:28:35|FINE   |database.dir='./data'
2019-12-07 11:28:35|FINE   |database.name='history'
2019-12-07 11:28:35|FINE   |database.user='sa'
2019-12-07 11:28:35|FINE   |database.webEnable=true
2019-12-07 11:28:35|FINE   |database.webPort=8082
2019-12-07 11:28:35|FINE   |database.webAllowOthers=false
2019-12-07 11:28:35|FINE   |database.tcpEnable=false
2019-12-07 11:28:35|FINE   |database.tcpPort=9092
2019-12-07 11:28:35|FINE   |database.tcpAllowOthers=false
2019-12-07 11:28:35|FINE   |database.pgEnable=false
2019-12-07 11:28:35|FINE   |database.pgPort=5435
2019-12-07 11:28:35|FINE   |database.pgAllowOthers=false
2019-12-07 11:28:35|FINE   |database.backup=''
2019-12-07 11:28:40|SEVERE |Exception: Row {1} not found in primary index "PUBLIC.SYS_DATA: 8121" [90143-197]
2019-12-07 11:28:40|SEVERE |Detail: org.h2.jdbc.JdbcSQLException: Row {1} not found in primary index "PUBLIC.SYS_DATA: 8121" [90143-197]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.message.DbException.get(DbException.java:155)
	at org.h2.mvstore.db.MVPrimaryIndex.getRow(MVPrimaryIndex.java:202)
	at org.h2.mvstore.db.MVTable.getRow(MVTable.java:492)
	at org.h2.mvstore.db.MVSecondaryIndex$MVStoreCursor.get(MVSecondaryIndex.java:493)
	at org.h2.engine.Database.open(Database.java:768)
	at org.h2.engine.Database.openDatabase(Database.java:286)
	at org.h2.engine.Database.<init>(Database.java:280)
	at org.h2.engine.Engine.openSession(Engine.java:66)
	at org.h2.engine.Engine.openSession(Engine.java:179)
	at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
	at org.h2.engine.Engine.createSession(Engine.java:140)
	at org.h2.engine.Engine.createSession(Engine.java:28)
	at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124)
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:103)
	at org.h2.Driver.connect(Driver.java:69)
	at mdz.ccuhistorian.Database.<init>(Database.groovy:72)
	at mdz.ccuhistorian.DatabaseSystem.<init>(DatabaseSystem.groovy:33)
	at mdz.ccuhistorian.HistorianSystem.<init>(HistorianSystem.groovy:34)
	at mdz.ccuhistorian.Main.start(Main.groovy:102)
	at mdz.ccuhistorian.Main.access$0(Main.groovy)
	at mdz.ccuhistorian.Main$_run_closure4.doCall(Main.groovy:79)
	at mdz.ccuhistorian.Main$_run_closure4.call(Main.groovy)
	at mdz.Exceptions.lambda$0(Exceptions.java:84)
	at mdz.Exceptions.catchToLog(Exceptions.java:74)
	at mdz.Exceptions.catchToLog(Exceptions.java:84)
	at mdz.ccuhistorian.Main.run(Main.groovy:79)
	at mdz.ccuhistorian.Main.main(Main.groovy:47)
2019-12-07 11:28:40|FINEST |Sleeping
2019-12-07 11:29:10|FINE   |Reading configuration file ccu-historian.config
2019-12-07 11:29:11|FINE   |Log system configuration:
2019-12-07 11:29:11|FINE   |logSystem.consoleLevel=Level.INFO
2019-12-07 11:29:11|FINE   |logSystem.fileLevel=Level.FINEST
2019-12-07 11:29:11|FINE   |logSystem.fileName='./ccu-historian-%g.log'
2019-12-07 11:29:11|FINE   |logSystem.fileLimit=10000000
2019-12-07 11:29:11|FINE   |logSystem.fileCount=5
2019-12-07 11:29:11|FINE   |logSystem.binRpcLevel=Level.FINER
2019-12-07 11:29:11|INFO   |Starting base services
2019-12-07 11:29:11|INFO   |Connecting to database
2019-12-07 11:29:11|FINE   |database.dir='./data'
2019-12-07 11:29:11|FINE   |database.name='history'
2019-12-07 11:29:11|FINE   |database.user='sa'
2019-12-07 11:29:11|FINE   |database.webEnable=true
2019-12-07 11:29:11|FINE   |database.webPort=8082
2019-12-07 11:29:11|FINE   |database.webAllowOthers=false
2019-12-07 11:29:11|FINE   |database.tcpEnable=false
2019-12-07 11:29:11|FINE   |database.tcpPort=9092
2019-12-07 11:29:11|FINE   |database.tcpAllowOthers=false
2019-12-07 11:29:11|FINE   |database.pgEnable=false
2019-12-07 11:29:11|FINE   |database.pgPort=5435
2019-12-07 11:29:11|FINE   |database.pgAllowOthers=false
2019-12-07 11:29:11|FINE   |database.backup=''
2019-12-07 11:29:15|SEVERE |Exception: Row {1} not found in primary index "PUBLIC.SYS_DATA: 8121" [90143-197]
2019-12-07 11:29:15|SEVERE |Detail: org.h2.jdbc.JdbcSQLException: Row {1} not found in primary index "PUBLIC.SYS_DATA: 8121" [90143-197]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
	at org.h2.message.DbException.get(DbException.java:179)
	at org.h2.message.DbException.get(DbException.java:155)
	at org.h2.mvstore.db.MVPrimaryIndex.getRow(MVPrimaryIndex.java:202)
	at org.h2.mvstore.db.MVTable.getRow(MVTable.java:492)
	at org.h2.mvstore.db.MVSecondaryIndex$MVStoreCursor.get(MVSecondaryIndex.java:493)
	at org.h2.engine.Database.open(Database.java:768)
	at org.h2.engine.Database.openDatabase(Database.java:286)
	at org.h2.engine.Database.<init>(Database.java:280)
	at org.h2.engine.Engine.openSession(Engine.java:66)
	at org.h2.engine.Engine.openSession(Engine.java:179)
	at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
	at org.h2.engine.Engine.createSession(Engine.java:140)
	at org.h2.engine.Engine.createSession(Engine.java:28)
	at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124)
	at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:103)
	at org.h2.Driver.connect(Driver.java:69)
	at mdz.ccuhistorian.Database.<init>(Database.groovy:72)
	at mdz.ccuhistorian.DatabaseSystem.<init>(DatabaseSystem.groovy:33)
	at mdz.ccuhistorian.HistorianSystem.<init>(HistorianSystem.groovy:34)
	at mdz.ccuhistorian.Main.start(Main.groovy:102)
	at mdz.ccuhistorian.Main.access$0(Main.groovy)
	at mdz.ccuhistorian.Main$_run_closure4.doCall(Main.groovy:79)
	at mdz.ccuhistorian.Main$_run_closure4.call(Main.groovy)
	at mdz.Exceptions.lambda$0(Exceptions.java:84)
	at mdz.Exceptions.catchToLog(Exceptions.java:74)
	at mdz.Exceptions.catchToLog(Exceptions.java:84)
	at mdz.ccuhistorian.Main.run(Main.groovy:79)
	at mdz.ccuhistorian.Main.main(Main.groovy:47)
2019-12-07 11:29:15|FINEST |Sleeping

Mathias
Beiträge: 1794
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 261 Mal
Kontaktdaten:

Re: CCU-Historian V2.3.1

Beitrag von Mathias » 07.12.2019, 22:16

Hoppla hat geschrieben:
06.12.2019, 22:14
Ich versuche CCU-Historian auf der DS 213+ mit der Firmware 6.2.2-24922 Update 2 zu Installieren.
Leider kommt sowohl bei der 2.3.0 als auch bei der 2.3.1 "Ungültiges Dateiformat" beim Start der Installation.
Das müsste sich mal jemand mit einem Synology-NAS anschauen, da ich selber keins besitze. Der Ersteller vom Synology-Paket ist auch momentan nicht greifbar.

Antworten

Zurück zu „CCU-Historian“