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.
    • K
      Kaschi68 last edited by

      Hallo Zusammen,
      ich möchte gerne eine Temperatur abfragen, und alle 60 sec. die Tendenz für Auf/Ab/Gleich bekommen.
      Ich weiss das es in VIS mit justgage-indicator auch geht, aber die Grafik sagt mir nicht so zu. Habt Ihr eine Lösung ? Kann auch Script sein....

      Vielen Dank,
      Kaschi68

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

                              874
                              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