Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Unbekannte Variable - durch Upgrades entstanden??

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Unbekannte Variable - durch Upgrades entstanden??

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators last edited by Homoran

      Ich habe ein "eigentlich" schon ewig problemlos laufendes Blockly.
      Im Prinzip sind es mehrere Blocklys zur Steuerung/Überwachung des Pools, die via Datenpunkte ineinandergreifen.

      Nachdem ich woanders etwas verändert hatte, fiel mir auf, dass in mein selbst geschriebenes Log die Meldung "Pumpe Stop" nicht mehr erscheint.
      Wie lange schon, habe ich jetzt nicht geprüft.

      Habe dann die Stelle gesucht, in der diese Logzeile geschrieben werden soll, dabei fiel mir in der Bedingung die Variable value auf.

      Screenshot_20250518-144058_Firefox.jpg

      Ich hatte noch lange mit einer alten js-Version gearbeitet in der die Triggervariable Wert noch nicht mit dem "Enter-haken" dargestellt wurde.

      Kann es dadurch zu einer falschen "Übersetzung" des Blocks gekommen sein?

      Die Suche nach value in den Skripten zeigt mir jede Menge Skripte an, die ich jetzt erst einmal nicht alle überprüft habe.

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

        @homoran sagte: fiel mir in der Bedingung die Variable value auf.

        Die Variable value enthält immer noch den Wert des Trigger-Datenpunktes. Allerdings dürfte der erste Trigger mit "STATE" keinen Druckmesswertwert enthalten?

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @paul53 last edited by

          @paul53 sagte in Unbekannte Variable - durch Upgrades entstanden??:

          Allerdings dürfte der erste Trigger mit "STATE" keinen Druckmesswertwert enthalten?

          Das hatte ich auch vermutet, und die Änderungen auf den Trigger-Wert abgebrochen.

          Hab die ID überprüft und da steht der Druck drin.
          ist ein Homematic 8Bit Sendemodul, das von einem Arduino mit 5V-Drucksensor gefüttert wird

          Jetzt gerade eben, nach Änderung auf den "Trigger-Wert-Block" kommt auch die Meldung "Pumpe aus" wieder.

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

            @homoran

            zeigmal das geraffel als javascript ..da kann man mehr sehen.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @arteck last edited by

              @arteck sagte in Unbekannte Variable - durch Upgrades entstanden??:

              @homoran

              zeigmal das geraffel als javascript ..da kann man mehr sehen.

              hab die Variable aber mittlerweile gegen den Trigger-Wert-Block getauscht

              var druck, aus_counter, Druckwaechter;
              
              // Beschreibe diese Funktion …
              async function Not_Aus() {
               setStateDelayed('hm-rpc.0.JEQ0646431.1.STATE' /* Poolpumpe.STATE */, false, 1000, false);
               setState('Messwerte.0.Pool.Not-Aus' /* Not-Aus */, true, true);
              }
              
              
              on({ id: [].concat(['hm-rpc.0.NEQ1547414.3.STATE']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               druck = (obj.state ? obj.state.val : '') - getState('Messwerte.0.Pool.Druckoffset').val;
               if (druck > 120) {
                 // Pumpe Not-Aus bei zu viel Druck
                 setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>','<strong>Überdruck!</strong>','<br>','Der Pumpendruck beträgt ',druck,'kPa.<br> <br>'].join('')), true);
                 await Not_Aus();
               }
              });
              on({ id: [].concat(['hm-rpc.0.JEQ0646431.1.STATE']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               if ((obj.state ? obj.state.val : '')) {
                 setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<h3 style="color:lightgreen;">Pumpe an !</h3>','Wassertemperatur ',getState('hm-rpc.0.LEQ0773306.2.TEMPERATURE').val,' °C <br><br>'].join('')), true);
                 // Überprüfung ob sich nach Start Druck aufbaut
                 (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
                 Druckwaechter = setInterval(async () => {
                   if (druck < 55) {
                     setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['Der Pumpendruck beträgt ',druck,'kPa, Pumpe zieht Luft! (',aus_counter + 1,')'].join('')), true);
                     aus_counter = (typeof aus_counter === 'number' ? aus_counter : 0) + 1;
                     if (aus_counter > 25) {
                       // Pumpe Not-Aus bei zu wenig Druck
                       (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
                       setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>',aus_counter,' mal Unterdruck. ','Der Pumpendruck beträgt ',druck,'kPa.<br> <br>'].join('')), true);
                       await Not_Aus();
                     }
                   } else {
                     setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['Der Pumpendruck beträgt ',druck,'kPa, Pumpe OK!'].join('')), true);
                     (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
                     aus_counter = 0;
                     setState('Messwerte.0.Pool.Not-Aus' /* Not-Aus */, false, true);
                   }
                 }, 2000);
               } else {
                 (() => { if (Druckwaechter) { clearInterval(Druckwaechter); Druckwaechter = null; }})();
                 aus_counter = 0;
                 setStateDelayed('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<h3 style="color:orange;">Pumpe aus !</h3>','Wassertemperatur ',getState('hm-rpc.0.LEQ0773306.2.TEMPERATURE').val,' °C <br><br>'].join('')), true, 1000, false);
               }
              });
              on({ id: [].concat(['hm-rpc.0.LEQ0773306.2.TEMPERATURE']), change: 'ne' }, async (obj) => {
               let value = obj.state.val;
               let oldValue = obj.oldState.val;
               if (getState('hm-rpc.0.JEQ0646431.1.STATE').val && (obj.state ? obj.state.val : '') > 29.2) {
                 // Pumpe Not-Aus bei zu hoher Temperatur
                 setState('Messwerte.0.Pool.Logdaten' /* Logdaten */, (['<font color=red><h2>ALARM!</h2></font>','<strong>Wasser zu warm!</strong>','<br>','Die Wassertemperatur beträgt ',(obj.state ? obj.state.val : ''),'°C.<br> <br>'].join('')), true);
                 setStateDelayed('hm-rpc.0.JEQ0646431.1.STATE' /* Poolpumpe.STATE */, false, 2000, false);
                 setState('Messwerte.0.Pool.Overheat' /* Overheat */, true, true);
               } else if ((obj.state ? obj.state.val : '') < 28.6) {
                 setState('Messwerte.0.Pool.Overheat' /* Overheat */, false, true);
               }
              });
              
              //
              
              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              913
              Online

              31.7k
              Users

              79.7k
              Topics

              1.3m
              Posts

              3
              5
              163
              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