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. JavaScript
  5. Frage zum Script

NEWS

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

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

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

Frage zum Script

Geplant Angeheftet Gesperrt Verschoben JavaScript
14 Beiträge 2 Kommentatoren 3.8k 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.
  • B Offline
    B Offline
    bku
    schrieb am zuletzt editiert von
    #3

    @ 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 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #4

      @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 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        bku
        schrieb am zuletzt editiert von
        #5

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

        1 Antwort Letzte Antwort
        0
        • B Offline
          B Offline
          bku
          schrieb am zuletzt editiert von
          #6

          @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 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #7

            @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 Antwort Letzte Antwort
            0
            • B Offline
              B Offline
              bku
              schrieb am zuletzt editiert von
              #8

              @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 Antwort Letzte Antwort
              0
              • BluefoxB Offline
                BluefoxB Offline
                Bluefox
                schrieb am zuletzt editiert von
                #9

                @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 Antwort Letzte Antwort
                0
                • B Offline
                  B Offline
                  bku
                  schrieb am zuletzt editiert von
                  #10

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

                  1 Antwort Letzte Antwort
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    schrieb am zuletzt editiert von
                    #11

                    @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 Antwort Letzte Antwort
                    0
                    • B Offline
                      B Offline
                      bku
                      schrieb am zuletzt editiert von
                      #12

                      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 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #13

                        @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 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          bku
                          schrieb am zuletzt editiert von
                          #14

                          Danke - irgendwann hab ichs raus … ;)

                          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

                          820

                          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