Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Änderung durch Script oder manuell am Gerät

NEWS

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    989

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.0k

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 2 Kommentatoren 740 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • T Offline
    T Offline
    thovogel
    schrieb am zuletzt editiert von
    #1

    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 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @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
      });      
      
      

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        thovogel
        schrieb am zuletzt editiert von
        #3

        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. :D

        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 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @thovogel:

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

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

          1 Antwort Letzte Antwort
          0

          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

          Registrieren Anmelden
          Antworten
          • In einem neuen Thema antworten
          Anmelden zum Antworten
          • Älteste zuerst
          • Neuste zuerst
          • Meiste Stimmen


          Support us

          ioBroker
          Community Adapters
          Donate

          326

          Online

          33.0k

          Benutzer

          83.6k

          Themen

          1.3m

          Beiträge
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2026
          logo
          • Anmelden

          • Du hast noch kein Konto? Registrieren

          • Anmelden oder registrieren, um zu suchen
          • Erster Beitrag
            Letzter Beitrag
          0
          • Home
          • Aktuell
          • Tags
          • Ungelesen 0
          • Kategorien
          • Unreplied
          • Beliebt
          • GitHub
          • Docu
          • Hilfe