Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Skript schreibt nicht in Datenpunkte

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Skript schreibt nicht in Datenpunkte

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

      Hallo
      Ich such seit einigere Zeit ein Skript am liebsten Blockly das meinen momentanen Stromzählerstand
      auswertet und mir den Verbrauch Stunde Tag Monat Jahr in einen Datenpunkt schreibt.
      Am liebsten wäre es mir gewesen wenn ich für jede Stunde oder Tag einen Datenpunkt hätte um meinen Verbrauch auf die Schliche zu kommen.
      Im Moment teste ich ein Skript aus dem Netz das aber meine Datenpunkte die es angelegt hat werden mit dem Skript nicht gefüllt. Mein Datenpunkt vom Stromzähler erhöht sich wie er es soll. smartmeter.0.1-0:1_8_0__255.value
      Bin dankbar für jede Hilfe

      var cronH           = "0 * * * *";
      var cronD           = "59 23 * * *";
      var cronW           = "0 0 * * 1";
      var cronM           = "0 0 1 * *";
      var idHAGTotH       = "0_userdata.0.Stromzähler.tmp.Total-h";
      var idHAGTotD       = "0_userdata.0.Stromzähler.tmp.Total-d";
      var idHAGTotW       = "0_userdata.0.Stromzähler.tmp.Total-w";
      var idHAGTotM       = "0_userdata.0.Stromzähler.tmp.Total-m";
      var idHAGTotal      = "smartmeter.0.1-0:1_8_0__255.value";               /*Stromverbrauch insgesammt*/
      var idHAGZielH      = "0_userdata.0.Stromzähler.Hour";
      var idHAGZielD      = "0_userdata.0.Stromzähler.Day";
      var idHAGZielW      = "0_userdata.0.Stromzähler.Week";
      var idHAGZielM      = "0_userdata.0.Stromzähler.Month";
      var debug           = false;
      var DPArray         = [idHAGTotH, idHAGTotD , idHAGTotW, idHAGTotM, idHAGZielH, idHAGZielD, idHAGZielW, idHAGZielM];
      var DPUnit          = "kWh";
      DPArray.forEach(function(wert, index, array) {
          var DPType = wert.split(".");
          var DPDescr = "Power consumption of " + (DPType[DPType.length - 1]);
       
          if(index > 3) DPUnit = "Wh";
          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 * 10) - (nVorwert * 10)) * 100;
          setState(ZielId, nDiff, true);
          if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
          var shandler = on ({id: ZielId, change: 'any'}, function(data) {
              setState(VorId, (nAktuell*10)/10, 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);
      });
      
      
      D bahnuhr Codierknecht paul53 4 Replies Last reply Reply Quote 0
      • D
        dimaiv @Fraenki23 last edited by

        @fraenki23
        Probier mal Adapter "Statistics"

        1 Reply Last reply Reply Quote 0
        • bahnuhr
          bahnuhr Forum Testing Most Active @Fraenki23 last edited by

          @fraenki23 sagte in Skript schreibt nicht in Datenpunkte:

          var shandler = on ({id: ZielId, change: 'any'}, function(data) {                                                                                                                                                                                    setState(VorId, (nAktuell*10)/10, true);                                                                                                                                                                                    unsubscribe(shandler);                                                                                                                                                                                 });
          

          On ist doch ein trigger.
          Wieso setzt du dieses einer Variable gleich ?

          F 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @Fraenki23 last edited by

            @fraenki23
            Probier mal den Adapter "SourceAnalytics".
            Der ist genau für diese Aufgabenstellung gemacht.

            F 1 Reply Last reply Reply Quote 0
            • F
              Fraenki23 @bahnuhr last edited by

              @bahnuhr Hallo
              Danke für deine Antwort. Ich habe nur das Skript aus dem Netz mit meinem Datenpunkt vom Stromzähler gefüllt. Der Rest sollte funktionieren. Wie Du aber schreibst kann er nicht.
              Könntest Du das Skript an dieser Stelle ändern dass es funktionieren sollte.
              Danke Fränki

              bahnuhr 1 Reply Last reply Reply Quote 0
              • F
                Fraenki23 @Codierknecht last edited by

                @codierknecht Hallo
                Danke für den Tip. Habe ich auch schon am laufen. Leider mit komischen Werten .
                Danke Fränki

                1 Reply Last reply Reply Quote 0
                • bahnuhr
                  bahnuhr Forum Testing Most Active @Fraenki23 last edited by

                  @fraenki23 sagte in Skript schreibt nicht in Datenpunkte:

                  Skript aus dem Netz

                  woher ?
                  Und das war ein Script für iob?

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

                    @fraenki23
                    Wozu soll der Trigger in der Funktion gut sein? Die Klammern sind auch umsonst, wenn nicht gerundet wird. Vorschlag:

                    function haupt (VorId, ZielId) {
                        var nVorwert = getState(VorId).val;
                        var nAktuell = getState(idHAGTotal).val;
                        var nDiff = (nAktuell - nVorwert) * 1000;
                        setState(ZielId, nDiff, true);
                        if(debug) log("Aus: " + nAktuell +" - "+ nVorwert + " = " + nDiff);
                        setState(VorId, nAktuell, true);
                    }
                    
                    1 Reply Last reply Reply Quote 0
                    • F
                      Fraenki23 @bahnuhr last edited by Homoran

                      @bahnuhr Hallo
                      Hier der Link: https://www.smarthomejetzt.de/script-fuer-die-berechnung-von-stunden-tages-wochen-monats-und-jahresverbraeuchen/

                      MOD-EDIT: externen Link sichtbar gemacht

                      bahnuhr Homoran 2 Replies Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @Fraenki23 last edited by

                        @fraenki23 sagte in Skript schreibt nicht in Datenpunkte:

                        @bahnuhr Hallo
                        Hier der Link Skript Stromzähler geht nicht

                        Tja, wieder ein Beispiel für ein Script aus dem Netz was offensichtlich nicht läuft.

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

                          @fraenki23 externe Links immer kennzeichnen!!

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

                            @homoran wie kenzeichne ich dies. Im Textfeld für den Link exteren Quelle reinschreiben?

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

                              @fraenki23 sagte in Skript schreibt nicht in Datenpunkte:

                              @homoran wie kenzeichne ich dies. Im Textfeld für den Link exteren Quelle reinschreiben?

                              ich hab es mal geändert

                              1 Reply Last reply Reply Quote 0
                              • V
                                valbuz last edited by

                                Das Skript addiert die Verbrauchs-Tageswerte.
                                Ich habe jedoch nur die Möglichkeit den aktuellen Hausverbrauch abzufragen.

                                Gibt es dazu auch ne Möglichkeit dennoch den täglichen Verbrauch zu erhalten?
                                Ev. auch ein anderes Skript etc.

                                Danke für Eur eHilfe.

                                Patrick

                                Codierknecht 1 Reply Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @valbuz last edited by Codierknecht

                                  @valbuz sagte in Skript schreibt nicht in Datenpunkte:

                                  Gibt es dazu auch ne Möglichkeit dennoch den täglichen Verbrauch zu erhalten?
                                  Ev. auch ein anderes Skript etc.

                                  Adapter SourceAnalytics
                                  18161aab-2e43-4e05-a2d4-07272e2e0b78-image.png

                                  V 2 Replies Last reply Reply Quote 0
                                  • V
                                    valbuz @Codierknecht last edited by

                                    @codierknecht Danke, schau ich mir an.

                                    1 Reply Last reply Reply Quote 0
                                    • V
                                      valbuz @Codierknecht last edited by valbuz

                                      @codierknecht
                                      Habe mir den Adapter nun installiert und konfiguriert.
                                      Es sollten nun 3 Werte berechnet werden.

                                      In den Objekten finde ich seit gestern keine Einträge 😠
                                      Dachte ich warte sicherlich mal das Ende des Tages ab.
                                      Aber weiterhin keine Einträge vorhanden....

                                      Gibt's da noch einen fehlende Eintrag zum aktivieren?

                                      Danke
                                      pat

                                      Update: Alias deaktiviert!

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      838
                                      Online

                                      31.7k
                                      Users

                                      79.8k
                                      Topics

                                      1.3m
                                      Posts

                                      7
                                      17
                                      607
                                      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