Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. Hardware
  4. Thermostat mit ext. Ist-Temperatursensor (Empfehlung)

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    901

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Thermostat mit ext. Ist-Temperatursensor (Empfehlung)

Geplant Angeheftet Gesperrt Verschoben Hardware
thermostatzigbee thermostatheizungssteuerung
22 Beiträge 9 Kommentatoren 4.6k Aufrufe 7 Watching
  • Ä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.
  • ZarelloZ Zarello

    Das selbe Problem hatte ich bei mir auch. Allerdings hatte ich nicht darauf geachtet, ob das Thermostat das kann sondern einfach eines gekauft, welches Zigbee spricht.

    Meine Lösung: Ein kleines Skript, was auf den Sollwert des Thermostats die Differenz zwischen Temperatur des Thermostats und Temperatur des Thermometers addiert.

    Im Detail: Ich habe mir einen Datenpunkt 0_userdata.0.SollTemperatur erstellt, in dem ich die gewünschte Temperatur einstelle.
    Außerdem gibt es einen Datenpunkt 0_userdata.0.Fensteröffnung (boolean), an dem festgehalten wird ob eines der Fenster geöffnet ist.

    Im Skript:

    const id_thermostat = "zigbee.0.847127fffe0a488b";
    const id_thermometer = "zigbee.0.00124b0022e97dce";
    
    async function setThermostat (obj) {
        if (getState ("0_userdata.0.Fensteröffnung").val) {
            setState (id_thermostat + ".target_temperature", 5);
            return;
        }
    
        // Differenz berechnen und auf max. +/-5°C beschränken
        let d = getState("0_userdata.0.SollTemperatur").val - getState(id_thermometer + ".temperature").val;
        if (d < -5)
            d = -5;
        else if (d > 5)
            d = 5;
    
        const old_temperature = getState (id_thermostat + ".target_temperature").val;
        const new_temperature = getState (id_thermostat + ".local_temp").val + d;
    
        const diff = old_temperature - new_temperature;
        if (diff < 0 || diff > 0.5) {
            setState(id_thermostat + ".target_temperature", new_temperature);
        }
    }
    
    on({id: new RegExp('0_userdata\\.0\\.SollTemperatur'
            + "$|" + 'zigbee\\.0\\.00124b0022e97dce\\.temperature'
            + "$|" + '0_userdata\\.0\\.Fensteröffnung'
            + "$|" + 'zigbee\\.0\\.847127fffe0a488b\\.local_temp' + "$"), change: "ne"}, setThermostat);
    
    setThermostat ({});
    

    Beim Reduzieren der Temperatur habe ich noch eine Schwelle von 0.5°C eingebaut, da ich festgestellt habe, dass dadurch die Temperatur etwas schneller und besser erreicht wird und um die Änderungshäufigkeit etwas zu reduzieren.

    ZarelloZ Offline
    ZarelloZ Offline
    Zarello
    schrieb am zuletzt editiert von
    #21

    Ich bekam gerade folgende Frage per Chat:

    Was tut das Script, wenn der Datenpunkt 0_userdata.0.Fensteröffnung auf true steht?

    Ich antworte mal hier, damit andere, denen sich die Frage stellt, auch etwas davon haben ;)
    Nochmal kurz die Stelle um die es geht:

        if (getState ("0_userdata.0.Fensteröffnung").val) {
            setState (id_thermostat + ".target_temperature", 5);
            return;
        }
    

    Wenn in dem Objekt Fensteröffnung der Wert true steht, dann wird das Heizkörperthermostat auf 5°C gesetzt. Das ist die niedrigste Einstellung, die bei dem Thermostat möglich ist und entspricht der Frostschutztemperatur.
    Also: Fenster offen -> Heizung aus. Durch das return wird danach auch keine weitere Anweisung dieser Funktion ausgeführt.

    Das Objekt Fensteröffnung wird durch ein anderes Skript gesetzt, da ich zum einen in dem Zimmer mehrere Fenster habe und zum anderen auch noch weitere Dinge darüber steuere.

    1 Antwort Letzte Antwort
    1
    • mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #22

      Die Shelly TRV kannst Du dafür nutzen, da Du die IST Temperatur über HTTP API oder mqtt setzen kannst. Damit bist Du völlig unabhängig von der Hardware und kannst über den IOBroker steuern. Damit ist auch die Frage des Protokolls des Temperatursensors obsolet.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      506

      Online

      32.6k

      Benutzer

      82.2k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      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