NEWS
[gelöst]Rauskriegen wer auf einen Datenpunkt schreibt
-
Moin,
ich habe hier aktuell einen Datenpunkt, den ich selber in Javascript erstellt habe, der sich sehr seltsam verhält.
Eigentlich sollte der Datenpunkt monatlich beschrieben werden. Der Haken für History ist gesetzt.
Wenn ich mir aber den Verlauf entweder im Admin oder im Flot anzeige sehe ich genau alle 15s neue Werte. Spannenderweise ist der angezeigte wert aber genau vom 1. des Monats und ganz anders wie die 15s geschriebenen Werte. Auch last changed und zuletzt aktualisiert ist vom 1.12.Irgendwas ist da seltsam ich tippe als Laie auf irgendein Problem mit Speicherbereichen.
Wie kann ich rauskriegen, von wo der wie beschrieben wird, kann man das irgendwie rauskriegen außer einzeln jedes Script zu durchsuchen...
Beste Grüße
Nils@jmeister79
Du könntest zumindest mit einem kleinen Blockly ermitteln, wer wann den DP ändert.
-
@jmeister79
Du könntest zumindest mit einem kleinen Blockly ermitteln, wer wann den DP ändert.
@codierknecht wie geil ist das denn? Wieder was gelernt, wusste nicht dass es dieses Attribut gibt. 1000 Dank!
-
@jmeister79
Du könntest zumindest mit einem kleinen Blockly ermitteln, wer wann den DP ändert.
@codierknecht also wie befürchtet .lc und .from sind am 1.12.2023 00:01 und javascript.0
dann frage ich mich warum in der History im 15s Takt andere Werte stehen...
Kurios. Neustart vom ioBroker hat auch nichts gebracht
-
mit
on ({id:'0_userdata.0.example_state', change:'any'}, (dp) => { log(dp.state.c); })bekommst du auch raus, welches Skript da drauf schreibt - vielleicht kann das jemand in Blockly übersetzen. :)
-
mit
on ({id:'0_userdata.0.example_state', change:'any'}, (dp) => { log(dp.state.c); })bekommst du auch raus, welches Skript da drauf schreibt - vielleicht kann das jemand in Blockly übersetzen. :)
@ticaki
möglich aber das ist nicht nötig, die Änderung um 00:01 ist das script das auch die Monatserfassung macht. Von allen scripten gibt es nur eine einzige Zeile die schreibend darauf zugreift.Das muss woanders her kommen.
Skurril ist ja, dass obwohl in der History alle 15s neue Werte auftauchen, der aktuelle Wert ein ganz anderer ist.Es geht um PV Ertrag, der war im letzten Monat 181 kWh und ich bekomme in seit dem 2.12 im 15s mit Werten die steigen und fallen, gestern waren es 60 heute sind es 80
Edit: ich habe in history mal eingestellt, dass er die Quelle mitloggen soll, wenn ich alle Scripte deaktiviere kommen trotzdem neue Werte.
Und die quelle der Werte ist history.0.
Blockzeit, Entprellzeit minimale Änderung haben darauf keinerlei Einfluss. -
@ticaki
möglich aber das ist nicht nötig, die Änderung um 00:01 ist das script das auch die Monatserfassung macht. Von allen scripten gibt es nur eine einzige Zeile die schreibend darauf zugreift.Das muss woanders her kommen.
Skurril ist ja, dass obwohl in der History alle 15s neue Werte auftauchen, der aktuelle Wert ein ganz anderer ist.Es geht um PV Ertrag, der war im letzten Monat 181 kWh und ich bekomme in seit dem 2.12 im 15s mit Werten die steigen und fallen, gestern waren es 60 heute sind es 80
Edit: ich habe in history mal eingestellt, dass er die Quelle mitloggen soll, wenn ich alle Scripte deaktiviere kommen trotzdem neue Werte.
Und die quelle der Werte ist history.0.
Blockzeit, Entprellzeit minimale Änderung haben darauf keinerlei Einfluss.@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
die quelle der Werte ist history.0.
hast du "trotzdem alle 15 sek. loggen" aktiviert?
-
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
die quelle der Werte ist history.0.
hast du "trotzdem alle 15 sek. loggen" aktiviert?
@homoran nur bei Änderungen aufzeichnen...

-
@homoran nur bei Änderungen aufzeichnen...

Hi,
alle Javascripte sind aus. Datenpunkt gelöscht neu angelegt, history deaktiviert und aktiviert, bring alles nix.
Das hier steht im Logbuch:history.0 2023-12-23 14:04:42.480 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366824300.028219933063501568 Send: 29 values in: 50ms history.0 2023-12-23 14:04:42.430 debug getOneCachedData: got 23 datapoints for javascript.0.Verbrauch.Photovoltaik_monthly history.0 2023-12-23 14:04:42.430 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366824300.028219933063501568 getHistory message: {"id":"javascript.0.Verbrauch.Photovoltaik_monthly","options":{"instance":"history.0","start":1703336100000,"end":1703336700000,"from":true,"ack":true,"q":true,"addID":false,"aggregate":"none","returnNewestEntries":true,"user":"system.user.admin"}} history.0 2023-12-23 14:04:42.370 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366822920.3276790824815188 Send: 1 values in: 78ms history.0 2023-12-23 14:04:42.292 debug getOneCachedData: got 23 datapoints for javascript.0.Verbrauch.Photovoltaik_monthly history.0 2023-12-23 14:04:42.292 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366822920.3276790824815188 getHistory message: {"id":"javascript.0.Verbrauch.Photovoltaik_monthly","options":{"instance":"history.0","start":946681200000,"end":1703336680779,"limit":1,"from":false,"ack":false,"q":false,"addID":false,"aggregate":"none","user":"system.user.admin"}}[edit] Da stimmt doch was nicht jetzt hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0 und NICHT javascript.0 wie bei allen anderen.
Außerdem steht in der Objektliste beim wert 0 und er logt immer irgendeinen alternierenden kram um die 100 heute, keine Ahnung was das sein soll. Kein anderer DP macht das...
-
Hi,
alle Javascripte sind aus. Datenpunkt gelöscht neu angelegt, history deaktiviert und aktiviert, bring alles nix.
Das hier steht im Logbuch:history.0 2023-12-23 14:04:42.480 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366824300.028219933063501568 Send: 29 values in: 50ms history.0 2023-12-23 14:04:42.430 debug getOneCachedData: got 23 datapoints for javascript.0.Verbrauch.Photovoltaik_monthly history.0 2023-12-23 14:04:42.430 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366824300.028219933063501568 getHistory message: {"id":"javascript.0.Verbrauch.Photovoltaik_monthly","options":{"instance":"history.0","start":1703336100000,"end":1703336700000,"from":true,"ack":true,"q":true,"addID":false,"aggregate":"none","returnNewestEntries":true,"user":"system.user.admin"}} history.0 2023-12-23 14:04:42.370 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366822920.3276790824815188 Send: 1 values in: 78ms history.0 2023-12-23 14:04:42.292 debug getOneCachedData: got 23 datapoints for javascript.0.Verbrauch.Photovoltaik_monthly history.0 2023-12-23 14:04:42.292 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366822920.3276790824815188 getHistory message: {"id":"javascript.0.Verbrauch.Photovoltaik_monthly","options":{"instance":"history.0","start":946681200000,"end":1703336680779,"limit":1,"from":false,"ack":false,"q":false,"addID":false,"aggregate":"none","user":"system.user.admin"}}[edit] Da stimmt doch was nicht jetzt hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0 und NICHT javascript.0 wie bei allen anderen.
Außerdem steht in der Objektliste beim wert 0 und er logt immer irgendeinen alternierenden kram um die 100 heute, keine Ahnung was das sein soll. Kein anderer DP macht das...
@jmeister79 was steht denn dann in der history als Quelle?
müsste dann ja javascript.0 sein und nicht history@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
bring alles nix.
javascript.0 mal neu gestartet?
Vielleicht läuft da noch ein oder mehrere nicht gestoppte Timer im Hintergrund?wie genau sieht denn das Script aus, dass diesen Wert beschreiben würde?
-
Hi,
alle Javascripte sind aus. Datenpunkt gelöscht neu angelegt, history deaktiviert und aktiviert, bring alles nix.
Das hier steht im Logbuch:history.0 2023-12-23 14:04:42.480 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366824300.028219933063501568 Send: 29 values in: 50ms history.0 2023-12-23 14:04:42.430 debug getOneCachedData: got 23 datapoints for javascript.0.Verbrauch.Photovoltaik_monthly history.0 2023-12-23 14:04:42.430 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366824300.028219933063501568 getHistory message: {"id":"javascript.0.Verbrauch.Photovoltaik_monthly","options":{"instance":"history.0","start":1703336100000,"end":1703336700000,"from":true,"ack":true,"q":true,"addID":false,"aggregate":"none","returnNewestEntries":true,"user":"system.user.admin"}} history.0 2023-12-23 14:04:42.370 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366822920.3276790824815188 Send: 1 values in: 78ms history.0 2023-12-23 14:04:42.292 debug getOneCachedData: got 23 datapoints for javascript.0.Verbrauch.Photovoltaik_monthly history.0 2023-12-23 14:04:42.292 debug javascript.0.Verbrauch.Photovoltaik_monthly17033366822920.3276790824815188 getHistory message: {"id":"javascript.0.Verbrauch.Photovoltaik_monthly","options":{"instance":"history.0","start":946681200000,"end":1703336680779,"limit":1,"from":false,"ack":false,"q":false,"addID":false,"aggregate":"none","user":"system.user.admin"}}[edit] Da stimmt doch was nicht jetzt hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0 und NICHT javascript.0 wie bei allen anderen.
Außerdem steht in der Objektliste beim wert 0 und er logt immer irgendeinen alternierenden kram um die 100 heute, keine Ahnung was das sein soll. Kein anderer DP macht das...
Zeig mal das Objekt des States.
-
@jmeister79 was steht denn dann in der history als Quelle?
müsste dann ja javascript.0 sein und nicht history@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
bring alles nix.
javascript.0 mal neu gestartet?
Vielleicht läuft da noch ein oder mehrere nicht gestoppte Timer im Hintergrund?wie genau sieht denn das Script aus, dass diesen Wert beschreiben würde?
@homoran Quelle ist immer history.0. nicht Javascript.0 wie bei allen anderen.
Ich hatte ja alle Scripte gestoppt. selbst iobroker schon mal gestoppt und neu gestartet.Folgendes Script beschreibt die Monthly Werte:
//Monatlich 01. 00:00 schedule("1 0 1 * *", function () { log('Monthly') for (var n = 0; n < ArrayOfSensors.length; n+=4) { // for every third if (ArrayOfSensors[n+3].includes('M') ){ //nur wenn Monatlich aktiviert ist var actvalue = getState(ArrayOfSensors[n+2]).val; var lastvalue = getState('javascript.0.Verbrauch.'+ArrayOfSensors[n]+'_monthly_last').val; var [verbrauch, letzter] = intervallVerbrauch(actvalue, lastvalue); setState('javascript.0.Verbrauch.'+ArrayOfSensors[n]+'_monthly',verbrauch, true); setState('javascript.0.Verbrauch.'+ArrayOfSensors[n]+'_monthly_last', letzter, true); } } });das wird nicht ausgeführt außerhalb der crontab Zeit das sehe ich ja im Logbuch.
-
Zeig mal das Objekt des States.
@ticaki wie meinen?
-
Zeig mal das Objekt des States.
{ "common": { "name": "Photovoltaik_monthly", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0, "custom": { "history.0": { "enabled": true, "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "retention": 0, "customRetentionDuration": 365, "maxLength": 960, "enableDebugLogs": false, "debounce": 0 } } }, "type": "state", "native": {}, "_id": "javascript.0.Verbrauch.Photovoltaik_monthly", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.history.0", "user": "system.user.admin", "ts": 1703338278190 }so sieht ein anderer aus:
{ "common": { "name": "diff last month Stromzaehler", "type": "number", "unit": "kWh", "role": "state", "custom": { "history.0": { "changesOnly": true, "debounce": 0, "retention": 0, "maxLength": 960, "changesMinDelta": 0, "aliasId": "", "enabled": true } } }, "native": { "name": "diff last month Stromzaehler", "type": "number", "unit": "kWh", "role": "state" }, "type": "state", "from": "system.adapter.history.0", "user": "system.user.admin", "ts": 1703338278073, "_id": "javascript.0.Verbrauch.Stromzaehler_monthly", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } } -
@homoran Quelle ist immer history.0. nicht Javascript.0 wie bei allen anderen.
Ich hatte ja alle Scripte gestoppt. selbst iobroker schon mal gestoppt und neu gestartet.Folgendes Script beschreibt die Monthly Werte:
//Monatlich 01. 00:00 schedule("1 0 1 * *", function () { log('Monthly') for (var n = 0; n < ArrayOfSensors.length; n+=4) { // for every third if (ArrayOfSensors[n+3].includes('M') ){ //nur wenn Monatlich aktiviert ist var actvalue = getState(ArrayOfSensors[n+2]).val; var lastvalue = getState('javascript.0.Verbrauch.'+ArrayOfSensors[n]+'_monthly_last').val; var [verbrauch, letzter] = intervallVerbrauch(actvalue, lastvalue); setState('javascript.0.Verbrauch.'+ArrayOfSensors[n]+'_monthly',verbrauch, true); setState('javascript.0.Verbrauch.'+ArrayOfSensors[n]+'_monthly_last', letzter, true); } } });das wird nicht ausgeführt außerhalb der crontab Zeit das sehe ich ja im Logbuch.
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Quelle ist immer history.0
und
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0
lässt wieder die Frage zu der Konfiguration der history Instanz aufkommen!
Hast du dort eingestellt dass Werte bei Neustart geschrieben werden sollen?
das gleiche in den Objekten: ist da die Checkbox bei "opttimierte....abschalten" o.ä. aktiv? -
{ "common": { "name": "Photovoltaik_monthly", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0, "custom": { "history.0": { "enabled": true, "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "retention": 0, "customRetentionDuration": 365, "maxLength": 960, "enableDebugLogs": false, "debounce": 0 } } }, "type": "state", "native": {}, "_id": "javascript.0.Verbrauch.Photovoltaik_monthly", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.history.0", "user": "system.user.admin", "ts": 1703338278190 }so sieht ein anderer aus:
{ "common": { "name": "diff last month Stromzaehler", "type": "number", "unit": "kWh", "role": "state", "custom": { "history.0": { "changesOnly": true, "debounce": 0, "retention": 0, "maxLength": 960, "changesMinDelta": 0, "aliasId": "", "enabled": true } } }, "native": { "name": "diff last month Stromzaehler", "type": "number", "unit": "kWh", "role": "state" }, "type": "state", "from": "system.adapter.history.0", "user": "system.user.admin", "ts": 1703338278073, "_id": "javascript.0.Verbrauch.Stromzaehler_monthly", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }@jmeister79 nicht dauernd alte Posts ändern!
da sieht niemand später nochmal rein -
{ "common": { "name": "Photovoltaik_monthly", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0, "custom": { "history.0": { "enabled": true, "aliasId": "", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": 0, "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "retention": 0, "customRetentionDuration": 365, "maxLength": 960, "enableDebugLogs": false, "debounce": 0 } } }, "type": "state", "native": {}, "_id": "javascript.0.Verbrauch.Photovoltaik_monthly", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.history.0", "user": "system.user.admin", "ts": 1703338278190 }so sieht ein anderer aus:
{ "common": { "name": "diff last month Stromzaehler", "type": "number", "unit": "kWh", "role": "state", "custom": { "history.0": { "changesOnly": true, "debounce": 0, "retention": 0, "maxLength": 960, "changesMinDelta": 0, "aliasId": "", "enabled": true } } }, "native": { "name": "diff last month Stromzaehler", "type": "number", "unit": "kWh", "role": "state" }, "type": "state", "from": "system.adapter.history.0", "user": "system.user.admin", "ts": 1703338278073, "_id": "javascript.0.Verbrauch.Stromzaehler_monthly", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
disableSkippedValueLogging": false,
dann schreibt history "fehlende" Daten um den Graph schöner zu machen.
(aber nicht slle 15 Sekunden) -
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Quelle ist immer history.0
und
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0
lässt wieder die Frage zu der Konfiguration der history Instanz aufkommen!
Hast du dort eingestellt dass Werte bei Neustart geschrieben werden sollen?
das gleiche in den Objekten: ist da die Checkbox bei "opttimierte....abschalten" o.ä. aktiv?@homoran said in Rauskriegen wer auf einen Datenpunkt schreibt:
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Quelle ist immer history.0
und
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0
lässt wieder die Frage zu der Konfiguration der history Instanz aufkommen!
Hast du dort eingestellt dass Werte bei Neustart geschrieben werden sollen?
das gleiche in den Objekten: ist da die Checkbox bei "opttimierte....abschalten" o.ä. aktiv?Diese Einstellung habe ich nicht.
Das ist beim Datenpunkt eingestellt und im Standard:

Ich hatte die Historyaktivierung automatisiert über eine For schleife vorgenommen. Ich habe ca 30 solcher Datenpunkte die unter Monthly gespeichert werden, nur dieser macht das...
-
@homoran said in Rauskriegen wer auf einen Datenpunkt schreibt:
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Quelle ist immer history.0
und
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
hab ich den Wert händisch neu angelegt und er beginnt sofort mit dem loggen neu. Quelle ist history.0
lässt wieder die Frage zu der Konfiguration der history Instanz aufkommen!
Hast du dort eingestellt dass Werte bei Neustart geschrieben werden sollen?
das gleiche in den Objekten: ist da die Checkbox bei "opttimierte....abschalten" o.ä. aktiv?Diese Einstellung habe ich nicht.
Das ist beim Datenpunkt eingestellt und im Standard:

Ich hatte die Historyaktivierung automatisiert über eine For schleife vorgenommen. Ich habe ca 30 solcher Datenpunkte die unter Monthly gespeichert werden, nur dieser macht das...
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Diese Einstellung habe ich nicht.
zeigen!
-
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Diese Einstellung habe ich nicht.
zeigen!
@homoran said in Rauskriegen wer auf einen Datenpunkt schreibt:
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Diese Einstellung habe ich nicht.
zeigen!
:-D

-
@homoran said in Rauskriegen wer auf einen Datenpunkt schreibt:
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Diese Einstellung habe ich nicht.
zeigen!
:-D

@jmeister79 also hast du die Einstellung doch, aber nicht aktiviert
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