NEWS
$-Selector / Raum dynamisch?
-
Hallo zusammen,
ich möchte für meine Temperaturwarnung gleich mitprüfen, ob und wenn ja wieviele Fenster im betreffenden Raum offen sind.
Mein aktuelles Skript dazu sieht so aus (Extrakt)
var raum; // *********************************************************************** // Cache-Selector // *********************************************************************** var cacheSelector = $('channel[state.id=*.ACTUAL_TEMPERATURE](functions=Raumklima)'); // *********************************************************************** // Functions // *********************************************************************** // Check-Function function temperatureCheck(obj) { var textKalt = []; var warn = getState(idWarnTemp).val; cacheSelector.each(function (id, i) { var ist = getState(id).val; raum = getObject(id, 'rooms').enumNames[0]; if (ist < warn) { // IST-Temperatur ist kleiner als Warn-Temperatur var pushinfo = raum + " kühlt aus"; textKalt.push(pushinfo); // Rauminfo mit Ist Temperatur zum Array hinzufügen var nachricht = "Temperatur im " +raum + " beträgt nur noch "+ist +" °C.\n" +fenster +" Fenster offen."; if(telegram) sendTo('telegram.0', nachricht ); } }); setState(idText, textKalt.join(', ') ); textKalt.length>0 ? setState(idWarnung, true) : setState(idWarnung, false); }nun will ich gerne eben direkt die Anzahl der offenen Fenster in dem Raum mit abfragen.
var cacheSelectorFenster = $('channel[state.id=*.STATE](functions=Verschluss)(rooms= XXXXXXXXX)');wobei XXXXXXXXX eben dynamisch gefüllt werden soll. Aber wie? Kann ich dem $-Selector beibringen, dass hinter dem = bei rooms eben nicht die Bezeichnung kommt sondern eine Variable? (hier: raum)?
Danke für Hinweise
-
wobei XXXXXXXXX eben dynamisch gefüllt werden soll. Aber wie? Kann ich dem $-Selector beibringen, dass hinter dem = bei rooms eben nicht die Bezeichnung kommt sondern eine Variable? (hier: raum)? `
Bau dir den String den du übergibst doch einfach mit der Variable zusammen:var cacheSelectorFenster = $('channel[state.id=*.STATE](functions=Verschluss)(rooms=' + VARIABLE + ')');
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