Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Frage zum Wandeln / Importieren eines Scriptes

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Frage zum Wandeln / Importieren eines Scriptes

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tritanium last edited by

      Hallo zusammen,

      mit Blockly bin ich mittlerweile recht warm, stehe aber vor dem Wunsch ein JS Script zu Blockly umzuwandeln, da ich mir einbilde dieses dann besser zu verstehen, bzw. es auch zu optimieren/erweitern.

      Daher nun folgende Frage:

      Wer hat das Wissen ein JS in ein Blockly um zu wandeln, bzw. gibt es eine Möglichkeit dieses ggfs. automatisiert beim Import zu machen?

      Das Script ist dieses hier:

      var cronH           = "0 * * * *";
      var cronD           = "59 23 * * *";
      var cronW           = "0 0 * * 1";
      var cronM           = "0 0 1 * *";
      var idHAGTotH       = "0_userdata.0.Gaszähler.tmp.Stunde";
      var idHAGTotD       = "0_userdata.0.Gaszähler.tmp.Tag";
      var idHAGTotW       = "0_userdata.0.Gaszähler.tmp.Woche";
      var idHAGTotM       = "0_userdata.0.Gaszähler.tmp.Monat";
      var idHAGTotal      = "0_userdata.0.Gaszähler.Zählerstand.Gesamt_Kubik";            /*Gasverbrauch insgesamt*/
      var idHAGZielH      = "0_userdata.0.Gaszähler.Stunde";
      var idHAGZielD      = "0_userdata.0.Gaszähler.Tag";
      var idHAGZielW      = "0_userdata.0.Gaszähler.Woche";
      var idHAGZielM      = "0_userdata.0.Gaszähler.Monat";
      var debug           = true;
      var DPArray         = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
      var DPUnit          = "m³";
      DPArray.forEach(function(wert, index, array) {
         var DPType = wert.split(".");
         var DPDescr = "Gasverbrauch " + (DPType[DPType.length - 1]);
      
         if(index > 3) DPUnit = "m³";
         createState(wert, 0, {
             name: DPDescr,
             desc: DPDescr,
             type: 'number',
             unit: DPUnit,
             role: 'value'
         });
      });
      function haupt (VorId, ZielId) {
         var nVorwert = getState(VorId).val;
         var nAktuell = getState(idHAGTotal).val;
         var nDiff = ((nAktuell) - (nVorwert)) ;
         setState(ZielId, nDiff, true);
         if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
         var shandler = on ({id: ZielId, change: 'any'}, function(data) {
             setState(VorId, (nAktuell), true);
             unsubscribe(shandler); 
         });
      }
      // regelmässige Wiederholungen
      // -----------------------------------------------------------------------------
      schedule(cronH, function () {
         haupt(idHAGTotH, idHAGZielH);
      });
      schedule(cronD, function () {
         haupt(idHAGTotD, idHAGZielD);
      });
      schedule(cronW, function () {
         haupt(idHAGTotW, idHAGZielW);
      });
      schedule(cronM, function () {
         haupt(idHAGTotM, idHAGZielM);
      });
      

      Ich bedanke mich schonmal im voraus, wenn jemand mir hilft 🙂

      lg Micha

      crunchip 1 Reply Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @tritanium last edited by

        @tritanium sagte in Frage zum Wandeln / Importieren eines Scriptes:

        gibt es eine Möglichkeit dieses ggfs. automatisiert beim Import zu machen?

        Nö

        Allerdings gibt es einen Adapter SourceAnalytix, der genau das macht was dein Script kann

        T 1 Reply Last reply Reply Quote 0
        • T
          tritanium @crunchip last edited by

          @crunchip

          Ich weiss, aber leider nur bedingt:

          8d90f4ea-1730-4e18-8614-b8c0327befd3-grafik.png

          Es fehlt mir im SourceAnalytics die "Hour" Werte für eben die Stunde.... deshalb habe ich "beides" (das JS für meine Stündlichen Verbräuche & den SA für den Rest im Einsatz)

          Könnte der SA auch Stündiche wäre das schon echt klasse, aber leider nicht.... dahher ja auch meine Frage, ob mir jemand hilft das Script zu migrieren 🙂

          crunchip 1 Reply Last reply Reply Quote 0
          • crunchip
            crunchip Forum Testing Most Active @tritanium last edited by

            @tritanium es gibt noch den statistics Adapter

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

            Support us

            ioBroker
            Community Adapters
            Donate

            1.1k
            Online

            31.7k
            Users

            79.7k
            Topics

            1.3m
            Posts

            2
            4
            166
            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