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 + ')');
-
Ahh danke. man man man, da hätte ich auch selbst drauf kommen können.
Vielen Dank!