Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Brauche Hilfe für Tendenzanzeige einer Temperatur

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Brauche Hilfe für Tendenzanzeige einer Temperatur

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @Kaschi68 last edited by

      @Kaschi68

      Screenshot (2072).png

      1 Reply Last reply Reply Quote 0
      • K
        Kaschi68 last edited by

        @sigi234
        Ja, mit den Diagrammen ist Klasse. Verwende ich auch. Nur für die Smartphones möchte ich aus Platzgründen einen Pfeil haben. Den Pfeil möchte ich als Image verwenden und im VIS ansteuern, bzw. je nach dem sichtbar machen. Mir fehlt nur leider noch grundlegend das Verständnis für Scipte.

        Der Script sollte etwa so aussehen,
        -lade Temperaturwert,
        -warte 60 Sekunden,
        -vergleiche den alten mit dem neuen Temperaturwert,
        -ist der neue Wert gleich dem alten, dann Variable=0
        -ist der neue Wert kleiner als der Alte, dann Variable=1
        -ist der neue Wert grösser als der Alte, dann Variable=2
        -gehe zum Anfang...

        Trotzdem vielen Dank für den Tipp

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

          Vorschlag:

          const idTemp = '...'; // ID für Temperatur-Datenpunkt eintragen
          const idPfeil = '...'; // ID für Multistate-Datenpunkt eintragen
          
          var lastTemp = getState(idTemp).val;
          
          schedule('* * * * *', function() { // jede Minute
             var t = getState(idTemp).val;
             var tendenz = 0;
             if(t < lastTemp) tendenz = 1;
             if(t > lastTemp) tendenz = 2;
             setState(idPfeil, tendenz, true);
             lastTemp = t;
          });
          
          K sigi234 S 3 Replies Last reply Reply Quote 1
          • K
            Kaschi68 @paul53 last edited by

            @paul53
            Das sieht schon mal Klasse aus. Werde ich morgen vormittag mal testen.

            Vielen lieben Dank...

            1 Reply Last reply Reply Quote 0
            • sigi234
              sigi234 Forum Testing Most Active @paul53 last edited by sigi234

              @paul53
              Oh , das möchte ich auch mal so können.........☺

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

                @sigi234
                Das lässt sich lernen. Habe erst im Alter von 62 mit Javascript angefangen.

                1 Reply Last reply Reply Quote 2
                • K
                  Kaschi68 last edited by

                  @paul53

                  Läuft total Super Dein Script, vielen Dank nochmal. Hier ist er mit Datenpunkten und 5min. Abfrageintervall :

                  const idTemp = 'hm-rpc.0.OEQ0xxxxxx.1.TEMPERATURE'; // ID für Temperatur-Datenpunkt eintragen
                  const idPfeil = 'javascript.0.Tendenz_Kammer'; // ID für Multistate-Datenpunkt eintragen
                  
                  var lastTemp = getState(idTemp).val;
                  
                  schedule('*/5 * * * *', function() { // jede 5 Minuten
                     var t = getState(idTemp).val;
                     var tendenz = 0;
                     if(t < lastTemp) tendenz = 1;
                     if(t > lastTemp) tendenz = 2;
                     setState(idPfeil, tendenz, true);
                     lastTemp = t;
                  });
                  

                  Beste Grüße,
                  Kaschi68

                  1 Reply Last reply Reply Quote 0
                  • S
                    Stadtschloss @paul53 last edited by

                    @paul53 Danke für das Script es klappt super! Ich beiße mir gerade die Zähne aus das Script auf 4 Werte zu ändern...
                    Also er soll 3 Werte miteinander vergleichen.

                    Ist der neue Wert < als der 1. Alte und 2. Alte und 3. Alte dann => Variable 1

                    Kannst du mir dort bitte weiterhelfen?

                    Danke dir!

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

                      @stadtschloss sagte: Ist der neue Wert < als der 1. Alte und 2. Alte und 3. Alte dann => Variable 1

                      const idTemp = 'hm-rpc.0.OEQ0xxxxxx.1.TEMPERATURE'; // ID für Temperatur-Datenpunkt eintragen
                      const idPfeil = 'javascript.0.Tendenz_Kammer'; // ID für Multistate-Datenpunkt eintragen
                       
                      var last1 = getState(idTemp).val;
                      var last2 = last1;
                      var last3 = last1;
                       
                      schedule('*/5 * * * *', function() { // jede 5 Minuten
                         var t = getState(idTemp).val;
                         var tendenz = 0;
                         if(t < last1 && t < last2 && t < last3) tendenz = 1;
                         if(t > last1) tendenz = 2;
                         setState(idPfeil, tendenz, true);
                         last3 = last2;
                         last2 = last1;
                         last1 = t;
                      });
                      
                      S 1 Reply Last reply Reply Quote 1
                      • S
                        Stadtschloss @paul53 last edited by

                        @paul53 Vielen Dank für deine Hilfe! Hat mir sehr Weitergracht bin noch mit Java am Anfang. Hat mir einiges geholfen 🙂

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        802
                        Online

                        32.0k
                        Users

                        80.5k
                        Topics

                        1.3m
                        Posts

                        4
                        13
                        923
                        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