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. Skript Heizung - Homematic Geräte

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    776

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

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

Skript Heizung - Homematic Geräte

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
heatingblockly
12 Beiträge 2 Kommentatoren 793 Aufrufe 1 Beobachtet
  • Ä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.
  • paul53P paul53

    @Wieger-Daniel
    Ich würde die Pumpen abhängig von der maximalen Ventilstellung der HM-CC-RT-DN schalten:

    // Pumpen abhängig von Ventilstellung schalten
    
    const idV1 = 'hm-rpc...';
    const idV2 = 'hm-rpc...';
    const idV3 = 'hm-rpc...';
    const idV4 = 'hm-rpc...';
    const idP1 = 'hm-rpc...';
    const idP2 = 'hm-rpc...';
    
    var v1 = getState(idV1).val;
    var v2 = getState(idV2).val;
    var v3 = getState(idV3).val;
    var v4 = getState(idV4).val;
    var p1 = getState(idP1).val;
    
    function pumpen() {
        let maxV = Math.max(v1, v2, v3, v4);
        if(maxV > 15) p1 = true;
        else if (maxV < 10) p1 = false;
        if(getState(idP1).val != p1) setState(idP1, p1)
        if(getState(idP2).val != p1) setState(idP2, p1)
    }
    
    pumpen(); // Script start
    
    on(idV1, function(dp) {
        v1 = dp.state.val;
        pumpen();
    });
    on(idV2, function(dp) {
        v2 = dp.state.val;
        pumpen();
    });
    on(idV3, function(dp) {
        v3 = dp.state.val;
        pumpen();
    });
    on(idV4, function(dp) {
        v4 = dp.state.val;
        pumpen();
    });
    
    Wieger DanielW Offline
    Wieger DanielW Offline
    Wieger Daniel
    schrieb am zuletzt editiert von
    #3

    @paul53
    Vielen Dank

    Habe dies über ein Homematic Script bereits versucht und bin gescheitert :(

    Irgendwie sind die ventile scheinbar länger offen als notwendig und daher schaltet die heizung auch ned richtig :(

    Darf ich dein skript versuchen?

    Muss ich nur die grünen Werte anpassen oder?

    Also V1, V2, V3, V4 sind die HK Ventile. P1 der Pumpenaktor.

    Sollte ich alle 4 Ventile eintragen, oder nur 2(sind ja 2 pro Raumthermostat).

    Vielen dank

    paul53P 1 Antwort Letzte Antwort
    0
    • Wieger DanielW Wieger Daniel

      @paul53
      Vielen Dank

      Habe dies über ein Homematic Script bereits versucht und bin gescheitert :(

      Irgendwie sind die ventile scheinbar länger offen als notwendig und daher schaltet die heizung auch ned richtig :(

      Darf ich dein skript versuchen?

      Muss ich nur die grünen Werte anpassen oder?

      Also V1, V2, V3, V4 sind die HK Ventile. P1 der Pumpenaktor.

      Sollte ich alle 4 Ventile eintragen, oder nur 2(sind ja 2 pro Raumthermostat).

      Vielen dank

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

      @Wieger-Daniel sagte:

      Muss ich nur die grünen Werte anpassen oder?

      Ja, die IDs müssen eingetragen werden.

      @Wieger-Daniel sagte in Skript Heizung - Homematic Geräte:

      V1, V2, V3, V4 sind die HK Ventile. P1 der Pumpenaktor.

      Ja.

      @Wieger-Daniel sagte in Skript Heizung - Homematic Geräte:

      Sollte ich alle 4 Ventile eintragen

      Ja. Die Ventilstellungen können trotz gemeinsamem Raumthermostat unterschiedlich sein (I-Anteil des Reglers). Der Raumthermostat regelt nicht, sondern gibt nur Temperatur-Istwert und -Sollwert vor.

      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

      Wieger DanielW 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @Wieger-Daniel sagte:

        Muss ich nur die grünen Werte anpassen oder?

        Ja, die IDs müssen eingetragen werden.

        @Wieger-Daniel sagte in Skript Heizung - Homematic Geräte:

        V1, V2, V3, V4 sind die HK Ventile. P1 der Pumpenaktor.

        Ja.

        @Wieger-Daniel sagte in Skript Heizung - Homematic Geräte:

        Sollte ich alle 4 Ventile eintragen

        Ja. Die Ventilstellungen können trotz gemeinsamem Raumthermostat unterschiedlich sein (I-Anteil des Reglers). Der Raumthermostat regelt nicht, sondern gibt nur Temperatur-Istwert und -Sollwert vor.

        Wieger DanielW Offline
        Wieger DanielW Offline
        Wieger Daniel
        schrieb am zuletzt editiert von
        #5

        @paul53
        hab das nun übernommen, die Datenpunkte angepasst..

        Pumpe schaltet nicht aus. :(
        alle Ventile sind auf 0% Pumpe läuft frohlockend weiter.!!
        broker0.png

        paul53P 1 Antwort Letzte Antwort
        0
        • Wieger DanielW Wieger Daniel

          @paul53
          hab das nun übernommen, die Datenpunkte angepasst..

          Pumpe schaltet nicht aus. :(
          alle Ventile sind auf 0% Pumpe läuft frohlockend weiter.!!
          broker0.png

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

          @Wieger-Daniel sagte:

          die Datenpunkte angepasst..

          idP1 und idP2 sind identisch. Wenn nur eine Pumpe gesteuert werden soll, dann lösche alles, was idP2 enthält.

          Du verwendest eine negative Hysterese. Ändere in

              if(maxV > 22) p1 = true;
              else if (maxV < 20) p1 = false;
          

          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

          Wieger DanielW 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @Wieger-Daniel sagte:

            die Datenpunkte angepasst..

            idP1 und idP2 sind identisch. Wenn nur eine Pumpe gesteuert werden soll, dann lösche alles, was idP2 enthält.

            Du verwendest eine negative Hysterese. Ändere in

                if(maxV > 22) p1 = true;
                else if (maxV < 20) p1 = false;
            
            Wieger DanielW Offline
            Wieger DanielW Offline
            Wieger Daniel
            schrieb am zuletzt editiert von
            #7

            @paul53
            ok fast alle angepasst :O

            hatte den 2. Datenpunkt mit idP2 zuerst nicht rausgelöscht (übersehen) und ne fehlermeldung erhalten... daher hab ich einfach mal den gleichen wie bei P1 genommen :'D

            uff die zwei maxV hab ich vertauscht :/

            dann kanns ja gar nicht funktionieren, wenn ich hier so pfusche...

            Danke, Danke Danke :)
            Ich hoffe jetzt hab ichs und es funktioniert. ich glaub ich muss mich nun echt mal in Javascripte einlesen/einlernen...

            // Pumpen abhängig von Ventilstellung schalten
            
             
            
            const idV1 = 'hm-rpc.0.REQ0840934.4.VALVE_STATE'/*Wohzimmer2 3 VALVE STATE*/;
            
            const idV2 = 'hm-rpc.0.REQ0840963.4.VALVE_STATE'/*Wohnzimmer HK 3 VALVE STATE*/;
            
            const idV3 = 'hm-rpc.0.REQ0841103.4.VALVE_STATE'/*Aromastudio HK 3 VALVE STATE*/;
            
            const idV4 = 'hm-rpc.0.REQ0841104.4.VALVE_STATE'/*Aromastudio HK 2 4 VALVE STATE*/;
            
            const idP1 = 'hm-rpc.0.QEQ0022408.1.STATE'/*Heizpumpe unten STATE*/;
            
             
            
            var v1 = getState(idV1).val;
            
            var v2 = getState(idV2).val;
            
            var v3 = getState(idV3).val;
            
            var v4 = getState(idV4).val;
            
            var p1 = getState(idP1).val;
            
             
            
            function pumpen() {
            
                let maxV = Math.max(v1, v2, v3, v4);
            
                if(maxV > 22) p1 = true;
            
                else if (maxV < 20) p1 = false;
            
                if(getState(idP1).val != p1) setState(idP1, p1)
            
            }
            
             
            
            pumpen(); // Script start
            
             
            
            on(idV1, function(dp) {
            
                v1 = dp.state.val;
            
                pumpen();
            
            });
            
            on(idV2, function(dp) {
            
                v2 = dp.state.val;
            
                pumpen();
            
            });
            
            on(idV3, function(dp) {
            
                v3 = dp.state.val;
            
                pumpen();
            
            });
            
            on(idV4, function(dp) {
            
                v4 = dp.state.val;
            
                pumpen();
            
            });
            
            

            so hab ichs nun gespeichert :)

            paul53P 1 Antwort Letzte Antwort
            0
            • Wieger DanielW Wieger Daniel

              @paul53
              ok fast alle angepasst :O

              hatte den 2. Datenpunkt mit idP2 zuerst nicht rausgelöscht (übersehen) und ne fehlermeldung erhalten... daher hab ich einfach mal den gleichen wie bei P1 genommen :'D

              uff die zwei maxV hab ich vertauscht :/

              dann kanns ja gar nicht funktionieren, wenn ich hier so pfusche...

              Danke, Danke Danke :)
              Ich hoffe jetzt hab ichs und es funktioniert. ich glaub ich muss mich nun echt mal in Javascripte einlesen/einlernen...

              // Pumpen abhängig von Ventilstellung schalten
              
               
              
              const idV1 = 'hm-rpc.0.REQ0840934.4.VALVE_STATE'/*Wohzimmer2 3 VALVE STATE*/;
              
              const idV2 = 'hm-rpc.0.REQ0840963.4.VALVE_STATE'/*Wohnzimmer HK 3 VALVE STATE*/;
              
              const idV3 = 'hm-rpc.0.REQ0841103.4.VALVE_STATE'/*Aromastudio HK 3 VALVE STATE*/;
              
              const idV4 = 'hm-rpc.0.REQ0841104.4.VALVE_STATE'/*Aromastudio HK 2 4 VALVE STATE*/;
              
              const idP1 = 'hm-rpc.0.QEQ0022408.1.STATE'/*Heizpumpe unten STATE*/;
              
               
              
              var v1 = getState(idV1).val;
              
              var v2 = getState(idV2).val;
              
              var v3 = getState(idV3).val;
              
              var v4 = getState(idV4).val;
              
              var p1 = getState(idP1).val;
              
               
              
              function pumpen() {
              
                  let maxV = Math.max(v1, v2, v3, v4);
              
                  if(maxV > 22) p1 = true;
              
                  else if (maxV < 20) p1 = false;
              
                  if(getState(idP1).val != p1) setState(idP1, p1)
              
              }
              
               
              
              pumpen(); // Script start
              
               
              
              on(idV1, function(dp) {
              
                  v1 = dp.state.val;
              
                  pumpen();
              
              });
              
              on(idV2, function(dp) {
              
                  v2 = dp.state.val;
              
                  pumpen();
              
              });
              
              on(idV3, function(dp) {
              
                  v3 = dp.state.val;
              
                  pumpen();
              
              });
              
              on(idV4, function(dp) {
              
                  v4 = dp.state.val;
              
                  pumpen();
              
              });
              
              

              so hab ichs nun gespeichert :)

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

              @Wieger-Daniel sagte:

              so hab ichs nun gespeichert

              Mit Firefox aus dem Forum kopiert ? Darauf deuten die vielen Leerzeilen hin.

              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

              Wieger DanielW 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @Wieger-Daniel sagte:

                so hab ichs nun gespeichert

                Mit Firefox aus dem Forum kopiert ? Darauf deuten die vielen Leerzeilen hin.

                Wieger DanielW Offline
                Wieger DanielW Offline
                Wieger Daniel
                schrieb am zuletzt editiert von
                #9

                @paul53 sagte in Skript Heizung - Homematic Geräte:

                @Wieger-Daniel sagte:

                so hab ichs nun gespeichert

                Mit Firefox aus dem Forum kopiert ? Darauf deuten die vielen Leerzeilen hin.

                ja mit Firefox kopiert..

                So einschalten hat nun schon mal funktioniert. :)
                So Ausschalten funktioniert auch.

                nochmals vielen Dank :)
                Aber die Übertragung der Ventilöffnung an die WEBUI ist echt sehr träge :/ die Ventile sind teils schon sicherlich fast ne Minute zu, kommt erst die Anzeige von 0% in der Webui

                paul53P 1 Antwort Letzte Antwort
                0
                • Wieger DanielW Wieger Daniel

                  @paul53 sagte in Skript Heizung - Homematic Geräte:

                  @Wieger-Daniel sagte:

                  so hab ichs nun gespeichert

                  Mit Firefox aus dem Forum kopiert ? Darauf deuten die vielen Leerzeilen hin.

                  ja mit Firefox kopiert..

                  So einschalten hat nun schon mal funktioniert. :)
                  So Ausschalten funktioniert auch.

                  nochmals vielen Dank :)
                  Aber die Übertragung der Ventilöffnung an die WEBUI ist echt sehr träge :/ die Ventile sind teils schon sicherlich fast ne Minute zu, kommt erst die Anzeige von 0% in der Webui

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

                  @Wieger-Daniel sagte:

                  die Ventile sind teils schon sicherlich fast ne Minute zu, kommt erst die Anzeige von 0% in der Webui

                  Die Thermostate senden nur alle ca. 2,5 Minuten.

                  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

                  Wieger DanielW 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @Wieger-Daniel sagte:

                    die Ventile sind teils schon sicherlich fast ne Minute zu, kommt erst die Anzeige von 0% in der Webui

                    Die Thermostate senden nur alle ca. 2,5 Minuten.

                    Wieger DanielW Offline
                    Wieger DanielW Offline
                    Wieger Daniel
                    schrieb am zuletzt editiert von
                    #11

                    @paul53 manchmal wäre mir etwas kürzere Sendeintervalle lieber :)

                    Aber egal. Kann man damit leben.
                    Hauptsache es läuft nun.

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • Wieger DanielW Wieger Daniel

                      @paul53 manchmal wäre mir etwas kürzere Sendeintervalle lieber :)

                      Aber egal. Kann man damit leben.
                      Hauptsache es läuft nun.

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

                      @Wieger-Daniel sagte:

                      manchmal wäre mir etwas kürzere Sendeintervalle lieber

                      Dann müssten die Batterien öfter gewechselt werden.

                      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

                      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

                      616

                      Online

                      32.8k

                      Benutzer

                      82.7k

                      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