NEWS
Details zu einem Alias auslesen
-
Hallo,
gibt es die Möglichkeit Details eines bestimmten angelegten Aliases (aus dem Objekt-Baum) via Javascript auszulesen?Ich habe eine Alias "Sonnenstunden_Heute" (alias.0.Wetter.PVForecast.Sonnenstunden_Heute) angelegt, der auf eine Ordnerstruktur verweist. Nun möchte ich den Verweis (also das Ziel - im Bild gelb makiert) auslesen.
Unter Objekt bearbeiten in der Aliaszeile aus dem Objekt-Baum findet man den gesuchten Wert unter (siehe ebenfalls gelb markiert):
"alias": {
"id": "pvforecast.0.summary.energy.hoursToday"
}d.h. ich möchte mit Javascript die Original-ID bzw. den String "pvforecast.0.summary.energy.hoursToday" des Aliases "Sonnenstunden_Heute" auslesen.
Wer kann mir hier bitte helfen (ich hoffe ich konnte vernünftig erklären was ich möchte)- Danke!
-
@tminimax wieso legst Du erst ein alias an, um dann doch wieder zum verknüpften Datenpunkt zurück zu hangeln?
Das ist doch gerade das, was Dir das Alias abnehmen soll. -
@martinp das problem ist, das sich hinter dem Alias eine darunterliegende Ordnerstruktur befindet. D.h. ich möchte nur auf den übergeordneten Ordner verweisen und mir den Rest (Zugriff auf die Unterordner bzw. Objekte) dann im Javascript selbst zusammenbauen. Damit ich im Script aber mit einem Verweis arbeiten kann, wäre das mein Ansatz. Ich verwende den Verweis, lese selbst den verknüpften Datenpunkt aus und den Rest baue ich mir selbst zusammen. So muß ich meine Scripts nicht anpassen, sollte sich vom Adapter her mal was verändern. Ich habe somit nur den übergeordneten Ordner mit dem Alias versehen und nicht noch zusätzlich für jede Stunde PV Ertrag (für heute und morgen jeweils 17 Stundenwerte, d.h. in Summe 34 Verweise, statt eben 2). Wäre jeder Datenpunkt mit einem Alias versehen, würde es direkt funktionieren, so aber leider nicht. Nur möchte ich es mir wie geschildert sparen ca. 34 Aliases zusammenzubauen (wenn es mit 2 auch ginge). In meinen Scripten möchte ich nun auf den Alias zugreifen, dort den "verknüpften" Datenpunkt auslesen und mir den Rest (die Zugriffe auf die Stundenwerte) dann selbst zusammenbauen. ...hoffe es ist halbwegs verständlich....also wäre es kein vollautomatischer verweis, sondern ein halbautomatischer....
-
@tminimax Dafür ist ein Alias nicht vorgesehen soweit mir bekannt.
Für die Auswertung gleichartiger Strukturen gibt es andere Patterns. In Blocklys z. B. Trigger auf Listen von Objekten. -
kannst du dir mit
const obj = getObject(alias.0.Wetter.PVForecast.Sonnenstunden_Heute); const original = obj.common.alias.id
holen.
siehe https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#getobject
-