NEWS
SQL Fehler
-
hallo
ich habe regelmäßig eine Fehlermeldung vom SQL Adapter. kann mir jemand sagen, wie ich das behebe?
Möglichst ohne Datenverlust ?
web.0 2018-03-23 11:45:04.951 info 2018-03-23T10:45:04.949Z Connected system.user.admin sql.0 2018-03-23 11:44:04.980 error Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(2787, 2018001, 'true', 1, 4, 0);: Error: ER_DUP_ENTRY: Duplicate entry '2787-2018001' for key 'PRIMARY' web.0 2018-03-23 11:25:07.935 info 2018-03-23T10:25:07.934Z Connected system.user.admin host.raspi-3 2018-03-23 11:18:10.580 info instance system.adapter.yr.0 terminated with code 0 (OK) yr.0 2018-03-23 11:18:05.458 info got weather data from yr.no yr.0 2018-03-23 11:18:04.976 info starting. Version 1.0.6 in /opt/iobroker/node_modules/iobroker.yr, node: v6.13.0 host.raspi-3 2018-03-23 11:18:03.106 info instance system.adapter.yr.0 started with pid 15267 sql.0 2018-03-23 11:17:05.713 error Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(2787, 2018000, 'true', 1, 4, 0);: Error: ER_DUP_ENTRY: Duplicate entry '2787-2018000' for key 'PRIMARY' sql.0 2018-03-23 11:11:04.739 error Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(2787, 2018001, 'true', 1, 4, 0);: Error: ER_DUP_ENTRY: Duplicate entry '2787-2018001' for key 'PRIMARY' sql.0 2018-03-23 11:01:07.016 error Cannot insert INSERT INTO `iobroker`.ts_string (id, ts, val, ack, _from, q) VALUES(2787, 2018000, 'true', 1, 4, 0);: Error: ER_DUP_ENTRY: Duplicate entry '2787-2018000' for key 'PRIMARY'
-
Der Fehler passiert wenn ein Datenpunkt in der gleichen Sekunde mehrfach geändert wird. Was ist denn das für ein Datenpunkt?
-
Der Fehler passiert wenn ein Datenpunkt in der gleichen Sekunde mehrfach geändert wird. Was ist denn das für ein Datenpunkt? `
muss ich mal nachsehen. das bekomme ich vermutlich wieder nur über die SQl DB an Hand der ID raus ?
Aber die eingetragene "Entprellzeit" von 1000 ms in den SQL Adapter Einstellungen sollte das eigentlich verhindern. Auch da sehe ich dann mal nach.
-
Jupp und Jupp
-
Hallo,
die Entprellzeit hilft da leider gar nicht, habe den gleichen Fehler und natürlich auch schon mit Entprellzeit gearbeitet.
Selbst nur unterschiedliche Werte schreiben hilft nicht (obwohl es immer derselbe Wert ist) da hier wohl sich die
Updates überholen.
Bei mir ist es ein Datenpunkt von yr.0 Adapter und ein Wert den ein Skript schreibt.
-
Guten Abend
Es ist ein Hm Helligkeitssensor.
hm-rpc.0.NEQ0322376.0.LOWBAT_ALARM
Die Entprellzeit stand auf 1000ms. ich habe das jetzt auf 10 sec hoch gestellt.
Allerdings vermute ich, dass dieses Gerät unter einer anderen ID schon mal in der Datenbank vorhanden ist. Ich weiss nur nicht, wie ich das raus bekomme
PS zumindest m Feld "name" bei den Datenpunkten kommt der string "NEQ0322376.0.LOWBAT_ALARM" nur ein mal in der Datenbank vor.
Interpretiere ich die Meldung richtig, das der Zeitstempel bemängelt wird, weil es diesen schon mal gibt?
-
Es ist ein Hm Helligkeitssensor.
hm-rpc.0.NEQ0322376.0.LOWBAT_ALARM
Die Entprellzeit stand auf 1000ms. ich habe das jetzt auf 10 sec hoch gestellt.
Allerdings vermute ich, dass dieses Gerät unter einer anderen ID schon mal in der Datenbank vorhanden ist. Ich weiss nur nicht, wie ich das raus bekomme
PS zumindest m Feld "name" bei den Datenpunkten kommt der string "NEQ0322376.0.LOWBAT_ALARM" nur ein mal in der Datenbank vor.
Interpretiere ich die Meldung richtig, das der Zeitstempel bemängelt wird, weil es diesen schon mal gibt? `
Ist das beim Adapterstart aufgetreten oder so mal? hast Du irgendwas gemacht?
Ich denke der kommt nur einmal in der DB vor, und ja es liegt daran das der zeitstempel schonmal geloggt wurde.
-
Guten Abend
wenn nicht am RasPi gearbeitet wird tritt der Fehler genau ein mal am Tag auf. Offenbar immer dann, wenn die LOWBAT_Alarm ein mal am Tag vom Gerät übermittelt wird.
Der Zeitstempel ist immer 2018000
Da es immer der gleiche (falsche) Zeitstempel ist, muss es eine Fehlermeldung der sql DB geben.
Jetzt ist die Frage, warum ist der Zeitstempel unvollständig ??
-
Mir ist das bei diesen "Sonderstates" schon mehrfach aufgefallen. Ich habe das logging für diese States ausgeschaltet
-
Mir ist das bei diesen "Sonderstates" schon mehrfach aufgefallen. Ich habe das logging für diese States ausgeschaltet `
Grade bei diesem Gerät ist es mir aber wichtig zu wissen wie oft die Batterien alle sind.
-
Dazu gibt es noch den gleichen Datenpunkt ohne "ALARM" oder ?!
-
OK, werde ich beobachten, ob der andere Datenpunkt auch die Infos beinhaltet.
-
Guten Abend
wenn nicht am RasPi gearbeitet wird tritt der Fehler genau ein mal am Tag auf. Offenbar immer dann, wenn die LOWBAT_Alarm ein mal am Tag vom Gerät übermittelt wird.
Der Zeitstempel ist immer 2018000
Da es immer der gleiche (falsche) Zeitstempel ist, muss es eine Fehlermeldung der sql DB geben.
Jetzt ist die Frage, warum ist der Zeitstempel unvollständig ?? `
Ist der Zeitstempel wirklich 201800 ?
Dann wird der Punkt nicht richtig behandelt. Dann ist auch klar, warum er doppelt ist, da immer mit gleichen Zeitstempel.
Vlt. Geräte nochmal einlesen lassen und schauen ob der Punkt sich ändert?
-
Guten Morgen
die Fehlermeldung stört im Prinzip nicht, ist mir nur immer nach einem Neustart im Logfile aufgefallen.
Ich Habe den Datenpunkt in der Historie jetzt deaktiviert.
Wenn ich das Gerät in ioBroker lösche und neu anlegen lasse, dann bekommt es in SQL History eine neue ID und die historischen Daten sind weg ?
Oder wird das auf Grund der gleichen Seriennummer wieder richtig zugeordnet?
OffTopic:
Gibt es von ioBroker SQL aus eine Funktion um die SQL Datenbank aufzuräumen. Also nicht benutzte IDs wieder zu verwenden? Oder macht das eine MySQL datenbank allein, oedr ist es bei SQL egal?
Oder muss der User das mit einem SQL Tool manuell machen, durch einen SQL Befehl ?
-
Guten Morgen
die Fehlermeldung stört im Prinzip nicht, ist mir nur immer nach einem Neustart im Logfile aufgefallen.
Ich Habe den Datenpunkt in der Historie jetzt deaktiviert.
Wenn ich das Gerät in ioBroker lösche und neu anlegen lasse, dann bekommt es in SQL History eine neue ID und die historischen Daten sind weg ?
Oder wird das auf Grund der gleichen Seriennummer wieder richtig zugeordnet?
OffTopic:
Gibt es von ioBroker SQL aus eine Funktion um die SQL Datenbank aufzuräumen. Also nicht benutzte IDs wieder zu verwenden? Oder macht das eine MySQL datenbank allein, oedr ist es bei SQL egal?
Oder muss der User das mit einem SQL Tool manuell machen, durch einen SQL Befehl ? `
Hallo,
nicht löschen sondern nur neu lesen lassen (z.B. kannst du das hm-rpc über "Neu Synchronisieren" erreichen).
Es kann sein das dein Gerät diesen Datenpunkt gar nicht unterstützt und deshalb nie geändert wird.
Ist beim Bewegungsmelder z.B. bei LOWBAT_ALARM so, da muss man LOWBAT verwenden.
Wenn du in der Objekte Ansicht im ioBroker über den Wert mit der Maus stehen bleibst, kommt ein Mouseover.
Wenn dort: Zeitstempel 1970-… steht, kannst du den Datenpunkt fürs logging knicken.
Zum Offtopic:
normal sollten nicht genutzte herausaltern. Ob das aber funktioniert, weiss ich nicht. Selbst mußt du normalerweise keine Hand anlegen.
-
Hallo
es gibt einen gültigen Zeitstempel im mouse over vom 2018-03-04
allerdings steht da als Quelle hm-rega.0 ??
Ich dachte die Info kommt von rpc ?