Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Flot-Adapter - Differenzwertanzeige

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Flot-Adapter - Differenzwertanzeige

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

      Hallo,

      ich würde mir gerne per Flot-Adapter die Differenz zweier aufeinanderfolgender Werte eines Datenpunktes anzeigen lassen. Das Problem ist, dass die Absolutwerte des entsprechenden Datenpunktes sehr hoch sind und sich nur geringfügig ändern (z.B. die Betriebsstunden meines Brenners). Ich fände es toll, wenn der Flot-Adapter eine weitere Auswahlmöglichkeit unter "Chart Type" mit dem Parameter "Differenz" aufweisen würde.

      Vermutlich gibt Flot das aber wohl nicht her, oder? Vielleicht hat ja jemand eine Lösung per Javascript für mich?!

      Gruß,

      Thorsten

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo Thorsten,

        probier mal so:

        /* Skript Differenz Brenner 
        
        errechnet die Differenz zwischen dem aktuellen und dem letzten Wert des Brenners
        http://forum.iobroker.net/viewtopic.php?f=20&t=6899
        
        17.06.2017 erstellt
        
        */
        
        var idBrenner = "ID_DES_BRENNERS"; // <------- ID eintragen
        var idDifferenz = "javascript.0.Brenner.Differenz"; // wird erstellt, ist für flot
        
        createState(idDifferenz, {
            name: 'Brenner: Differenz',
            desc: 'Differenz zwischen aktuellem und letztem Wert',
            type: 'number',
            min: 0
        });
        
        on(idBrenner, function(data) {
            var aktuell = data.state.val,
                letzter = data.oldState.val;
        
            var diff = aktuell - letzter;
        
            setState(idDifferenz, diff);   
        });
        
        

        Paar Fragen zum Verfeinern:

        Welchen History Adapter verwendest du? SQL, Influx?

        Sind die Messerte Ganzzahlen oder Dezimalzahlen?

        Gruß

        Pix

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

          Mein Vorschlag: Jedesmal, wenn der Brenner ausschaltet, wird die aktuelle Laufzeit ermittelt. Die kann gut in Flot dargestellt werden.

          var idBrenner = "ID_DES_BRENNERS"; // <------- ID eintragen
          var idLaufzeit = "javascript.0.Brenner.Laufzeit";  // wird erstellt, ist für flot
          
          createState(idLaufzeit, {
              desc: 'Laufzeit des Brenners',
              type: 'number',
              min: 0,
              unit: 'h'
          });
          
          on({id: idBrenner, val: false}, function(dp) {
              var auszeit = dp.state.lc;
              var einzeit = dp.oldState.lc;
              var diff = (auszeit - einzeit) / 3600000;
              setState(idLaufzeit, diff);   
          });
          
          1 Reply Last reply Reply Quote 0
          • D
            dtp last edited by

            Hallo pix und paul53,

            vielen Dank für Eure wieder mal hervorragende Unterstützung. Werde das heute Abend mal ausprobieren und mich melden.

            @pix:

            Die Brennerlaufzeit wird als Integer-Wert ohne Nachkommastelle in Stunden ausgegeben; ist also relativ grob. Als History-Adapter verwende ich den SQL-Adapter in Verbindung mit einer MariaDB-Datenbank meiner Synology DiskStation.

            Gruß,

            Thorsten

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

            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            882
            Online

            32.0k
            Users

            80.5k
            Topics

            1.3m
            Posts

            3
            4
            1114
            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