NEWS
History überarbeitet
-
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.
-
Morgähn, heißt das im Umkehrschluss, dass Couchdb und Redis raus sind?
Find ich schade, ich experimentiere in der Firma damit.
Gesendet von meinem iPhone mit Tapatalk
-
Tja - allen Leuten recht getan… ist wohl wirklich ein Ding das niemand kann.
Ich persönlich find's super dass jetzt mit MySQL und MS-SQLServer weit verbreitete Quasi-Standards und somit "richtige" SQL-Datenbanken verwendet werden!
Gruß Thilo
-
So, hab auch grad alles umgestellt. Erhalte leider auch den Fehler "Error: SQLITE_BUSY: database is locked"
-
EDIt: Beitrag gelöscht - steht drunter nochmal, waren Fehler drin.
-
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#p15492
Gruß,
Eric
-
Das ausprobieren und trauen ist bei mir kein Thema, hab schon ein paar Adapter entwickelt.
Werde ich mir morgen ansehen, heute schon anderweitig beschäftigt.
Gesendet von meinem iPhone mit Tapatalk
-
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
-
Mac bzw. Raspi bzw. Raspi 2
Gesendet von meinem iPhone mit Tapatalk
-
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#p15492
Gruß,
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
-
Es gibt neue Version von SQL-Adapter und flot. `
Hallo,
flot habe ich keine neue Version gefunden. Ist immer noch 0.2.0
SQL habe ich die 0.0.2 am laufen.
-
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 rumGruß,
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,
ich habe allerdings auch auf mySQL gewechselt.
Bei mir belegt mySQL 21 KB Speicher.
Habe allerdings auch auf die Konfiguration für Kleinstrechner gewechselt.
In top ist mysql nicht unter den top ten.
-
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.