CCU-Historian@Synology

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

HMNutzer
Beiträge: 708
Registriert: 24.10.2016, 17:18
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 150 Mal
Danksagung erhalten: 22 Mal

Re: CCU-Historian@Synology

Beitrag von HMNutzer » 16.02.2018, 18:38

Servus,

ich habe endlich rausgefunden, wie ich an das log komme:

Code: Alles auswählen

2018-02-16 18:24:03|INFO   |CCU-Historian V1.2.0
2018-02-16 18:24:03|INFO   |(C)MDZ (info@ccu-historian.de)
2018-02-16 18:24:04|INFO   |Starting base services
2018-02-16 18:24:05|INFO   |Connecting to database
2018-02-16 18:24:18|INFO   |Starting database web server
2018-02-16 18:24:19|INFO   |Setting up device 1
2018-02-16 18:24:19|INFO   |Creating HM script client for http://192.168.90.97:8181/tclrega.exe
2018-02-16 18:24:19|INFO   |Setting up plug-in 1
2018-02-16 18:24:19|INFO   |Configured following interfaces: BidCos-RF, HmIP-RF, SysVar, CUxD
2018-02-16 18:24:19|INFO   |Starting interfaces
2018-02-16 18:24:19|INFO   |Starting BIN-RPC server on port 2099
2018-02-16 18:24:19|INFO   |Starting XML-RPC server on port 2098
2018-02-16 18:24:19|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:24:20|INFO   |Connecting to 192.168.90.97:8701
2018-02-16 18:24:20|INFO   |Starting historian
2018-02-16 18:24:20|INFO   |Starting web server
2018-02-16 18:24:21|INFO   |Web server port: 8080
2018-02-16 18:24:50|WARNING|Device BidCos-RF.FEQ0094601:0.CONFIG_PENDING does not exist
2018-02-16 18:24:50|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:24:50|WARNING|Device BidCos-RF.HEQ0400057.CONNECTED does not exist
2018-02-16 18:24:51|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:24:51|WARNING|Device BidCos-RF.HEQ0400057.DUTY_CYCLE does not exist
2018-02-16 18:24:51|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:24:51|WARNING|Device BidCos-RF.JEQ0314985.CONNECTED does not exist
2018-02-16 18:24:51|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:24:51|WARNING|Device BidCos-RF.JEQ0314985.DUTY_CYCLE does not exist
2018-02-16 18:24:51|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:24:51|WARNING|Device BidCos-RF.OEQ0310319.DUTY_CYCLE does not exist
2018-02-16 18:24:51|INFO   |Connecting to 192.168.90.97:2001
2018-02-16 18:27:17|WARNING|Failed to execute: SELECT TS, VALUE, STATE FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS WHERE TS=(SELECT MAX(TS) FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS) because: Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 0"
General error: "java.lang.ArrayIndexOutOfBoundsException: 0"; SQL statement:
SELECT TS, VALUE, STATE FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS WHERE TS=(SELECT MAX(TS) FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS) [50000-196]
2018-02-16 18:27:17|WARNING|Failed to execute: SELECT TS, VALUE, STATE FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS WHERE TS=(SELECT MAX(TS) FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS) because: Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 0"
General error: "java.lang.ArrayIndexOutOfBoundsException: 0"; SQL statement:
SELECT TS, VALUE, STATE FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS WHERE TS=(SELECT MAX(TS) FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS) [50000-196]
2018-02-16 18:27:17|SEVERE |Exception: Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 0"
General error: "java.lang.ArrayIndexOutOfBoundsException: 0"; SQL statement:
SELECT TS, VALUE, STATE FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS WHERE TS=(SELECT MAX(TS) FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS) [50000-196]
2018-02-16 18:27:17|SEVERE |Detail: org.h2.jdbc.JdbcSQLException: Allgemeiner Fehler: "java.lang.ArrayIndexOutOfBoundsException: 0"
General error: "java.lang.ArrayIndexOutOfBoundsException: 0"; SQL statement:
SELECT TS, VALUE, STATE FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS WHERE TS=(SELECT MAX(TS) FROM D_BIDCOS_RF_KEQ0123275_14_LED_STATUS) [50000-196]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
	at org.h2.message.DbException.get(DbException.java:168)
	at org.h2.message.DbException.convert(DbException.java:295)
	at org.h2.command.Command.executeQuery(Command.java:215)
	at org.h2.jdbc.JdbcStatement.executeQuery(JdbcStatement.java:80)
	at mdz.ccuhistorian.Database.getLast(Database.groovy:160)
	at mdz.ccuhistorian.ExtendedStorage.getLast(ExtendedStorage.groovy:97)
	at mdz.hc.persistence.HistoryStorage$getLast.call(Unknown Source)
	at SimpleTemplateScript1$_run_closure1$_closure3.doCall(SimpleTemplateScript1.groovy:60)
	at SimpleTemplateScript1$_run_closure1.doCall(SimpleTemplateScript1.groovy:59)
	at SimpleTemplateScript1$_run_closure1.doCall(SimpleTemplateScript1.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.WebUtilities.catchToLog(WebUtilities.groovy:145)
	at mdz.ccuhistorian.WebUtilities$catchToLog.call(Unknown Source)
	at SimpleTemplateScript1.run(SimpleTemplateScript1.groovy:10)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:475)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:929)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:285)
	at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:116)
	at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:532)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:534)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1351)
	at org.eclipse.jetty.servlets.CrossOriginFilter.handle(CrossOriginFilter.java:186)
	at org.eclipse.jetty.servlets.CrossOriginFilter.doFilter(CrossOriginFilter.java:158)
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1322)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:473)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:516)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:929)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:403)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:184)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:864)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114)
	at org.eclipse.jetty.server.Server.handle(Server.java:352)
	at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596)
	at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1051)
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:590)
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:212)
	at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:508)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34)
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:451)
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
	at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:330)
	at org.h2.index.PageDataLeaf.getRowWithKey(PageDataLeaf.java:453)
	at org.h2.index.PageDataNode.getRowWithKey(PageDataNode.java:280)
	at org.h2.index.PageDataIndex.getRowWithKey(PageDataIndex.java:426)
	at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:415)
	at org.h2.table.RegularTable.getRow(RegularTable.java:106)
	at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:303)
	at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:45)
	at org.h2.index.MultiVersionCursor.get(MultiVersionCursor.java:82)
	at org.h2.index.IndexCursor.get(IndexCursor.java:288)
	at org.h2.table.TableFilter.getValue(TableFilter.java:1087)
	at org.h2.expression.ExpressionColumn.getValue(ExpressionColumn.java:186)
	at org.h2.command.dml.Select$LazyResultQueryFlat.fetchNextRow(Select.java:1459)
	at org.h2.result.LazyResult.hasNext(LazyResult.java:79)
	at org.h2.result.LazyResult.next(LazyResult.java:59)
	at org.h2.command.dml.Select.queryFlat(Select.java:519)
	at org.h2.command.dml.Select.queryWithoutCache(Select.java:625)
	at org.h2.command.dml.Query.queryWithoutCacheLazyCheck(Query.java:114)
	at org.h2.command.dml.Query.query(Query.java:371)
	at org.h2.command.dml.Query.query(Query.java:333)
	at org.h2.command.CommandContainer.query(CommandContainer.java:113)
	at org.h2.command.Command.executeQuery(Command.java:201)
	... 51 more
Kann sich das bitte einer der Profis anschauen und mir erklären, was da seit dem Update schief läuft?
Vielen Dank im Voraus!
Viele Grüße

Martin

RaspberryMatic auf ESXi 7 mit RPI-RF-MOD/HB-RF-ETH. Div. HM und HMIP Funkkomponenten im Holzständerhaus

HMNutzer
Beiträge: 708
Registriert: 24.10.2016, 17:18
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 150 Mal
Danksagung erhalten: 22 Mal

Re: CCU-Historian@Synology

Beitrag von HMNutzer » 17.02.2018, 18:28

Servus,

über die Infos aus einem anderen Thread hier habe ich versucht, das DB Upgrade auszuführen. Da die dort genannte Sicherung nicht geklappt hat, habe ich den Ordner /data wegkopiert und das Update neu installiert. Jetzt funktioniert der CCU-Historian wieder; d.h. ich habe wieder die verlorengegangen Auswahl. Leider sind die bisherigen Daten weg. Falls mir jemand helfen kann, diese wieder zu importieren freue ich mich für jede Hilfe.
Viele Grüße

Martin

RaspberryMatic auf ESXi 7 mit RPI-RF-MOD/HB-RF-ETH. Div. HM und HMIP Funkkomponenten im Holzständerhaus

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: CCU-Historian@Synology

Beitrag von NickHM » 18.02.2018, 14:28

Guten Abend

hast Du die alte Datenbank noch?
Wenn die sehr groß ist, kann der Export sehr lange dauern. Was hat denn nicht funktioniert?

Ich musste meine alte Datenbank vom RasPi auf einen Windows PC kopieren und dort den SQL Export machen. Nach 15...90 min war das dann erledigt. Danach habe ich gleich noch die Datenbank komprimiert. Dann die neue kleine DB auf den Raspi und dort mit der aktuellen Historian Vers benutzt.

HMNutzer
Beiträge: 708
Registriert: 24.10.2016, 17:18
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 150 Mal
Danksagung erhalten: 22 Mal

Re: CCU-Historian@Synology

Beitrag von HMNutzer » 18.02.2018, 15:39

Servus,

ja, die habe ich noch. Ich vermute, dass mein Fehler darin lag, von der Version 1.0.0 (vermutlich) auf die 1.2.0 geupdatet zu haben, ohne vorher die DB geupgradet zu haben. Wenn ich mit der Version 1.2.0 dieses Upgrade lt. der Anleitung aus dem Thread hier versuche kommt der angehängte Fehler.
Fehler Backup.PNG
Ein Downgrade auf die 1.0.0 ist fehlgeschlagen (habe die DAU Anleitung nicht gefunden ;-) )
Mal schauen, ob ich die Tage nochmals Zeit finde oder auf die historuischen Daten verzichte und das Ganze unter Lehrgeld ablege.
Viele Grüße

Martin

RaspberryMatic auf ESXi 7 mit RPI-RF-MOD/HB-RF-ETH. Div. HM und HMIP Funkkomponenten im Holzständerhaus

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

Re: CCU-Historian@Synology

Beitrag von Mathias » 18.02.2018, 20:07

Wichtig: Das Backup muss mit der V1.1.0 erstellt und dann mit der V1.2.0 wiederhergestellt werden.

Gruß
Mathias

HMNutzer
Beiträge: 708
Registriert: 24.10.2016, 17:18
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 150 Mal
Danksagung erhalten: 22 Mal

Re: CCU-Historian@Synology

Beitrag von HMNutzer » 19.02.2018, 12:29

Servus Matthias,

zu spät ;-)

Knnst Du bitte mit den Mods/Admins einen Thread erstellen, der wie bei Jens Maus immer am Anfang bleibt und dort diese wichtigen Hinweise drinstehen?
Wäre Klasse.
Ansonsten finde ich den Historian echt klasse. Danke dafür!
Viele Grüße

Martin

RaspberryMatic auf ESXi 7 mit RPI-RF-MOD/HB-RF-ETH. Div. HM und HMIP Funkkomponenten im Holzständerhaus

keoni333
Beiträge: 10
Registriert: 17.12.2014, 22:47

Re: CCU-Historian@Synology

Beitrag von keoni333 » 11.03.2018, 14:02

Hallo,
super Sache. Ich hatte zwar einige Anläufe bis ich den Historian am Laufen hatte, aber es hat geklappt. Mein Problem: Ich kann keine Änderung der config vornehmen. Es kommt immer permission denied. Kann mir jemand auf die Sprünge helfen?
Grüße
Ingo

Die_Natter
Beiträge: 6
Registriert: 26.08.2015, 12:05

Re: CCU-Historian@Synology

Beitrag von Die_Natter » 21.03.2018, 11:01

Hallo,

ich habe die Software auf der Synologie installiert.
Läuft soweit, alles perfekt.

Zu meinem Thema:

Ich wollte weg von der CCU2 hin zu Raspberry PI3.
Der Umzug funktioniert, bis auf die historischen Daten der Diagramme.

Diese liegen auf der Speicherkarte der CCU, ich kann sie in der CCU darstellen und auch exportieren.

Da ich offensichtlich nicht die Daten in den PI bekomme war die Idee diese über diese Software eleganter dargestellt zu bekommen.

Offensichtlich werden aber nicht die historischen Daten ausgelesen, oder ich bin zu blöd dazu.

Zwei Fragen:

Kann man die historischen Daten auf dem Server einspielen über der CSV Export aus der CCU?
Wie list der Server die historischen Daten selbsttägig aus?
Und wenn ich den Wechsel auf den PI vollziehe, muss dann im Server etwas umgestellt werden? Eigentlich nicht, da ja wie eine 1:1 Kopie?

Vielleicht kann mir ja hier jemand helfen dazu.
Wäre schade wennd ie alten Daten nicht mehr nutzbar wären....

Gruß

Klaus

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: CCU-Historian@Synology

Beitrag von NickHM » 21.03.2018, 11:51

Guten morgen

Du sprichst von den Diagrammen die CCU intern erzeugt werden? Die Daten kannst Du vergessen.

Diese Daten sind in einem eigenen Format gespeichert, das zu nichts kompatibel ist.
Die Daten werden zwar exportiert, aber immer nur für den sichtbaren Bereich des Diagramms und immer nur in der Detailtreue, die das Diagramm in dem Moment darstellt.
Nehmen wir an, Du lässt einen Tag anzeigen. Dann hast Du evtl. alle Datenpinkte des Tages, aber nur diese.
Du lässt einen Monat anzeigen, dann hast Du nur 30% der Datenpunkte. Exportiert - in ein anderes System importiert und dort einen Tag angezeigt - keine Details mehr, weil Datenpunkte fehlen.

Ein Tool, das die kompletten Daten der CCU2 SD Karte in ein Standard Datenformat konvertiert, wäre sicherlich toll. Müsste der Erfinder bei eq-3 aber erst programmieren oder raus rücken.
Eine Anfrage für das Usertreffen ... ?

Wenn die CCU auf den RasPi mit Hilfe eines Backups umzieht, muss in Historian nur die IP Adresse der neuen CCU (RasPI) eingetragen werden. Es sei denn, die RasPiMatic bekommt die identische IP und es ist immer nur ein Gerät zeitgleich im Netz.

Import der historischen Daten von CCU2 nach Historian geht aus o.g. Gründen im Moment nicht.

Die_Natter
Beiträge: 6
Registriert: 26.08.2015, 12:05

Re: CCU-Historian@Synology

Beitrag von Die_Natter » 21.03.2018, 12:16

Guten Tag,

Danke für dei Antwort.

Ja das mit dem Export ist mir auch schon aufgefallen das Datenpunkte entsprechend der Auswahl Anzeige wegfallen.

Und offensichtlich ist der Quatsch der auf der Speicherkarte gespeichert wird ein eigenständiges Format.
Ich hatte die Hoffnung das über diesen Umweg was geht.

Das bedeutet das nun der Server alle aktiven Datenpunkte ausliest und die in seine Datenbank schreibt.
Damit kann ich dann auch vernüftig arbeiten.
Schade um die Historie, war nett um zu sehen wie sich die Verbräuche verhalten über die Jahre im gleichen Zeitraum.
Wäre ja auch zu einfach gewesen.

Mal sehen was passiert wenn die CCU3 kommt...

Gruß
K

Antworten

Zurück zu „CCU-Historian“