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 last edited by

      Flot Adapter und History Adapter....

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

        @sigi234
        Habe ich beide installiert. Wo bekomme ich die Tendenz her ?

        sigi234 1 Reply Last reply Reply Quote 0
        • 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

                            850
                            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