Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. $-Selector / Raum dynamisch?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    $-Selector / Raum dynamisch?

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tempestas last edited by

      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

      1 Reply Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer last edited by

        @tempestas:

        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 + ')');
        
        1 Reply Last reply Reply Quote 0
        • T
          tempestas last edited by

          Ahh danke. man man man, da hätte ich auch selbst drauf kommen können.

          Vielen Dank!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Support us

          ioBroker
          Community Adapters
          Donate

          806
          Online

          31.7k
          Users

          79.8k
          Topics

          1.3m
          Posts

          2
          3
          782
          Loading More Posts
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes
          Reply
          • Reply as topic
          Log in to reply
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
          The ioBroker Community 2014-2023
          logo