Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Javascript zum umrechnen watt in kw/h täglich auf 0 setzten

    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

    Javascript zum umrechnen watt in kw/h täglich auf 0 setzten

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

      Hallo,
      aktuell habe ich dieses script am laufen (iobroker)

      [font=Consolas, "Courier New", monospace]const idPower = 'mqtt.0.solpiplog.pip.pvchargew'; // cur_power
      const idEnergy = 'Tagesproduktion'; // kWh

      // Energie-Datenpunkt erzeugen
      createState(idEnergy, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !

      var energy = 1000 * getState(idEnergy).val; // Wh, erzeugt beim ersten Skripstart Fehler

      on({id: idPower}, function(dp) {
      energy = energy + dp.oldState.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
      setState(idEnergy, Math.round(energy) / 1000, true); // kWh mit 3 Nachkommastellen
      });[/font]

      nun möchte ich das um 0uhr nachts der Wer Tagesproduktion auf 0 gesetzt wird und bekomme das nicht so recht hin.

      AlCalzone Asgothian paul53 3 Replies Last reply Reply Quote 0
      • AlCalzone
        AlCalzone Developer @mmoeller53 last edited by

        @mmoeller53 Schau dir mal den sourceanalytix Adapter an

        mmoeller53 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @mmoeller53 last edited by

          @mmoeller53 der einfachste weg:

          im Trigger : vor der Berechnung prüfen ob getDateObject(dp.oldState.ts).getMonth() == getDateObject(dp.state.ts).getMonth()

          Wenn ja dann passt deine Berechnung, wenn nein :
          var v = getDateObject(dp.state.ts);
          energy = (v.getHours() * 3600 + v.getMinutes() * 60 + v.getSeconds() * dp.oldState.val)/3600;

          A.

          mmoeller53 1 Reply Last reply Reply Quote 0
          • mmoeller53
            mmoeller53 @Asgothian last edited by

            @asgothian Verstehe die antwort nicht so ganz, also nach dem was ich von der quelle ablesen kann stimmt die berechnung (ausgerechnete kwh vom wechelrichter im vergleich zum skript) nun möchte ich aber das der errechnete wert im script täglich zurück auf 0 gesetzt wird und weiß nicht so recht wie.

            Asgothian 1 Reply Last reply Reply Quote 0
            • mmoeller53
              mmoeller53 @AlCalzone last edited by

              @alcalzone Vielen dank für den tipp, super adapter werde ich verwenden👍

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

                @mmoeller53 sagte: nun möchte ich das um 0uhr nachts der Wer Tagesproduktion auf 0 gesetzt wird

                schedule('0 0 * * *', function() {
                   energy = 0;
                });
                
                1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @mmoeller53 last edited by

                  @mmoeller53 sagte in Javascript zum umrechnen watt in kw/h täglich auf 0 setzten:

                  @asgothian Verstehe die antwort nicht so ganz, also nach dem was ich von der quelle ablesen kann stimmt die berechnung (ausgerechnete kwh vom wechelrichter im vergleich zum skript) nun möchte ich aber das der errechnete wert im script täglich zurück auf 0 gesetzt wird und weiß nicht so recht wie.

                  Der trick ist nicht um 0 Uhr auf 0 zurück zu setzen sondern bei der ersten Änderung nach 0 Uhr den Wert seit 0 Uhr zu berechnen. Dann sparst Du dir den ganzen Zeit-Krams mit cron job und Überscheidungen von Skripten um Mitternacht.

                  A.

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  373
                  Online

                  31.8k
                  Users

                  80.0k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  601
                  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