NEWS
History überarbeitet
-
Hallo,
ich habe den History nun auch erneuert. Ich bin nach dem ersten Post vorgegangen und es hat gut funktioniert (OS X).
Ich nutze den eingebauten SQlite.
Die Adaptereinstellungen bieten einen Verbindungstest. Der meldet "ok". Leider lassen sich in flot die gew
ü
nschten Datenpunkten nicht ausw
ä
hlen.Und im admin-Reiter Objekte kann ich das Loggen nicht mehr ein/ausschalten, da kein Knopf mehr da ist -> Das hat sich jetzt erledigt, dauerte einige Minuten bis die gr
ü
nen Kn
ö
pfe auftauchten. Allerdings muss da noch mal extra ein Haken bei "Aktiviert" gesetzt werden.
Der "Speichern"-Knopf reagiert nur sehr tr
ä
ge/beim zweiten Klick.Gru
ß
Pix
-
Hab den neuen SQL (0.0.3) installiert, aber immer noch die Fehlermeldungen:
` > sql-0 2015-12-08 08:14:46 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558876000, 2.5, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 08:09:12 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558541000, -0.9, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 08:07:08 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558418000, 1, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 08:04:49 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558278000, 4.9, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 08:02:15 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558125000, 11.4, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
[
…
]sql-0 2015-12-08 07:59:28 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557957000, 11.2, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:56:26 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557776000, -0.4, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:51:47 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557496000, 2.2, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:46:10 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557159000, 1.1, 1, 2, 0);: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:39:10 error Cannot delete DELETE FROM ts_number WHERE id=18 AND ts < 1449470340;: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:35 warn Cannot get index of 'hm-rpc.0.xxxxxxxx.1.HUMIDITY': Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:35 error Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0. xxxxxxxx.1.HUMIDITY';: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:35 error Cannot delete DELETE FROM ts_number WHERE id=6 AND ts < 1449470281;: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:32 warn Cannot get index of 'hm-rpc.0. xxxxxxxx.1.HUMIDITY': Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:32 error Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0.JEQ0553734.1.HUMIDITY';: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:32 error Cannot delete DELETE FROM ts_number WHERE id=34 AND ts < 1449470281;: Error: SQLITE_BUSY: database is locked
sql-0 2015-12-08 07:38:29 warn Cannot get index of 'hm-rpc.0. xxxxxxxx.1.TEMPERATURE': Error: SQLITE_BUSY: database is locked `
Hab ich evtl. was vergessen?
Gru
ß
,Eric
PS: Habe den Screenshot jetzt durch einen Log-Auszug ersetzt. `
Hallo,
Man sieht oben, das die Timestamps noch auf 000 enden, das darf nicht sein.
Hier kannst du kurzzeitig den fix aus den Post einsetzen, wo die Zeile durch Date.now ersetzt wird.
Das hat bei mir geholfen.
-
So, hab auch grad alles umgestellt. Erhalte leider auch den Fehler "Error: SQLITE_BUSY: database is locked" `
Probier mal:
Ja, es liegt offensichtlich an den fehlenden Millisekunden. Aber nicht nur auf dem Pi - ich arbeite mit Windows.
Ich habe mich aber jetzt noch mal in den Code reingekniet und empfehle Dir folgendes zu testen - wenn Du Dir's zutraust.
Und zwar musst Du in der Datei "..\iobroker\node_modules\iobroker.sql\main.js" die Zeile 552:
Code:
state.ts = parseInt(state.ts, 10) * 1000 + (parseInt(state.ms, 10) || 0);
durch die folgende ersetzen:
Code:
state.ts = parseInt(Date.now());
Dann die Datei speichern und den SQL-Adapter neustarten. Dann d
ü
rfte es keine doppelten Timestamps mehr geben (und ich hoffe dass ich damit nichts anderes durcheinanderbringe - aber wir sind ja hier noch in der Beta
)Gru
ß
Thilo -
Hi sissiwup,
den Vorschlag hatte Thisoft schon gemacht und ich habe es ausprobiert.
Wirft bei mir weiterhin Fehler.
Siehe hier : http://forum.iobroker.net/viewtopic.php
…
=40#p15492Gru
ß
,Eric
-
Vielleicht hast Du mehr Gl
ü
ck - bei mir hat's nicht wirklich g fruchtet.Auf welcher Plattform l
ä
uft es bei Dir? Ich hab's auf einem Cubietruck laufen (evtl. geht's bei anderer HW).Gru
ß
,Eric
-
Hi sissiwup,
den Vorschlag hatte Thisoft schon gemacht und ich habe es ausprobiert.
Wirft bei mir weiterhin Fehler.
Siehe hier : http://forum.iobroker.net/viewtopic.php
…
=40#p15492Gru
ß
,Eric `
Hallo,
der Fehler sollte aber nicht an der Anpassung liegen. Bei mir waren jedenfalls danach die Fehler bei den Inserts weg.
Ich habe
ü
brigens auch eine arm-Platform: Raspi 2 -
der Fehler sollte aber nicht an der Anpassung liegen. Bei mir waren jedenfalls danach die Fehler bei den Inserts weg.
Ich habe
ü
brigens auch eine arm-Platform: Raspi 2 `
Ok, wenn's n
ä
chste Woche (noch) keine L
ö
sung gibt, probiere ich es nochmal. Fliege in ein paar Stunden in Urlaub und bastele jetzt nicht mehr rum 
Gru
ß
,Eric
-
Will mich auch mal wieder dazu melden
…
Ich muss gestehen, der database-locked-Fehler kommt auch bei mir nach der
Ä
nderung des Timestamps immer noch. Da muss noch was anderes faul sein.Mal so als Frage in die Runde: Kommt dieser Fehler eigentlich nur in VErbindung mit der Standard-SQLite-Db oder hat den Fehler auch jemand der eine andere Db einsetzt?
Ich w
ü
rde ja gerne mal mit MS-SQLServer testen, aber dazu brauche ich erst noch nen Rechner, bei meinem ioBroker-Server geht der RAM in die Knie und nachr
ü
sten kann ich da nix
W
ä
re ein guter Grund, endlich mal meinen RasPi2 ans Laufen zu bekommen, hab aber gestern mal wieder einen erfolglosen Abend damit verbracht 
Gru
ß
Thilo -
Hallo sissi,
verstehe ich das richtig dass bei Dir der Fehler weg ist seit Du auf MySQL gewechselt hast?
MySQL w
ä
re schon auch eine Alternative - ich wollte nur gerne gleich auf MS-SQLServer gehen. Der braucht etwas mehr Ressourcen, ich k
ö
nnte den dann aber auch ganz gut f
ü
r andere Projektchen gebrauchen. -
Hallo,
bei mir gab es heute morgen noch diesen Fehler:
! ````
2015-12-09 08:12:28.679 - info: history.0 moving 480 entries to couchdb
2015-12-09 08:12:28.709 - error: uncaught exception: Cannot read property 'ts' of null
2015-12-09 08:12:28.710 - error: TypeError: Cannot read property 'ts' of null
at Socket. <anonymous>(/Users/pix/Documents/iobroker/node_modules/iobroker.history/history.js:105:33)
at Socket.onack (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:295:6)
at Socket.onpacket (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:220:12)
at Manager. <anonymous>(/Users/pix/Documents/iobroker/node_modules/component-bind/index.js:21:15)
at Manager.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/component-emitter/index.js:134:20)
at Manager.ondecoded (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:301:8)
at Decoder. <anonymous>(/Users/pix/Documents/iobroker/node_modules/component-bind/index.js:21:15)
at Decoder.Emitter.emit (/Users/pix/Documents/iobroker/node_modules/component-emitter/index.js:134:20)
at Decoder.add (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-parser/index.js:247:12)
at Manager.ondata (/Users/pix/Documents/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:291:16)
2015-12-09 08:12:28.731 - info: history.0 moving 480 entries to couchdb</anonymous></anonymous></anonymous>Hat scheinbar auch etwas mit dem Timestamp zu tun. Gruß, Pix [9054_1.png](/assets/uploads/files/9054_1.png) [9054_2.png](/assets/uploads/files/9054_2.png) [9054_3.png](/assets/uploads/files/9054_3.png) [9054_4.png](/assets/uploads/files/9054_4.png) [9054_5.png](/assets/uploads/files/9054_5.png) [9054_6.png](/assets/uploads/files/9054_6.png) [9054_7.png](/assets/uploads/files/9054_7.png) [9054_8.png](/assets/uploads/files/9054_8.png) [9054_9.png](/assets/uploads/files/9054_9.png) -
diese Fehler sind schon seltsam. Ich kann dies hier aber nicht nachvollziehen. Sowohl sqlite wie auch mysql laufen hier fehlerfrei, allerdings habe ich nur 2 Datenpunkte, die aufgezeichnet werden. Ich hatte fr
ü
her woanders auch schon ein
ä
hnliches Fehlerbild.Da war der Index auf den timestamp gesetzt Die Datens
ä
tze waren deshalb teilweise nicht unique. -
Hallo sissi,
verstehe ich das richtig dass bei Dir der Fehler weg ist seit Du auf MySQL gewechselt hast?
MySQL w
ä
re schon auch eine Alternative - ich wollte nur gerne gleich auf MS-SQLServer gehen. Der braucht etwas mehr Ressourcen, ich k
ö
nnte den dann aber auch ganz gut f
ü
r andere Projektchen gebrauchen. `Hallo,
ja, du mu
ß
t halt noch den Fix machen, den ich bei MySQL geposted habe (weiter vorne).Da ansonsten keine String-Datenpunkte gespeichert werden k
ö
nnen. -
Morg
ä
hn, hab gestern Abend noch von SQLite auf mySQL umgestellt.Fehler sind keine mehr da, aber meine SETPOINTS meiner HM-CC-TC werden nicht ordentlich an ioBroker
ü
bermittelt.Somit sind meine Grafiken eher doof.
Aber das ist ein anderes Thema, das ich mir genauer ansehen muss.
Ansonsten l
ä
uft der Adapter korrekt.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden