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. Blockly
  5. Script nur aktiv von 6 Uhr bis 22 Uhr

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    221

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

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

Script nur aktiv von 6 Uhr bis 22 Uhr

Geplant Angeheftet Gesperrt Verschoben Blockly
14 Beiträge 6 Kommentatoren 916 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.
  • G Offline
    G Offline
    GTV
    schrieb am zuletzt editiert von
    #1

    Hallo ! Ich steige mal wieder nicht durch Blocky durch. Ich habe folgendens Script was mir die Anrufer von meiner Fritzbox auf meinen Sons´s ausgibt.

    var timeout, timeout2, On_call_states, callerName, caller, speak, Intervall;
    
    
    on({id: "tr-064.0.callmonitor.ringing"/*ringing*/, val: true}, async function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
      timeout = setTimeout(async function () {
        if (getState("tr-064.0.callmonitor.toPauseState").val == 'ring') {
          timeout2 = setTimeout(async function () {
            On_call_states = getState("tr-064.0.callmonitor.toPauseState").val;
            callerName = getState("tr-064.0.callmonitor.inbound.callerName").val;
            caller = getState("tr-064.0.callmonitor.inbound.caller").val;
            speak = 'sayit.0.tts.text';
            // Rechter Mausklick aktivieren
            // Falls andere Echos sprechen sollen.
            // Rechts Verknüpfen
            // Gegebenenfalls Block kopieren
            on({id: speak, change: "any"}, function (obj) {
              setState('sayit.1.tts.text', obj.state.val);
            });if (callerName == '' && caller == '') {
              setStateDelayed(speak, 'Ein Anruf von Unbekannt', false, parseInt(0, 10), false);
            } else if (callerName == '') {
              setStateDelayed(speak, ('Ein Anruf von ' + String(caller)), false, parseInt(0, 10), false);
            } else if (callerName != '') {
              setStateDelayed(speak, ('Ein Anruf von ' + String(callerName)), false, parseInt(0, 10), false);
            }
            Intervall = setInterval(async function () {
              On_call_states = getState("tr-064.0.callmonitor.toPauseState").val;
              if (On_call_states == 'end' || On_call_states == 'connect') {
                (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
              } else if (callerName == '' && caller == '') {
                setStateDelayed(speak, 'Ein Anruf von Unbekannt', false, parseInt(0, 10), false);
              } else if (callerName == '') {
                setStateDelayed(speak, ('Ein Anruf von ' + String(caller)), false, parseInt(0, 10), false);
              } else if (callerName != '') {
                setStateDelayed(speak, ('Ein Anruf von ' + String(callerName)), false, parseInt(0, 10), false);
              }
            }, 8000);
          }, 2000);
        }
      }, 1000);
    });
    

    wie schaffe ich es nun das dieses Script NUR zwischen 6 Uhr morgends bis 22 Uhr aktiv ist, so das Nachst ruhe ist :-) Ich weis mal wieder nicht wo ich und welches Timer element einbauen muss.

    Könnt ihr mir da bitte weiter helfen. Danke !

    paul53P 1 Antwort Letzte Antwort
    0
    • G GTV

      Hallo ! Ich steige mal wieder nicht durch Blocky durch. Ich habe folgendens Script was mir die Anrufer von meiner Fritzbox auf meinen Sons´s ausgibt.

      var timeout, timeout2, On_call_states, callerName, caller, speak, Intervall;
      
      
      on({id: "tr-064.0.callmonitor.ringing"/*ringing*/, val: true}, async function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
        timeout = setTimeout(async function () {
          if (getState("tr-064.0.callmonitor.toPauseState").val == 'ring') {
            timeout2 = setTimeout(async function () {
              On_call_states = getState("tr-064.0.callmonitor.toPauseState").val;
              callerName = getState("tr-064.0.callmonitor.inbound.callerName").val;
              caller = getState("tr-064.0.callmonitor.inbound.caller").val;
              speak = 'sayit.0.tts.text';
              // Rechter Mausklick aktivieren
              // Falls andere Echos sprechen sollen.
              // Rechts Verknüpfen
              // Gegebenenfalls Block kopieren
              on({id: speak, change: "any"}, function (obj) {
                setState('sayit.1.tts.text', obj.state.val);
              });if (callerName == '' && caller == '') {
                setStateDelayed(speak, 'Ein Anruf von Unbekannt', false, parseInt(0, 10), false);
              } else if (callerName == '') {
                setStateDelayed(speak, ('Ein Anruf von ' + String(caller)), false, parseInt(0, 10), false);
              } else if (callerName != '') {
                setStateDelayed(speak, ('Ein Anruf von ' + String(callerName)), false, parseInt(0, 10), false);
              }
              Intervall = setInterval(async function () {
                On_call_states = getState("tr-064.0.callmonitor.toPauseState").val;
                if (On_call_states == 'end' || On_call_states == 'connect') {
                  (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                } else if (callerName == '' && caller == '') {
                  setStateDelayed(speak, 'Ein Anruf von Unbekannt', false, parseInt(0, 10), false);
                } else if (callerName == '') {
                  setStateDelayed(speak, ('Ein Anruf von ' + String(caller)), false, parseInt(0, 10), false);
                } else if (callerName != '') {
                  setStateDelayed(speak, ('Ein Anruf von ' + String(callerName)), false, parseInt(0, 10), false);
                }
              }, 8000);
            }, 2000);
          }
        }, 1000);
      });
      

      wie schaffe ich es nun das dieses Script NUR zwischen 6 Uhr morgends bis 22 Uhr aktiv ist, so das Nachst ruhe ist :-) Ich weis mal wieder nicht wo ich und welches Timer element einbauen muss.

      Könnt ihr mir da bitte weiter helfen. Danke !

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #2

      @GTV sagte:

      NUR zwischen 6 Uhr morgends bis 22 Uhr aktiv ist

      Blockly_temp.JPG

      Keine Trigger innerhalb von Triggern verwenden !!

      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

      G 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @GTV sagte:

        NUR zwischen 6 Uhr morgends bis 22 Uhr aktiv ist

        Blockly_temp.JPG

        Keine Trigger innerhalb von Triggern verwenden !!

        G Offline
        G Offline
        GTV
        schrieb am zuletzt editiert von
        #3

        @paul53 Danke, das werde ich so einbauen. Aber bei Blocky wede ich die Logic dahinter glaube ich nie verstehen :-(

        HomoranH AsgothianA 2 Antworten Letzte Antwort
        0
        • G GTV

          @paul53 Danke, das werde ich so einbauen. Aber bei Blocky wede ich die Logic dahinter glaube ich nie verstehen :-(

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #4

          @GTV sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

          Aber bei Blocky wede ich die Logic dahinter glaube ich nie verstehen

          wo hakt es denn?

          kein Support per PN! - Fragen im Forum stellen -

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          ioBroker freut sich über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          G 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @GTV sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

            Aber bei Blocky wede ich die Logic dahinter glaube ich nie verstehen

            wo hakt es denn?

            G Offline
            G Offline
            GTV
            schrieb am zuletzt editiert von
            #5

            @Homoran an meinem Biblischen Alter :) LOL ich komme noch aus BASIC Zeiten und VBS ist so das letzte was in meinem Kopf rein ging. Aber bei Javascript ist mein Kopf nicht mehr in der Lage das umzusetzen ;-) Dann noch umdenken in Blocky .... wenn ich den fertigen Code sehe ist es logisch zumindest meistens.

            Aber jetzt habe ich das mit 6 Uhr morgends mal wieder nicht zu ende gedacht. Denn wer will schon Sonntag morgen um 6 Uhr aus den lautsprechern hören das man angerufen wird. Jetzt suche ich schon wieder mir einen Wolf wie ich das Tagesabhängig hin bekomme...

            HomoranH paul53P 2 Antworten Letzte Antwort
            0
            • G GTV

              @Homoran an meinem Biblischen Alter :) LOL ich komme noch aus BASIC Zeiten und VBS ist so das letzte was in meinem Kopf rein ging. Aber bei Javascript ist mein Kopf nicht mehr in der Lage das umzusetzen ;-) Dann noch umdenken in Blocky .... wenn ich den fertigen Code sehe ist es logisch zumindest meistens.

              Aber jetzt habe ich das mit 6 Uhr morgends mal wieder nicht zu ende gedacht. Denn wer will schon Sonntag morgen um 6 Uhr aus den lautsprechern hören das man angerufen wird. Jetzt suche ich schon wieder mir einen Wolf wie ich das Tagesabhängig hin bekomme...

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #6

              @GTV sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

              an meinem Biblischen Alter

              wer hat das hier nicht ;-)

              @GTV sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

              ich komme noch aus BASIC Zeiten und VBS ist so das letzte was in meinem Kopf rein ging.

              VBS habe ich nie probiert

              @GTV sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

              Aber bei Javascript ist mein Kopf nicht mehr in der Lage das umzusetzen Dann noch umdenken in Blocky

              Mir ging es ähnlich, aber anders herum.
              Ich kann auch kein js, aber mit Blockly komme ich wenigstens dahin nicht exakt die Syntax können zu müssen.
              Dann sehe ich mir den Code in js an und hoffe, dass irgendwann etwas hängenbleibt.

              @GTV sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

              Aber jetzt habe ich das mit 6 Uhr morgends mal wieder nicht zu ende gedacht. Denn wer will schon Sonntag morgen um 6 Uhr aus den lautsprechern hören das man angerufen wird. Jetzt suche ich schon wieder mir einen Wolf wie ich das Tagesabhängig hin bekomme...

              Das hat aber IMHO nichts mit js oder Blockly zu tun, sondern einfach mit Logik.
              Als BASICler solltest du das hinbekommen - und wirst es auch!

              Wichtig ist, dass im Gegensatz zu deinem Threadtitel, javaScripts IMMER laufen und auf einen Trigger warten, danach wird dann der Code abgearbeitet und erst zum Schluss kommt es zu einer Aktion, oder nicht.

              Also musst du analog zu @paul53 s FALLS weitere FALLS (If - Then - Eles kennst du auch), notfalls verschachtelt einbauen.

              Versuch es mal

              kein Support per PN! - Fragen im Forum stellen -

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              ioBroker freut sich über eine Spende für das Forum. Benutzt dazu den Spendenbutton im Header. Danke!

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              1 Antwort Letzte Antwort
              0
              • G GTV

                @Homoran an meinem Biblischen Alter :) LOL ich komme noch aus BASIC Zeiten und VBS ist so das letzte was in meinem Kopf rein ging. Aber bei Javascript ist mein Kopf nicht mehr in der Lage das umzusetzen ;-) Dann noch umdenken in Blocky .... wenn ich den fertigen Code sehe ist es logisch zumindest meistens.

                Aber jetzt habe ich das mit 6 Uhr morgends mal wieder nicht zu ende gedacht. Denn wer will schon Sonntag morgen um 6 Uhr aus den lautsprechern hören das man angerufen wird. Jetzt suche ich schon wieder mir einen Wolf wie ich das Tagesabhängig hin bekomme...

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #7

                @GTV sagte:

                ich komme noch aus BASIC Zeiten

                ... und ich aus Assembler Zeiten (Z80).

                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

                G F liv-in-skyL 3 Antworten Letzte Antwort
                0
                • paul53P paul53

                  @GTV sagte:

                  ich komme noch aus BASIC Zeiten

                  ... und ich aus Assembler Zeiten (Z80).

                  G Offline
                  G Offline
                  GTV
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 :grin: die ein zwei Jahre machen den Kohl auch nicht fett :grin: :grin: :grin: Mein erster Rechner war ein C16 für nen C64 hat es Geldlich nicht gereicht damals :slightly_smiling_face: :slightly_smiling_face:

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @GTV sagte:

                    ich komme noch aus BASIC Zeiten

                    ... und ich aus Assembler Zeiten (Z80).

                    F Offline
                    F Offline
                    fastfoot
                    schrieb am zuletzt editiert von
                    #9

                    @paul53 sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

                    @GTV sagte:

                    ich komme noch aus BASIC Zeiten

                    ... und ich aus Assembler Zeiten (Z80).

                    Meine allerersten Programmierversuche waren in Maschinensprache, 6502 Selbstbauprojekt in der Erstausgabe der c't :-)

                    iobroker läuft unter Docker auf QNAP TS-451+
                    SkriptRecovery: https://forum.iobroker.net/post/930558

                    1 Antwort Letzte Antwort
                    0
                    • G GTV

                      @paul53 Danke, das werde ich so einbauen. Aber bei Blocky wede ich die Logic dahinter glaube ich nie verstehen :-(

                      AsgothianA Offline
                      AsgothianA Offline
                      Asgothian
                      Developer
                      schrieb am zuletzt editiert von
                      #10

                      @GTV Das mit dem Trigger im Trigger hat nichts mit Blockly zu tun. Es geht um die Logik.

                      Die Funktion "on" trägt eine Subscription auf einen Event in eine Liste ein, die abgearbeitet wird. Deswegen macht es keinen Sinn diesen Befehl abhängig von einem Trigger oder einer Uhrzeit zu setzen. Die Subskription ist aktiv unabhängig davon unter welcher Bedingung sie eingetragen wurde. Und mir ist kein Weg bekannt einen Event zu "unsubscribend"

                      Deswegen ist es Immer besser die Subskription allgemeingültig zu halten und innerhalb der Subscription die Bedingungen abzufragen unter denen eine Aktion stattfinden soll. z.Bsp das Abprüfen einer Uhrzeit.

                      A.

                      ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                      "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • AsgothianA Asgothian

                        @GTV Das mit dem Trigger im Trigger hat nichts mit Blockly zu tun. Es geht um die Logik.

                        Die Funktion "on" trägt eine Subscription auf einen Event in eine Liste ein, die abgearbeitet wird. Deswegen macht es keinen Sinn diesen Befehl abhängig von einem Trigger oder einer Uhrzeit zu setzen. Die Subskription ist aktiv unabhängig davon unter welcher Bedingung sie eingetragen wurde. Und mir ist kein Weg bekannt einen Event zu "unsubscribend"

                        Deswegen ist es Immer besser die Subskription allgemeingültig zu halten und innerhalb der Subscription die Bedingungen abzufragen unter denen eine Aktion stattfinden soll. z.Bsp das Abprüfen einer Uhrzeit.

                        A.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @Asgothian sagte:

                        mir ist kein Weg bekannt einen Event zu "unsubscribend"

                        Das trifft für Blockly zu - nicht für Javascript.

                        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

                        AsgothianA 1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          @GTV sagte:

                          ich komme noch aus BASIC Zeiten

                          ... und ich aus Assembler Zeiten (Z80).

                          liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #12

                          @paul53 sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

                          @GTV sagte:

                          ich komme noch aus BASIC Zeiten

                          ... und ich aus Assembler Zeiten (Z80).

                          assemblern musst ich auch mal :-)

                          betriebssystem für einen damals neuen motorola microcontroller umschreiben - hat nicht funktioniert, weil sich rausstellte, dass die hergestellten controller einen hardware-bug hatten und einige befehle nicht funktionierten - da konnte ich lange nach einem fehler in der software suchen - bin damals fast durchgedreht

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @Asgothian sagte:

                            mir ist kein Weg bekannt einen Event zu "unsubscribend"

                            Das trifft für Blockly zu - nicht für Javascript.

                            AsgothianA Offline
                            AsgothianA Offline
                            Asgothian
                            Developer
                            schrieb am zuletzt editiert von
                            #13

                            @paul53 sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

                            Das trifft für Blockly zu - nicht für Javascript.

                            Nein, das trifft auch für Javascript zu.

                            Ich schrieb das mir kein weg bekannt ist. Wenn ich deinen Kommentar richtig lese dann gibt es einen Weg. Ich kenne den halt nicht :)

                            A.

                            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @paul53 sagte in Script nur aktiv von 6 Uhr bis 22 Uhr:

                              Das trifft für Blockly zu - nicht für Javascript.

                              Nein, das trifft auch für Javascript zu.

                              Ich schrieb das mir kein weg bekannt ist. Wenn ich deinen Kommentar richtig lese dann gibt es einen Weg. Ich kenne den halt nicht :)

                              A.

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #14

                              @Asgothian sagte:

                              dann gibt es einen Weg.

                              Javascript-Adapter Funktions-Doku

                              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

                              599

                              Online

                              32.7k

                              Benutzer

                              82.5k

                              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