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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

Skript Heizung - Homematic Geräte

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
heatingblockly
12 Beiträge 2 Kommentatoren 722 Aufrufe 1 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.
  • 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
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      403

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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