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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Programmteil hinter Timeout wird nicht ausgeführt

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

[gelöst] Programmteil hinter Timeout wird nicht ausgeführt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 4 Kommentatoren 942 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.
  • C Offline
    C Offline
    ChristianF
    schrieb am zuletzt editiert von
    #6

    Ich habe es jetzt testweise auf 90 Minuten umgestellt, bzw. auf 85 damit ich den Unterschied sehe ;)

    Zu den Bedingungen der Blöcke:

    • der erste checkt, ob heute ein Feiertag (Feiertagsadapter) oder ein Urlaubstag (iCal) ist

    • der zweite checkt, ob heute ein Samstag (Wochentag 6) oder Sonntag (Wochentag 0) ist

    • der dritte Block gilt, wenn keiner der anderen Sonderfälle greift (also ein normaler Wochentag ist).

    (ersten und zweiten Check hätte ich gern zusammengezogen und nur eine Unterscheidung "früh aufstehen ja/nein" gehabt, habe ich aber nicht hinbekommen)

    Zu den Schaltblöcken:

    • Der erste Block zieht die Rollis auf 20% hoch, das bedeutet dass die Schlitze sichtbar werden und unten ein kleiner Spalt offensteht

    • Der zweite Block zieht die Rollis bis 40% hoch, es wird also deutlich heller im Raum

    • Der dritte Block zieht die Rollis ganz hoch

    Warum das Ganze? Es handelt sich um ein "Wake up light": der Körper "gewöhnt" sich deutlich besser an den Gedanken, dass gleich Aufstehen angesagt ist, wenn es nicht mehr komplett dunkel ist. Wenn dann der Wecker klingelt, hat der Körper bereits eine halbe Stunde vorm Aufstehen "realisiert", dass es gleich los geht und ist nicht gleich am frühen Morgen gestresst. Und ich muss sagen: es funktioniert prima. Einfach mal "Wake up light" oder "Lichtwecker" googlen.

    Ich habe nun ein Debug-Output eingebaut, mal sehen was passiert.

    Danke!

    Viele Grüße

    Christian

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #7

      Der Sinn des ganzen ist mir schon klar.

      Was mich irritiert, ist die 2. Bedingung:

      (new Date().getDay() === 0 ? 7 : new Date().getDay()) == 0
      

      Die kann eigentlich nie zutreffen:

      Wenn heute Sonntag ist (getDay() === 0), wird 7 mit 0 verglichen (falsch).

      Wenn heute kein Sonntag ist (getDay() > 0), wird 1-6 mit 0 verglichen (falsch).

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • C Offline
        C Offline
        ChristianF
        schrieb am zuletzt editiert von
        #8

        Hmm, das ist wirklich merkwürdig. Hier das Blockly dazu:

        455_bedingung.jpg

        Hier nochmal der Code dazu (es sind jetzt die Debugs und Comments dazugekommen, sorry):

                setStateDelayed("hm-rpc.0.LEQ143xxx9.1.LEVEL"/*RL-Ki-O_1.LEVEL*/, 100, 5000, false);
              }, 300000);
            }, 9600000);
          } else if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == 0 || (new Date().getDay() === 0 ? 7 : new Date().getDay()) == 6) {
            // Wochenende? Auch erst um 9
            console.log('Wochenende-Block: nix zu tun um 0615');
            timeout4 = setTimeout(function () {
              console.log('Wochenende-Block: 20 Prozent um 0900');
              setStateDelayed("hm-rpc.0.LEQ143xxx0.1.LEVEL"/*RL-Ankl_1.LEVEL*/, 20, 1000, false);
        
        

        Übrigens ist der Übeltäter des Ausfalls des Scripts von Montag gefunden: der Javascript Adapter ist aufgrund eines Fehlers in einem anderen Script im 30min Takt abgestürzt. Hat nur vorher niemand gemerkt. Nur jetzt, wo ein längerer Timeout dazwischen lag, ist es aufgefallen.

        1 Antwort Letzte Antwort
        0
        • rantanplanR Offline
          rantanplanR Offline
          rantanplan
          schrieb am zuletzt editiert von
          #9

          Hallo

          Wochentag = 0 gibt es nicht.

          Montag=1 …. Sonntag = 7

          Wochentag < 6 ist normaler Wochentag

          Wochentag > 5 ist Wochenende

          EDIT: vielleicht interessant für Dich viewtopic.php?f=21&t=12021

          Grüße

          Rantanplan

          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

          1 Antwort Letzte Antwort
          0
          • BuZZyB Offline
            BuZZyB Offline
            BuZZy
            schrieb am zuletzt editiert von
            #10

            Normalerweise ist 0 oder 7 beides möglich und entspricht dem Wochentag 'Sonntag'..

            Gruß

            1 Antwort Letzte Antwort
            0
            • C Offline
              C Offline
              ChristianF
              schrieb am zuletzt editiert von
              #11

              Hallo,

              "beides geht" wäre ja merkwürdig. Wenn die Woche entweder mit 0 oder 1 anfängt, würde es ja komplett unterschiedliche Verhaltensweisen geben.

              Ich habe mir schnell ein Demoscript gebaut und mir den heutigen Tag ausgeben lassen, und es wird für Freitag = 5 ausgegeben. Habe es nun auf 6 und 7 umgeschrieben und werde morgen spät abends mal schnell schauen, ob er für Sonntag nun eine 6 oder 7 auswirft.

              Merkwürdig dass es so unterschiedliche Aussagen online gibt.

              Danke für Eure Hilfe!

              1 Antwort Letzte Antwort
              0
              • C Offline
                C Offline
                ChristianF
                schrieb am zuletzt editiert von
                #12

                Moin,

                inzwischen ist Sonntag, und siehe da…

                javascript.0	2018-05-20 00:01:00.020	info	script.js.common.Homematic-Scripte.Skript2: So
                javascript.0	2018-05-20 00:01:00.020	info	script.js.common.Homematic-Scripte.Skript2: Sonntag
                javascript.0	2018-05-20 00:01:00.017	info	script.js.common.Homematic-Scripte.Skript2: 7
                
                

                -> JavaScript und damit auch ioBroker rechnet Sonntag als Tag Nr. 7 . Komisch, wo im amerikanischen Denkkreis die Woche ja mit dem Sonntag anfängt (daher meine Verwirrung, zumal unter https://wiki.selfhtml.org/wiki/JavaScri … ate/getDay genau das Gegenteil (0-6) beschrieben wird).

                Vielleicht hilft es ja jemandem.

                Danke allen, die geholfen haben!

                Viele Grüße

                Christian

                1 Antwort Letzte Antwort
                0
                • BuZZyB Offline
                  BuZZyB Offline
                  BuZZy
                  schrieb am zuletzt editiert von
                  #13

                  Wie gesagt, normalerweise sind die entsprechenden Funktionen so programmiert dass sie 0 und 7 als Sonntag akzeptieren..

                  Bei mir sieht es heute zum Beispiel so im log aus..

                  ...js.Verschiedenes.RolloAutomatik: Tag: 0
                  

                  ;)

                  Gruß

                  1 Antwort Letzte Antwort
                  0
                  • rantanplanR Offline
                    rantanplanR Offline
                    rantanplan
                    schrieb am zuletzt editiert von
                    #14

                    Auf die Schnelle siehe hier: https://github.com/ioBroker/ioBroker.ja … e-schedule

                    Change Log der Umstellung in ioBroker finde ich gerade nicht.

                    In Blockly kann ich meine Beschreibung empfehlen.

                    Grüße

                    Rantanplan

                    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                    1 Antwort Letzte Antwort
                    0
                    • rantanplanR Offline
                      rantanplanR Offline
                      rantanplan
                      schrieb am zuletzt editiert von
                      #15

                      Hier die Definition in Blockly.

                      Auszug:
                      147_beispiel.png
                      Hier gibt es die komplette Beschreibung https://github.com/ioBroker/ioBroker.ja … blockly.md

                      Grüße

                      Rantanplan

                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                      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

                      754

                      Online

                      32.4k

                      Benutzer

                      81.4k

                      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