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. Wenn Wochentag X dann Wert von Objekt Y

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    774

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

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

Wenn Wochentag X dann Wert von Objekt Y

Scheduled Pinned Locked Moved Skripten / Logik
7 Posts 4 Posters 878 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.
  • miwiM Offline
    miwiM Offline
    miwi
    wrote on last edited by
    #1

    Hallo zusammen,

    ich nutze den SourceAnalytics Adapter zur Aufzeichnung meiner Stromverbräuche.
    Der Adapter erstellt Tageswerte im Format: Montag / Dienstag / Mittwoch usw..
    Vorher hatte ich das Stromzähler Script benutzt und meinen VIS View mit dessen Logik genutzt.
    Dort werden die Werte relativ gespeichert als: Gestern / Vorgestern / Vor 3 Tagen usw...

    Ich würde jetzt gerne ein Script erstellen, welches in Abhängigkeit des heutigen Tages, den Wert vom jeweiligen Objekt abholt.

    Also WENN heute Sonntag DANN lese Wert von Objekt 06_Samstag und schreibe diesen in die Variable Gestern
    WENN heute Sonntag DANN lese Wert von Objekt 05_Freitag und schreibe diesen in die Variable Vorgestern
    usw.

    Wie setze ich dies am besten um?

    Gruß
    miwi

    G paul53P 2 Replies Last reply
    0
    • miwiM miwi

      Hallo zusammen,

      ich nutze den SourceAnalytics Adapter zur Aufzeichnung meiner Stromverbräuche.
      Der Adapter erstellt Tageswerte im Format: Montag / Dienstag / Mittwoch usw..
      Vorher hatte ich das Stromzähler Script benutzt und meinen VIS View mit dessen Logik genutzt.
      Dort werden die Werte relativ gespeichert als: Gestern / Vorgestern / Vor 3 Tagen usw...

      Ich würde jetzt gerne ein Script erstellen, welches in Abhängigkeit des heutigen Tages, den Wert vom jeweiligen Objekt abholt.

      Also WENN heute Sonntag DANN lese Wert von Objekt 06_Samstag und schreibe diesen in die Variable Gestern
      WENN heute Sonntag DANN lese Wert von Objekt 05_Freitag und schreibe diesen in die Variable Vorgestern
      usw.

      Wie setze ich dies am besten um?

      Gruß
      miwi

      G Offline
      G Offline
      GombersIOB
      wrote on last edited by GombersIOB
      #2

      @miwi said in Wenn Wochentag X dann Wert von Objekt Y:

      Wie setze ich dies am besten um?

      Vielleicht gibt das Beispiel (TypeScript) eine Idee:

      
      let theDay = new Date("March 14, 2023 01:15:00");
      getYesterdaysWeekday(theDay);
      theDay = new Date("March 18, 2023 01:15:00");
      getYesterdaysWeekday(theDay);
      let toDay = new Date();
      getYesterdaysWeekday(theDay);
      function getYesterdaysWeekday(todaysDate: Date) : number {
         let todaysWeekday:number = todaysDate.getDay();
         let yesterdaysWeekday:number = todaysWeekday-1;
         if (todaysWeekday === 0) {
      
         	yesterdaysWeekday = 6;
         }
         console.log("yesterday=" + yesterdaysWeekday);
         return yesterdaysWeekday;
      }
      

      Oder als Blockly:
      cb8f948a-2e81-4425-89ba-81e79ca8442b-image.png

      Mit diesem Script:

      let todaysWeekday = new Date().getDay();
      let yesterdaysWeekday = todaysWeekday-1;
      if (todaysWeekday === 0) {
      	yesterdaysWeekday = 6;
      }
      return yesterdaysWeekday;
      

      Beachte: Sonntag hat die Nummer "0" und zählt bis Samstag, zur Nummer "6"

      1 Reply Last reply
      0
      • miwiM miwi

        Hallo zusammen,

        ich nutze den SourceAnalytics Adapter zur Aufzeichnung meiner Stromverbräuche.
        Der Adapter erstellt Tageswerte im Format: Montag / Dienstag / Mittwoch usw..
        Vorher hatte ich das Stromzähler Script benutzt und meinen VIS View mit dessen Logik genutzt.
        Dort werden die Werte relativ gespeichert als: Gestern / Vorgestern / Vor 3 Tagen usw...

        Ich würde jetzt gerne ein Script erstellen, welches in Abhängigkeit des heutigen Tages, den Wert vom jeweiligen Objekt abholt.

        Also WENN heute Sonntag DANN lese Wert von Objekt 06_Samstag und schreibe diesen in die Variable Gestern
        WENN heute Sonntag DANN lese Wert von Objekt 05_Freitag und schreibe diesen in die Variable Vorgestern
        usw.

        Wie setze ich dies am besten um?

        Gruß
        miwi

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

        @miwi sagte: WENN heute Sonntag DANN lese Wert von Objekt 06_Samstag und schreibe diesen in die Variable Gestern

        Vorschlag:

        setState(idVor7, getState(idVor6).val, true);
        // usw.
        setState(idVor2, getState(idGestern).val, true);
        let jetzt = new Date();
        let gestern = jetzt.setDate(jetzt.getDate() - 1);
        let wd = new Date(gestern).getDay();
        if(wd == 0) wd = 7;
        let idSrc = 'xyz.0' + wd + '_' + formatDate(gestern, "WW", "de");
        setState(idGestern, getState(idSrc).val, 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

        1 Reply Last reply
        0
        • miwiM Offline
          miwiM Offline
          miwi
          wrote on last edited by
          #4

          Danke für die Hilfe.

          Habe das jetzt wie paul53 vorgeschlagen hat umgesetzt.
          Ist zwar kein wenn dann, aber übergibt mir jeden Abend um 23:58 den Wert des Vortags in die nächst ältere Variable.

          schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async function () {
            setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_2_Tagen"/*Vor 2 Tagen*/, getState("sourceanalytix.0.0_userdata__0__Energie__Stromverbrauch_Gesamt.currentYear.consumed.01_previousDay").val, true);
            setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_3_Tagen"/*Vor 3 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_2_Tagen").val, true);
            setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_4_Tagen"/*Vor 4 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_3_Tagen").val, true);
            setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_5_Tagen"/*Vor 5 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_4_Tagen").val, true);
            setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_6_Tagen"/*Vor 6 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_5_Tagen").val, true);
            setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_7_Tagen"/*Vor 7 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_6_Tagen").val, true);
          });
          

          Gleiches mache ich jetzt noch für Wochen, Monate und Quartale und danach das ganze 7 mal für die Verschiedenen Verbräuche und Einspeisungen.

          Danke für die Hilfe,

          miwi

          paul53P B 2 Replies Last reply
          0
          • miwiM miwi

            Danke für die Hilfe.

            Habe das jetzt wie paul53 vorgeschlagen hat umgesetzt.
            Ist zwar kein wenn dann, aber übergibt mir jeden Abend um 23:58 den Wert des Vortags in die nächst ältere Variable.

            schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async function () {
              setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_2_Tagen"/*Vor 2 Tagen*/, getState("sourceanalytix.0.0_userdata__0__Energie__Stromverbrauch_Gesamt.currentYear.consumed.01_previousDay").val, true);
              setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_3_Tagen"/*Vor 3 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_2_Tagen").val, true);
              setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_4_Tagen"/*Vor 4 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_3_Tagen").val, true);
              setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_5_Tagen"/*Vor 5 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_4_Tagen").val, true);
              setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_6_Tagen"/*Vor 6 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_5_Tagen").val, true);
              setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_7_Tagen"/*Vor 7 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_6_Tagen").val, true);
            });
            

            Gleiches mache ich jetzt noch für Wochen, Monate und Quartale und danach das ganze 7 mal für die Verschiedenen Verbräuche und Einspeisungen.

            Danke für die Hilfe,

            miwi

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

            @miwi
            Mach es besser in umgekehrter Reihenfolge: Ältesten Wert zuerst.

            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

            miwiM 1 Reply Last reply
            0
            • paul53P paul53

              @miwi
              Mach es besser in umgekehrter Reihenfolge: Ältesten Wert zuerst.

              miwiM Offline
              miwiM Offline
              miwi
              wrote on last edited by
              #6

              @paul53 said in Wenn Wochentag X dann Wert von Objekt Y:

              @miwi
              Mach es besser in umgekehrter Reihenfolge: Ältesten Wert zuerst.

              Stimmt sonst wird bei Abarbeitung immer der erste Wert übernommen (Dominoeffekt).

              1 Reply Last reply
              0
              • miwiM miwi

                Danke für die Hilfe.

                Habe das jetzt wie paul53 vorgeschlagen hat umgesetzt.
                Ist zwar kein wenn dann, aber übergibt mir jeden Abend um 23:58 den Wert des Vortags in die nächst ältere Variable.

                schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async function () {
                  setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_2_Tagen"/*Vor 2 Tagen*/, getState("sourceanalytix.0.0_userdata__0__Energie__Stromverbrauch_Gesamt.currentYear.consumed.01_previousDay").val, true);
                  setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_3_Tagen"/*Vor 3 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_2_Tagen").val, true);
                  setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_4_Tagen"/*Vor 4 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_3_Tagen").val, true);
                  setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_5_Tagen"/*Vor 5 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_4_Tagen").val, true);
                  setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_6_Tagen"/*Vor 6 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_5_Tagen").val, true);
                  setState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_7_Tagen"/*Vor 7 Tagen*/, getState("0_userdata.0.Energie.Stromverbrauch__Gesamt.Vor_6_Tagen").val, true);
                });
                

                Gleiches mache ich jetzt noch für Wochen, Monate und Quartale und danach das ganze 7 mal für die Verschiedenen Verbräuche und Einspeisungen.

                Danke für die Hilfe,

                miwi

                B Offline
                B Offline
                Baerny
                wrote on last edited by
                #7

                @miwi Hallo miwi,

                klappt das Script bei dir einwandfrei bzw. zeigt die richtigen Werte an ? Bei mir kommt es immer mal wieder vor, dass er einen Tag verschluckt und nicht den Wert von z. B. vorgestern übernimmt.

                CCU 2 | Intel NUC mit Proxmox

                1 Reply Last reply
                0

                Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                With your input, this post could be even better 💗

                Register Login
                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                Support us

                ioBroker
                Community Adapters
                Donate

                603

                Online

                32.8k

                Users

                82.7k

                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