NEWS
[gelöst]Rauskriegen wer auf einen Datenpunkt schreibt
-
@codierknecht wie geil ist das denn? Wieder was gelernt, wusste nicht dass es dieses Attribut gibt. 1000 Dank!
-
@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.
-
@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?
-
@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...
-
@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?
-
Zeig mal das Objekt des States.
-
@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.
-
@ticaki wie meinen?
-
{ "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:
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? -
@jmeister79 nicht dauernd alte Posts ändern!
da sieht niemand später nochmal rein -
@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) -
@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!
-
@homoran said in Rauskriegen wer auf einen Datenpunkt schreibt:
@jmeister79 sagte in Rauskriegen wer auf einen Datenpunkt schreibt:
Diese Einstellung habe ich nicht.
zeigen!
-
@jmeister79 also hast du die Einstellung doch, aber nicht aktiviert
-
@homoran said in Rauskriegen wer auf einen Datenpunkt schreibt:
@jmeister79 also hast du die Einstellung doch, aber nicht aktiviert
Hast du dort eingestellt dass Werte bei Neustart geschrieben werden sollen?Du meinst die mit den NULL Werten?