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.
  • Wieger DanielW Offline
    Wieger DanielW Offline
    Wieger Daniel
    schrieb am zuletzt editiert von
    #1

    hallo, leider stehe ich komplett an un benötige Hilfe.... :(

    2 Wandthermostate sollen einen Schaltaktor (für Pumpe) schalten.

    in verwendung: Adapter Heatingcontroll

    2xHomematic Funk-Wandthermostat HM-TC-IT-WM-W-EU
    4x Funk-Heizkörperthermostat HM-CC-RT-DN (2 pro Raumthermostat!)
    1x Homematic Funk-Schaltaktor 2fach, Unterputzmontage HM-LC-Sw2-FM (je Schaltausgang 1 Pumpe) <-- 1 Pumpe Haus, 1 Pumpe Zubau (Zubau: 2 Wandthermostate 4HK Thermostate!)


    über Heatingcontroll werden 2 Datenpunkte angesteuert - Heizung Aromastudio und Heizung Wohnzimmer

    nun schaffe ich es zwar über ein Skript den Aktor der Pumpe einzuschalten, aber nicht mehr aus.
    Oder es funktioniert einfach beides nicht :(

    Auf Facebook habe ich bereits gefragt, daher erlaube ich mir dies zu verlinken.. da ist auch ein kleiner Kriesen verlauf.
    [https://www.facebook.com/groups/440499112958264/permalink/1377388715935961/](link url)

    Achja... trage ich den pumpenaktor im Heatingcontrol Adapter bei beiden Räumen ein, wird immer nur bei einem Raum geschalten, wenn Raum 2 schalten möchte, bleibt der Aktor aus :(

    paul53P 1 Antwort Letzte Antwort
    0
    • Wieger DanielW Wieger Daniel

      hallo, leider stehe ich komplett an un benötige Hilfe.... :(

      2 Wandthermostate sollen einen Schaltaktor (für Pumpe) schalten.

      in verwendung: Adapter Heatingcontroll

      2xHomematic Funk-Wandthermostat HM-TC-IT-WM-W-EU
      4x Funk-Heizkörperthermostat HM-CC-RT-DN (2 pro Raumthermostat!)
      1x Homematic Funk-Schaltaktor 2fach, Unterputzmontage HM-LC-Sw2-FM (je Schaltausgang 1 Pumpe) <-- 1 Pumpe Haus, 1 Pumpe Zubau (Zubau: 2 Wandthermostate 4HK Thermostate!)


      über Heatingcontroll werden 2 Datenpunkte angesteuert - Heizung Aromastudio und Heizung Wohnzimmer

      nun schaffe ich es zwar über ein Skript den Aktor der Pumpe einzuschalten, aber nicht mehr aus.
      Oder es funktioniert einfach beides nicht :(

      Auf Facebook habe ich bereits gefragt, daher erlaube ich mir dies zu verlinken.. da ist auch ein kleiner Kriesen verlauf.
      [https://www.facebook.com/groups/440499112958264/permalink/1377388715935961/](link url)

      Achja... trage ich den pumpenaktor im Heatingcontrol Adapter bei beiden Räumen ein, wird immer nur bei einem Raum geschalten, wenn Raum 2 schalten möchte, bleibt der Aktor aus :(

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

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

      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
        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

                          578

                          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