Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript Heizung - Homematic Geräte

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Skript Heizung - Homematic Geräte

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Wieger Daniel last edited by

      @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 Daniel 1 Reply Last reply Reply Quote 0
      • Wieger Daniel
        Wieger Daniel @paul53 last edited by

        @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

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @Wieger Daniel last edited by 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 Daniel 1 Reply Last reply Reply Quote 0
          • Wieger Daniel
            Wieger Daniel @paul53 last edited by

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

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

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @Wieger Daniel last edited by 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 Daniel 1 Reply Last reply Reply Quote 0
              • Wieger Daniel
                Wieger Daniel @paul53 last edited by

                @paul53
                ok fast alle angepasst 😮

                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 🙂

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Wieger Daniel last edited by

                  @Wieger-Daniel sagte:

                  so hab ichs nun gespeichert

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

                  Wieger Daniel 1 Reply Last reply Reply Quote 0
                  • Wieger Daniel
                    Wieger Daniel @paul53 last edited by

                    @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

                    paul53 1 Reply Last reply Reply Quote 0
                    • paul53
                      paul53 @Wieger Daniel last edited by

                      @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 Daniel 1 Reply Last reply Reply Quote 0
                      • Wieger Daniel
                        Wieger Daniel @paul53 last edited by

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

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

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Wieger Daniel last edited by paul53

                          @Wieger-Daniel sagte:

                          manchmal wäre mir etwas kürzere Sendeintervalle lieber

                          Dann müssten die Batterien öfter gewechselt werden.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          513
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          blockly heating
                          2
                          12
                          503
                          Loading More Posts
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes
                          Reply
                          • Reply as topic
                          Log in to reply
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          The ioBroker Community 2014-2023
                          logo