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. Wert eines Datenpunktes ändern und als neuen DP darstellen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Wert eines Datenpunktes ändern und als neuen DP darstellen

Scheduled Pinned Locked Moved JavaScript
18 Posts 3 Posters 1.2k Views 2 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.
  • C c1olli

    @paul53

    Läuft alles so wie gewünscht vielen Dank noch einmal.

    Gruß
    Olli

    C Online
    C Online
    c1olli
    wrote on last edited by
    #7

    @paul53
    Ein halbes Jahr liefen die Scipts ohne Probleme sauber durch.

    Nun verweigert eines den Dienst.

    Als Script dient die Vorlage oben, die dann geändert habe.
    Es soll der aktuelle Jahresverbrauch kumuliert aus Strom aus dem Netz und der PV Anlage addiert werden.
    Das Ergebnis steht dann im Habpanel und auf dem MagicMirror.

    Wenn ich das Script starte wird die Addition auch sauber durchgeführt und die Datenpunkte befüllt.
    Dann aber wird nur noch die Änderung des Wertes der PV Anlage addiert, die Änderung des Netzstromes aber nicht mehr.

    // aktuellen Jahresverbrauch Strom berechnen
    // Strom Bezug + Strom Eigennutzung PV
    const idAkt = '0_userdata.0.Gesamtverbrauch_Strom.Jahr_aktuell';
    const idVerb = '0_userdata.0.Verbrauch.Jahr_aktuell';
    const idJahr = '0_userdata.0.Eigenverbrauch.Jahr_aktuell';
    
    var jahr = getState(idJahr).val;
    var verb = getState(idVerb).val;
    var aktuell = Math.round((jahr+verb) * 100) / 100;
    if(existsState(idAkt)) setState(idAkt, aktuell, true);
    else createState(idAkt, aktuell, {type: 'number', name: 'aktueller Jahresverbrauch Strom', unit: 'kWh', role: 'value'});
    on(idJahr, function(dp) {
    jahr = dp.state.val;
    aktuell = Math.round((jahr+verb) * 100) / 100;
    setState(idAkt, aktuell, true);
    });
    schedule('59 23 31 12 *', function() {
    jahr = Math.round(jahr * 100) / 100;
    setState(idJahr, jahr, true)
    });
    

    Woran kann das liegen?

    PV Eigenverbrauch Jahr = 0_userdata.0.Eigenverbrauch.Jahr_aktuell
    Netz Eigenverbrauch Jahr = 0_userdata.0.Gesamtverbrauch_Strom.Jahr_aktuell
    Ergebnis = 0_userdata.0.Gesamtverbrauch_Strom.Jahr_aktuell

    Gruß
    Olli

    paul53P 1 Reply Last reply
    0
    • C c1olli

      @paul53
      Ein halbes Jahr liefen die Scipts ohne Probleme sauber durch.

      Nun verweigert eines den Dienst.

      Als Script dient die Vorlage oben, die dann geändert habe.
      Es soll der aktuelle Jahresverbrauch kumuliert aus Strom aus dem Netz und der PV Anlage addiert werden.
      Das Ergebnis steht dann im Habpanel und auf dem MagicMirror.

      Wenn ich das Script starte wird die Addition auch sauber durchgeführt und die Datenpunkte befüllt.
      Dann aber wird nur noch die Änderung des Wertes der PV Anlage addiert, die Änderung des Netzstromes aber nicht mehr.

      // aktuellen Jahresverbrauch Strom berechnen
      // Strom Bezug + Strom Eigennutzung PV
      const idAkt = '0_userdata.0.Gesamtverbrauch_Strom.Jahr_aktuell';
      const idVerb = '0_userdata.0.Verbrauch.Jahr_aktuell';
      const idJahr = '0_userdata.0.Eigenverbrauch.Jahr_aktuell';
      
      var jahr = getState(idJahr).val;
      var verb = getState(idVerb).val;
      var aktuell = Math.round((jahr+verb) * 100) / 100;
      if(existsState(idAkt)) setState(idAkt, aktuell, true);
      else createState(idAkt, aktuell, {type: 'number', name: 'aktueller Jahresverbrauch Strom', unit: 'kWh', role: 'value'});
      on(idJahr, function(dp) {
      jahr = dp.state.val;
      aktuell = Math.round((jahr+verb) * 100) / 100;
      setState(idAkt, aktuell, true);
      });
      schedule('59 23 31 12 *', function() {
      jahr = Math.round(jahr * 100) / 100;
      setState(idJahr, jahr, true)
      });
      

      Woran kann das liegen?

      PV Eigenverbrauch Jahr = 0_userdata.0.Eigenverbrauch.Jahr_aktuell
      Netz Eigenverbrauch Jahr = 0_userdata.0.Gesamtverbrauch_Strom.Jahr_aktuell
      Ergebnis = 0_userdata.0.Gesamtverbrauch_Strom.Jahr_aktuell

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

      @c1olli sagte: Vorlage oben, die dann geändert habe.

      Das hat mit der Vorlage nichts mehr zu tun.
      Ersetze schedule() (ab Zeile 17) durch

      on(idVerb, function(dp) {
         verb = dp.state.val;
         aktuell = Math.round((jahr+verb) * 100) / 100;
         setState(idAkt, aktuell, true);
      });
      

      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

      C 1 Reply Last reply
      0
      • paul53P paul53

        @c1olli sagte: Vorlage oben, die dann geändert habe.

        Das hat mit der Vorlage nichts mehr zu tun.
        Ersetze schedule() (ab Zeile 17) durch

        on(idVerb, function(dp) {
           verb = dp.state.val;
           aktuell = Math.round((jahr+verb) * 100) / 100;
           setState(idAkt, aktuell, true);
        });
        
        C Online
        C Online
        c1olli
        wrote on last edited by
        #9

        @paul53
        Ja, da sind schon einige Änderungen drin, aber Dank Dir habe ich wenigstens verstanden wie die Berechnungen durchgeführt und die Werte eingefangen werden.
        Für einen alten Sack wie mich ist das leider nicht mehr so einfach wie früher etwas neues zu lernen.

        Ich habe nun die Zeilen getauscht, nun werde ich das Ganze beobachten und berichten.

        Gruß
        Olli

        paul53P 1 Reply Last reply
        0
        • C c1olli

          @paul53
          Ja, da sind schon einige Änderungen drin, aber Dank Dir habe ich wenigstens verstanden wie die Berechnungen durchgeführt und die Werte eingefangen werden.
          Für einen alten Sack wie mich ist das leider nicht mehr so einfach wie früher etwas neues zu lernen.

          Ich habe nun die Zeilen getauscht, nun werde ich das Ganze beobachten und berichten.

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

          @c1olli sagte: Für einen alten Sack wie mich

          Wirklich so alt?

          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

          C 1 Reply Last reply
          0
          • paul53P paul53

            @c1olli sagte: Für einen alten Sack wie mich

            Wirklich so alt?

            C Online
            C Online
            c1olli
            wrote on last edited by
            #11

            @paul53
            Kommt auf die Sichtweise an - 54 Jahre = ab 50 ist man bei uns ein alter Sack.

            Gruß
            Olli

            paul53P 1 Reply Last reply
            0
            • C c1olli

              @paul53
              Kommt auf die Sichtweise an - 54 Jahre = ab 50 ist man bei uns ein alter Sack.

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

              @c1olli sagte: 54 Jahre

              Jungspund! Bin "nur" 15 Jahre älter und habe vor ca. 6 Jahren angefangen, Javascript zu lernen.

              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

              C crunchipC 3 Replies Last reply
              0
              • paul53P paul53

                @c1olli sagte: 54 Jahre

                Jungspund! Bin "nur" 15 Jahre älter und habe vor ca. 6 Jahren angefangen, Javascript zu lernen.

                C Online
                C Online
                c1olli
                wrote on last edited by
                #13

                @paul53
                Verdammte Axt - meinen Respekt.

                Ich selbst beschäftige mich mehr mit 3D Druck, aber so ein paar Spielereien wie ioBroker, MagicMirror Smart Home und Raspberry Pi sind total interessant.

                Gruß
                Olli

                1 Reply Last reply
                0
                • paul53P paul53

                  @c1olli sagte: 54 Jahre

                  Jungspund! Bin "nur" 15 Jahre älter und habe vor ca. 6 Jahren angefangen, Javascript zu lernen.

                  crunchipC Away
                  crunchipC Away
                  crunchip
                  Forum Testing Most Active
                  wrote on last edited by
                  #14

                  @paul53 sagte in Wert eines Datenpunktes ändern und als neuen DP darstellen:

                  "nur" 15 Jahre älter

                  haha, da bin ich 25J jünger, bekomm das trotzdem nicht gebacken, Javascript sind für mich sprichwörtlich "böhmische Dörfer"

                  umgestiegen von Proxmox auf Unraid

                  1 Reply Last reply
                  0
                  • paul53P paul53

                    @c1olli sagte: 54 Jahre

                    Jungspund! Bin "nur" 15 Jahre älter und habe vor ca. 6 Jahren angefangen, Javascript zu lernen.

                    C Online
                    C Online
                    c1olli
                    wrote on last edited by
                    #15

                    @paul53
                    So das Script läuft jetzt wie es soll

                    Beim Neustart habe ich gesehen, dass nun 2 Subscriptions statt einer, dafür aber kein Schedule aufgerufen wird.

                    Heisst das, dass der neue Teil den 2. Datenpunkt nun direkt anspricht?

                    Weißt Du eine Seite die das Ganze gut beschreibt um Javascript zu lernen?

                    Gruß
                    Olli

                    paul53P 1 Reply Last reply
                    0
                    • C c1olli

                      @paul53
                      So das Script läuft jetzt wie es soll

                      Beim Neustart habe ich gesehen, dass nun 2 Subscriptions statt einer, dafür aber kein Schedule aufgerufen wird.

                      Heisst das, dass der neue Teil den 2. Datenpunkt nun direkt anspricht?

                      Weißt Du eine Seite die das Ganze gut beschreibt um Javascript zu lernen?

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

                      @c1olli sagte: Heisst das, dass der neue Teil den 2. Datenpunkt nun direkt anspricht?

                      Ja, er triggert auf Wertänderung des Datenpunktes '0_userdata.0.Verbrauch.Jahr_aktuell'.

                      @c1olli sagte in Wert eines Datenpunktes ändern und als neuen DP darstellen:

                      Seite die das Ganze gut beschreibt um Javascript zu lernen?

                      Wenn Du bereits über Programmierkenntnisse in einer anderen Sprache verfügst, helfen sicherlich selfhtml und Mozilla weiter.

                      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

                      C 1 Reply Last reply
                      0
                      • paul53P paul53

                        @c1olli sagte: Heisst das, dass der neue Teil den 2. Datenpunkt nun direkt anspricht?

                        Ja, er triggert auf Wertänderung des Datenpunktes '0_userdata.0.Verbrauch.Jahr_aktuell'.

                        @c1olli sagte in Wert eines Datenpunktes ändern und als neuen DP darstellen:

                        Seite die das Ganze gut beschreibt um Javascript zu lernen?

                        Wenn Du bereits über Programmierkenntnisse in einer anderen Sprache verfügst, helfen sicherlich selfhtml und Mozilla weiter.

                        C Online
                        C Online
                        c1olli
                        wrote on last edited by
                        #17

                        @paul53
                        Nee, ich habe mal vor Urzeiten mit meinem 386er ein wenig Basic gelernt, aber das ist auch schon über 30 Jahre her.
                        Ansonsten habe ich mich immer mit Tools beholfen.
                        Auch die Firmware für meine 3D Drucker kompiliere ich über ein online Tool.
                        Frei nach dem Motto KISS.

                        Gruß
                        Olli

                        paul53P 1 Reply Last reply
                        0
                        • C c1olli

                          @paul53
                          Nee, ich habe mal vor Urzeiten mit meinem 386er ein wenig Basic gelernt, aber das ist auch schon über 30 Jahre her.
                          Ansonsten habe ich mich immer mit Tools beholfen.
                          Auch die Firmware für meine 3D Drucker kompiliere ich über ein online Tool.
                          Frei nach dem Motto KISS.

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

                          @c1olli sagte: Basic gelernt

                          Immerhin: Basic ist auch eine Skriptsprache, allerdings mit vielen Dialekten.

                          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
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          709

                          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