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. SetState wird überschrieben (?)

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    278

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

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

SetState wird überschrieben (?)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 2 Kommentatoren 218 Aufrufe 2 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.
  • S Offline
    S Offline
    Streit187
    schrieb am zuletzt editiert von Streit187
    #1

    Ich habe das Script von hier: https://forum.iobroker.net/topic/17309/gelöst-kwh-berechnen-und-fortlaufend-speichern/4.

    const idPowerHausverbrauch = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung';  // cur_power
    const idEnergyHausverbrauch = '0_userdata.0.Solar.Hausverbraucht_heute'; // kWh
     
    // Energie-Datenpunkt erzeugen
    createState(idEnergyHausverbrauch, 0, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
     
    var energyHausverbrauch = 1000 * getState(idEnergyHausverbrauch).val; // Wh, erzeugt beim ersten Skripstart Fehler
     
    on({id: idPowerHausverbrauch}, function(dp) {
       energyHausverbrauch = energyHausverbrauch + dp.state.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
       setState(idEnergyHausverbrauch, Math.round(energyHausverbrauch) / 1000, true); // kWh mit 3 Nachkommastellen
    });
    schedule("0 0 * * *", function () {
      setState(idEnergyHausverbrauch, 0);
    });
    
    

    Danke @paul53 das funktioniert super. Nun möchte ich, dass die Werte um 0:00 Uhr auf 0 zurück gesetzt werden. Das habe ich mit:
    schedule("0 0 * * *", function () {
    setState(idEnergyHausverbrauch, 0);
    });
    am Ende des Skriptes gelöst. Nun kann ich um 0 Uhr beobachten wie der Wert des Datenpunktes auf 0 gesetzt wird und einen Augenblick später steht wieder der vorherige Wert drin.
    Derzeit muss ich das Skript stoppen, den Wert manuell auf 0 setzen und das Skript wieder starten. Dann geht's.

    M 1 Antwort Letzte Antwort
    0
    • S Streit187

      Ich habe das Script von hier: https://forum.iobroker.net/topic/17309/gelöst-kwh-berechnen-und-fortlaufend-speichern/4.

      const idPowerHausverbrauch = 'modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung';  // cur_power
      const idEnergyHausverbrauch = '0_userdata.0.Solar.Hausverbraucht_heute'; // kWh
       
      // Energie-Datenpunkt erzeugen
      createState(idEnergyHausverbrauch, 0, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
       
      var energyHausverbrauch = 1000 * getState(idEnergyHausverbrauch).val; // Wh, erzeugt beim ersten Skripstart Fehler
       
      on({id: idPowerHausverbrauch}, function(dp) {
         energyHausverbrauch = energyHausverbrauch + dp.state.val * (dp.state.ts - dp.oldState.ts) / 3600000; // Wh
         setState(idEnergyHausverbrauch, Math.round(energyHausverbrauch) / 1000, true); // kWh mit 3 Nachkommastellen
      });
      schedule("0 0 * * *", function () {
        setState(idEnergyHausverbrauch, 0);
      });
      
      

      Danke @paul53 das funktioniert super. Nun möchte ich, dass die Werte um 0:00 Uhr auf 0 zurück gesetzt werden. Das habe ich mit:
      schedule("0 0 * * *", function () {
      setState(idEnergyHausverbrauch, 0);
      });
      am Ende des Skriptes gelöst. Nun kann ich um 0 Uhr beobachten wie der Wert des Datenpunktes auf 0 gesetzt wird und einen Augenblick später steht wieder der vorherige Wert drin.
      Derzeit muss ich das Skript stoppen, den Wert manuell auf 0 setzen und das Skript wieder starten. Dann geht's.

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #2

      @streit187 sagte in SetState wird überschrieben (?):

      energyHausverbrauch

      Die Variable hat noch den alten Wert:

      schedule("0 0 * * *", function () {
        setState(idEnergyHausverbrauch, 0);
        energyHausverbrauch=0;
      });
      

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      S 1 Antwort Letzte Antwort
      1
      • M MCU

        @streit187 sagte in SetState wird überschrieben (?):

        energyHausverbrauch

        Die Variable hat noch den alten Wert:

        schedule("0 0 * * *", function () {
          setState(idEnergyHausverbrauch, 0);
          energyHausverbrauch=0;
        });
        
        S Offline
        S Offline
        Streit187
        schrieb am zuletzt editiert von
        #3

        @mcu Das hat perfekt funktioniert. Vielen Dank

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        263

        Online

        32.7k

        Benutzer

        82.5k

        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