NEWS
Fehler im LOG SQL-Adapter *gelöst*
-
@surfer09 sagte in Fehler im LOG SQL-Adapter:
Ich dachte bei einer Zeile, wäre das egal
ist es nicht!
diese 1/2 mm hohe Bild kann man auf dem Handy nicht entziffern. Und eenn was drinsteht kann man es nicht zitieren.
@surfer09 sagte in Fehler im LOG SQL-Adapter:
Ich lasse gerade das LOG des Adapters auf DEBUG laufen,
das ist sinnvoll
-
@homoran Hier hab ich ihn endlich erwischt:
2022-06-27 06:08:00.864 - debug: sql.0 (10128) new value received for deconz.0.sensors.00158d0004659051.humidity, new-value=70.47, ts=1656302880864, relog=false 2022-06-27 06:08:00.864 - debug: sql.0 (10128) Min-Delta reached deconz.0.sensors.00158d0004659051.humidity, last-value='70.22', new-value=70.47, ts=1656302880864 2022-06-27 06:08:00.866 - debug: sql.0 (10128) new value received for deconz.0.sensors.00158d0004659051.temperature, new-value=21.07, ts=1656302880864, relog=false 2022-06-27 06:08:00.866 - debug: sql.0 (10128) Min-Delta reached deconz.0.sensors.00158d0004659051.temperature, last-value='0', new-value=21.07, ts=1656302880864 2022-06-27 06:08:00.866 - debug: sql.0 (10128) Datatype deconz.0.sensors.00158d0004659051.temperature: Currently: number, StorageType: String 2022-06-27 06:08:00.866 - debug: sql.0 (10128) pushValueIntoDB called for deconz.0.sensors.00158d0004659051.temperature (type: 1, ID: 37) and state: {"val":"21.12","ack":true,"ts":1656301786559,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1656301786546} 2022-06-27 06:08:00.866 - debug: sql.0 (10128) prepareTaskCheckTypeAndDbId CALLED for deconz.0.sensors.00158d0004659051.temperature 2022-06-27 06:08:00.866 - debug: sql.0 (10128) pushValueIntoDB-prepareTaskCheckTypeAndDbId RESULT for deconz.0.sensors.00158d0004659051.temperature (type: 1, ID: 37) and state: {"val":"21.12","ack":true,"ts":1656301786559,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1656301786546} 2022-06-27 06:08:00.866 - debug: sql.0 (10128) INSERT INTO `iobroker-db`.ts_string (id, ts, val, ack, _from, q) VALUES(37, 1656301786559, '21.12', 1, 7, 0); 2022-06-27 06:08:00.873 - error: sql.0 (10128) Cannot insert INSERT INTO `iobroker-db`.ts_string (id, ts, val, ack, _from, q) VALUES(37, 1656301786559, '21.12', 1, 7, 0);: Error: ER_DUP_ENTRY: Duplicate entry '37-1656301786559' for key 'ts_string.PRIMARY' (id: deconz.0.sensors.00158d0004659051.temperature) 2022-06-27 06:08:01.867 - debug: sql.0 (10128) Datatype deconz.0.sensors.00158d0004659051.humidity: Currently: number, StorageType: String 2022-06-27 06:08:01.867 - debug: sql.0 (10128) pushValueIntoDB called for deconz.0.sensors.00158d0004659051.humidity (type: 1, ID: 38) and state: {"val":"70.47","ack":true,"ts":1656302880864,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1656302880864} 2022-06-27 06:08:01.867 - debug: sql.0 (10128) prepareTaskCheckTypeAndDbId CALLED for deconz.0.sensors.00158d0004659051.humidity 2022-06-27 06:08:01.867 - debug: sql.0 (10128) pushValueIntoDB-prepareTaskCheckTypeAndDbId RESULT for deconz.0.sensors.00158d0004659051.humidity (type: 1, ID: 38) and state: {"val":"70.47","ack":true,"ts":1656302880864,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1656302880864} 2022-06-27 06:08:01.867 - debug: sql.0 (10128) INSERT INTO `iobroker-db`.ts_string (id, ts, val, ack, _from, q) VALUES(38, 1656302880864, '70.47', 1, 7, 0); 2022-06-27 06:08:01.868 - debug: sql.0 (10128) Datatype deconz.0.sensors.00158d0004659051.temperature: Currently: number, StorageType: String 2022-06-27 06:08:01.868 - debug: sql.0 (10128) pushValueIntoDB called for deconz.0.sensors.00158d0004659051.temperature (type: 1, ID: 37) and state: {"val":"21.07","ack":true,"ts":1656302880864,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1656302880864} 2022-06-27 06:08:01.868 - debug: sql.0 (10128) prepareTaskCheckTypeAndDbId CALLED for deconz.0.sensors.00158d0004659051.temperature 2022-06-27 06:08:01.868 - debug: sql.0 (10128) pushValueIntoDB-prepareTaskCheckTypeAndDbId RESULT for deconz.0.sensors.00158d0004659051.temperature (type: 1, ID: 37) and state: {"val":"21.07","ack":true,"ts":1656302880864,"q":0,"from":"system.adapter.deconz.0","user":"system.user.admin","lc":1656302880864} 2022-06-27 06:08:01.868 - debug: sql.0 (10128) INSERT INTO `iobroker-db`.ts_string (id, ts, val, ack, _from, q) VALUES(37, 1656302880864, '21.07', 1, 7, 0);
Komisch nur, dass es nur bei dem Temperaturwert passiert... So siehts im Flot-Adapter aus:
-
@surfer09 sagte in Fehler im LOG SQL-Adapter:
last-value='0', new-value=21.07
659051.temperature: Currently: number, StorageType: Stringich hab es jetzt nicht erkannt, nutze weder sql noch deconz.
ich denke aber dass es an der 0 liegt
-
Ist das nicht wieder eine Beta Version des SQL-Adapters?
-
@mickym Nein, eigentlich nicht.
-
@surfer09 OK - dann kann ich Dir wahrscheinlich nicht helfen, aber es wäre sicher hilfreich, wenn Du die Version des SQL Adapters dazuschreibst, da es ja einige Änderungen in den neuesten Versionen gibt. Vielleicht ist es da ja auch behoben.
siehe: https://forum.iobroker.net/topic/54833/sql-2-0-0-verfügbar-eine-zusammenfassung
-
@surfer09 sagte in Fehler im LOG SQL-Adapter:
in der tabelle ts_string sind die felder id und ts (also datenpunktid=id und timestamp=ts) beide als primärschlüssel definiert.
Die Fehlermeldung
Error: ER_DUP_ENTRY: Duplicate entry '37-1656301786559
sagt aus, das für die Kombination datenpunktid 37 (den namen dazu kann man in tabelle datapoints nachschauen) und timestamp 2 werte geschrieben werden sollten.
der erste hat geklappt, der 2. nicht, da die beiden schlüssel zusammen eindeutig sein müssen.wenn du keine eigenen skripts verwendest mit denen du daten da reinschreibst, sollte das durch dich eigentlich nicht möglich sein. der timestamp löscht auf 1000ste Sekunde auf. Auch das so schnell neue Daten entstehen wahrscheinlich auch nicht.
Von daher, am besten die Softwarestände des history und des sql adapters prüfen, ggfs. aktualisieren oder gar neu installieren.
die 0 werte in deinem diagram dürften nichts mit dem fehler zu tun haben. das kommt dann zustande wenn der sensor mal eine 0 liefert weil er nichts messen konnte. die kannst du glaube ich aber in den einstellungen des history/sql/flot-adapters herausfiltern.
2022-06-27 06:08:00.866 - debug: sql.0 (10128) INSERT INTO `iobroker-db`.ts_string (id, ts, val, ack, _from, q) VALUES(37, 1656301786559, '21.12', 1, 7, 0); 2022-06-27 06:08:00.873 - error: sql.0 (10128) Cannot insert INSERT INTO `iobroker-db`.ts_string (id, ts, val, ack, _from, q) VALUES(37, 1656301786559, '21.12', 1, 7, 0);: Error: ER_DUP_ENTRY: Duplicate entry '37-1656301786559' for key 'ts_string.PRIMARY' (id: deconz.0.sensors.00158d0004659051.temperature)
-
-
Die Version 2.1.3 scheint fehlerfrei zu funktionieren. Seit der Installation habe ich keine Fehler mehr und auch die Werte im FLOT Adapter sind jetzt durchgehend wieder plausibel.
-
Hallo zusammen,
ich habe jetzt mal eine Woche immer wieder ein bisschen probiert und das log aktiviert und mit den Werten gespielt.
Ich weiß nicht was, aber irgendwas hat den Fehler behoben. Ich vermute die Deaktivierung des Datenpunkt, die neue Aktivierung und die Änderung bei "trotzdem gleiche Werte aufzeichnen (Sekunden)" von 10 auf 12. Danach war er Fehler weg und kam auch nicht mehr seither.Danke für eure Hilfe