Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. HM Thermostat Modi abfragen

    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

    HM Thermostat Modi abfragen

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

      Hi,

      ich sehe meinen Fehler nicht. Ich mochte abfragen ob alle meine Thermostate im Auto Modus sind, leider klappt die IF Abfrage nicht.

      //*****************KONTROLLE MODUS******************************************
      function modi()
      {
          if(eins&&zwei&&drei&&vier&&fuenf=="0")
          {
              setState("javascript.0.thermostate.auto", true);
          }
          else
          {
           setState("javascript.0.thermostate.auto", false);
           toLog('xxxxxxxxxxxxxx')
          }
      }
       //**************CONTROL MODE**************
          //Bad oben
      on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function()
      {
          eins = getState("hm-rpc.0.MEQ0447885.4.CONTROL_MODE").val;
          modi();
      });
      //Küche
      on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function()
      {
          zwei = getState("hm-rpc.0.MEQ0447885.4.CONTROL_MODE").val;
          modi();
      });
      //Lina
      on({id: "hm-rpc.0.MEQ0447699.4.CONTROL_MODE"}, function()
      {
          drei = getState("hm-rpc.0.MEQ0447699.4.CONTROL_MODE").val;
          modi();
      });
      //Stube
      on({id: "hm-rpc.0.MEQ0480054.2.CONTROL_MODE"}, function()
      {
          vier = getState("hm-rpc.0.MEQ0480054.2.CONTROL_MODE").val;
          modi();
      });
      //Vorbau 
      on({id: "hm-rpc.0.MEQ0447728.4.CONTROL_MODE"}, function()
      {
          fuenf = getState("hm-rpc.0.MEQ0447728.4.CONTROL_MODE").val;
          modi();
      });
      

      Was auch festzustellen ist, die funktion wird rlativ häufig aufgerufen obwohl ich am Thermostat den Modus nicht ändere.

      671_unbenannt.jpg

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Die if-Konstruktion funktioniert nicht. Vesuche es mal so:

        if(Math.max(eins, zwei, drei, vier, fuenf) == 0)
        

        Anmerkung: Wenn der Wert des auslösenden Datenpunktes abgefragt werden soll, dann besser so:

        on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function(dp)
        {
            eins = dp.newState.val;
            modi();
        });
        
        1 Reply Last reply Reply Quote 0
        • blauholsten
          blauholsten Developer last edited by

          @paul53:

          Anmerkung: Wenn der Wert des auslösenden Datenpunktes abgefragt werden soll, dann besser so:

          on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function(dp)
          {
              eins = dp.newState.val;
              modi();
          });
          ```` `  
          

          Sorry,

          das habe ich beim letzten mal schon gelernt. :roll: Habe hier noch den "alten" Müll rein kopiert.

          Denn Rest werde ich morgen ausprobieren…

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

            @paul53:

            Die if-Konstruktion funktioniert nicht. Vesuche es mal so:

            if(Math.max(eins, zwei, drei, vier, fuenf) == 0)
            ```` `  
            

            Doch noch schnell probiert, und mir die Math.max Methode? angeschaut. Klappt nicht so wirklich. Aus meiner Sicht gibt control.mode auch einen String zurück.?? :oops:

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              @blauholsten:

              Aus meiner Sicht gibt control.mode auch einen String zurück.?? `
              Nein, das ist eine Werteliste:

              var id = "hm-rpc.0.KEQ0909458.4.CONTROL_MODE";
              var x = getState(id).val;
              log("CONTROL_MODE: " + x + " Typ: " + typeof x); 
              
              

              > javascript-0 2015-10-29 22:40:21 info script.js._Multistate-Test: CONTROL_MODE: 1 Typ: number

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

                Okay. Vielen Dank.

                Ich werde die nächsten Tage ausgiebig testen…

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

                Support us

                ioBroker
                Community Adapters
                Donate

                452
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                2
                6
                1167
                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