NEWS
ehemalige Historydaten finden
-
@klassisch Mach dazu einen anderen Thread auf und erkläre dort genau, was du erreichen willst. Dann schau ich mir das bei Gelegenheit an. Eins nach dem anderen.
-
@mcu Herzlichen Dank für das Angebot! Ist nicht dringend und ich möchte hier nicht stören. Nur von Zeit zu Zeit kommt bei mir der usecase auf.
Ich denke mal über eine Art Spec nach. Ist nicht so trivial, wie sich das anhört, denn man braucht jeweils ein Kriterium. welche Datenpunkte zeitlich korrelieren. Die werden ja in den seltesten Fällen zur selben ms geschrieben. -
@klassisch Es stört niemand. Fragen ist immer richtig und wichtig. Es würde nur nicht zum Thema passen.
-
@homoran Stellst du bitte die Objektdaten zu den beiden DPs rein.
hm-rega.0.KEQ1065589.0.DUTY_CYCLE hm-rega.0.43579
-
@mcu gerne
{ "_id": "hm-rega.0.KEQ1065589.0.DUTY_CYCLE", "type": "state", "common": { "name": "hm-rega.0.KEQ1065589.0.DUTY_CYCLE", "type": "number", "read": true, "write": false, "role": "value", "min": 0, "max": 100, "unit": "%", "desc": "Dutycycle", "custom": { "history.0": { "enabled": true, "aliasId": "hm-rega.0.43579", "changesOnly": true, "debounce": "1000", "changesRelogInterval": "1800", "changesMinDelta": "0", "maxLength": "10", "retention": "0" } } }, "native": { "ID": "DUTYCYCLE", "TYPE": "INTEGER", "MIN": 0, "MAX": 100, "UNIT": "%", "DEFAULT": 0, "CONTROL": "NONE" }, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.hm-rega.0", "user": "system.user.admin", "ts": 1667374580666 }
{ "_id": "hm-rega.0.43579", "type": "state", "common": { "name": "DC_Groundplane", "type": "number", "read": true, "write": true, "role": "state", "min": 0, "max": 1000, "custom": { "history.0": { "enabled": true, "changesOnly": true, "debounce": "1000", "maxLength": "10", "retention": 0, "changesRelogInterval": "1800", "changesMinDelta": 0, "aliasId": "" } } }, "native": { "Name": "DC_Groundplane", "TypeName": "VARDP", "DPInfo": "", "ValueMin": 0, "ValueMax": 1000, "ValueUnit": "", "ValueType": 4, "ValueSubType": 0, "ValueList": "" }, "from": "system.adapter.hm-rega.0", "ts": 1667374581466, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "user": "system.user.admin" }
-
@homoran Der Unterschied ist
write: false
beihm-rega.0.KEQ1065589.0.DUTY_CYCLE
undwrite: true
beihm-rega.0.43579
. Was das mit dem getEnabledDPs (history) zu tun hat? -
@homoran Hab jetzt nochmal eine Version v1.0.4, mit der kann man zwischen alias-Verwendung und normale DPs umschalten -> useAliasIdInEnabled: true.
Weiterhin kann man nur die enabled_DPs erstellen lassen (fillEnabled_DPs
) und auch ein Array mit history-DPs, die aliasIds (fillWithAliasId
) verwenden.Welche Werte sind dann unterschiedlich in dem Array, insbesondere die angesprochenen DPs ?
-
-
@mcu sagte in ehemalige Historydaten finden:
@homoran Meinst du diesen Link?
https://mcuiobroker.gitbook.io/jarvis-infos/tipps/scripte-blockly-javascript/javascript/history-adapter/nicht-mehr-geloggte-dps-in-history-verzeichnissen-findensorry ich hatte alle deine Posts nicht mehr gesehen. hatte dir ne PN geschrieben und dich dabei irrtümlich blockiert
SORRY
-
im fill with alias findet er zwei DPs
[ { "dpId": "luftdaten.0.28288.SDS_P1", "aliasId": "luftdaten.1.28288.SDS_P1" }, { "dpId": "luftdaten.0.28288.SDS_P2", "aliasId": "luftdaten.1.28288.SDS_P2" } ]
die Rega sind nicht dabei
unter enabled sind die "nicht-alias DPs"
"luftdaten.0.28288.SDS_P1", "luftdaten.0.28288.SDS_P2", "luftdaten.0.34499.SDS_P1", "luftdaten.0.34499.SDS_P2",
-
@homoran
Bei demhm-rega.0.43579
verstehe ich es, er hat kein aliasId.
Aber bei demhm-rega.0.KEQ1065589.0.DUTY_CYCLE
der müsste drin sein.
Aber den hatte er ja auch schon nicht in der enabledDPs-Liste.
Setzt den bitte manl testweise write auf true und lass nochmal fillWithAliasId laufen.Der getEndabledDPs(history-Adapter) holt den anscheinend nicht, warum auch immer?
unter enabled sind die "nicht-alias DPs"
Das ist so, wenn der
useAliasIdInEnabled
auf false steht. -
@mcu sagte in ehemalige Historydaten finden:
Setzt den bitte manl testweise write auf true und lass nochmal fillWithAliasId laufen.
enabled
"hm-rega.0.12770", "hm-rega.0.1995", "hm-rega.0.41216", "hm-rega.0.43096", "hm-rega.0.KEQ1065589.0.DUTY_CYCLE", "hm-rega.0.50371", "hm-rega.0.56705", "hm-rega.0.58388", "hm-rega.0.58979", "hm-rega.0.5996", "hm-rega.0.6318",
und fillwithAlias
[ { "dpId": "hm-rega.0.KEQ1065589.0.DUTY_CYCLE", "aliasId": "hm-rega.0.43579" }, { "dpId": "luftdaten.0.28288.SDS_P1", "aliasId": "luftdaten.1.28288.SDS_P1" }, { "dpId": "luftdaten.0.28288.SDS_P2", "aliasId": "luftdaten.1.28288.SDS_P2" } ]
ist jetzt in beiden drin
-
@homoran Lag es am write = true?
Dann hat der Adapter "history" einen Fehler.
Man kann ja trotzdem (write:false) über den Adapter Werte in den State schreiben oder? -
@mcu sagte in ehemalige Historydaten finden:
Das ist so, wenn der useAliasIdInEnabled auf false steht.
im Prinzip müssten der aktuelle und der alias (weil alter DP) in enabled stehen damit die gesamte History , auch über Gerätetausvh/Adapter wechseln erhalten bleibt, oder?
-
@homoran Im enabled muss der aliasID , falls vorhanden, drin stehen, da die Dateien mit dem aliasId-Namen gesetzt werden.
-
@mcu sagte in ehemalige Historydaten finden:
@homoran Lag es am write = true?
Dann hat der Adapter "history" einen Fehler.
Man kann ja trotzdem (write:false) über den Adapter Werte in den State schreiben oder?sieht so aus!
dann muss da @apollon77 mal nachsehen, dann kan der das vielleicht auch mit den history-Alias-DPs klären -
@homoran
Das einzige offene Problem ist jetzt, dass der getEnabledDPs (history) die DPs nicht einfängt, wennwrite vom DP:false
ist.
Gibt es sonst noch Probleme? -
@mcu sagte in ehemalige Historydaten finden:
Gibt es sonst noch Probleme?
zumindest keine offensichtlichen!
mit den Alias muss ich nochmal drüber schlafen. Deine Idee nur die AliasID als enabled zu nehmen kann ich noch nicht so recht nachvollziehen. schließlich ist der neue Datenpunkt ja wirklich enabled.
-
@homoran Der alte ist DUTY_CYCLE und der neue ist 43579.
Der alte hat einen aliasID und der neue nicht. Somit würde nur noch der neue im enabledDPs-Array stehen, der einmal über den alias erkannt wird und einmal als eigenständiger enabled DP.
history schreibt aber nur in den Neuen (43579). -
@mcu das kann aber nicht sein. Kein Code an den ich mich erinnere in History achtet auf das write flag.
Wenn in den custom Settings dercstate forget History an ist dann sollte erneut adapterstart gelistet sein dancer geloggt wird und dann enthält auch getEnabled den
Wenn man in den History settings einen Alia’s angegeben hat kann es vllt nur sein das diese alias id in getEnabled gelistet ist anstelle vom echten state??