Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Differenzen zwischen Soll und Ist

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Differenzen zwischen Soll und Ist

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

      Hallo,

      ich arbeite gerade an einem Script welches mir aus allen HM Wandthermostaten die Differenz liefert zwischen Soll und Ist Temperatur. Das Script generiert ein Objekt mit dem Namen DifWohnzimmer, DifSchlafzimmer etc.

      Wie kann ich aber nun per Script herausfinden, welches Objekt den höchsten Wert hat? Diese Heizung mit der höchsten Differenz soll dann ein Token von ein paar Minuten zum Heizen bekommen.

      721_verbrauch.jpg

      Der rote Bereich stellt den Energiebezug vom Netzbetreiber dar. Der grüne Bereich, was die Sonne liefert. An Tagen wo ausreichend Sonne da ist, könnte man die Heizungen deckeln und verhindern, dass alle gleichzeitig angehen.

      Ursprüngliche Frage: Wie kann ich das Objekt mit dem höchsten Differenzwert herausfiltern.
      721_difheiz.jpg

      Gruß Marco

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

        Versuche es mal so (nicht getestet):

        `var idDif1 = '...';
        ...
        var idDif8 = '...';
        
        var difs = [];
        difs[0] = getState(idDif1).val;
        ...
        difs[7] = getState(idDif8).val;
        
        var ids = [idDif1,...,idDif8];
        var idMax = '';
        
        function maxDif() {
            var max = 0;
            for(var i = 0; i < 8; i++) {
                if(difs[i] > max) {
                    max = difs[i];
                    idMax = ids[i];
                }
            }
            Mache was mit idMax / max    
        }
        
        maxDif();  // Script start
        
        on(idDif1, function(dp) {
            difs[0] = dp.state.val;
            maxDif();
        });
        ...
        on(idDif8, function(dp) {
            difs[7] = dp.state.val;
            maxDif();
        });` [/i][/i][/i]
        
        1 Reply Last reply Reply Quote 0
        • M
          Marcolotti last edited by

          Danke Paul, das Script hat auf Anhieb gepasst.

          Weiß jemand, ob man Direktverbindungen in der CCU2 deaktivieren kann? Auf der Oberfläche gehts nicht.

          Sinn: Um das Script erfolgreich einsetzen zu können, muss ich zeitweilig die Direktverknüpfung zwischen HM-Thermostat und den Zwischenschaltern kappen. Die andere Möglichkeit, das Wandthermostat auf Manuell zu setzen funktioniert nicht, weil dann die Differenzen nicht mehr stimmen. Manuell ist bei mir 4,5°C. Das nutze ich bereits, wenn die MAX-Fenstersensoren Fenster offen anzeigen.

          Gruß Marco

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

          Support us

          ioBroker
          Community Adapters
          Donate

          1.0k
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

          2
          3
          698
          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