Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Frage zum Script

    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

    Frage zum Script

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

      @ bluefox:

      Danke - funktioniert super. Hab sogar von "events.push" auf "events.unshift" (gefunden!) umgestellt. Nun ist die neueste Meldung oben.

      @Bluefox:

      beliebiges Widget abhängig von einem anderem Zustand anzeigen oder verbergen `
      Das klingt super!

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

        @bku:

        @ bluefox:

        Danke - funktioniert super. Hab sogar von "events.push" auf "events.unshift" (gefunden!) umgestellt. Nun ist die neueste Meldung oben.

        @Bluefox:

        beliebiges Widget abhängig von einem anderem Zustand anzeigen oder verbergen Das klingt super!

        Muss es dann statt "shift"````
        if (events.length > 5) events.shift();

        nicht "pop" sein?
        

        if (events.length > 5) events.pop();

        
        Ich hoffe es ist klar, dass man beliebig viele Events so darstellen kann und nicht nur 5? ;)
        1 Reply Last reply Reply Quote 0
        • B
          bku last edited by

          Ja ist klar. "pop" habe ich auch schon gefunden…. Danke!

          1 Reply Last reply Reply Quote 0
          • B
            bku last edited by

            @Bluefox:

            Dann sollte so was möglich sein:

            CODE:

            createState('BewegungsmeldungAck', false);

            createState('EreignisListe', '');

            var events = [];

            // Liste aus maximal 5 Ereignissen

            function getEventsList() {

            var text = '';

            for (var i = 0; i < events.length; i++) {

            text += (text ? <u>'
            \n'</u>
            : '') + events__;

            }

            return text;

            …__ __@bluefox:

            Läuft soweit gut, nur die "
            " sind noch in der Ereignisliste. Bekomme ich die weg, oder kannst Du da noch was machen?

            –------------------------------------------

            Dann noch eine zweite Geschichte, möchte einen Wert (Temperatur) in ein Script einlesen und dann prüfen. Klappt nicht (weil ich die Syntax/Parameter nicht kenne...... )

            Wie bekomme ich die Temperatur eingelesen?_

            log("===> Start TempTruhe","info");
            createState('TruheZuWarm', 'false');
            
            on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/*Gefriertruhentemperatur.TEMPERATURE*/, function(obj) {
                if (obj.newState.val > "-20") {
                    setState('TruheZuWarm', 'true'); 
            		log("---> Truhe zu warm: ", +obj.newState.val,"info");
                } else { 
                    setState('TruheZuWarm', 'false');
            		log("---> Truhe i.O.: ", +obj.newState.val,"info");        
                }    
            });
            
            

            Danke und Gruß

            Bernd_ `

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

              @bku:

              @bluefox:

              Läuft soweit gut, nur die "
              " sind noch in der Ereignisliste. Bekomme ich die weg, oder kannst Du da noch was machen? `
              Dafür gibt es zwei Möglichkeiten:
              einfach löschen, oder "Basic - String (unescaped)" nutzen.

              @bku:

              Dann noch eine zweite Geschichte, möchte einen Wert (Temperatur) in ein Script einlesen und dann prüfen. Klappt nicht (weil ich die Syntax/Parameter nicht kenne…... )

              Wie bekomme ich die Temperatur eingelesen?

              log("===> Start TempTruhe","info");
              createState('TruheZuWarm', 'false');
              
              on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/*Gefriertruhentemperatur.TEMPERATURE*/, function(obj) {
                  if (obj.newState.val > "-20") {
                      setState('TruheZuWarm', 'true'); 
              		log("---> Truhe zu warm: ", +obj.newState.val,"info");
                  } else { 
                      setState('TruheZuWarm', 'false');
              		log("---> Truhe i.O.: ", +obj.newState.val,"info");        
                  }    
              });
              
              

              Danke und Gruß

              Bernd `

              log("===> Start TempTruhe","info");
              createState('TruheZuWarm', 'false');
              
              on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/*Gefriertruhentemperatur.TEMPERATURE*/, function(obj) {
                  var temp = parseFloat(obj.newState.val);
                  if (temp > -20) {
                      setState('TruheZuWarm', 'true'); 
              		log("---> Truhe zu warm: ", +obj.newState.val,"info");
                  } else { 
                      setState('TruheZuWarm', 'false');
              		log("---> Truhe i.O.: ", +obj.newState.val,"info");        
                  }    
              });
              
              
              1 Reply Last reply Reply Quote 0
              • B
                bku last edited by

                @Bluefox:

                log("===> Start TempTruhe","info");

                createState('TruheZuWarm', 'false');

                on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/Gefriertruhentemperatur.TEMPERATURE/, function(obj) {

                var temp = parseFloat(obj.newState.val);

                if (temp > -20) {

                setState('TruheZuWarm', 'true');

                log("–-> Truhe zu warm: ", +obj.newState.val,"info");

                } else {

                setState('TruheZuWarm', 'false');

                log("---> Truhe i.O.: ", +obj.newState.val,"info");

                }

                }); `
                @bluefox:

                Klappt leider noch nicht, bekomme Fehler "….object is not a function"
                304_sc-fehler.png
                147_getting_started_3_de.png

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

                  @bku:

                  @Bluefox:

                  log("===> Start TempTruhe","info");

                  createState('TruheZuWarm', 'false');

                  on("hm-rpc.0.GEQ0020381.1.TEMPERATURE"/Gefriertruhentemperatur.TEMPERATURE/, function(obj) {

                  var temp = parseFloat(obj.newState.val);

                  if (temp > -20) {

                  setState('TruheZuWarm', 'true');

                  log("–-> Truhe zu warm: ", +obj.newState.val,"info");

                  } else {

                  setState('TruheZuWarm', 'false');

                  log("---> Truhe i.O.: ", +obj.newState.val,"info");

                  }

                  }); `
                  @bluefox:

                  Klappt leider noch nicht, bekomme Fehler "….object is not a function" `
                  Der stützt bei````
                  log("---> Truhe zu warm: ", +obj.newState.val,"info");

                  
                  Muss so sein:
                  

                  log("---> Truhe zu warm: " + obj.newState.val);

                  log("---> Truhe zu warm: " + obj.newState.val, "info");

                  
                  EDIT: Und danke. Du hast Fehler gefunden. :)
                  1 Reply Last reply Reply Quote 0
                  • B
                    bku last edited by

                    noch nicht ganz richtig?
                    304_sc2.png
                    304_sc1.png

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

                      @bku:

                      noch nicht ganz richtig? `
                      Komma zu viel:

                      log("–-> Truhe zu warm: ", + temp, "info");

                      if (temp > '-10')
                      

                      Schlecht:

                      Es muss sein:

                      if (temp > -10)
                      
                      1 Reply Last reply Reply Quote 0
                      • B
                        bku last edited by

                        Danke, läuft jetzt aber warum ist zwischen "Truhe 1" und "Truhe 2" immer eine Differenz ??

                        Der richtige Wert steht in "Truhe 1"
                        304_t2.png
                        304_t1.png

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

                          @bku:

                          Danke, läuft jetzt aber warum ist zwischen "Truhe 1" und "Truhe 2" immer eine Differenz ??

                          Der richtige Wert steht in "Truhe 1" `
                          Weil du

                          var temp = parseFloat(obj.oldState.val);

                          oldState nimmst. Und oldState das ist genau Zustand vor newState.

                          Richtig währe immer newState zu verwenden.

                          1 Reply Last reply Reply Quote 0
                          • B
                            bku last edited by

                            Danke - irgendwann hab ichs raus … 😉

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            797
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            2
                            14
                            3624
                            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