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. [Erledigt] Anfängerhilfe: Zeitsteuerung aus CCU nachbauen

NEWS

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

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

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

[Erledigt] Anfängerhilfe: Zeitsteuerung aus CCU nachbauen

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

    Hallo,

    ich stelle gerade meine CCU Programme auf javascript Programme um.

    Habe jetzt mal wieder ein Problem und benötige mal wieder einen Schubs in die richtige Richtung damit ich weiterkomme

    Mein CCU Programm:

    Systemzustand Systemvariable Wach bei Schlafen auf Änderung auslösen

    Zeitsteuerung Täglich von 20:00 - 04:00 nur prüfen

    Mein Script

    // Beispiel Zeitsteuerung
    
    var SchlafenZeit;
    
    schedule("00 20 * * *", function () {
        SchlafenZeit = true;
        console.log(SchlafenZeit);
    });
    
    schedule("00 4 * * *", function () {
        SchlafenZeit = false;
        console.log(SchlafenZeit);
    });
    
    on({
        id: SchlafenZeit,
        change: 'any',
    }, function (obj) {
            if (obj.state.val === true){
                log('Log true');
            }
            else if (obj.state.val === false){
                log('Log false');
            }        
    });
    

    Ich habe bis jetzt immer Variablen fest im javascript Adapter angelegt, damit würde ich es wohl auch hinkriegen, da ich aber die Variable SchlafenZeit nur in diesem Programm brauche, dachte ich es geht auch so.

    Allerdings wird die Funktion nicht gestartet auch wenn sich die Variable ändert.

    Danke für Eure Hilfe

    Gruß Zippolighter

    1 Reply Last reply
    0
    • D Offline
      D Offline
      dwm
      wrote on last edited by
      #2

      Eine CCU "Systemvariable" entspricht einem Datenpunkt im IOBroker (in etwa :)).

      Mit "on" kannst Du nicht auf Änderungen in einer Javascript Variable auslösen, sondern auf nen Datenpunkt.

      Ausserdem machen das CCU-Script und das Javascript was unterschiedliches:

      Die CCU startet das Programm wenn sich "SchlafenZeit" ändert und überprüft dann, ob es zwischen 20:00 und 04:00 ist.

      Das Javascript setzt um 20:00 SchlafenZeit auf true und um 04:00 auf false.

      Was ist denn das Verhalten, das Du haben willst?

      CU

      Werner

      1 Reply Last reply
      0
      • Z Offline
        Z Offline
        Zippolighter
        wrote on last edited by
        #3

        Hallo

        Mein Ziel ist es auf Änderung eines Datenpunktes zu reagieren, dabei aber zu überprüfen welcher Zeitrahmen ist 20:00 - 04:00 oder 04:00 - 20:00.

        Durch meine zwei schedule lege ich fest das entweder der erste Zeitrahmen oder der zweite Zeitrahmen aktiv ist. Dies kann ich dann überprüfen

        Wenn ich mit On nur einen Datenpunkt überprüfen kann, dann mache ich halt doch wieder eine Variable im javascript Adapter.

        Danke für Deine Antwort

        1 Reply Last reply
        0
        • paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #4

          @Zippolighter:

          Mein Ziel ist es auf Änderung eines Datenpunktes zu reagieren, dabei aber zu überprüfen welcher Zeitrahmen ist 20:00 - 04:00 oder 04:00 - 20:00. `
          Dafür gibt es https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#comparetime.

          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
          • K Offline
            K Offline
            Karl_999
            wrote on last edited by
            #5

            Das ist leider die etwas ungewöhnlich HM-Denke:

            Im normalen Programm gibt es ganz simple Abfragen und Verzweigen, die wesentlich klarer sind:

            Wenn Uhrzeit > 20 Uhr oder Uhrzeit < 4 Uhr
            	{ //Nachtprogramm }
            Sonst
            	{ //Tagprogramm }
            

            Das ganze Programm muss natürlich noch regelmäßig aufgerufen werden (z.B. einmal pro Minute schedule "1 * * * *")

            1 Reply Last reply
            0
            • D Offline
              D Offline
              dwm
              wrote on last edited by
              #6

              Hm, die zwei schedules brauchst dann eigentlich nicht …

              z.B. (ohne Garantie, ohne es probiert zu haben) ...

              var SchlafenZeitId = "javascript.0.Aktiv.Schlafenzeit"; // Datenpunkt
              
              var Zeit1 = "04:00";
              var Zeit2 = "20:00";
              
              on ({ id: SchlafenZeitId, change: "ne"} function (obj) {
                  var now_ = formatDate (obj.state.ts,"hh:mm");
                  if ((now_ >= Zeit1 && now < Zeit2)) {
                      log('Zwischen 4 Uhr morgens und 8 Uhr abends");
                   } else {
                      log('Zwischen 8 abends und 4 morgens);
                   }
              });
              

              … Du möchtest ja die Zeiten "nur prüfen" :)

              Weitere Ausbaustufe:

              Die Zeiten nicht fest definieren, sondern in der Callback-Funktion aus Datenpunkten lesen :)

              CU

              Werner

              1 Reply Last reply
              0
              • Z Offline
                Z Offline
                Zippolighter
                wrote on last edited by
                #7

                Super, danke für Eure Hilfe. Wieder etliches dazu gelernt

                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

                380

                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