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. [Frage] Auslesen bestimmter States

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    935

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Frage] Auslesen bestimmter States

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
6 Beiträge 3 Kommentatoren 935 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.
  • Z Offline
    Z Offline
    znyde
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    bin absoluter Javascript Neuling, mit php würde ich es bestimmt hinbekommen.

    und zwar würde ich gerne meine HM-CC-RT-DN von bestimmten Räumen (Wohnzimmer, Flur, Küche, Bad) auslesen, bzw dort brauche ich die Eingestellten Temperaturen, diese würde ich in einem Array speichern. wenn eine bestimmte Bedingung erfüllt ist würde ich diese Werte um 1°C erhöhen und an die Thermostate übergeben.

    mein größtes Problem ist das einlesen aller Thermostate, da habe ich momentan gedanklich noch kein Ansatz.

    Vielleicht mag mir ja einer helfen ;)

    Viele Grüße

    Dominique

    1 Antwort Letzte Antwort
    0
    • PeoplesP Offline
      PeoplesP Offline
      Peoples
      schrieb am zuletzt editiert von
      #2

      Hi Dominique,

      so in etwa?:

      var Thermostate = [];
            Thermostate[0] = "hm-rpc.0.MEQXXXXXXX";  // Hier nur deine GeräteID
            Thermostate[1] = "hm-rpc.0.MEQXXXXXXX"; // Hier nur deine GeräteID
            Thermostate[2] = "hm-rpc.0.MEQXXXXXXX"; // Hier nur deine GeräteID
      //   ...
      //   Thermostate[99] = .....
      
      function WerteErhoehen (){
          Thermostate.forEach(function(ID) {
                  setState(ID+'.4.SET_TEMPERATURE',getState(ID+'.4.SET_TEMPERATURE').val + 1);
                  //log(getState(ID+'.4.SET_TEMPERATURE').val + 1);
          });
          setState("Dein Auslöse Datenpunkt",false);  //Datenpunkt wieder zurück setzen
      }
      
      //Wenn deine bestimmte Bedingung ein Datenpunkt wäre könntest du es so machen:
      on({id:"Dein Auslöse Datenpunkt",  val: true}, function (obj) {
          WerteErhoehen();
      });
      
      

      Gruß

      Steffen

      Ich beantworte keine Fragen zu Themen via PN

      1 Antwort Letzte Antwort
      0
      • Z Offline
        Z Offline
        znyde
        schrieb am zuletzt editiert von
        #3

        Danke!

        ja so in etwa kommt es schon hin,

        richtig nice wäre ein array zu bilden mit den räumen die betroffen sind

        raum[0] = "Wohnzimmer";

        raum[1] = "Flur";

        raum[2] = "Schlafzimmer";

        …

        ...

        ...

        alle Thermostate im system einlesen, mit der Raumzuordnung (keine ahnung ob es möglich ist) array[thermostate][raum]

        dieses array für eine abfrage benutzen

        if (array[thermostate][raum] == array[raum])

        {

        if (aussentemp<5)

        {

        gefundenes Thermostat um 1°C erhöhen

        }

        elseif (aussentemp <4)

        {

        gefundenes Thermostat um 2°C erhöhen

        }

        }

        hoffe ich hab es verständlich erklärt :roll:

        aber deinen code werde ich aufjedenfall mal ausprobieren

        VG

        Dominique

        1 Antwort Letzte Antwort
        0
        • PeoplesP Offline
          PeoplesP Offline
          Peoples
          schrieb am zuletzt editiert von
          #4

          Hi Dominique,

          ich könnte mir schon vorstellen dass dies möglich ist, jedoch überschreitet das meine Kenntnisse hier bräuchte man dann die wirklichen Profis sorry.

          Es gibt hier ein Heizungsthermostat - Steuerungsscript von looxer01 http://forum.iobroker.net/viewtopic.php?f=21&t=10096 vielleicht kannst du dir hier die ein oder andere Inspiration hohlen.

          Gruß

          Steffen

          Ich beantworte keine Fragen zu Themen via PN

          1 Antwort Letzte Antwort
          0
          • bahnuhrB Online
            bahnuhrB Online
            bahnuhr
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            Dieses Script nutze ich um mir per telegram alle Heizkörper mit Soll und Ist-Temp darzustellen.

               if (vEingabe == "/Heizung") {
                    var cacheSelectorLevel = $('channel[state.id=*.SET_TEMPERATURE](functions="Heizung")');
                    var atext = [];
                    vText= "";
            
                    cacheSelectorLevel.each(function (id, i) { 
                        var name = getObject(id).common.name;
                        var devicename = name.substring(0, name.indexOf(".SET_TEMPERATURE")); //.set_temperature aus Text entfernen
                        var hm = id.substring(0, id.indexOf(".SET_TEMPERATURE"));   // Variablenname
                        var Temp_soll = getState(id).val;     
                        var Temp_akt =  getState(hm+ '.ACTUAL_TEMPERATURE').val;
                        vText = devicename + '; --> ' + Temp_soll + '°C; ' + Temp_akt + '°C';
                        vText = vText.replace(/Heizung: /g, '');      
                        atext.push(vText);  
                    });
                    atext.sort();
                    vText = "Heizung:       Temperatur: Soll; Ist" + "\n--------------------------------------------------------" + "\n";
                    for (x=0; x < atext.length; x=x+1){
                        vText = vText + atext[x] + '\n';
                    }
                    sendTo('telegram', vText); 
                }
            
            

            Davon kannst du bestimmt etwas gebrauchen.

            mfg

            Dieter


            Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
            Danke.
            gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
            ScreenToGif :https://www.screentogif.com/downloads.html

            1 Antwort Letzte Antwort
            0
            • Z Offline
              Z Offline
              znyde
              schrieb am zuletzt editiert von
              #6

              habe schonmal einen kleinen Teil hinbekommen.

              vielen dank euch beiden.

              var vrooms = ["Wohnzimmer", "Esszimmer", "Keller_Buero"];
              var selectedIDs = [];
              var aussentemperatur = [];
              var selectedIDs_aussen = [];
              for (var f=0, j=vrooms.length; f
              

              jetzt möchte ich die selecteIDs nur erhöhen wenn die aussentemperatur <5°C ist. so gesehen ist das ja kein Problem, nur müsste ich irgendwie die alten Temperaturen speichern damit sich das system nicht hochschaukelt.

              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

              747

              Online

              32.6k

              Benutzer

              82.2k

              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