Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
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
    2.0k

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

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

Geplant Angeheftet Gesperrt Verschoben JavaScript
7 Beiträge 4 Kommentatoren 860 Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • mmoeller53M Offline
    mmoeller53M Offline
    mmoeller53
    schrieb am zuletzt editiert von
    #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 Antworten Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #2

      @mmoeller53 Schau dir mal den sourceanalytix Adapter an

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

      mmoeller53M 1 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          0
          • AlCalzoneA AlCalzone

            @mmoeller53 Schau dir mal den sourceanalytix Adapter an

            mmoeller53M Offline
            mmoeller53M Offline
            mmoeller53
            schrieb am zuletzt editiert von
            #5

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

            1 Antwort Letzte Antwort
            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
              schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
              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
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                1
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                892

                Online

                32.6k

                Benutzer

                82.2k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe