NEWS
History überarbeitet
-
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
-
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