NEWS
User-DP / Alias auf täglich geänderten DP "linken"
-
Hallo,
ich habe täglich summierte Energiewerte, diese werden für jeden Tag von Fronius in einen DP gespeichert, welcher den Wochentag hat ( 8.Mai = .../values/8 ).
Ich würde jetzt gerne über einen Alias oder User-DP auf immer diesen aktuellen Wert zugreifen ("Heutiger_Verbrauch_sum").Wie kann ich das umsetzen?
Über Blockly jede Minute diesen DP befüllen, aber wie kann ich den "dynamischen" DP auswählen (ändert sich ja jeden Tag) ? Gibt es "Platzhalter", wo ich <Wochentag> hinterlegen könnte?Hier im Bild ist wäre es der Wert "8" (6730)
-
@topsurfer sagte: Gibt es "Platzhalter"
Nimm einen RegExp als Trigger, triggere auf "wurde geändert" und mach dir so den Umstand zunutze, dass sich nur der Wert des heutigen Datenpunktes ändert.
Ich habe den vorderen Teil der ID durch .+ ersetzt, weil man sonst den wichtigen hinteren Teil im Blockly nicht sieht. Wenn es nur eine PV gibt, genügt das auch.
-
@paul53 Danke, das teste ich mal.
Wie kommt man auf solche LösungenDer DP wird nur alle 15 (?) Minuten aktuallisiert;
daher zur Sicherheit, stimmt das dann so?
Am rechten + sind Beispielsweise links zwei "Punkte", korrekt?.+\.day\.EnergyConsumptionTotal\.values\..+
-
@topsurfer sagte: Am rechten + sind Beispielsweise links zwei "Punkte", korrekt?
Ja, ist korrekt. Hier kann man es testen und man erhält eine Erklärung dazu.
EDIT: Diese Version lässt nur Zahlen an letzter Stelle der ID zu:
.+\.day\.EnergyConsumptionTotal\.values\.\d+
-
@topsurfer sagte: Wie kommt man auf solche Lösungen
Ich hatte zuerst an einen Selektor gedacht. Mit dem Selektor funktioniert es aber nur, wenn bei Skriptstart schon alle 31 möglichen Datenpunkte vorhanden sind.
-
@paul53 Thx!!
-
@paul53 Jetzt hab ich doch noch eine Rückfrage,
ich würde gerne den Wert nicht nur bei einer Änderung verwenden wollen,
sondern um den Verbrauch der letzten Minute zu berechnen müßte ich den Wert jede Minute per Cron auslesen.
Das geht ja nicht mit "Falls Objekt geändert wurde - Wert ..."Wie kann ich den Wert "abfragen" wie in dem Blockly angedeutet?
Thx!
-
@topsurfer sagte: Wie kann ich den Wert "abfragen" wie in dem Blockly angedeutet?
Den RegExp kann man nur im Trigger verwenden.
-
@paul53 ok,
Haste nee Idee wie ich es (trotzdem) umsetzen kann?
Über einen Trick oder 'Umweg'... -
@topsurfer sagte: Idee wie ich es (trotzdem) umsetzen kann?
Du kannst die ID mit dem aktuellen Tag des Monats als Text konstruieren.
-
@topsurfer sagte in User-DP / Alias auf täglich geänderten DP "linken":
Haste nee Idee wie ich es (trotzdem) umsetzen kann?
Muss das wirklich so dynamisch sein? Oder könnte man die betroffenen States auch in eine Kategorie packen und dann mit dem $Selektor arbeiten?
-
@codierknecht
Was meinst du mit "dynamisch"?
Der zu nutzende Wert steht jeden Tag in einem anderen Objekt (Tag-des-Monats),
der Wert des Objekts würde ich gerne jede Minute auslesen.
"$Selector" hab ich wohl noch nie genutzt, Blockly oder JS ?@paul53 Hmmm,
"@paul53 Hmmm,
Du kannst die ID mit dem aktuellen Tag des Monats als Text konstruieren.Die existieren erst am Ende des Monats,
am 1. existiert nur die "1".die existieren erst am Ende des Monats,
am 1. existiert nur die "1". -
@topsurfer sagte in User-DP / Alias auf täglich geänderten DP "linken":
Was meinst du mit "dynamisch"?
Vergiss es - Denkfehler meinerseits.
Der zu nutzende Wert steht jeden Tag in einem anderen Objekt (Tag-des-Monats),
der Wert des Objekts würde ich gerne jede Minute auslesen.Dann mach es so wie @paul53 es vorgeschlagen hat:
Bau Dir die ID des heutigen DP als Text zusammen. -
@codierknecht Danke,
super, funzt.
Und wenn man es dann "sieht" ist es einfach, bin aber leider auf so eine "einfache" Lösung nicht selbst gekommen (Name vom DP selbst zusammenbauen mittels Text und "Aktuelle Zeit als: Monatsname" ...) -
@topsurfer sagte: super, funzt.
Wenn du jede Minute einliest, wirst du vermutlich um 0:00 Uhr eine Warnung erhalten, wenn der Datenpunkt zu jedem Datum erst neu erstellt wird.
Werden die Datenpunkte am Monatsende wieder gelöscht? Falls nicht, gibt es das Problem nur im ersten Monat. -
@paul53
Stimmt, die DP werden alle gelöscht am Monatsende, am 2. Tag ist nur "1" und "2" vorhanden.
Aber ich were das Script auch nur alle 5 Minuten Laufen lassen,.
Müßte mal schauen, wann genau der DP erstellt wird (Punkt Mitternacht oder bei erster Veränderung)