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. Skripten / Logik
  4. Homematic Heizkörperthermostate gehen in Auto-Modus

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Homematic Heizkörperthermostate gehen in Auto-Modus

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 3 Kommentatoren 503 Aufrufe 2 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.
  • Jens KatheJ Offline
    Jens KatheJ Offline
    Jens Kathe
    schrieb am zuletzt editiert von
    #1

    Guten Abend,

    zur Steuerung meiner Homematic Heizkörperthermostate anhand des Status der Fenster im Raum, habe ich eigene Funk-Fensterkontakte entwickelt. Ich weiß es gibt auch welche von Homematic, welche ich auch erst im Einsatz hatte, aber nach und nach möchte ich Homematic durch eine Eigenentwicklung ablösen.
    Der Fensterkontakt liefert dem ioBroker je nach Fensterstatus ein "close" oder "open". Für jeden Raum in meinem Haus gibt es dann eine zusammenfassende User-Variable (wichtig für Räume mit mehreren Fenstern), welche auf 0 gesetzt wird sobald ein Fenster auf ist und auf 1 sobald alle Fenster wieder zu sind. Abhängig von dem Status dieser Raum-Variablen setze ich die Heizkörperthermostate im Raum entweder auf 5°C wenn die Fenster auf sind oder auf den Auto-Modus wenn die Fenster zu sind.

    // Bath downstairs
    on({id: [].concat(['0_userdata.0.Window.BathDownstairs']), change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("0_userdata.0.Window.BathDownstairs").val == '0') {
        setStateDelayed('hm-rpc.0.MEQ1587544.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ1587544.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
      } else if (getState("0_userdata.0.Window.BathDownstairs").val == '1') {
        setStateDelayed('hm-rpc.0.MEQ1587544.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
      }
    });
    

    Für Räume mit nur einem Heizkörperthermostat funktioniert das auch sehr gut und das schon seit einigen Wochen.

    Problematisch ist es jedoch bei Räumen, in denen mehrere Heizkörperthermostate und ein Raumthermostat (auch Homematic) sind. Für das Wohnzimmer sieht das Skript da z.B. so aus:

    // Livingroom/kitchen
    on({id: [].concat(['0_userdata.0.Window.Livingroom']), change: "ne"}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("0_userdata.0.Window.Livingroom").val == '0') {
          setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.NEQ0311531.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200930.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ1587567.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200913.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ0048839.2.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.NEQ0311531.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200930.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ1587567.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200913.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ0048839.2.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
      } else if (getState("0_userdata.0.Window.Livingroom").val == '1') {
        setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
        setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
      }
    });
    

    In den meisten Fällen funktioniert es einfach gar nicht und die Heizkörperthermostate bleiben einfach in dem Zustand in dem sie gerade sind. Wenn es jedoch doch funktioniert, dann setzen sich die Heizkörperthermostate nach kurzer oder etwas längerer Zeit von selbst wieder zurück auf die im Auto-Modus eingestellte Temperatur. Der Manu-Modus bleibt jedoch aktiviert.

    Könnt ihr mir da weiterhelfen?

    David G.D paul53P 3 Antworten Letzte Antwort
    0
    • Jens KatheJ Jens Kathe

      Guten Abend,

      zur Steuerung meiner Homematic Heizkörperthermostate anhand des Status der Fenster im Raum, habe ich eigene Funk-Fensterkontakte entwickelt. Ich weiß es gibt auch welche von Homematic, welche ich auch erst im Einsatz hatte, aber nach und nach möchte ich Homematic durch eine Eigenentwicklung ablösen.
      Der Fensterkontakt liefert dem ioBroker je nach Fensterstatus ein "close" oder "open". Für jeden Raum in meinem Haus gibt es dann eine zusammenfassende User-Variable (wichtig für Räume mit mehreren Fenstern), welche auf 0 gesetzt wird sobald ein Fenster auf ist und auf 1 sobald alle Fenster wieder zu sind. Abhängig von dem Status dieser Raum-Variablen setze ich die Heizkörperthermostate im Raum entweder auf 5°C wenn die Fenster auf sind oder auf den Auto-Modus wenn die Fenster zu sind.

      // Bath downstairs
      on({id: [].concat(['0_userdata.0.Window.BathDownstairs']), change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("0_userdata.0.Window.BathDownstairs").val == '0') {
          setStateDelayed('hm-rpc.0.MEQ1587544.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ1587544.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
        } else if (getState("0_userdata.0.Window.BathDownstairs").val == '1') {
          setStateDelayed('hm-rpc.0.MEQ1587544.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
        }
      });
      

      Für Räume mit nur einem Heizkörperthermostat funktioniert das auch sehr gut und das schon seit einigen Wochen.

      Problematisch ist es jedoch bei Räumen, in denen mehrere Heizkörperthermostate und ein Raumthermostat (auch Homematic) sind. Für das Wohnzimmer sieht das Skript da z.B. so aus:

      // Livingroom/kitchen
      on({id: [].concat(['0_userdata.0.Window.Livingroom']), change: "ne"}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("0_userdata.0.Window.Livingroom").val == '0') {
            setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.NEQ0311531.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200930.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ1587567.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200913.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ0048839.2.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.NEQ0311531.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200930.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ1587567.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200913.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ0048839.2.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
        } else if (getState("0_userdata.0.Window.Livingroom").val == '1') {
          setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
          setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
        }
      });
      

      In den meisten Fällen funktioniert es einfach gar nicht und die Heizkörperthermostate bleiben einfach in dem Zustand in dem sie gerade sind. Wenn es jedoch doch funktioniert, dann setzen sich die Heizkörperthermostate nach kurzer oder etwas längerer Zeit von selbst wieder zurück auf die im Auto-Modus eingestellte Temperatur. Der Manu-Modus bleibt jedoch aktiviert.

      Könnt ihr mir da weiterhelfen?

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von David G.
      #2

      @jens-kathe

      Hast du mal probiert die ganzen Thermostate als Gruppe zu schalten?

      Ich habe zwar nur 3 Thermostate in meiner größten Gruppe, jedoch klappt da alles wenn ich es in meiner Visualisierung über die Gruppe stelle.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      1 Antwort Letzte Antwort
      0
      • Jens KatheJ Offline
        Jens KatheJ Offline
        Jens Kathe
        schrieb am zuletzt editiert von
        #3

        Ich habe sie zwar gruppiert, aber noch nicht versucht es darüber zu machen. Bisher konnte ich die Gruppe noch nicht offensichtlich im ioBroker Adapter finden. Ist denn mein grundsätzliches Vorgehen so richtig? Also das ich erstmal den Auto-Modus wieder auf "false" setze, dann die Manu-Temperatur einstelle und dann noch den Manu-Modus aktiviere? Oder ist das theoretisch alles doppelt gemoppelt?

        paul53P David G.D 2 Antworten Letzte Antwort
        0
        • Jens KatheJ Jens Kathe

          Ich habe sie zwar gruppiert, aber noch nicht versucht es darüber zu machen. Bisher konnte ich die Gruppe noch nicht offensichtlich im ioBroker Adapter finden. Ist denn mein grundsätzliches Vorgehen so richtig? Also das ich erstmal den Auto-Modus wieder auf "false" setze, dann die Manu-Temperatur einstelle und dann noch den Manu-Modus aktiviere? Oder ist das theoretisch alles doppelt gemoppelt?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #4

          @jens-kathe sagte: Auto-Modus wieder auf "false" setze, dann die Manu-Temperatur einstelle und dann noch den Manu-Modus aktiviere?

          Nur MANU_MODE aktivieren! Die Rückmeldung erfolgt im CONTROL_MODE und in SET_TEMPERATURE. Der CONTROL_MODE ist "read only".

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • Jens KatheJ Jens Kathe

            Ich habe sie zwar gruppiert, aber noch nicht versucht es darüber zu machen. Bisher konnte ich die Gruppe noch nicht offensichtlich im ioBroker Adapter finden. Ist denn mein grundsätzliches Vorgehen so richtig? Also das ich erstmal den Auto-Modus wieder auf "false" setze, dann die Manu-Temperatur einstelle und dann noch den Manu-Modus aktiviere? Oder ist das theoretisch alles doppelt gemoppelt?

            David G.D Online
            David G.D Online
            David G.
            schrieb am zuletzt editiert von
            #5

            @jens-kathe sagte in Homematic Heizkörperthermostate gehen in Auto-Modus:

            Ich habe sie zwar gruppiert, aber noch nicht versucht es darüber zu machen. Bisher konnte ich die Gruppe noch nicht offensichtlich im ioBroker Adapter finden. Ist denn mein grundsätzliches Vorgehen so richtig? Also das ich erstmal den Auto-Modus wieder auf "false" setze, dann die Manu-Temperatur einstelle und dann noch den Manu-Modus aktiviere? Oder ist das theoretisch alles doppelt gemoppelt?

            Für die Gruppen musst du eine eigene Instanz vom rpc anlegen.

            Dort als Daemon "Virtual Devices" auswählen.

            Zeigt eure Lovelace-Visualisierung klick
            (Auch ideal um sich Anregungen zu holen)

            Meine Tabellen für eure Visualisierung klick

            1 Antwort Letzte Antwort
            0
            • Jens KatheJ Jens Kathe

              Guten Abend,

              zur Steuerung meiner Homematic Heizkörperthermostate anhand des Status der Fenster im Raum, habe ich eigene Funk-Fensterkontakte entwickelt. Ich weiß es gibt auch welche von Homematic, welche ich auch erst im Einsatz hatte, aber nach und nach möchte ich Homematic durch eine Eigenentwicklung ablösen.
              Der Fensterkontakt liefert dem ioBroker je nach Fensterstatus ein "close" oder "open". Für jeden Raum in meinem Haus gibt es dann eine zusammenfassende User-Variable (wichtig für Räume mit mehreren Fenstern), welche auf 0 gesetzt wird sobald ein Fenster auf ist und auf 1 sobald alle Fenster wieder zu sind. Abhängig von dem Status dieser Raum-Variablen setze ich die Heizkörperthermostate im Raum entweder auf 5°C wenn die Fenster auf sind oder auf den Auto-Modus wenn die Fenster zu sind.

              // Bath downstairs
              on({id: [].concat(['0_userdata.0.Window.BathDownstairs']), change: "ne"}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("0_userdata.0.Window.BathDownstairs").val == '0') {
                  setStateDelayed('hm-rpc.0.MEQ1587544.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ1587544.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                } else if (getState("0_userdata.0.Window.BathDownstairs").val == '1') {
                  setStateDelayed('hm-rpc.0.MEQ1587544.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                }
              });
              

              Für Räume mit nur einem Heizkörperthermostat funktioniert das auch sehr gut und das schon seit einigen Wochen.

              Problematisch ist es jedoch bei Räumen, in denen mehrere Heizkörperthermostate und ein Raumthermostat (auch Homematic) sind. Für das Wohnzimmer sieht das Skript da z.B. so aus:

              // Livingroom/kitchen
              on({id: [].concat(['0_userdata.0.Window.Livingroom']), change: "ne"}, async function (obj) {
                var value = obj.state.val;
                var oldValue = obj.oldState.val;
                if (getState("0_userdata.0.Window.Livingroom").val == '0') {
                    setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.NEQ0311531.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200930.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ1587567.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200913.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ0048839.2.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.NEQ0311531.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200930.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ1587567.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200913.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ0048839.2.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                } else if (getState("0_userdata.0.Window.Livingroom").val == '1') {
                  setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                  setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                }
              });
              

              In den meisten Fällen funktioniert es einfach gar nicht und die Heizkörperthermostate bleiben einfach in dem Zustand in dem sie gerade sind. Wenn es jedoch doch funktioniert, dann setzen sich die Heizkörperthermostate nach kurzer oder etwas längerer Zeit von selbst wieder zurück auf die im Auto-Modus eingestellte Temperatur. Der Manu-Modus bleibt jedoch aktiviert.

              Könnt ihr mir da weiterhelfen?

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @jens-kathe sagte: auf 0 gesetzt wird sobald ein Fenster auf ist und auf 1 sobald alle Fenster wieder zu sind.

              Als Zahl oder als String? Mit Zahl:

              Bild_2022-09-26_212435244.png

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              Jens KatheJ 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @jens-kathe sagte: auf 0 gesetzt wird sobald ein Fenster auf ist und auf 1 sobald alle Fenster wieder zu sind.

                Als Zahl oder als String? Mit Zahl:

                Bild_2022-09-26_212435244.png

                Jens KatheJ Offline
                Jens KatheJ Offline
                Jens Kathe
                schrieb am zuletzt editiert von
                #7

                @paul53 Als Zahl.
                Ich werde das nachher mal ausprobieren und gebe euch dann Rückmeldung

                1 Antwort Letzte Antwort
                0
                • Jens KatheJ Jens Kathe

                  Guten Abend,

                  zur Steuerung meiner Homematic Heizkörperthermostate anhand des Status der Fenster im Raum, habe ich eigene Funk-Fensterkontakte entwickelt. Ich weiß es gibt auch welche von Homematic, welche ich auch erst im Einsatz hatte, aber nach und nach möchte ich Homematic durch eine Eigenentwicklung ablösen.
                  Der Fensterkontakt liefert dem ioBroker je nach Fensterstatus ein "close" oder "open". Für jeden Raum in meinem Haus gibt es dann eine zusammenfassende User-Variable (wichtig für Räume mit mehreren Fenstern), welche auf 0 gesetzt wird sobald ein Fenster auf ist und auf 1 sobald alle Fenster wieder zu sind. Abhängig von dem Status dieser Raum-Variablen setze ich die Heizkörperthermostate im Raum entweder auf 5°C wenn die Fenster auf sind oder auf den Auto-Modus wenn die Fenster zu sind.

                  // Bath downstairs
                  on({id: [].concat(['0_userdata.0.Window.BathDownstairs']), change: "ne"}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if (getState("0_userdata.0.Window.BathDownstairs").val == '0') {
                      setStateDelayed('hm-rpc.0.MEQ1587544.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ1587544.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                    } else if (getState("0_userdata.0.Window.BathDownstairs").val == '1') {
                      setStateDelayed('hm-rpc.0.MEQ1587544.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                    }
                  });
                  

                  Für Räume mit nur einem Heizkörperthermostat funktioniert das auch sehr gut und das schon seit einigen Wochen.

                  Problematisch ist es jedoch bei Räumen, in denen mehrere Heizkörperthermostate und ein Raumthermostat (auch Homematic) sind. Für das Wohnzimmer sieht das Skript da z.B. so aus:

                  // Livingroom/kitchen
                  on({id: [].concat(['0_userdata.0.Window.Livingroom']), change: "ne"}, async function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    if (getState("0_userdata.0.Window.Livingroom").val == '0') {
                        setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', false, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.NEQ0311531.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200930.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ1587567.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200913.4.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ0048839.2.MANU_MODE', 5, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.NEQ0311531.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200930.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ1587567.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200913.4.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ0048839.2.CONTROL_MODE', "MANU-MODE", false, parseInt(((0) || "").toString(), 10), false);
                    } else if (getState("0_userdata.0.Window.Livingroom").val == '1') {
                      setStateDelayed('hm-rpc.0.NEQ0311531.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200930.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ1587567.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.LEQ1200913.4.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                      setStateDelayed('hm-rpc.0.MEQ0048839.2.AUTO_MODE', true, false, parseInt(((0) || "").toString(), 10), false);
                    }
                  });
                  

                  In den meisten Fällen funktioniert es einfach gar nicht und die Heizkörperthermostate bleiben einfach in dem Zustand in dem sie gerade sind. Wenn es jedoch doch funktioniert, dann setzen sich die Heizkörperthermostate nach kurzer oder etwas längerer Zeit von selbst wieder zurück auf die im Auto-Modus eingestellte Temperatur. Der Manu-Modus bleibt jedoch aktiviert.

                  Könnt ihr mir da weiterhelfen?

                  David G.D Online
                  David G.D Online
                  David G.
                  schrieb am zuletzt editiert von
                  #8

                  @jens-kathe sagte in Homematic Heizkörperthermostate gehen in Auto-Modus:

                  Ich weiß es gibt auch welche von Homematic, welche ich auch erst im Einsatz hatte, aber nach und nach möchte ich Homematic durch eine Eigenentwicklung ablösen.

                  Warum wechselst du zu deiner Eigenentwicklung wenn Homatic bereits verbaut war?
                  Läuft bei mir sowas von stabil, dass mir eigentlich kein Grund einfällt (abgesehen vom Preis).

                  Zeigt eure Lovelace-Visualisierung klick
                  (Auch ideal um sich Anregungen zu holen)

                  Meine Tabellen für eure Visualisierung klick

                  Jens KatheJ 1 Antwort Letzte Antwort
                  1
                  • David G.D David G.

                    @jens-kathe sagte in Homematic Heizkörperthermostate gehen in Auto-Modus:

                    Ich weiß es gibt auch welche von Homematic, welche ich auch erst im Einsatz hatte, aber nach und nach möchte ich Homematic durch eine Eigenentwicklung ablösen.

                    Warum wechselst du zu deiner Eigenentwicklung wenn Homatic bereits verbaut war?
                    Läuft bei mir sowas von stabil, dass mir eigentlich kein Grund einfällt (abgesehen vom Preis).

                    Jens KatheJ Offline
                    Jens KatheJ Offline
                    Jens Kathe
                    schrieb am zuletzt editiert von
                    #9

                    @david-g Der Spaß es selbst zu machen ;-)

                    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

                    619

                    Online

                    32.6k

                    Benutzer

                    82.3k

                    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