NEWS
MQTT und SQL, speichern funktioniert plötzlich nicht mehr
-
Hallo,
ich habe jetzt über einige Wochen Daten von zwei Sensoren über MQTT an IOBroker gesendet und pro Sensor die Daten über den SQL Adapter gespeichert. Das funktionierte bisher ziemlich gut.
Gestern gab es ein Update von MQTT und seither werden Teile der Daten nicht mehr gespeichert.
Ich habe pro Sensor Temperatur, Feuchtigkeit, Luftdruck und Akku gespeichert. Seit dem Update wird nur noch der Wert vom Akku abgelegt. Alle anderen Werte sind in MQTT aktuell (sieht man am Wert und wenn ich mit der Maus drüber gehe), aber in der SQL Tabelle werden sie nicht mehr abgelegt. Alles sind Zeichenkettenwerte.
Ich habe jetzt schon folgende Dinge versucht:
-
Klar, IOBroker (auf Windows, Intel NUC) neu gestartet… Reboot tut gut.... aber kein Erfolg
-
Auch die einzelnen Instanzen durchstarten brachte keinen Erfolg; Im Log werden die Objekte alle für die SQL Speicherung angezeigt...
-
Ich habe auch einzelne Werte aus der SQL Ablage rausgenommen und wieder hinzugefügt. Auch nichts
Im Log selbst sehe ich keine Fehlermeldungen.
Kann mir noch jemand einen Tipp geben?
Danke
-
-
In der aktuellen MQTT version wurde bessere Erkennung von Zahlenwerten gemacht. Und das was früher ein Zeichensatz war (z.B. "2.00", "+45", "-34,45") wird zu Zahlen (2, 45, -34.45). SQL hat aber die Werte als Strings bemerkt.
Um jetzt das wieder zum laufen zu bekommen man muss in der Tabelle "datapoints" den Typ für diesen Datenpunkt auf "0" ändern.
Die alte Daten sind aber verloren.
-
In der aktuellen MQTT version wurde bessere Erkennung von Zahlenwerten gemacht. Und das was früher ein Zeichensatz war (z.B. "2.00", "+45", "-34,45") wird zu Zahlen (2, 45, -34.45). SQL hat aber die Werte als Strings bemerkt.
Um jetzt das wieder zum laufen zu bekommen man muss in der Tabelle "datapoints" den Typ für diesen Datenpunkt auf "0" ändern.
Die alte Daten sind aber verloren. `
Kann man nicht die Daten retten? z. B. mit SQLSELECT CAST(VarcharCol AS float) FROM MyTable SELECT CONVERT(float, VarcharCol) FROM MyTable
Was ist das überhaupt für ein SQL Server?
Man könnte auch die Daten einfach rauskopieren (Im SQL Manager einfach markieren und strg+c), in Excel o. ä. einfügen (strg+v), die Umwandlung hier vornehmen, wenn es nicht sowieso von alleine passiert (alternativ einfach über csv gehen) und dann wieder in die SQL-DB mittels copy and paste reinkopieren. Einfach so mit kopie und paste. Mustte ich schon öfters machen und hatte wenig Probleme damit. Ist halt die Frage, wie wichtig die Daten sind.
-
Danke für die Tipps,
mit der Umstellung auf Typ 0 und einem Neustart des SQL Adapters habe ich wieder Daten.
Ich bin inzwischen ein echter Fan von IOBroker geworden und auch wenn wir uns im, sagen wir mal, "erweiterten Hobbybereich" befinden, so würde ich es doch begrüßen, wenn Änderungen in Adaptern sich nicht negativ auf bestehende Daten auswirken würde. Bzw. ein entsprechender Hinweis im Changelog sollte das Minimum sein.
Danke.
-
Danke für die Tipps,
mit der Umstellung auf Typ 0 und einem Neustart des SQL Adapters habe ich wieder Daten.
Ich bin inzwischen ein echter Fan von IOBroker geworden und auch wenn wir uns im, sagen wir mal, "erweiterten Hobbybereich" befinden, so würde ich es doch begrüßen, wenn Änderungen in Adaptern sich nicht negativ auf bestehende Daten auswirken würde. Bzw. ein entsprechender Hinweis im Changelog sollte das Minimum sein.
Danke.
[https://github.com/ioBroker/ioBroker.mqtt#changelog](https://github.com/ioBroker/ioBroker.mqtt#changelog)
> 1.0.4 (2016-07-19)(bluefox) convert values like "+58,890" into numbers too `
Wer hat nun gewusst, dass es Quer-Einflüsse kommen.