Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Skriptfehler nach iobroker Update

    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

    [gelöst] Skriptfehler nach iobroker Update

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mwolle @arteck last edited by

      @arteck der ganze Pfad sieht so aus. Der Adapter liest zwei Geräte aus, die dann in separaten Pfaden da gestellt werden, EMS-ESP und km200
      a8e62dcc-2337-44ac-baa2-cc5651f3d609-image.png

      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @mwolle last edited by

        @mwolle sagte in Skriptfehler nach iobroker Update:

        Der Adapter liest zwei Geräte aus,

        zeigmal das Script

        M 1 Reply Last reply Reply Quote 0
        • M
          mwolle @arteck last edited by

          @arteck ist etwas unaufgeräumt...

          //createState("javascript.0.Merker_Heizleistung", 0, {
          //    name: "Merker_Heizleistung",
          //    type: 'int'
          //});
          
          on({
              id: "javascript.0.minutenZwischenBrennerStarts",
              change: "ne"
          }, async function (obj) {
              var Element2 = (getState("javascript.0.Merker_Heizleistung").val);
              // var Element3;
              var Counterschleife = 0;
              var Leistungswert2 = 41; // (getState("km200.0.heatSources.actualModulation").val);
              var Heat_on = (getState("km200:heatSources.hs1.flameStatus").val);
              var WWtemperatur = (getState("ems-esp.0.dhwCircuits.dhw1.wwcurtemp").val);
              var Leistungswert = (getState("km200:heatSources.hs1.burnerModulationSetpoint").val);
              var Brennerstarts = (getState("javascript.0.minutenZwischenBrennerStarts").val);
              var actualPower = (getState("km200:heatSources.hs1.actualPower").val);
              // var Raumtemperatur = (getState("fritzdect.0.DECT_116300132384.celsius").val);
              // Weitere Prüfung auf Heizprogramm, Programm soll nur laufen, wenn Heizung aktiv ist
                 var Zeit = new Date();
                  var Stunden = Zeit.getHours();
                  var Minuten = Zeit.getMinutes();
                  var Minuten_Tag = (Stunden * 60) + Minuten;
          
                  var temp = 360; //Heizprogramm_E[703]; // 300 Minuten ab Mitternacht -> 5 Uhr
                  var temp_2 = 1200; //Heizprogramm_E[45]; // 1200 Minuten ab Mitternacht -> 20 Uhr geht Heizung aus
          
          console.log(WWtemperatur);
          console.log(Leistungswert);
          console.log(actualPower);
          console.log(Leistungswert2);
                  
              if (actualPower <= Leistungswert && actualPower <= Leistungswert2 && WWtemperatur < 41){ // Prüfen ob Leistung für Warmwasser ist
                  //if (Heat_on == 0) { //Prüfen ob Heizung an ist
                  //Counterschleife = 1;
                     if (Minuten_Tag > temp && Minuten_Tag < temp_2) {
                     Counterschleife = 1; 
          
                  // Prüfung, ob Heizung Taktet, wenn ja, Heizleistung um 2 verringern.
                        if (Brennerstarts <= 30) {
                      Element2 += 1;
                      setState("javascript.0.Merker_Heizleistung", (Element2),true);
                      Counterschleife = 2;
                        } else {
                      Element2 = 0;
                      setState("javascript.0.Merker_Heizleistung", (Element2),true);
                      Counterschleife = 3;
                  }
                  if (Element2 >= 2){
          
                      //setState("ems-esp.0.heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 5, true);
                      
                           setState("km200:heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 1, true);
                           setState("km200:heatingCircuits.hc1.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 1, true); 
                      Element2 = 0;
                      setState("javascript.0.Merker_Heizleistung", (Element2),);
                  Counterschleife = 4;
                      sendTo("whatsapp-cmb", "send", {
                       text: 'Heizung ausgeschaltet. Folgende Parameter:' + (Brennerstarts) +' Minuten Brennerstarts und ' + (actualPower) + ' Heizung an'
                       });
                  }
                  }
             // }
              }
          
             // console.log(Heat_on);
             // console.log(Minuten_Tag);
             // console.log(Leistungswert);
             // console.log(actualPower);
             // console.log(Brennerstarts);
              // console.log(Raumtemperatur);
             // console.log(Element2);
              // console.log(Element3);
             console.log(Counterschleife);
          });
          // Wenn Raumtemperatur aber unter 20 Grad ist, Heizleistung erhöhen,
          // wenn Heizung taktet wird Heizleistung dennoch niedriger da Thermostate ausgedreht
          on({
              id: "km200:heatingCircuits.hc2.roomtemperature",
              change: "ne"
          }, async function (obj) {
          //    on({
          //        id: "fritzdect.0.DECT_116300132384.celsius",
          //        change: "ne"
          //    }, async function (obj) {
                  // var Element2 = 1;
                  var Counterschleife = 0;
                  var Heat_on = (getState("km200.0.heatSources.hs1.flameStatus").val);
                  // var Leistungswert = (getState("km200.0.heatSources.powerSetpoint").val);
                  //var Brennerstarts = (getState("javascript.0.minutenZwischenBrennerStarts").val);
                  var Raumtemperatur_Mila = (getState("fritzdect.0.DECT_116300142272.celsius").val);
                  var Raumtemperatur2_Wohnz = (getState("km200:heatingCircuits.hc2.roomtemperature").val);
                  var Aussentemp = (getState("km200:system.sensors.temperatures.outdoor_t1").val)
                  // Weitere Prüfung auf Heizprogramm, Programm soll nur laufen, wenn Heizung aktiv ist
          
                  var Zeit = new Date();
                  var Stunden = Zeit.getHours();
                  var Minuten = Zeit.getMinutes();
                  var Minuten_Tag = (Stunden * 60) + Minuten;
          
                  //var Heizprogramm_E = (getState("km200.0.heatingCircuits.hc2.switchPrograms.E").val);
          
                  // getState("von allen Heizprogrammen") -> später, erst mal das Programm nehmen, welches durchgängig an ist.
          
                  // getState("km200.0.heatingCircuits.hc2.activeSwitchProgram") wir später benötigt, wenn andere Heizprogramme auch aktiviert sind
          
                  var temp = 420; //Heizprogramm_E[703]; // 300 Minuten ab Mitternacht -> 5 Uhr
                  var temp_2 = 1200; //Heizprogramm_E[45]; // 1200 Minuten ab Mitternacht -> 20 Uhr geht Heizung aus
                  
                  //if (Heat_on == 1) {
                  //    Counterschleife = 7;
          
                      if (Minuten_Tag > temp && Minuten_Tag < temp_2) {
                          Counterschleife = 5;
          
                          if (Raumtemperatur_Mila <= 20 && Raumtemperatur2_Wohnz <= 18.5 || Raumtemperatur2_Wohnz <= 18.3 && Aussentemp <= 9 || Raumtemperatur2_Wohnz < 19.0 && Aussentemp > 9.1) {
          
                              //setState("ems-esp.0.heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 4, true);
                              
                                   setState("km200:heatingCircuits.hc2.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 0,true );
                                   setState("km200:heatingCircuits.hc1.activeSwitchProgram"/*heatingCircuits.hc2.activeSwitchProgram*/, 0,true ); 
                              Counterschleife = 6;
                                  sendTo("whatsapp-cmb", "send", {
                                  text: 'Heizung eingeschaltet.' + (Raumtemperatur_Mila)+ ' Raumtemperatur Mila und' + (Raumtemperatur2_Wohnz) +'Raumtemperatur Wohnzimmer'
                                    });
                          }
                      }
                  //}
          
                  console.log(Heat_on);
                  console.log(Minuten_Tag);
                  console.log(temp);
                  console.log(temp_2);
                  //console.log(actualPower);
                  //console.log(Leitungswert);
                  console.log(Raumtemperatur_Mila);
                  console.log(Raumtemperatur2_Wohnz);
                  console.log(Counterschleife);
          
              });
          //});
          
          
          
          
          Homoran arteck 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @mwolle last edited by Homoran

            @mwolle sagte in Skriptfehler nach iobroker Update:

            ems-esp.0.dhwCircuits.dhw1.wwcurtem

            seh nur ich den nicht?

            edit: ist ja nicht aufgeklappt, sorry

            M 1 Reply Last reply Reply Quote 0
            • arteck
              arteck Developer Most Active @mwolle last edited by arteck

              @mwolle sagte in Skriptfehler nach iobroker Update:

              km200:

              nicht km200: <-- doppelpunkt

              sondern km200. <-- da muss ein Punkt hin

              in Zeile 14, 16, 18, 54, 55,80, 93, 94,121, 122

              und die insanznummer fehlt da auch

              also alle km200: auf km200.0. ersetzen... wie in Zeile 13 steht

              wenn du schon was Editierst dann achte drauf das du es richtig machst

              M 1 Reply Last reply Reply Quote 0
              • M
                mwolle @Homoran last edited by

                @homoran das ist der hier:
                3d7b8f88-52e7-4d87-9c3f-19bc4390b600-image.png

                die ID heißt so: ems-esp.0.dhwCircuits.dhw1.wwcurtemp

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer last edited by ticaki

                  Ich bin echt gerade verwirrt...

                  lese bildet 🙂

                  1 Reply Last reply Reply Quote 0
                  • M
                    mwolle @arteck last edited by

                    @arteck ich habe die IDs einfach kopiert...der hat den Doppelpunkt im Bauch. Ich hatte den Datenbaum gelöscht und noch mal neu aufbauen lassen, da ich den Heizungsregler neu getauscht hatte.

                    T arteck 2 Replies Last reply Reply Quote 0
                    • T
                      ticaki Developer @mwolle last edited by ticaki

                      @mwolle

                      Du hast noch kein Bild gezeigt wo der gesamte Pfad über km200: bis zum Enddatenpunkt zu sehen ist 🙂

                      sowas z.B. Bildschirmfoto 2023-07-25 um 11.36.10.png

                      Edit: da könnt ich mal all die ungenutzen States löschen

                      1 Reply Last reply Reply Quote 1
                      • arteck
                        arteck Developer Most Active @mwolle last edited by arteck

                        @mwolle sagte in Skriptfehler nach iobroker Update:

                        ich habe die IDs einfach kopiert.

                        never... es gibt keinen Datenbaum mit : im object..dann bist du auf caps lock gekommen.. und so ist der : reingekommen anstatt .

                        ist der gleiche knopp

                        M 1 Reply Last reply Reply Quote 1
                        • M
                          mwolle @arteck last edited by mwolle

                          @arteck ja du hast absolut recht...ich habe den Namen kopiert und nicht die ID...der Name der ID ist dann km200:XXX, die ID ist dann richtigerweise ems-esp.0.XXX...

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          810
                          Online

                          31.8k
                          Users

                          80.0k
                          Topics

                          1.3m
                          Posts

                          4
                          18
                          516
                          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