NEWS
Möglich die "Bezeichnung" eines states auszulesen?
-
Hab in einigen meiner Objekt "Bezeichnungen" (sorry für die naive Terminologie ) gespeichert, also sowas wie
"states": { "true": "offen", "false": "geschlossen" },
Was dann in der Admin Oberfläche ja so aussieht
Gibt es eine Möglichkeit, die Werte hinter dem : auszulesen (Ziel ist die direkt als "string" zu nutzen)?
Oder muss ich mich da im Skript selber drum kümmern, also auf true/false testen, dann wissen, was entsprechend offen/geschlossen ist und damit dann arbeiten? -
@padrino sagte:
Gibt es eine Möglichkeit, die Werte hinter dem : auszulesen
Ja, es handelt sich um Zustandstexte.
const states = getObject(id).common.states; // Für setState function getTxtState(txt) { for(var i in states) { if(states[i] == txt) { if(i === "true") return true; if(i === "false") return false; if(parseInt(i) !== NaN) return parseInt(i); return i; } } log('Zustandstext ungültig: ' + txt, 'warn'); } on(id, function(dp) { var stateText = states[dp.state.val]; });
-
@paul53
Danke.
Komplizierter als gedacht (vor allem für mich Blocklyjunkie ).
Muss ich mir mal in Ruhe zum verstehen vorlegen.