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. [gelöst]Neg. Ergebniss aus Berechnung auf 0 setzen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst]Neg. Ergebniss aus Berechnung auf 0 setzen

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 3 Kommentatoren 306 Aufrufe 1 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.
  • P Offline
    P Offline
    Peter666666
    schrieb am zuletzt editiert von Peter666666
    #1

    Hallo Leute,

    Wie kann man am besten ein neg. Ergebniss aus einer Berechnung auf 0 setzen lassen und nur pos. Ergebnisse in den DB schreiben?

    Es geht um den Netzbezug welchen ich mit SA dann loggen will.
    Das eingefügte Skript ist zur Berechnung vom Hausverbrauch.
    a= PV Leistung
    b= neg. Wert bei Bezug und pos. Wert bei Einspeisung

    const idWR_aktiv_Power = "0_userdata.0.Huawei.Inverter.Active_Power";
    const idSmartmeter_aktic_Power = "0_userdata.0.Huawei.Meter.Active_Power";
    const idGesamt = "0_userdata.0.Hausdaten.Haus_Stromverbrauch";
     
    function Berechne() {
        let a = parseFloat(getState(idWR_aktiv_Power).val); //in kW//
        let b = parseFloat(getState(idSmartmeter_aktic_Power).val); //in kW//
        let c = a - b;
        setState(idGesamt, Math.round(c * 100) / 100, true);
    }
     
    Berechne(); // Skriptstart
    on([idWR_aktiv_Power, idSmartmeter_aktic_Power], Berechne);
    
    

    LG Peter

    Intel NUC i5 / 16GB RAM / 512GB SSD
    Synology DS220+ 10GB RAM / 8TB

    G paul53P 2 Antworten Letzte Antwort
    0
    • P Peter666666

      Hallo Leute,

      Wie kann man am besten ein neg. Ergebniss aus einer Berechnung auf 0 setzen lassen und nur pos. Ergebnisse in den DB schreiben?

      Es geht um den Netzbezug welchen ich mit SA dann loggen will.
      Das eingefügte Skript ist zur Berechnung vom Hausverbrauch.
      a= PV Leistung
      b= neg. Wert bei Bezug und pos. Wert bei Einspeisung

      const idWR_aktiv_Power = "0_userdata.0.Huawei.Inverter.Active_Power";
      const idSmartmeter_aktic_Power = "0_userdata.0.Huawei.Meter.Active_Power";
      const idGesamt = "0_userdata.0.Hausdaten.Haus_Stromverbrauch";
       
      function Berechne() {
          let a = parseFloat(getState(idWR_aktiv_Power).val); //in kW//
          let b = parseFloat(getState(idSmartmeter_aktic_Power).val); //in kW//
          let c = a - b;
          setState(idGesamt, Math.round(c * 100) / 100, true);
      }
       
      Berechne(); // Skriptstart
      on([idWR_aktiv_Power, idSmartmeter_aktic_Power], Berechne);
      
      
      G Offline
      G Offline
      GombersIOB
      schrieb am zuletzt editiert von GombersIOB
      #2

      @peter666666

      if (c < 0) {
         c = 0;
      }
      setState …
      
      1 Antwort Letzte Antwort
      1
      • P Peter666666

        Hallo Leute,

        Wie kann man am besten ein neg. Ergebniss aus einer Berechnung auf 0 setzen lassen und nur pos. Ergebnisse in den DB schreiben?

        Es geht um den Netzbezug welchen ich mit SA dann loggen will.
        Das eingefügte Skript ist zur Berechnung vom Hausverbrauch.
        a= PV Leistung
        b= neg. Wert bei Bezug und pos. Wert bei Einspeisung

        const idWR_aktiv_Power = "0_userdata.0.Huawei.Inverter.Active_Power";
        const idSmartmeter_aktic_Power = "0_userdata.0.Huawei.Meter.Active_Power";
        const idGesamt = "0_userdata.0.Hausdaten.Haus_Stromverbrauch";
         
        function Berechne() {
            let a = parseFloat(getState(idWR_aktiv_Power).val); //in kW//
            let b = parseFloat(getState(idSmartmeter_aktic_Power).val); //in kW//
            let c = a - b;
            setState(idGesamt, Math.round(c * 100) / 100, true);
        }
         
        Berechne(); // Skriptstart
        on([idWR_aktiv_Power, idSmartmeter_aktic_Power], Berechne);
        
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @peter666666 sagte: ein neg. Ergebniss aus einer Berechnung auf 0 setzen lassen und nur pos. Ergebnisse in den DB schreiben?

        Einen Alias für Bezug erstellen mit Read-Konvertierung:

        val > 0 ? val : 0
        

        Falls der Ursprungs-Datenpunkt bei Bezug negative Werte liefert:

        val < 0 ? -val : 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
        1
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        801

        Online

        32.6k

        Benutzer

        82.0k

        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