NEWS
Hilfe bei getEnum
-
Hallo zusammen,
Ich brauche mal eure Hilfe. Mit der Funktion getEnum("rooms") erhält man ja eine Liste aller Räume, die man angelegt hat.
Nun möchte ich aber gerne eine Aufzählung einlesen, die fensterkontakte heisst. Ersetze ich oben "rooms" durch "fensterkontakte" , bekomme ich keine Rückgabe, auch nicht, wenn ich "functions.fensterkontakte" übergebe.
Mache ich hier irgendetwas falsch, oder geht das nur mit "rooms" und "functions", also den Oberkategorien?
Danke und Gruß
Danyo -
Was genau hast du vor?
Du kannst z.B. sowas verwenden:
$('channel(functions=fensterkontakte)[state.id=*.STATE]').each(function (id, i) { var status = getState(id).val; log(id + ': ' + status); });Das liest dir jeden Wert aus der Aufzählung "fensterkontakte" aus bei dem die State ID auf .STATE endet..
Du kannst auch mit dem getEnum('functions'); arbeiten - und dann durchlaufen lassen bis du deine Fensterkontakte gefunden hast..
z.B. so:getEnums('functions').forEach(function (obj) { if (obj.id === 'enum.functions.fensterkontakte') { log(obj.members); } });(Bitte Groß-/Kleinschreibung bei der Angabe beachten.. Wenn deine Aufzählung Fensterkontakte heißt, du aber nach fensterkontakte fragst, bekommst du nichts zurück!)
Gruß
-
Hi BuZZy,
danke erstmal für die Antwort.
Ich möchte in meiner Visualisierung für meine Fenstersensoren einen Status anzeigen. Für die Visualisierung nutze ich das Material Theme von Uhla. Dort hat man die Möglichkeit sich States anzeigen zu lassen. Diese basieren aber auf numerischen Werten. Meine (Homematic) Fenstersensoren liefern aber "true" oder "false". Von daher wollte ich mir per Skript einen zusätzlichen Datenpunkt anlegen, welche dann für den korrespondierenden Fensterkontakt für True eine 1 anzeigt und für False eine 0.
Damit ich das nicht für jeden Kontakt machen muss, wollte ich die Aufzählung auslesen, und den Code etwas generischer halten.
Oder gibt es noch ne bessere Lösung. Bin für alle Vorschläge offen :-)
Danke und Gruß
Danyo
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden