NEWS
Bug in Javascript oder influxdb (gelöst)
-
@stenmic Den Thread habe ich mir angeschaut. Da hat damals leider niemand aus der Entwicklung reingeschaut, und das Thema ist in eine Diskussion abgedriftet statt in eine Analyse. Das ist nicht gut gelaufen.
Wenn vis 1 bei dir gut läuft, musst du natürlich nicht wechseln. Falls du vis-2 irgendwann noch mal eine Chance geben willst: Nimm eine View, bei der die Bindings spürbar verzögert sind, exportiere sie und stell sie zusammen mit der vis-2-Version in ein neues Thema oder ein Issue unter https://github.com/ioBroker/ioBroker.vis-2/issues. Mit einem konkreten Beispiel können wir das nachstellen und gezielt messen. Seit 2.9.32 hat sich in vis-2 einiges getan.
@Bluefox
Eine Anmerkung zum influx Adapter habe ich noch.Ich habe viele Datenpunkte, wo ich in den Einstellungen bewusst
"trotzdem gleiche Werte aufzeichnen (Sekunden)“ eingestellt habe.
Hier möchte ich dauerhaft in einem Intervall Daten speichern.
Hier sind viele Datenpunkte dabei, die sich selten ändern.
Dann habe ich Datenpunkte, bei denen ich nur Änderungen aufzeichnen ohne Intervall gesetzt habe.
"Dupletten" bei diesen Datenpunkten, würden bei mir fehlerhafte Ergebnisse bei Berechnungen später in Javaskript erzeugen.Deshalb habe ich in den Einstellungen vom Adapter „Den letzten Wert erneuert beim Start protokolieren“ deaktiviert.
Bei einem System Neustart, greifen dann aber die gewünschten Intervalle nicht, bei den Datenpunkten wo ich „trotzdem gleiche Werte aufzeichnen (Sekunden)“ eingestellt habe.
Das Intervall beginnt dann erst, wenn der Wert mal aktualisiert oder geändert wird (man muss es also anschupsen)Ich helfe mir aktuell so, dass ich beim Neustart über Javaskript bei allen Datenpunkten, die ein Intervall haben, den Wert mit sich selbst aktualisiere.

Keine schöne Lösung, aber ich lebe damit. Aber eventuell kann man da was optimieren.
Das “Problem“ gibt es schon sehr lange, hat nix mit der 5er Version zu tun.
Verstehst du, was ich meine? -
@Bluefox
Eine Anmerkung zum influx Adapter habe ich noch.Ich habe viele Datenpunkte, wo ich in den Einstellungen bewusst
"trotzdem gleiche Werte aufzeichnen (Sekunden)“ eingestellt habe.
Hier möchte ich dauerhaft in einem Intervall Daten speichern.
Hier sind viele Datenpunkte dabei, die sich selten ändern.
Dann habe ich Datenpunkte, bei denen ich nur Änderungen aufzeichnen ohne Intervall gesetzt habe.
"Dupletten" bei diesen Datenpunkten, würden bei mir fehlerhafte Ergebnisse bei Berechnungen später in Javaskript erzeugen.Deshalb habe ich in den Einstellungen vom Adapter „Den letzten Wert erneuert beim Start protokolieren“ deaktiviert.
Bei einem System Neustart, greifen dann aber die gewünschten Intervalle nicht, bei den Datenpunkten wo ich „trotzdem gleiche Werte aufzeichnen (Sekunden)“ eingestellt habe.
Das Intervall beginnt dann erst, wenn der Wert mal aktualisiert oder geändert wird (man muss es also anschupsen)Ich helfe mir aktuell so, dass ich beim Neustart über Javaskript bei allen Datenpunkten, die ein Intervall haben, den Wert mit sich selbst aktualisiere.

Keine schöne Lösung, aber ich lebe damit. Aber eventuell kann man da was optimieren.
Das “Problem“ gibt es schon sehr lange, hat nix mit der 5er Version zu tun.
Verstehst du, was ich meine?@stenmic sagte:
Das “Problem“ gibt es schon sehr lange, hat nix mit der 5er Version zu tun.
Verstehst du, was ich meine?Hallo @stenmic,
zu deiner letzten Frage: Das ist tatsächlich ein Fehler im Adapter, danke für den Hinweis.
Das Intervall bei „trotzdem gleiche Werte aufzeichnen (Sekunden)“ läuft bisher erst, nachdem der Adapter einen Wert geschrieben hat. Nach einem Neustart gibt es zwei Fälle:
- „Den letzten Wert erneut beim Start protokollieren“ ist an (in den Instanz-Einstellungen, standardmäßig aktiv): Der aktuelle Wert wird beim Start geschrieben, und das Intervall startet sofort.
- Die Option ist aus: Das Intervall startet erst mit dem ersten Update des Datenpunkts. Bei selten aktualisierten Werten fehlt dann lange nichts geloggt. Dasselbe passiert übrigens, nachdem man die Einstellungen eines Datenpunkts ändert und speichert.
Ab sofort helfen: Schalte in der Instanz die Option „Den letzten Wert erneut beim Start protokollieren“ ein. Dann brauchst du dein Skript nicht mehr, das die Werte beim Start neu schreibt.
Fix: Das Intervall startet künftig direkt beim Start, auch wenn die Option aus ist. Der erste Wert wird dann nach Ablauf des Intervalls geschrieben. Der Fix steckt in https://github.com/ioBroker/ioBroker.influxdb/pull/563 und kommt mit der nächsten Version.
-
@Bluefox
Eine Anmerkung zum influx Adapter habe ich noch.Ich habe viele Datenpunkte, wo ich in den Einstellungen bewusst
"trotzdem gleiche Werte aufzeichnen (Sekunden)“ eingestellt habe.
Hier möchte ich dauerhaft in einem Intervall Daten speichern.
Hier sind viele Datenpunkte dabei, die sich selten ändern.
Dann habe ich Datenpunkte, bei denen ich nur Änderungen aufzeichnen ohne Intervall gesetzt habe.
"Dupletten" bei diesen Datenpunkten, würden bei mir fehlerhafte Ergebnisse bei Berechnungen später in Javaskript erzeugen.Deshalb habe ich in den Einstellungen vom Adapter „Den letzten Wert erneuert beim Start protokolieren“ deaktiviert.
Bei einem System Neustart, greifen dann aber die gewünschten Intervalle nicht, bei den Datenpunkten wo ich „trotzdem gleiche Werte aufzeichnen (Sekunden)“ eingestellt habe.
Das Intervall beginnt dann erst, wenn der Wert mal aktualisiert oder geändert wird (man muss es also anschupsen)Ich helfe mir aktuell so, dass ich beim Neustart über Javaskript bei allen Datenpunkten, die ein Intervall haben, den Wert mit sich selbst aktualisiere.

Keine schöne Lösung, aber ich lebe damit. Aber eventuell kann man da was optimieren.
Das “Problem“ gibt es schon sehr lange, hat nix mit der 5er Version zu tun.
Verstehst du, was ich meine?Hallo @stenmic,
zu deiner letzten Frage: Das war tatsächlich ein Fehler im Adapter, danke für den Hinweis.
Das Intervall bei „trotzdem gleiche Werte aufzeichnen (Sekunden)“ lief bisher erst, nachdem der Adapter einen Wert geschrieben hatte. Nach einem Neustart hing es deshalb von der Instanz-Einstellung „Den letzten Wert erneut beim Start protokollieren“ ab:
- Option an: Der aktuelle Wert wurde beim Start geschrieben, und das Intervall lief sofort los.
- Option aus: Das Intervall startete erst mit dem ersten Update des Datenpunkts. Bei selten aktualisierten Werten wurde dann lange nichts geloggt. Dasselbe passierte, nachdem man die Einstellungen eines Datenpunkts geändert und gespeichert hatte.
Ab Version 5.1.8 startet das Intervall direkt beim Start, auch wenn die Option aus ist. Der erste Wert wird dann nach Ablauf des Intervalls geschrieben. Die Version ist veröffentlicht und kommt wie üblich zuerst über das Beta/Latest-Repository. Details: https://github.com/ioBroker/ioBroker.influxdb/pull/563
Nach dem Update brauchst du dein Skript, das die Werte beim Start neu schreibt, nicht mehr. Bis dahin hilft es auch, die Option „Den letzten Wert erneut beim Start protokollieren“ einzuschalten.
Falls die Option bei dir schon an war und das Verhalten trotzdem auftritt, ist es ein anderes Problem. Dann schick mir bitte die Einstellungen eines betroffenen Datenpunkts und ein Debug-Log vom Adapterstart.
-
Hallo @stenmic,
zu deiner letzten Frage: Das war tatsächlich ein Fehler im Adapter, danke für den Hinweis.
Das Intervall bei „trotzdem gleiche Werte aufzeichnen (Sekunden)“ lief bisher erst, nachdem der Adapter einen Wert geschrieben hatte. Nach einem Neustart hing es deshalb von der Instanz-Einstellung „Den letzten Wert erneut beim Start protokollieren“ ab:
- Option an: Der aktuelle Wert wurde beim Start geschrieben, und das Intervall lief sofort los.
- Option aus: Das Intervall startete erst mit dem ersten Update des Datenpunkts. Bei selten aktualisierten Werten wurde dann lange nichts geloggt. Dasselbe passierte, nachdem man die Einstellungen eines Datenpunkts geändert und gespeichert hatte.
Ab Version 5.1.8 startet das Intervall direkt beim Start, auch wenn die Option aus ist. Der erste Wert wird dann nach Ablauf des Intervalls geschrieben. Die Version ist veröffentlicht und kommt wie üblich zuerst über das Beta/Latest-Repository. Details: https://github.com/ioBroker/ioBroker.influxdb/pull/563
Nach dem Update brauchst du dein Skript, das die Werte beim Start neu schreibt, nicht mehr. Bis dahin hilft es auch, die Option „Den letzten Wert erneut beim Start protokollieren“ einzuschalten.
Falls die Option bei dir schon an war und das Verhalten trotzdem auftritt, ist es ein anderes Problem. Dann schick mir bitte die Einstellungen eines betroffenen Datenpunkts und ein Debug-Log vom Adapterstart.
@Bluefox
Ich hoffe du (oder deine KI :) hast mich nicht falsch verstanden.Bis dahin hilft es auch, die Option „Den letzten Wert erneut beim Start protokollieren“ einzuschalten.
„Den letzten Wert erneuert beim Start protokolieren“ habe ich bewust deaktiviert.
Bei mir dürfen auf keinen Fall alle Datenpunkte pauschal beim Start erneuert werden.Es geht mir nur um die Datenpunkte die ein Interval in den Einstellungen haben > "trotzdem gleiche Werte aufzeichnen (Sekunden)“.
Diese müssen bei mir nach dem Start (leider aktuell manuell) erneuert werden, da viele über längeren Zeit keine Änderungen bekommen.Aber wenn ich deinen letzten Post richtig gelesen habe, hat die Version 5.1.8 genau dieses Verhalten, oder?
Mir ist nur sehr wichtig, dass nicht pauschal alle Datenpunkte aktualisiert werden.Gruß Micha
-
@Bluefox
Ich hoffe du (oder deine KI :) hast mich nicht falsch verstanden.Bis dahin hilft es auch, die Option „Den letzten Wert erneut beim Start protokollieren“ einzuschalten.
„Den letzten Wert erneuert beim Start protokolieren“ habe ich bewust deaktiviert.
Bei mir dürfen auf keinen Fall alle Datenpunkte pauschal beim Start erneuert werden.Es geht mir nur um die Datenpunkte die ein Interval in den Einstellungen haben > "trotzdem gleiche Werte aufzeichnen (Sekunden)“.
Diese müssen bei mir nach dem Start (leider aktuell manuell) erneuert werden, da viele über längeren Zeit keine Änderungen bekommen.Aber wenn ich deinen letzten Post richtig gelesen habe, hat die Version 5.1.8 genau dieses Verhalten, oder?
Mir ist nur sehr wichtig, dass nicht pauschal alle Datenpunkte aktualisiert werden.Gruß Micha
@Bluefox
Ich hoffe du (oder deine KI :) hast mich nicht falsch verstanden.Bis dahin hilft es auch, die Option „Den letzten Wert erneut beim Start protokollieren“ einzuschalten.
„Den letzten Wert erneuert beim Start protokolieren“ habe ich bewust deaktiviert.
Bei mir dürfen auf keinen Fall alle Datenpunkte pauschal beim Start erneuert werden.Es geht mir nur um die Datenpunkte die ein Interval in den Einstellungen haben > "trotzdem gleiche Werte aufzeichnen (Sekunden)“.
Diese müssen bei mir nach dem Start (leider aktuell manuell) erneuert werden, da viele über längeren Zeit keine Änderungen bekommen.Aber wenn ich deinen letzten Post richtig gelesen habe, hat die Version 5.1.8 genau dieses Verhalten, oder?
Mir ist nur sehr wichtig, dass nicht pauschal alle Datenpunkte aktualisiert werden.Gruß Micha
Doch ICH habe dich so verstanden, dass nach dem Start keine Werte beschrieben wurden (die regelmäßig geschrieben werden müssen). Wo ist der Unterschied, dass du z.B. einen Wert alle 5 Minuten schreibst, und dann einen gleichen Wert nach 2 Minuten und dann wieder nach 5 Minuten erschient (nach dem Start)? Du kannst doch nicht die Instanz genau dann starten, dass deine Intervalle immer 5 Minuten sind.
-
@Bluefox
Ich hoffe du (oder deine KI :) hast mich nicht falsch verstanden.Bis dahin hilft es auch, die Option „Den letzten Wert erneut beim Start protokollieren“ einzuschalten.
„Den letzten Wert erneuert beim Start protokolieren“ habe ich bewust deaktiviert.
Bei mir dürfen auf keinen Fall alle Datenpunkte pauschal beim Start erneuert werden.Es geht mir nur um die Datenpunkte die ein Interval in den Einstellungen haben > "trotzdem gleiche Werte aufzeichnen (Sekunden)“.
Diese müssen bei mir nach dem Start (leider aktuell manuell) erneuert werden, da viele über längeren Zeit keine Änderungen bekommen.Aber wenn ich deinen letzten Post richtig gelesen habe, hat die Version 5.1.8 genau dieses Verhalten, oder?
Mir ist nur sehr wichtig, dass nicht pauschal alle Datenpunkte aktualisiert werden.Gruß Micha
Doch ICH habe dich so verstanden, dass nach dem Start keine Werte beschrieben wurden (die regelmäßig geschrieben werden müssen). Wo ist der Unterschied, dass du z.B. einen Wert alle 5 Minuten schreibst, und dann einen gleichen Wert nach 2 Minuten und dann wieder nach 5 Minuten erschient (nach dem Start)? Du kannst doch nicht die Instanz genau dann starten, dass deine Intervalle immer 5 Minuten sind.
-
@Bluefox sorry… verstehe deine Antwort nicht. wo hab ich was von 5 bzw. 2 min geschrieben. Mir ist nur sehr wichtig, dass nicht pauschal alle Datenpunkte aktualisiert werden. Schönen Abend.
-
-
@Bluefox sorry… verstehe deine Antwort nicht. wo hab ich was von 5 bzw. 2 min geschrieben.
Das habe ich als Beispiel benannt. Worum ist für dich einmal Wert ganz am Anfang schreiben - schlecht? Du hast doch sogar selbst über Blockly das gemacht.
ich habe das blockly nur für die Datenpunkte mit Intervall geschrieben. NICHT FÜR ALLE
-
-
bist du angepisst weil ich Ki geschrieben habe? da war ein Augenzwinkern dabei, mir ist es Wurst wie Probleme gelöst werden und ich freu mich, wenn’s damit besser geht!
bist du angepisst weil ich Ki geschrieben habe? da war ein Augenzwinkern dabei, mir ist es Wurst wie Probleme gelöst werden und ich freu mich, wenn’s damit besser geht!
Hm, ich bin überhaupt nicht angepisst. Ich will nur verstehen, warum die Lösung für dich nicht passt.
Warum kannst du so was nicht machen?


Dann werden NUR die Variablen aufgenommen, wo du Intervall gesetzt hast.
- Den Timer nach dem Start bekommen nur Datenpunkte mit "Nur Änderungen aufzeichnen" und einem Wert bei "trotzdem gleiche Werte aufzeichnen (Sekunden)".
- Beim Start selbst wird nichts geschrieben. Der erste Wert kommt erst nach Ablauf des Intervalls.
- An allen anderen Datenpunkten ändert sich nichts. "Den letzten Wert erneut beim Start protokollieren" kannst du ausgeschaltet lassen.
-
bist du angepisst weil ich Ki geschrieben habe? da war ein Augenzwinkern dabei, mir ist es Wurst wie Probleme gelöst werden und ich freu mich, wenn’s damit besser geht!
Hm, ich bin überhaupt nicht angepisst. Ich will nur verstehen, warum die Lösung für dich nicht passt.
Warum kannst du so was nicht machen?


Dann werden NUR die Variablen aufgenommen, wo du Intervall gesetzt hast.
- Den Timer nach dem Start bekommen nur Datenpunkte mit "Nur Änderungen aufzeichnen" und einem Wert bei "trotzdem gleiche Werte aufzeichnen (Sekunden)".
- Beim Start selbst wird nichts geschrieben. Der erste Wert kommt erst nach Ablauf des Intervalls.
- An allen anderen Datenpunkten ändert sich nichts. "Den letzten Wert erneut beim Start protokollieren" kannst du ausgeschaltet lassen.
@Bluefox ich hab doch nie geschrieben, dass die Lösung für mich nicht passt. Ich wollte nur sichergehen, dass nicht alle Datenpunkte gesetzt werden, sondern nur die mit Intervall. Da reden wir einander vorbei, aber die neue Version macht genau das was ich wollte. Danke
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden