Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Änderung durch Script oder manuell am Gerät

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Änderung durch Script oder manuell am Gerät

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

      Hallo Zusammen,

      ich beiße mir derzeit an einem Problem die Zähne aus und hoffe auf Eure Hilfe.

      Ich stelle die Soll-Temperatur für die Heizung über ein Script, in Abhängigkeit der Luftfeuchte, ein.

      Darüber hinaus möchte ich am Wandthermometer (Homematic IP) die Soll-Temperatur auch bei Bedarf manuell verändern.

      Damit diese manuelle Änderung nicht wieder durch das Script überschrieben wird, ist es m.E. erforderlich den Ursprung der Soll-Temperatur-Änderung zu identifizieren.

      Die Anforderung:

      Die Raumtemperatur soll auf die SOLL-Temperatur in Abhängigkeit der Luftfeuchte eingestellt werden.

      Dieser Automatismus, soll durch die manuelle Änderung der Soll-Temperatur am Wandthermostat ausgesetzt werden (Wandthermostat ist mit dem Heizungsthermostat gekoppelt).

      Der Automatismus soll erst dann wieder aktiviert werden, wenn ein Abwesenheit (Bewegungsmelder) im Raum erkannt wird.

      Die im folgenden dargestellt Vorgehensweise funktioniert leider nicht sauber:

      a) Ein Script stellt Soll-Temperatur (SET_POINT_TEMPERATURE) im Heizungs- und Wandthermostat ein,

      wenn das Flag "auto" den Wert "open" oder "undefined" beinhaltet.

      a1) Das Flag "auto" wird dann auf "script" gesetzt.

      a2) Mit Setzen des Datenpunktes "SET_POINT_TEMPERATURE" wird der Triggerpunkt "on(….SET_POINT_TEMPERATUR)" angesprungen.

      b) Über den Triggerpunkt "on(....SET_POINT_TEMPERATUR)" des Wandthermostats wird das Flag "auto"

      b1) auf "undefined" gesetzt, wenn das Flag zuvor auf "script" stand, bzw.

      b2) auf "manuell" gesetzt, wenn das Flag zuvor auf "manuell", "open" oder "undefined" stand.

      c) Das Flag wird auf "open" gesetzt, wenn der Bewegungsmelder eine "Abwesenheit" festgestellt hat.

      Wird eine die Soll-Temperatur am Wandthermostat eingestellt, wird die oben beschriebene Position b) aktiviert und das Elend beginnt.

      Habt ihr eine Idee?

      Gruß

      Thomas

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

        @thovogel:

        Die Raumtemperatur soll auf die SOLL-Temperatur in Abhängigkeit der Luftfeuchte eingestellt werden.

        Dieser Automatismus, soll durch die manuelle Änderung der Soll-Temperatur am Wandthermostat ausgesetzt werden (Wandthermostat ist mit dem Heizungsthermostat gekoppelt).

        Der Automatismus soll erst dann wieder aktiviert werden, wenn ein Abwesenheit (Bewegungsmelder) im Raum erkannt wird. `
        Vielleicht so ?

        const idSW = '...'; // ID Sollwert WT
        const idBM = '...'; // ID Bewegungsmelder
        const idFeuchte = '...'; // ID Feuchte
        
        var autoSW; // aus Feuchte berechneter Sollwert
        var manu = false; // Indikator "Manu"
        var feuchte = getState(idFeuchte).val;
        
        function SW() {
           ... // Berechnung des Sollwertes und Speicherung in autoSW
           if(!manu) setState(idSW, autoSW);
        }
        
        SW(); // Skriptstart
        
        on(idFeuchte, function(dp) {
           feuchte = dp.state.val;
           SW();
        });
        
        on(idSW, function(dp) {
           if(dp.state.val < autoSW - 0.6 || dp.state.val > autoSW + 0.6) manu = true;
        });
        
        on(idBM, function(dp) {
           if(!dp.state.val) manu = false;  // Abwesenheit
        });      
        
        
        1 Reply Last reply Reply Quote 0
        • T
          thovogel last edited by

          Hallo Paul53,

          vielen Dank.

          Deine Idee, die berechnete Temperatur mit der manuell eingestellten Temperatur zu vergleichen, war der Durchbruch.

          Manchmal kann es so einfach sein. 😄

          Das Verfahren funktioniert jetzt ausreichend genau.

          Nur in dem Fall, dass die manuell eingestellte Temperatur der berechneten Temperatur entspricht, wird der manuelle Modus nicht gesetzt.

          Das ist aber für meinen Fall nicht weiter tragisch.

          Gruß

          Thomas

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

            @thovogel:

            Das Verfahren funktioniert jetzt ausreichend genau. `
            Dann markiere bitte das Thema als [gelöst] (im ersten Beitrag).

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

            Support us

            ioBroker
            Community Adapters
            Donate

            362
            Online

            31.7k
            Users

            79.8k
            Topics

            1.3m
            Posts

            2
            4
            530
            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