Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei Script für Heizungsteuerung

    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

    Hilfe bei Script für Heizungsteuerung

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

      @Hamudulu

      const idA = '...'; // ID von Datenpunkt A
      
      function auswertung(val) {
         var setPoint = 20; 
         if(val == 1) setPoint = 10;
         sendTo('viessmannapi.0', 'action', {
            feature: 'heating.circuits.0.operating.programs.comfort',
            action: 'setTemperature',
            payload: {targetTemperature: setPoint}
         });
      }
      
      on(idA, function(dp) { // triggert bei Wertänderung
         auswertung(dp.state.val);
      });
      
      auswertung(getState(idA).val); // Skriptstart
      

      Brauchbare Javascript-Doku

      H 1 Reply Last reply Reply Quote 1
      • H
        Hamudulu @paul53 last edited by

        @paul53 Vielen Dank, ich probier das mal. Ich musste allerdings die Auswertung (getState(... weglassen. Das gab eine Fehlermeldung dass es so nicht funktioniert....
        War das eine essentielle Funktion?

        paul53 1 Reply Last reply Reply Quote 0
        • H
          Hamudulu last edited by

          Es funktioniert!!! Tschüss Tado 😉
          Obergut, vielen Dank für die Hilfe.

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

            @Hamudulu sagte:

            Ich musste allerdings die Auswertung (getState(... weglassen. Das gab eine Fehlermeldung dass es so nicht funktioniert....

            Dann entferne in der Konfiguration der Javascript-Instanz den Haken bei "NIcht alle Zustände beim Start abonnieren".

            H 1 Reply Last reply Reply Quote 0
            • H
              Hamudulu @paul53 last edited by

              @paul53 Hatte ich schon. Daran liegts nicht.

              1 Reply Last reply Reply Quote 0
              • H
                Hamudulu last edited by Hamudulu

                Hallo nochmal

                ich bin gerade dabei meine Heizung etwas zu versmarten...
                An und Abwesenheit klappt, jetzt würde ich gern in Abhängigkeit der Außentemperatur die Heizkurve anpassen. In meinem Fall ist es in der Übergangszeit etwas zu kalt gefühlt in der Wohnung und wenns kalt ist genau richtig...
                Scriptversuch, abgeleitet von dem Script oben:

                
                const idA = 'homee.0.TemperatureAndHumiditySensor-168.Temperature-1002'; // Außentemperatur
                 
                function auswertung(val) {
                   var setPoint = 0; 
                   if(val <= 12 && val >= 5) setPoint = 1;
                   sendTo('viessmannapi.0', 'action', {
                      feature: 'viessmannapi.0.heating.circuits.0.heating.curve.shift',
                      action: 'setCurve',
                      payload: {shift: setPoint}
                   });
                }
                 
                on(idA, function(dp) { // triggert bei Wertänderung
                   auswertung(dp.state.val);
                });
                 
                auswertung(getState(idA).val); // Skriptstart
                
                

                Klappt das? Bin mir nicht sicher mit dieser getState Auswertung
                Vielen Dank schon mal.
                Grüße

                paul53 2 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @Hamudulu last edited by

                  @Hamudulu sagte:

                  jetzt würde ich gern in Abhängigkeit der Außentemperatur die Heizkurve anpassen. In meinem Fall ist es in der Übergangszeit etwas zu kalt gefühlt in der Wohnung und wenns kalt ist genau richtig...

                  Das ist häufig der Fall, da die Heizungsbauer die Heizkurve falsch einstellen: Den Fusspunkt zu niedrig (20 °C) und dafür die Steilheit etwas zu groß. Dabei wird nicht beachtet, dass im Bad eine Temperatur von 24 °C vorzusehen ist, was aber in der Übergangszeit bei 20 °C Fusspunkt nicht möglich ist. Erhöhe den Fusspunkt auf 23 ... 24 °C, dann muss nicht per ioBroker eingegriffen werden.

                  H 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @Hamudulu last edited by paul53

                    @Hamudulu sagte:

                    Bin mir nicht sicher mit dieser getState Auswertung

                    Wenn in der Konfiguration kein Haken bei "NIcht alle Zustände beim Start abonnieren" ist, funktioniert getState().

                    1 Reply Last reply Reply Quote 0
                    • H
                      Hamudulu @paul53 last edited by

                      @paul53 Was meinst du mit Fusspunkt? Die Raumsolltemperatur?

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

                        @Hamudulu sagte:

                        Fusspunkt? Die Raumsolltemperatur?

                        Ja. Der Raumsollwert entspricht dem Fusspunkt. Der Fusspunkt der Heizkurve beschreibt den Punkt, an dem der energielose Zustand erreicht wird: Raumsollwert = Vorlaufsollwert = Aussentemperatur = Rücklauftemperatur.

                        1 Reply Last reply Reply Quote 0
                        • Jey Cee
                          Jey Cee Developer last edited by

                          @Hamudulu bitte code und logs in Code tags (6) Packen. Es ist super schlecht zu lesen und unübersichtlich vor allem auf Mobilen Geräten.

                          Bitte hol das nach, dafür gibt es die Bearbeiten funktion rechts unten am Beitrag im 3 Punkte Menü.

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            Hamudulu @Jey Cee last edited by

                            @Jey-Cee Sorry, bin neu hier, hab’s nachgeholt und tatsächlich ist es so besser 🥳

                            Jey Cee H 2 Replies Last reply Reply Quote 0
                            • Jey Cee
                              Jey Cee Developer @Hamudulu last edited by

                              @Hamudulu danke.

                              1 Reply Last reply Reply Quote 0
                              • H
                                Hamudulu @Hamudulu last edited by

                                @Hamudulu jetzt hab ich mal zur Übung das obere Script versucht in Blockly nachzustellen.

                                var setpoint;
                                
                                
                                on({id: 'homee.0.Homee-0.HomeeMode-1', change: "ne"}, function (obj) {
                                  var value = obj.state.val;
                                  var oldValue = obj.oldState.val;
                                  if ((obj.state ? obj.state.val : "") == 0) {
                                    setpoint = 23;
                                    sendTo("viessmannapi.0", "action", {
                                       "setTemperature": 'viessmannapi.0.heating.circuits.0.operating.programs.normal'
                                    });
                                  } else {
                                    setpoint = 10;
                                    sendTo("viessmannapi.0", "action", {
                                       "setTemperature": 'viessmannapi.0.heating.circuits.0.operating.programs.normal'
                                    });
                                  }
                                });
                                

                                Leider funktioniert das nicht ...was fehlt da oder wie definier ich da die Action die stattfinden soll.

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

                                  @Hamudulu sagte:

                                  das obere Script versucht in Blockly nachzustellen.

                                  Vielleicht so ?

                                  Blockly_temp.JPG

                                  H 1 Reply Last reply Reply Quote 0
                                  • H
                                    Hamudulu @paul53 last edited by

                                    @paul53 Hallo, nein läuft leider nicht. Der Unterschied sind die " die sind im Blockly " und im anderen Script ' und da läuft es....kann das sein?

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    797
                                    Online

                                    31.8k
                                    Users

                                    80.0k
                                    Topics

                                    1.3m
                                    Posts

                                    3
                                    17
                                    979
                                    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