NEWS
Name eines Objekts auslesen
-
Hallo Zusammen!
Ich möchte gerne in einem Blockly-Skript den Namen eines Objekts auslesen. Genau genommen geht es um zwave.0.NODE2, dem ich den Namen "Esszimmer" gegeben habe. Diesen Wert würde ich gerne in einer Funktion fürs Debugging verwenden.
Unter System finde ich nur "XXX von ObjektID", wobei der Parameter Wert, anerkannt, Zeitstempel, Letzte Änderung, Qualität und Quelle sein kann. Keine dieser Möglichkeiten gibt mir den gewünschten Namen.
Mit Attribut XXX von Objekt XXX weiß ich leider nicht umzugehen: Name oder deviceName als Text-Parameter funktionieren jedenfalls nicht.Kann mir wer helfen?
Vielen Dank!
PS: Alternativ könnte ich auch den Raum von zwave.0.NODE2.THERMOSTAT_SETPOINT.Heating_1_1
Geht das leichter? -
Ha! Ich hab eine Lösung gefunden, die ich mal bei den Profis in der Raum stellen möchte:
Ich habe die Funktion JS-Funktion mit Ergebnis XXX mit: YYY </> hinzugefügt und beim Zahnrad eine Variable ObjectID angelegt. Unter </> habe ich als nur die folgende Zeile:
return getObject(ObjectID).common.name;
Gäbe es einen Grund, es nicht so zu machen? Bei mir läuft es bis jetzt jedenfalls problemlos-
-
-
Das ist korrekt, aber ggf. Fehlreträchtig. Gibt es das objekt nicht dann verweist du auf undefinierte Objekte / Eigenschaften.
A.
-
@Asgothian sagte:
ggf. Fehlreträchtig.
Im Prinzip ist es so. Da aber die Funktion für Blockly ist, in der man i.d.R. das Objekt per "select ID" zuweist, ist diese Fehlerwahrscheinlichkeit gering.
-
@moritzabcde Hallo Moritz, im Prinzip habe ich dieselbe Aufgabenstellung wie Du "damals". Deine Lösung schein gut zu sein, aber leider verstehe ich nicht, wie Du die Funktion dann ins Blockly einbaust. Kannst Du vielleicht das Blockly hier reinstellen, bzw. den interessierenden Ausschnitt? Gruß und Danke...
-
-
@moritzabcde Danke.
Wie bekomme ich es hin, nur einen Teil der von objectID.common.name auszulesen, also etwas alles VOR dem letzten Punkt und in einem anderen Script alles NACH dem letzten Punkt?
Hintergrund: Ich möchte in einem Script den Wert eines Datenpunkts setzen aus einer Berechnung der Werte zweier anderer Datenpunkte, die im Objektbaum nebeneinander stehen, also
alias.0.ATC 0741ef W-Keller.TaupunktTemp = Ergebnis einer Formel mit alias.0.ATC 0741ef W-Keller.temperature und alias.0.ATC 0741ef W-Keller.humidityDie Formel habe ich in einem JS-Script. Dem muss ich nun die beiden letzten Werte übergeben.
Da das für verschiedene Räume gehen soll, will ich den Abschnitt vor dem letzten Punkt auslesen.