NEWS
SQL - Cannot insert INSERT INTO `iobroker`.ts_number
-
Hallo,
seit ein paar Tagen bekomme ich im Log immer wieder die folgenden Fehlermeldungen, ohne dass ich was geändert habe, außer Updates:
Ich habe schon mal die komplette SQL Datenbank gelöscht, aber der Fehler kam wieder.
So sieht die Konfig im ioBroker aus:Die Datenbank an sich läuft auf meinem UNRAID Server im MariaDB Docker:
Irgendwie weiß ich nicht wo ich ansetzen soll, da SQL Datenbanken nicht so meine Stärke sind...
Danke für Hilfe und Input.
-
@master-rudi Der Fehler ist das er einen Wert schreiben will, es aber genau diesen Wert schon gibt.
Der Name des Datenpunkt sollte dabei nicht entscheidend sein, das ist ja genau der Clou das man für einen Datenpunkt mehrere Werte schreiben kann.
Aber jeder Wert wird auch mit Zeitstempel geschrieben. Wenn nichts angegeben ist das die aktuelle Zeit. Man kann aber auch Werte der Vergangenheit schreiben - wenn man den Zeitstempel mitgibt.Ich vermute das hier also Werte mit identischen Zeitstempel geschrieben werden.
Schreibt da irgendwo ein Skript? -
Danke für den Input. Ein Skript schreibt nicht in die Datenbank. Ich habe eigentlich nur bei den Objekten das Loggen aktiviert:
Aktuell schreiben 5 Objekte die Werte in die Datenbank. Wie kann ich denn rausfinden, ob bzw. was doppelt schreibt?
Es muss ja mit den DVES_10 zu tun haben, hier kommt ja die Fehlermeldung. Aber schreiben dann zwei Geräte den selben Wert, oder schreibt DVES_10 zwei mal den selben Wert?Danke.
-
@master-rudi mhh, oder da wird aus anderen gründen etwas doppelt geschrieben. ich kann mit meiner Annahme ja auch falsch liegen.
Im Prinzip mache ich bei mir das gleiche und habe solche Meldungen noch nicht beobachtet (außer als ich wie oben beschrieben selbst mal historische Daten geschrieben habe).
Eventuell müsstest du im Thread zum SQL Adapter mal die Frage stellen. -
@master-rudi Ich würde damit anfangen, die Daten in der Datenbank gegen die Log-Ausgaben zu checken, z.B. ob da jeder geschriebene Wert angemeckert wird oder ob auch Werte ohne Meckern geschrieben werden.
Zudem scheint es sich ja nur um einen Wert zu handeln (Id 4, sonof....._power), den kannst Du ja einmal zum Test rausnehmen.
Vorausgesetzt, die Werte mit den angemeckerten PrimaryKeys sind in der Datenbank, muss es ja einen Grund geben, warum genau für diesen Wert 2 mal versucht wird, den gleichen Datensatz zu schreiben. -
@master-rudi also - getrennt voneinander könntest du 2 Dinge probieren:
mal anhaken. Wenn das aktiv ist (aktiv ist es wenn der Haken NICHT drin ist) schreibt er - nach etwa 1h - einen Wert auch wenn sich nicht geändert hat (aber mit anderem Zeitstempel, sollte deshalb eigentlich nicht doppelt sein)
Separat könntest du das mal anhaken und testen:
Aber nacheinander bitte.
-
@master-rudi welche Version nutzt du? in https://forum.iobroker.net/post/820871 wurde so ein Problem durch ein Upgrade des Adapters behoben
-
Hmm ich seh gerade, dass meine Antwort irgendwie nicht gepostet wurde...
Sorry!! Anbei nochmal als Kurzversion:
Ich habe eure Vorschläge alle einmal probiert und alles aktualisiert. Ich habe auch an den Zeiten bei denen geloggt wird gespielt und alles mal deaktiviert und wieder aktiviert.
Da ich viel probiert habe, kann ich nicht genau sagen was geholfen hat, jedenfalls ist der Fehler jetzt weg.Danke für euren Inpu