Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. $-Selector / Raum dynamisch?

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.7k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.1k

$-Selector / Raum dynamisch?

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 860 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    tempestas
    schrieb am zuletzt editiert von
    #1

    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

    <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #2

      @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 + ')');
      

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tempestas
        schrieb am zuletzt editiert von
        #3

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

        Vielen Dank!

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        605

        Online

        32.4k

        Benutzer

        81.5k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe