Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript für Temperaturmessung bitte um Hilfe

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Skript für Temperaturmessung bitte um Hilfe

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

      Hallo zusammen!

      Ich habe einen ganz besonderen Wunsch. Ich kenne mich mit Skripten leider nicht aus und benötige deshalb bitte eure Hilfe.

      Folgendes möchte ich gerne machen:

      Ich habe einen Temperatursensor an einem Heizkörper. Ich benötige ein Skript das folgendes macht:

      Sobald die Temperatur über 25° steigt soll die aktuelle Temperatur und die aktuelle Uhrzeit jeweils in eine Systemvariable geschrieben werden. So lange bis die Temperatur wieder sinkt. Dann soll dieser maximalen Wert und die dazugehörige Uhrzeit in eine andere Systemvariable kopiert werden.

      Das ganze soll wieder von vorne beginnen wenn dann der Heizkörper nach dem abkühlen wieder über 25° steigt

      Ich möchte damit sehen wie heiß der Heizkörper bei der aktuellen und letzten Aufheizung war.

      Ist das irgendwie möglich?

      Vielen Dank für eure Hilfe!

      Lg

      Manuel

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

        Vorschlag mit zwei String-Datenpunkten:

        createState("HK-Temperatur", "25.0 °C");
        createState("HK-max-Temperatur", "25.0 °C");
        
        // IDs
        var  idtemp = "javascript.0.HK-Temperatur";
        var  idmax = "javascript.0.HK-max-Temperatur";
        var  idt = "hm-rpc.0.JEQ1234567.1.TEMPERATURE";
        
        function hktemp(t) {
            // maximaler Temperaturwert
            var max_t = parseFloat(getState(idmax).val);
            // letzter Temperaturwert
            var last_t = parseFloat(getState(idtemp).val);
        
            // aktuelle Uhrzeit
            var now = " °C um " + formatDate(new Date(), "hh:mm") + " Uhr";
        
            // Temperatur über 25°C ?
            if (t > 25.0) 
            {   setState(idtemp, t.toFixed(1) + now);
                if (last_t <= 25.0) max_t = 25.0; 
                if (t > max_t) setState(idmax, t.toFixed(1) + now);
            }
        }
        
        on(idt, function(dp) {
            var t = dp.newState.val;
            hktemp(t);
        });
        
        
        1 Reply Last reply Reply Quote 0
        • H
          hofi77 last edited by

          Danke für die rasche Hilfe. Super 🙂

          Lg

          Manuel

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

          Support us

          ioBroker
          Community Adapters
          Donate

          486
          Online

          31.7k
          Users

          79.7k
          Topics

          1.3m
          Posts

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