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. Tage bestimmen an dem man Frei hat

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Tage bestimmen an dem man Frei hat

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 3 Kommentatoren 466 Aufrufe
  • Ä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.
  • J Offline
    J Offline
    JavaMafia
    schrieb am zuletzt editiert von
    #1

    Hallo,

    bin gerade dabei mich mit dem ioBroker anzufreunden, komme soweit auch mit den Adaptern klar.

    Leider habe ich leichte Schwierigkeiten mit den schreiben von Skripten. Habe bis jetzt zwei kleinere geschrieben, die auch Wunderbar klappen.

    Jetzt möchte ich eins erstellen, womit ich eine Variable in der HM setzte. Die alle 4 Wochen nur "WAHR" ist (z.B. jeden 4ten Montag und jeden 4ten Mittwoch).

    Ich danke schon mal im Voraus.

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      Vorschlag:

      const idSV = 'hm-rega.0.7868';
      
      function woche4(compare) {
         var weeks = new Date().getTime() / (7 * 24 * 3600 * 1000);
         if(Math.floor(weeks % 4) == compare) setState(idSV, true);
         else setSate(idSV, false);
      }
      
      schedule('0 0 * * 1', function() {  // montags
         woche4(3);  // Vergleichswert (0, 1, 2, 3) anpassen !
      });
      
      schedule('0 0 * * 3', function() {  // mittwochs
         woche4(2);  // Vergleichswert anpassen !
      }); 
      
      

      EDIT: Schedule und Vertipper korrigiert.

      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
      0
      • J Offline
        J Offline
        JavaMafia
        schrieb am zuletzt editiert von
        #3

        Danke für deine Antwort, würde es gerne Testen, aber leider bekomme ich eine Fehlermeldung in den Zeilen 11, 13 ,15.

        Ich habe auch die Variablen ID eingetragen, denke das dies so richtig ist.

        Bin mich leider erst am einarbeiten in Sachen Scripte.

        const idSV = 'hm-rega.0.7868';
        
        function woche4(compare) {
           var weeks = new Date().getTime() / (7 * 24 * 3600 * 1000);
           if(Math.floor(weeks % 4) == compare) setState(idSV, true);
           else setSate(idSV, false);
        }
        
        schedule('0 0 0 * 1', function() {  // montags
           woche4(3);  // Vergleichswert (0, 1, 2, 3) anpassen !
        ));
        
        schedule('0 0 0 * 3', function() {  // mittwochs
           woche4(2);  // Vergleichswert anpassen !
        )); 
        
        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tempestas
          schrieb am zuletzt editiert von
          #4
          
          const idSV = 'hm-rega.0.7868';
          
          function woche4(compare) {
             var weeks = new Date().getTime() / (7 * 24 * 3600 * 1000);
             if(Math.floor(weeks % 4) == compare) setState(idSV, true);
             else setSate(idSV, false);
          }
          
          schedule('0 0 0 * 1', function() {  // montags
             woche4(3);  // Vergleichswert (0, 1, 2, 3) anpassen !
          });
          
          schedule('0 0 0 * 3', function() {  // mittwochs
             woche4(2);  // Vergleichswert anpassen !
          }); 
          
          

          waren nur zwei Vertipper

          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            JavaMafia
            schrieb am zuletzt editiert von
            #5

            Leider klappt das nicht so ganz.

            Es wird mir immer wieder die Variable auf "true" gesetzt. Wofür ist dieser````
            woche4(3)

            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @JavaMafia:

              Wofür ist dieser

              woche4(3)
              ```` `  
              

              An die Funktion wird der Vergleichswert (0 bis 3) für die Woche übergeben, in der die SV am entsprechenden Wochentag true wird (jede 4. Woche).

              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
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                Sorry, das Schedule ist falsch. Richtig:

                schedule('0 0 * * 1', function() {  // montags
                   woche4(3);  // Vergleichswert (0, 1, 2, 3) anpassen !
                });
                
                schedule('0 0 * * 3', function() {  // mittwochs
                   woche4(2);  // Vergleichswert anpassen !
                }); 
                
                

                Für diese Woche ist der Vergleichswert 0 passend. Alle anderen Werte müssen false liefern.

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


                Support us

                ioBroker
                Community Adapters
                Donate

                661

                Online

                32.6k

                Benutzer

                82.2k

                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