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. Gelöst: Datenpunkte addieren

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Gelöst: Datenpunkte addieren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
44 Beiträge 5 Kommentatoren 1.9k 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.
  • mickymM mickym

    War klar dass id Puzzlefreunde meinen es geht schneller - aber NodeRed ist unschlagbar:

    838bc0d0-fbe3-456b-abb9-d9bfa831bf5d-image.png

    Also die Summe lautet 21.6 :)

    fc8b6032-5f85-462b-a256-99eb8f4ae25b-image.png

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #5

    @mickym
    Wenn man NodeRed installiert hat.

    Ich brauch's nicht :grin:

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    1 Antwort Letzte Antwort
    0
    • mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #6

      Na wenn man den JS Adapter installiert hat, ich brauch ihn nicht. ;)

      Ich hätte ja nichts im gepostet, wenn der Threadersteller im Blockly oder JS Forum gepostet hätte, aber so gehe ich mal davon aus, dass er technologieoffen ist und keine ideologische Brille auf hat.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        Na wenn man den JS Adapter installiert hat, ich brauch ihn nicht. ;)

        Ich hätte ja nichts im gepostet, wenn der Threadersteller im Blockly oder JS Forum gepostet hätte, aber so gehe ich mal davon aus, dass er technologieoffen ist und keine ideologische Brille auf hat.

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #7

        @mickym
        Mir persönlich ist das doch Wumpe.
        Jeder so, wie er/sie am besten klarkommt.

        Allerdings haben die meisten halt JS eh schon installiert.
        Da wäre dann wieder NodeRed unnötig, nur um an eine Summe zu kommen.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        mickymM 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @mickym
          Mir persönlich ist das doch Wumpe.
          Jeder so, wie er/sie am besten klarkommt.

          Allerdings haben die meisten halt JS eh schon installiert.
          Da wäre dann wieder NodeRed unnötig, nur um an eine Summe zu kommen.

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          schrieb am zuletzt editiert von
          #8

          @codierknecht Alles gut - Du machst einen tollen Job hier und hilfst vielen und die meisten puzzeln inzwischen eh hier alle, insofern ist Dein Beitrag für den TE sowieso sinnvoller als meiner. Ich will nur manchmal aufgrund der Technologieoffenheit auf Alternativen hinweisen.

          Aber wie gesagt - Du machst hier einen tollen Job und störe nicht länger, ausser es wird gewünscht.

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • mickymM mickym

            @codierknecht Alles gut - Du machst einen tollen Job hier und hilfst vielen und die meisten puzzeln inzwischen eh hier alle, insofern ist Dein Beitrag für den TE sowieso sinnvoller als meiner. Ich will nur manchmal aufgrund der Technologieoffenheit auf Alternativen hinweisen.

            Aber wie gesagt - Du machst hier einen tollen Job und störe nicht länger, ausser es wird gewünscht.

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #9

            @mickym sagte in Datenpunkte addieren:

            Du machst einen tollen Job hier

            Gebe ich gerne zurück.

            Lassen wir den TE entscheiden, was für ihn sinnvoller oder einfacher ist.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            0
            • mickymM mickym

              @michihorn Wenn Du NodeRed nutzt ist das mit wenigen Nodes erledigt.

              M Online
              M Online
              michihorn
              schrieb am zuletzt editiert von
              #10

              @mickym Ich würde das gerne per Script machen

              1 Antwort Letzte Antwort
              1
              • CodierknechtC Codierknecht

                @michihorn
                Mit "ID von Selektor" geht das eigentlich ziemlich einfach.

                Wie lautet genau die ID von Wetter.KW?

                Sollte etwa so funktionieren:

                bf8e4fb8-15c0-4797-ba2e-af39532e45b6-grafik.png

                M Online
                M Online
                michihorn
                schrieb am zuletzt editiert von
                #11

                @codierknecht 0_userdata.0.Giethoorn.Wetter.Regen_Mo
                Bitte kein Blocky

                CodierknechtC 1 Antwort Letzte Antwort
                0
                • M michihorn

                  @codierknecht 0_userdata.0.Giethoorn.Wetter.Regen_Mo
                  Bitte kein Blocky

                  CodierknechtC Online
                  CodierknechtC Online
                  Codierknecht
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #12

                  @michihorn sagte in Datenpunkte addieren:

                  Bitte kein Blocky

                  Dann etwa so:

                  var regenmenge = 0;
                  const states = Array.prototype.slice.apply($('0_userdata.0.Giethoorn.Wetter.*'));
                  for (var state_index in states) {
                    state = states[state_index];
                    regenmenge += getState(state).val;
                  }
                  console.log(regenmenge);
                  

                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                  HmIP|ZigBee|Tasmota|Unifi
                  Zabbix Certified Specialist
                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                  paul53P 1 Antwort Letzte Antwort
                  1
                  • CodierknechtC Codierknecht

                    @michihorn sagte in Datenpunkte addieren:

                    Bitte kein Blocky

                    Dann etwa so:

                    var regenmenge = 0;
                    const states = Array.prototype.slice.apply($('0_userdata.0.Giethoorn.Wetter.*'));
                    for (var state_index in states) {
                      state = states[state_index];
                      regenmenge += getState(state).val;
                    }
                    console.log(regenmenge);
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #13

                    @codierknecht sagte: Dann etwa so:

                    Der $Selector hat eine eigene Schleifenfunktion.

                    const states = $('0_userdata.0.Giethoorn.Wetter.Regen_*');
                    
                    let regenmenge = 0;
                    states.each(function(id) {
                      regenmenge += getState(id).val;
                    });
                    log(regenmenge);
                    

                    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

                    CodierknechtC M 2 Antworten Letzte Antwort
                    0
                    • paul53P paul53

                      @codierknecht sagte: Dann etwa so:

                      Der $Selector hat eine eigene Schleifenfunktion.

                      const states = $('0_userdata.0.Giethoorn.Wetter.Regen_*');
                      
                      let regenmenge = 0;
                      states.each(function(id) {
                        regenmenge += getState(id).val;
                      });
                      log(regenmenge);
                      
                      CodierknechtC Online
                      CodierknechtC Online
                      Codierknecht
                      Developer Most Active
                      schrieb am zuletzt editiert von
                      #14

                      @paul53
                      Danke. Muss ich mir merken.
                      Da kann ich noch das eine oder andere Script umbauen.

                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                      HmIP|ZigBee|Tasmota|Unifi
                      Zabbix Certified Specialist
                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                      1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @codierknecht sagte: Dann etwa so:

                        Der $Selector hat eine eigene Schleifenfunktion.

                        const states = $('0_userdata.0.Giethoorn.Wetter.Regen_*');
                        
                        let regenmenge = 0;
                        states.each(function(id) {
                          regenmenge += getState(id).val;
                        });
                        log(regenmenge);
                        
                        M Online
                        M Online
                        michihorn
                        schrieb am zuletzt editiert von
                        #15

                        @paul53 sagte in Datenpunkte addieren:

                        const states = $('0_userdata.0.Giethoorn.Wetter.Regen_*'); let regenmenge = 0; states.each(function(id) { regenmenge += getState(id).val; } log(regenmenge);

                        Danke bis auf eine fehlende "schliessende Klammer", in Zeile 6, klappt das:

                        const states = $('0_userdata.0.Giethoorn.Wetter.Tage.Regen_*');
                         
                        let regenmenge = 0;
                        states.each(function(id) {
                          regenmenge += getState(id).val;
                        })
                        log(regenmenge);
                        

                        Hast du noch einen Tip wie ich die aktuelle Kalenderwoche berechne?
                        Gruß
                        Michael

                        CodierknechtC 1 Antwort Letzte Antwort
                        0
                        • M michihorn

                          @paul53 sagte in Datenpunkte addieren:

                          const states = $('0_userdata.0.Giethoorn.Wetter.Regen_*'); let regenmenge = 0; states.each(function(id) { regenmenge += getState(id).val; } log(regenmenge);

                          Danke bis auf eine fehlende "schliessende Klammer", in Zeile 6, klappt das:

                          const states = $('0_userdata.0.Giethoorn.Wetter.Tage.Regen_*');
                           
                          let regenmenge = 0;
                          states.each(function(id) {
                            regenmenge += getState(id).val;
                          })
                          log(regenmenge);
                          

                          Hast du noch einen Tip wie ich die aktuelle Kalenderwoche berechne?
                          Gruß
                          Michael

                          CodierknechtC Online
                          CodierknechtC Online
                          Codierknecht
                          Developer Most Active
                          schrieb am zuletzt editiert von Codierknecht
                          #16

                          @michihorn sagte in Datenpunkte addieren:

                          Hast du noch einen Tip wie ich die aktuelle Kalenderwoche berechne?

                          const moment = require("moment");
                          
                          let week = moment().isoWeek();
                          // oder für ein spezifisches Datum:
                          // let week = moment('2024/02/13').isoWeek();
                          log(week);
                          

                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                          HmIP|ZigBee|Tasmota|Unifi
                          Zabbix Certified Specialist
                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                          M 1 Antwort Letzte Antwort
                          1
                          • CodierknechtC Codierknecht

                            @michihorn sagte in Datenpunkte addieren:

                            Hast du noch einen Tip wie ich die aktuelle Kalenderwoche berechne?

                            const moment = require("moment");
                            
                            let week = moment().isoWeek();
                            // oder für ein spezifisches Datum:
                            // let week = moment('2024/02/13').isoWeek();
                            log(week);
                            
                            M Online
                            M Online
                            michihorn
                            schrieb am zuletzt editiert von michihorn
                            #17

                            @codierknecht sagte in Datenpunkte addieren:

                            const moment = require("moment"); let week = moment().isoWeek(); // oder für ein spezifisches Datum: // let week = moment('2024/02/13').isoWeek(); log(week);

                            Danke, klappt, gibt es auch eine Funktion für den Monat?

                            CodierknechtC 1 Antwort Letzte Antwort
                            0
                            • mickymM Offline
                              mickymM Offline
                              mickym
                              Most Active
                              schrieb am zuletzt editiert von mickym
                              #18

                              Es kann sein, dass du mit der Moment Bibliothek und dem JS Adapter bei jedem Neustart einen Haufen Warnungen bekommst.

                              Dann nutze lieber die days Bibliothek: https://day.js.org/docs/en/get-set/iso-weeks-in-year

                              Jetzt bin ich aber wirklich weg. ;)

                              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                              M 1 Antwort Letzte Antwort
                              0
                              • mickymM mickym

                                Es kann sein, dass du mit der Moment Bibliothek und dem JS Adapter bei jedem Neustart einen Haufen Warnungen bekommst.

                                Dann nutze lieber die days Bibliothek: https://day.js.org/docs/en/get-set/iso-weeks-in-year

                                Jetzt bin ich aber wirklich weg. ;)

                                M Online
                                M Online
                                michihorn
                                schrieb am zuletzt editiert von
                                #19

                                @mickym Ne es gab keine Warnungen, Moment im JS als zusätze NPM eintragen und gut.
                                Leider gibt es über "moment" keine Funktion "isoMonth".
                                Eine Days Bibliothek kenne ich nicht. Danke für den Link.

                                1 Antwort Letzte Antwort
                                0
                                • M michihorn

                                  @codierknecht sagte in Datenpunkte addieren:

                                  const moment = require("moment"); let week = moment().isoWeek(); // oder für ein spezifisches Datum: // let week = moment('2024/02/13').isoWeek(); log(week);

                                  Danke, klappt, gibt es auch eine Funktion für den Monat?

                                  CodierknechtC Online
                                  CodierknechtC Online
                                  Codierknecht
                                  Developer Most Active
                                  schrieb am zuletzt editiert von
                                  #20

                                  @michihorn sagte in Datenpunkte addieren:

                                  Danke, klappt, gibt es auch eine Funktion für den Monat?

                                  Ein- oder zweistellig?

                                  let month = moment().format('M');
                                  log(month);
                                  month = moment().format('MM');
                                  log(month);
                                  

                                  @mickym moment funzt einwandfrei - ohne Warnungen o.ä. ;-)

                                  "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                  Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                  HmIP|ZigBee|Tasmota|Unifi
                                  Zabbix Certified Specialist
                                  Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • CodierknechtC Codierknecht

                                    @michihorn sagte in Datenpunkte addieren:

                                    Danke, klappt, gibt es auch eine Funktion für den Monat?

                                    Ein- oder zweistellig?

                                    let month = moment().format('M');
                                    log(month);
                                    month = moment().format('MM');
                                    log(month);
                                    

                                    @mickym moment funzt einwandfrei - ohne Warnungen o.ä. ;-)

                                    mickymM Offline
                                    mickymM Offline
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von
                                    #21

                                    @codierknecht sagte in Datenpunkte addieren:

                                    @michihorn sagte in Datenpunkte addieren:

                                    Danke, klappt, gibt es auch eine Funktion für den Monat?

                                    Ein- oder zweistellig?

                                    let month = moment().format('M');
                                    log(month);
                                    month = moment().format('MM');
                                    log(month);
                                    

                                    @mickym moment funzt einwandfrei - ohne Warnungen o.ä. ;-)

                                    Na gut. Ich dachte, ich hätte Warnungen gesehen, wenn man die Maschine neu startet.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    CodierknechtC 1 Antwort Letzte Antwort
                                    1
                                    • M Online
                                      M Online
                                      michihorn
                                      schrieb am zuletzt editiert von
                                      #22

                                      @mickym Ne es gab keine Warnungen, Moment im JS als zusätze NPM eintragen und gut.
                                      Leider gibt es über "moment" keine Funktion "isoMonth".
                                      Eine Days Bibliothek kenne ich nicht. Danke für den Link.

                                      1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @codierknecht sagte in Datenpunkte addieren:

                                        @michihorn sagte in Datenpunkte addieren:

                                        Danke, klappt, gibt es auch eine Funktion für den Monat?

                                        Ein- oder zweistellig?

                                        let month = moment().format('M');
                                        log(month);
                                        month = moment().format('MM');
                                        log(month);
                                        

                                        @mickym moment funzt einwandfrei - ohne Warnungen o.ä. ;-)

                                        Na gut. Ich dachte, ich hätte Warnungen gesehen, wenn man die Maschine neu startet.

                                        CodierknechtC Online
                                        CodierknechtC Online
                                        Codierknecht
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #23

                                        @mickym sagte in Datenpunkte addieren:

                                        Na gut. Ich dachte, ich hätte Warnungen gesehen, wenn man die Maschine neu startet.

                                        Muss ich mal drauf achten. Aber das mache ich ja nur alle Jubeljahre :grin:

                                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                        HmIP|ZigBee|Tasmota|Unifi
                                        Zabbix Certified Specialist
                                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                        1 Antwort Letzte Antwort
                                        0
                                        • mickymM Offline
                                          mickymM Offline
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #24

                                          @michihorn Auch wenn Du NodeRed nicht magst, hier mal ein paar nützliche Erklärungen und Beispiele mit der Moments-Bibliothek, da diese in NodeRed schon standardmässig eingebaut ist:

                                          https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered

                                          und hier noch ein Link zur originalen Moments-Bibliothek:

                                          https://momentjs.com/docs/#/displaying/

                                          Hier siehst dann auch, wie Du Dir den Monatsnamen in Worten und ggf. auf deutsch ausgeben lassen kannst.

                                          moment().locale('de').format('MMMM')
                                          

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          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

                                          675

                                          Online

                                          32.6k

                                          Benutzer

                                          82.3k

                                          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