Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Javascript zum umrechnen watt in kw/h täglich auf 0 setzten

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

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

Scheduled Pinned Locked Moved JavaScript
7 Posts 4 Posters 870 Views 4 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • mmoeller53M Offline
    mmoeller53M Offline
    mmoeller53
    wrote on last edited by
    #1

    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.

    AlCalzoneA AsgothianA paul53P 3 Replies Last reply
    0
    • mmoeller53M mmoeller53

      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.

      AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      wrote on last edited by
      #2

      @mmoeller53 Schau dir mal den sourceanalytix Adapter an

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      mmoeller53M 1 Reply Last reply
      0
      • mmoeller53M mmoeller53

        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.

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        wrote on last edited by
        #3

        @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.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        mmoeller53M 1 Reply Last reply
        0
        • AsgothianA Asgothian

          @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.

          mmoeller53M Offline
          mmoeller53M Offline
          mmoeller53
          wrote on last edited by
          #4

          @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.

          AsgothianA 1 Reply Last reply
          0
          • AlCalzoneA AlCalzone

            @mmoeller53 Schau dir mal den sourceanalytix Adapter an

            mmoeller53M Offline
            mmoeller53M Offline
            mmoeller53
            wrote on last edited by
            #5

            @alcalzone Vielen dank für den tipp, super adapter werde ich verwenden:+1:

            1 Reply Last reply
            0
            • mmoeller53M mmoeller53

              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.

              paul53P Offline
              paul53P Offline
              paul53
              wrote on last edited by paul53
              #6

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

              schedule('0 0 * * *', function() {
                 energy = 0;
              });
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Reply Last reply
              0
              • mmoeller53M mmoeller53

                @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.

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                wrote on last edited by
                #7

                @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.

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                1 Reply Last reply
                1
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                672

                Online

                32.7k

                Users

                82.3k

                Topics

                1.3m

                Posts
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Login

                • Don't have an account? Register

                • Login or register to search.
                • First post
                  Last post
                0
                • Home
                • Recent
                • Tags
                • Unread 0
                • Categories
                • Unreplied
                • Popular
                • GitHub
                • Docu
                • Hilfe