NEWS
History überarbeitet
-
Kann es daran liegen, dass der Pi keine Millisekunden liefert? `
Bei mir läuft ioBroker nicht auf einem Raspberry Pi, sondern auf einem Cubietruck.Oder meinst Du grundsätzlich die ARM-Plattform?
Gruß,
Eric
-
Kannst du den .timeout auf 11000 setzen? `
Hab den Wert beim SQL-Adapter geändert - Meldungen ("cannot delete" und "cannot insert") kommen weiterhin.Oder meintest Du am jeweiligen Objekt selber?
Gruß,
Eric
-
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:
state.ts = parseInt(state.ts, 10) * 1000 + (parseInt(state.ms, 10) || 0);
durch die folgende ersetzen:
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
-
Probiere ich morgen früh aus.
Gruß,
Eric
Edit:
Nee, bin neugierig - mache es jetzt
-
Verbindung an MySQL klappt bei mir nur so:
-
Fehler mit mysql:
` > sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(53, 1449439045000, VD-12, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'VD' in 'field list'
sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(50, 1449439045000, W, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'W' in 'field list'
sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(48, 1449439045000, Windstille, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'Windstille' in 'field list' `
-
Hat Fehler ausgeworfen:
` > sql.0 2015-12-06 22:59:12 debug inMem message * hm-rega.0.37329
sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.37325
sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.37324
sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.37153
sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.36778
[…]
sql.0 2015-12-06 22:59:11 info sql.0 enabled logging of system.host.cubietruck.load
sql.0 2015-12-06 22:59:11 info sql.0 enabled logging of system.host.cubietruck.mem
sql.0 2015-12-06 22:59:10 info sql.0 Connected to sqlite
sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}
sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE ts_bool (id INTEGER, ts INTEGER, val BOOLEAN, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));
sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}
sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE ts_string (id INTEGER, ts INTEGER, val TEXT, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));
sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}
sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE ts_number (id INTEGER, ts INTEGER, val REAL, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));
sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}
sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE datapoints (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT,type INTEGER);
sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}
sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE sources (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT);
sql.0 2015-12-06 22:59:10 info sql.0 starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sql
cubietruck 2015-12-06 22:59:01 info host.cubietruck instance system.adapter.sql.0 started with pid 7364
cubietruck 2015-12-06 22:59:01 info host.cubietruck 'system.adapter.sql.0' enabled
cubietruck 2015-12-06 22:59:01 info host.cubietruck object change system.adapter.sql.0 `
Bin wieder auf Original zurück.
Gruß,
Eric
-
@sissiwup: Das ist der gleiche Fehler wie bei uns - bei Dir sogar dreimal der gleiche Timestamp.
@eric: Ja, jetzt wo DU's sagst - die hat er bei mir auch geworfen. Sind aber IMO nicht weiter schlimm. Sagt ja bloß aus dass er die bereits existierenden Tabellen in der Db nicht nochmal anlegen kann. Kommen ja auch nur beim Starten des Adapters. Ich lass die Änderung bei mir drin und teste ob der andere Fehler wieder auftaucht. Vielleicht schau ich auch morgen nochmal ob ich dahinterkomme warum jetzt dieser Fehler auftaucht. Wahrscheinlich ist aber bis dahin Bluefox sowieso schneller
-
Eh, bin gerade etwas verwirrt …
Seit dem Test habe ich keine Fehler mehr im Log .... alle INSERTs usw. gehen durch .... wie gesagt, bin wieder auf die Original-Version der main.js zurückgegangen (und hab auch den Adapter neu gestartet) ....
Gruß,
Eric
-
Hallo,
` > hm-rpc.1 2015-12-07 01:24:54 info hm-rpc.1 xmlrpc -> listDevices 0
sql.0 2015-12-07 01:20:54 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(53, 1449447653333, VD-12, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'VD' in 'field list'
sql.0 2015-12-07 01:20:53 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(52, 1449447652908, 01:00:01 07.12.2015, 1, 3, 0);: Error: ER_PARSE_ERROR: You have an error in your SQL syntax; c
sql.0 2015-12-07 01:20:53 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(50, 1449447652664, SW, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'SW' in 'field list'
sql.0 2015-12-07 01:20:53 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(48, 1449447652486, Windstille, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'Windstille' in 'field list'
sql.0 2015-12-07 01:20:38 info sql.0 enabled logging of hm-rpc.0.MEQ0288793.1.STATE `
Hier scheint der String nicht korrekt gequotet zu werden ' fehlen.
-
MySQL:
MySQL auf ioBroker
apt-get install mysql-server mysql-client
mysql -uroot -p
CREATE USER 'iobroker‘@’%’ IDENTIFIED BY 'iobroker';
GRANT ALL PRIVILEGES ON * . * TO 'iobroker'@'%';
FLUSH PRIVILEGES;
In /etc/mysql
my.cnf: bind auf ip-Adresse umstellen (dann klappt es auch mit den Nachbarn)
Achtung: iobroker ist so ein "admin". Bei Bedarf weniger Rechte einrichten.
-
lib/mysql.js anpassen:
exports.insert = function (index, state, from, db) { if (db === 'ts_string') state.val = "'" + state.val + "'"; return "INSERT INTO iobroker." + db + " (id, ts, val, ack, _from, q) VALUES(" + index + ", " + state.ts + ", " + state.val + ", " + (state.ack ? 1 : 0) + ", " + (from || 0) + ", " + state.q + ");"; };
Neu ist die Zeile mit dem "if"
-
Hmmm, mySQL installieren …
Ich denke, ich warte erst mal auf Bluefox - vielleicht hat er ja eine einfache Idee / Lösung.
Gruß,
Eric
-
Verbindung an MySQL klappt bei mir nur so:
filename="Bildschirmfoto 2015-12-06 um 22.56.02.png" index="0">~~ `
das wars, bei mir klappt die Verbindung endlich auch, wer hätte vermutet, dass gar kein Port angegeben werden darf. (vielleicht wird default zusätzlich auch ausgegeben, wenn im Feld was steht?)
-
Fehler mit mysql:
` > sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(53, 1449439045000, VD-12, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'VD' in 'field list'
sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(50, 1449439045000, W, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'W' in 'field list'
sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(48, 1449439045000, Windstille, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'Windstille' in 'field list'
Danke für Fehlermeldung. Habe meistens numbers getestet. Werde den Fehler fixen. -
Jetzt funktioniert so langsam alles.
Muss ich den history.0 Adapter deaktivieren, wenn ich sql.0 nutze?
Mit flot klappte es jetzt auch, wenn man mal die Einstellungen verstanden hat:
Wenn kein Datenpunkt / Messpunkt innerhalb des ausgewählten Fensters liegt, dann läßt flot die Kurve einfach weg …
(SOLL TEMP) Wähle ich hier 1 Tag als Intervall, dann ist die Kurve da.
-
Hallo,
Die Treppenfunktionen bei flot sind verkehrtherum implementiert.
Wenn ich z.B. Folgende Datnepunkte habe:
8:00 10Grad
9:00 10Grad
10:00 12Grad
11:00 12Grad,
Dann hätte ich einen Graphen erwartet, der um 10:00 auf 12 Grad steigt.
Macht er aber nicht, er steigt um 9:00 auf 12 Grad.
Oder mache ich etwas falsch?
-
Es gibt neue Version von SQL-Adapter und flot.
-
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