Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Blockly wird unregelmäßig ausgeführt, kein Debug!

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    481

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    396

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

Blockly wird unregelmäßig ausgeführt, kein Debug!

Geplant Angeheftet Gesperrt Verschoben Blockly
17 Beiträge 7 Kommentatoren 1.1k Aufrufe 5 Beobachtet
  • Ä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.
  • B Offline
    B Offline
    benziman
    schrieb am zuletzt editiert von benziman
    #1

    Hallo zusammen,

    ich möchte hier ein Thema aufnehmen und um eure Hilfe bitten.
    ich habe seit längerem Probleme mit zwei meiner Blocklyscripte, da beide nicht konstant zuverlässig ausgeführt werden. Soll heißen, das mein Script trotz Cronschedule manchmal nicht ausgeführt wird und trotz Javascript Adapter im Debug keinerlei Meldungen zum geplanten Zeitpunkt angezeigt werden!

    Ich hatte bereits einen Thread bei github aufgemacht, ist laut @apollon77 aber eher kein Adapterproblem.
    Habe das Script hier aus dem Forum, wenn jemand einen Tipp hat um das Script zu vereinfachen um dadurch ggf Fehler zu vermeiden wäre ich sehr dankbar da ich noch ziemlich unerfahren darin bin.

    Verhalten:
    Script 1 soll alle Rollos bis auf Terrasse 6 Uhr zu 50% öffnen und 6:30 dann zu 100%, der erste Schritt wird immer ausgeführt, der zweite allerdings nicht. Keinerlei Output im Debuglog! Gerade habe ich den Teil von 6:30 nochmal auf 6:40 geändert und da werden die Rollos korrekt zu 100% geöffnet!
    1bbc8d25-a614-4b7c-9a3e-d388907c4137-grafik.png

    JS


    `var prozent, Intervall4;

    schedule("30 22 * * *", async function () {
    if (getState("lupusec.0.devices.RF:055b9110.status_ex").val == false) {
    setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 2);
    prozent = 92;
    Intervall4 = setInterval(async function () {
    prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
    if (prozent <= 1) {
    (function () {if (Intervall4) {clearInterval(Intervall4); Intervall4 = null;}})();
    setState("tuya.0.bf9bafec286e1c9621xe1a.101"/switch_stop/, true);
    }
    }, 270);
    }
    });

    Script 2 soll Terrassenrollo Abends 22:30 herunterfahren, das klappt leider nur 2 von 10 mal, bisher konnte ich den Fehler nicht finden warum es oft nicht funktioniert. Wenn das Rollo 22:30 nicht geschaltet wird und ich das Script dann am selbern Abend zB 22:40 nochmal neu plane wird es heruntergefahren. Wenn das Script 22:30 nicht herunter gefahren wird erscheinen keinerlei Fehler, Warnungen oder Meldungen im DebugLog!
    08115266-e178-4ae4-9d24-aa699bacebe7-grafik.png

    JS


    var prozent, Intervall, Intervall2, Intervall3;

    schedule("0 6 * * *", async function () {
    // Rollos hoch
    if (getState("lupusec.0.status.mode_pc_a1").val == 0 && getState("javascript.0.scriptEnabled.User_created.Button_2").val == true) {
    setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 0);
    setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 0);
    setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 0);
    setState("tuya.0.67304186cc50e3726503.1"/status/, 0);
    setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 0);
    setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 0);
    setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 0);
    prozent = 50;
    Intervall = setInterval(async function () {
    prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
    if (prozent <= 0) {
    (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
    // Rollos stop
    setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
    setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
    setState("tuya.0.bf35e6ae8de3acfa370t9x.101"/switch_stop/, true);
    setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
    setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
    setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 1);
    setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
    }
    }, 200);
    }
    });
    // Rollos auf 100% wenn unscharf
    schedule("40 6 * * *", async function () {
    if (getState("lupusec.0.status.mode_pc_a1").val == 0 && getState("javascript.0.scriptEnabled.User_created.Button_2").val == true) {
    setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 0);
    setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 0);
    setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 0);
    setState("tuya.0.67304186cc50e3726503.1"/status/, 0);
    setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 0);
    setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 0);
    setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 0);
    prozent = 100;
    Intervall2 = setInterval(async function () {
    prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
    if (prozent <= 0) {
    (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})();
    // Rollos stop
    setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
    setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
    setState("tuya.0.bf35e6ae8de3acfa370t9x.101"/switch_stop/, true);
    setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
    setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
    setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 1);
    setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
    }
    }, 190);
    }
    });
    // Rollos Abends runter
    schedule({astro: "sunset", shift: 30}, async function () {
    setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 2);
    setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 2);
    setState("tuya.0.67304186cc50e3726503.1"/status/, 1);
    setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 2);
    setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 2);
    setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 2);
    prozent = 85;
    Intervall3 = setInterval(async function () {
    prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
    if (prozent <= 0) {
    (function () {if (Intervall3) {clearInterval(Intervall3); Intervall3 = null;}})();
    // Rollos stop
    setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
    setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
    setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
    setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
    setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
    setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 1);
    }
    }, 190);
    });

    1;

    true;

    Versions:

    Adapter version: Javascript Adapter 5.7.0
    JS-Controller version: 4.0.23
    Node version: 14.19.3
    Operating system: Debian
    

    Iobroker läuft in einer Debian VM auf einem IntelNuc host mit Proxmox

    Danke!

    apollon77A AsgothianA 2 Antworten Letzte Antwort
    0
    • B benziman

      Hallo zusammen,

      ich möchte hier ein Thema aufnehmen und um eure Hilfe bitten.
      ich habe seit längerem Probleme mit zwei meiner Blocklyscripte, da beide nicht konstant zuverlässig ausgeführt werden. Soll heißen, das mein Script trotz Cronschedule manchmal nicht ausgeführt wird und trotz Javascript Adapter im Debug keinerlei Meldungen zum geplanten Zeitpunkt angezeigt werden!

      Ich hatte bereits einen Thread bei github aufgemacht, ist laut @apollon77 aber eher kein Adapterproblem.
      Habe das Script hier aus dem Forum, wenn jemand einen Tipp hat um das Script zu vereinfachen um dadurch ggf Fehler zu vermeiden wäre ich sehr dankbar da ich noch ziemlich unerfahren darin bin.

      Verhalten:
      Script 1 soll alle Rollos bis auf Terrasse 6 Uhr zu 50% öffnen und 6:30 dann zu 100%, der erste Schritt wird immer ausgeführt, der zweite allerdings nicht. Keinerlei Output im Debuglog! Gerade habe ich den Teil von 6:30 nochmal auf 6:40 geändert und da werden die Rollos korrekt zu 100% geöffnet!
      1bbc8d25-a614-4b7c-9a3e-d388907c4137-grafik.png

      JS


      `var prozent, Intervall4;

      schedule("30 22 * * *", async function () {
      if (getState("lupusec.0.devices.RF:055b9110.status_ex").val == false) {
      setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 2);
      prozent = 92;
      Intervall4 = setInterval(async function () {
      prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
      if (prozent <= 1) {
      (function () {if (Intervall4) {clearInterval(Intervall4); Intervall4 = null;}})();
      setState("tuya.0.bf9bafec286e1c9621xe1a.101"/switch_stop/, true);
      }
      }, 270);
      }
      });

      Script 2 soll Terrassenrollo Abends 22:30 herunterfahren, das klappt leider nur 2 von 10 mal, bisher konnte ich den Fehler nicht finden warum es oft nicht funktioniert. Wenn das Rollo 22:30 nicht geschaltet wird und ich das Script dann am selbern Abend zB 22:40 nochmal neu plane wird es heruntergefahren. Wenn das Script 22:30 nicht herunter gefahren wird erscheinen keinerlei Fehler, Warnungen oder Meldungen im DebugLog!
      08115266-e178-4ae4-9d24-aa699bacebe7-grafik.png

      JS


      var prozent, Intervall, Intervall2, Intervall3;

      schedule("0 6 * * *", async function () {
      // Rollos hoch
      if (getState("lupusec.0.status.mode_pc_a1").val == 0 && getState("javascript.0.scriptEnabled.User_created.Button_2").val == true) {
      setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 0);
      setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 0);
      setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 0);
      setState("tuya.0.67304186cc50e3726503.1"/status/, 0);
      setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 0);
      setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 0);
      setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 0);
      prozent = 50;
      Intervall = setInterval(async function () {
      prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
      if (prozent <= 0) {
      (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
      // Rollos stop
      setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
      setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
      setState("tuya.0.bf35e6ae8de3acfa370t9x.101"/switch_stop/, true);
      setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
      setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
      setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 1);
      setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
      }
      }, 200);
      }
      });
      // Rollos auf 100% wenn unscharf
      schedule("40 6 * * *", async function () {
      if (getState("lupusec.0.status.mode_pc_a1").val == 0 && getState("javascript.0.scriptEnabled.User_created.Button_2").val == true) {
      setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 0);
      setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 0);
      setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 0);
      setState("tuya.0.67304186cc50e3726503.1"/status/, 0);
      setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 0);
      setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 0);
      setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 0);
      prozent = 100;
      Intervall2 = setInterval(async function () {
      prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
      if (prozent <= 0) {
      (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})();
      // Rollos stop
      setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
      setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
      setState("tuya.0.bf35e6ae8de3acfa370t9x.101"/switch_stop/, true);
      setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
      setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
      setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 1);
      setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
      }
      }, 190);
      }
      });
      // Rollos Abends runter
      schedule({astro: "sunset", shift: 30}, async function () {
      setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 2);
      setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 2);
      setState("tuya.0.67304186cc50e3726503.1"/status/, 1);
      setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 2);
      setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 2);
      setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 2);
      prozent = 85;
      Intervall3 = setInterval(async function () {
      prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
      if (prozent <= 0) {
      (function () {if (Intervall3) {clearInterval(Intervall3); Intervall3 = null;}})();
      // Rollos stop
      setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
      setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
      setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
      setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
      setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
      setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 1);
      }
      }, 190);
      });

      1;

      true;

      Versions:

      Adapter version: Javascript Adapter 5.7.0
      JS-Controller version: 4.0.23
      Node version: 14.19.3
      Operating system: Debian
      

      Iobroker läuft in einer Debian VM auf einem IntelNuc host mit Proxmox

      Danke!

      apollon77A Offline
      apollon77A Offline
      apollon77
      schrieb am zuletzt editiert von
      #2

      @benziman Also wie bereits auf Github gesagt würde ich die Skripte erstmal vereinfachen in dem dieses Intervall wegkomm. Das macht nix anderes wie sehr kompliziert ein Delay von x*230ms ... Rechnen und einfach das zweite setState mit Verzögerung und dann den Wert angeben.

      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
      1 Antwort Letzte Antwort
      0
      • B Offline
        B Offline
        benziman
        schrieb am zuletzt editiert von benziman
        #3

        @apollon77

        das habe ich jetzt nicht ganz genau verstanden sorry
        du meinst das hier oder? Damit fährt er das Rollo herunter und wie stoppe ich das wieder? oder verseteh ich das mit dem delay falsch?
        de6160cb-3466-48ef-9146-fdc678045450-grafik.png

        so vllt?
        e63ee580-881b-4176-9449-c0c445483f55-grafik.png
        0 fährt Rollo hoch, 1 stoppt Rollo nach 92*230ms (21160ms)

        T paul53P 2 Antworten Letzte Antwort
        0
        • B benziman

          @apollon77

          das habe ich jetzt nicht ganz genau verstanden sorry
          du meinst das hier oder? Damit fährt er das Rollo herunter und wie stoppe ich das wieder? oder verseteh ich das mit dem delay falsch?
          de6160cb-3466-48ef-9146-fdc678045450-grafik.png

          so vllt?
          e63ee580-881b-4176-9449-c0c445483f55-grafik.png
          0 fährt Rollo hoch, 1 stoppt Rollo nach 92*230ms (21160ms)

          T Offline
          T Offline
          TT-Tom
          schrieb am zuletzt editiert von
          #4

          @benziman

          nur mal so gefragt, steht um 06:00 bzw um 22:30 kein Start des Script im Log?

          Gruß Tom
          https://github.com/tt-tom17
          Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

          NSPanel Script Wiki
          https://github.com/joBr99/nspanel-lovelace-ui/wiki

          NSPanel Adapter Wiki
          https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

          B 1 Antwort Letzte Antwort
          0
          • B benziman

            @apollon77

            das habe ich jetzt nicht ganz genau verstanden sorry
            du meinst das hier oder? Damit fährt er das Rollo herunter und wie stoppe ich das wieder? oder verseteh ich das mit dem delay falsch?
            de6160cb-3466-48ef-9146-fdc678045450-grafik.png

            so vllt?
            e63ee580-881b-4176-9449-c0c445483f55-grafik.png
            0 fährt Rollo hoch, 1 stoppt Rollo nach 92*230ms (21160ms)

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

            @benziman sagte: so vllt?

            Ja, wenn es bei 50 % (= 10 s?) gestoppt werden soll. Wenn es auf 100 % gefahren werden soll, ist normalerweise kein Stoppen nötig.
            Liefern die Rollos keine Position in einem Datenpunkt?

            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

            B 2 Antworten Letzte Antwort
            0
            • paul53P paul53

              @benziman sagte: so vllt?

              Ja, wenn es bei 50 % (= 10 s?) gestoppt werden soll. Wenn es auf 100 % gefahren werden soll, ist normalerweise kein Stoppen nötig.
              Liefern die Rollos keine Position in einem Datenpunkt?

              B Offline
              B Offline
              benziman
              schrieb am zuletzt editiert von
              #6

              @paul53

              nein leider nicht, ich kann nur die Zeit definieren wann die Taster wieder stoppen, einen DP für den aktuellen Prozentstand haben die nicht.

              1 Antwort Letzte Antwort
              0
              • T TT-Tom

                @benziman

                nur mal so gefragt, steht um 06:00 bzw um 22:30 kein Start des Script im Log?

                B Offline
                B Offline
                benziman
                schrieb am zuletzt editiert von
                #7

                @tt-tom

                nur das was oben zu sehen ist, komisch ist halt, das es ja manchmal funktioniert. Wenn er das Rollo mal nicht schaltet und ich dann die Zeit auf aktuelle Zeit + 5min ändere startet das Script ja.

                T 1 Antwort Letzte Antwort
                0
                • B benziman

                  @tt-tom

                  nur das was oben zu sehen ist, komisch ist halt, das es ja manchmal funktioniert. Wenn er das Rollo mal nicht schaltet und ich dann die Zeit auf aktuelle Zeit + 5min ändere startet das Script ja.

                  T Offline
                  T Offline
                  TT-Tom
                  schrieb am zuletzt editiert von TT-Tom
                  #8

                  @benziman

                  wenn ich dich richtig verstehe, startet das Script erst garnicht oder startet es und es wird nur nicht geschaltet?

                  ich vermute mal das die Tuya nicht schnell genug reagiert und du schon wieder alles Stoppst.

                  Bau mal debug Meldungen dazwischen um zu sehen was passiert.

                  Gruß Tom
                  https://github.com/tt-tom17
                  Wenn meine Hilfe erfolgreich war, benutze bitte das Voting unten rechts im Beitrag

                  NSPanel Script Wiki
                  https://github.com/joBr99/nspanel-lovelace-ui/wiki

                  NSPanel Adapter Wiki
                  https://github.com/ticaki/ioBroker.nspanel-lovelace-ui/wiki

                  1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @benziman sagte: so vllt?

                    Ja, wenn es bei 50 % (= 10 s?) gestoppt werden soll. Wenn es auf 100 % gefahren werden soll, ist normalerweise kein Stoppen nötig.
                    Liefern die Rollos keine Position in einem Datenpunkt?

                    B Offline
                    B Offline
                    benziman
                    schrieb am zuletzt editiert von
                    #9

                    so, habe jetzt alle meine Scripte umgebaut, erster Test bei einem Rollo hat funktioniert. Ich teste das heute Abend.
                    Danke schonmal für den Input an alle!

                    67e63466-e21e-4945-a16e-21d7a5e2d50a-grafik.png

                    ? BananaJoeB 2 Antworten Letzte Antwort
                    0
                    • B benziman

                      so, habe jetzt alle meine Scripte umgebaut, erster Test bei einem Rollo hat funktioniert. Ich teste das heute Abend.
                      Danke schonmal für den Input an alle!

                      67e63466-e21e-4945-a16e-21d7a5e2d50a-grafik.png

                      ? Offline
                      ? Offline
                      Ein ehemaliger Benutzer
                      schrieb am zuletzt editiert von Ein ehemaliger Benutzer
                      #10

                      @benziman was ist eigentlich Button_2? Ist wohl keine Hardware, bzw wer schaltet Button_2 schon auf wahr.

                      1 Antwort Letzte Antwort
                      0
                      • B benziman

                        so, habe jetzt alle meine Scripte umgebaut, erster Test bei einem Rollo hat funktioniert. Ich teste das heute Abend.
                        Danke schonmal für den Input an alle!

                        67e63466-e21e-4945-a16e-21d7a5e2d50a-grafik.png

                        BananaJoeB Offline
                        BananaJoeB Offline
                        BananaJoe
                        Most Active
                        schrieb am zuletzt editiert von
                        #11

                        @benziman Offtopic:
                        ich empfinde es immer als Problem wenn man wie bei dir im Screenshot die einzelnen Datenpunkte gar nicht mehr unterscheiden kann. Man könnte nun vor jeden Block einen Kommentar packen.
                        Ich nehme gern die andere Variante:

                        c478b808-1fa6-458a-b30a-59855ea887ca-image.png

                        Bei dem Block kann man den Datenpunkt auswählen - dann sieht es genauso aus wie bisher - oder ein Textfeld ankoppeln und den Pfad da rein kopieren.

                        Per Rechtsklick kann man noch zwischen "internen" und "externen" Eingängen umschalten - die Ansicht aus dem Bild ist "extern"

                        ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 10 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV APC 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • BananaJoeB BananaJoe

                          @benziman Offtopic:
                          ich empfinde es immer als Problem wenn man wie bei dir im Screenshot die einzelnen Datenpunkte gar nicht mehr unterscheiden kann. Man könnte nun vor jeden Block einen Kommentar packen.
                          Ich nehme gern die andere Variante:

                          c478b808-1fa6-458a-b30a-59855ea887ca-image.png

                          Bei dem Block kann man den Datenpunkt auswählen - dann sieht es genauso aus wie bisher - oder ein Textfeld ankoppeln und den Pfad da rein kopieren.

                          Per Rechtsklick kann man noch zwischen "internen" und "externen" Eingängen umschalten - die Ansicht aus dem Bild ist "extern"

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

                          @bananajoe sagte: Man könnte nun vor jeden Block einen Kommentar packen.

                          ... oder die Namen der Datenpunkte editieren.

                          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
                          1
                          • B benziman

                            Hallo zusammen,

                            ich möchte hier ein Thema aufnehmen und um eure Hilfe bitten.
                            ich habe seit längerem Probleme mit zwei meiner Blocklyscripte, da beide nicht konstant zuverlässig ausgeführt werden. Soll heißen, das mein Script trotz Cronschedule manchmal nicht ausgeführt wird und trotz Javascript Adapter im Debug keinerlei Meldungen zum geplanten Zeitpunkt angezeigt werden!

                            Ich hatte bereits einen Thread bei github aufgemacht, ist laut @apollon77 aber eher kein Adapterproblem.
                            Habe das Script hier aus dem Forum, wenn jemand einen Tipp hat um das Script zu vereinfachen um dadurch ggf Fehler zu vermeiden wäre ich sehr dankbar da ich noch ziemlich unerfahren darin bin.

                            Verhalten:
                            Script 1 soll alle Rollos bis auf Terrasse 6 Uhr zu 50% öffnen und 6:30 dann zu 100%, der erste Schritt wird immer ausgeführt, der zweite allerdings nicht. Keinerlei Output im Debuglog! Gerade habe ich den Teil von 6:30 nochmal auf 6:40 geändert und da werden die Rollos korrekt zu 100% geöffnet!
                            1bbc8d25-a614-4b7c-9a3e-d388907c4137-grafik.png

                            JS


                            `var prozent, Intervall4;

                            schedule("30 22 * * *", async function () {
                            if (getState("lupusec.0.devices.RF:055b9110.status_ex").val == false) {
                            setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 2);
                            prozent = 92;
                            Intervall4 = setInterval(async function () {
                            prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
                            if (prozent <= 1) {
                            (function () {if (Intervall4) {clearInterval(Intervall4); Intervall4 = null;}})();
                            setState("tuya.0.bf9bafec286e1c9621xe1a.101"/switch_stop/, true);
                            }
                            }, 270);
                            }
                            });

                            Script 2 soll Terrassenrollo Abends 22:30 herunterfahren, das klappt leider nur 2 von 10 mal, bisher konnte ich den Fehler nicht finden warum es oft nicht funktioniert. Wenn das Rollo 22:30 nicht geschaltet wird und ich das Script dann am selbern Abend zB 22:40 nochmal neu plane wird es heruntergefahren. Wenn das Script 22:30 nicht herunter gefahren wird erscheinen keinerlei Fehler, Warnungen oder Meldungen im DebugLog!
                            08115266-e178-4ae4-9d24-aa699bacebe7-grafik.png

                            JS


                            var prozent, Intervall, Intervall2, Intervall3;

                            schedule("0 6 * * *", async function () {
                            // Rollos hoch
                            if (getState("lupusec.0.status.mode_pc_a1").val == 0 && getState("javascript.0.scriptEnabled.User_created.Button_2").val == true) {
                            setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 0);
                            setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 0);
                            setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 0);
                            setState("tuya.0.67304186cc50e3726503.1"/status/, 0);
                            setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 0);
                            setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 0);
                            setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 0);
                            prozent = 50;
                            Intervall = setInterval(async function () {
                            prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
                            if (prozent <= 0) {
                            (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                            // Rollos stop
                            setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
                            setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
                            setState("tuya.0.bf35e6ae8de3acfa370t9x.101"/switch_stop/, true);
                            setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
                            setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
                            setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 1);
                            setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
                            }
                            }, 200);
                            }
                            });
                            // Rollos auf 100% wenn unscharf
                            schedule("40 6 * * *", async function () {
                            if (getState("lupusec.0.status.mode_pc_a1").val == 0 && getState("javascript.0.scriptEnabled.User_created.Button_2").val == true) {
                            setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 0);
                            setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 0);
                            setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 0);
                            setState("tuya.0.67304186cc50e3726503.1"/status/, 0);
                            setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 0);
                            setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 0);
                            setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 0);
                            prozent = 100;
                            Intervall2 = setInterval(async function () {
                            prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
                            if (prozent <= 0) {
                            (function () {if (Intervall2) {clearInterval(Intervall2); Intervall2 = null;}})();
                            // Rollos stop
                            setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
                            setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
                            setState("tuya.0.bf35e6ae8de3acfa370t9x.101"/switch_stop/, true);
                            setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
                            setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
                            setState("tuya.0.bf9bafec286e1c9621xe1a.1"/control/, 1);
                            setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
                            }
                            }, 190);
                            }
                            });
                            // Rollos Abends runter
                            schedule({astro: "sunset", shift: 30}, async function () {
                            setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 2);
                            setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 2);
                            setState("tuya.0.67304186cc50e3726503.1"/status/, 1);
                            setState("tuya.0.bf9481040b8a50341fyjjd.1"/control/, 2);
                            setState("tuya.0.bfc2615e46b03c8c69og9w.1"/control/, 2);
                            setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 2);
                            prozent = 85;
                            Intervall3 = setInterval(async function () {
                            prozent = (typeof prozent == 'number' ? prozent : 0) + -1;
                            if (prozent <= 0) {
                            (function () {if (Intervall3) {clearInterval(Intervall3); Intervall3 = null;}})();
                            // Rollos stop
                            setState("tuya.0.bf0b55acbece98f9328cfu.1"/control/, 1);
                            setState("tuya.0.bf7b15a9d963396a54wsvj.1"/control/, 1);
                            setState("tuya.0.67304186cc50e3726503.1"/status/, 2);
                            setState("tuya.0.bf9481040b8a50341fyjjd.101"/switch_stop/, true);
                            setState("tuya.0.bfc2615e46b03c8c69og9w.101"/switch_stop/, true);
                            setState("tuya.0.bf35e6ae8de3acfa370t9x.1"/control/, 1);
                            }
                            }, 190);
                            });

                            1;

                            true;

                            Versions:

                            Adapter version: Javascript Adapter 5.7.0
                            JS-Controller version: 4.0.23
                            Node version: 14.19.3
                            Operating system: Debian
                            

                            Iobroker läuft in einer Debian VM auf einem IntelNuc host mit Proxmox

                            Danke!

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

                            @benziman dumme frage ? Hast du den haken bei "alle States bei adapterstart abonnieren" im JS adapter gesetzt ? Wenn nein dann hast du ggf. ein race-condition problem, bei dem der im Skript genutzte wert eines Datenpunktes nicht dem entspricht wie er intern gesetzt ist.

                            Das könnte erklären warum z.Bsp. das herunterfahren um 22:30 nur manchmal geht, aber bei einem weiteren Versuch um 22:40 immer.

                            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

                              @benziman dumme frage ? Hast du den haken bei "alle States bei adapterstart abonnieren" im JS adapter gesetzt ? Wenn nein dann hast du ggf. ein race-condition problem, bei dem der im Skript genutzte wert eines Datenpunktes nicht dem entspricht wie er intern gesetzt ist.

                              Das könnte erklären warum z.Bsp. das herunterfahren um 22:30 nur manchmal geht, aber bei einem weiteren Versuch um 22:40 immer.

                              A.

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

                              @asgothian sagte: Hast du den haken bei "alle States bei adapterstart abonnieren" im JS adapter gesetzt ?

                              Ohne den Haken würden Error-Logs bei Verwendung von "Wert vom Objekt ID ..." generiert.

                              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

                              B 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @asgothian sagte: Hast du den haken bei "alle States bei adapterstart abonnieren" im JS adapter gesetzt ?

                                Ohne den Haken würden Error-Logs bei Verwendung von "Wert vom Objekt ID ..." generiert.

                                B Offline
                                B Offline
                                benziman
                                schrieb am zuletzt editiert von
                                #15

                                @paul53

                                habe eine Debugzeile mit in mein Script aufgenommen, warum auch immer wurde mir im Livelog aber wieder nichts angezeigt, im Logfile von heute habe ich den Fehler aber gefunden. Ich hatte wegen häufiger Tuyaprobleme den Adapter alle 30Min neu gestartet per Cron, das erklärt auch warum das Script mal geht und mal nicht... -.-

                                mal schauen ob das die nächsten Tage stabil funktioniert, danke an alle Helfer vor allem auch für die Scriptvereinfachung!

                                apollon77A 1 Antwort Letzte Antwort
                                0
                                • B benziman

                                  @paul53

                                  habe eine Debugzeile mit in mein Script aufgenommen, warum auch immer wurde mir im Livelog aber wieder nichts angezeigt, im Logfile von heute habe ich den Fehler aber gefunden. Ich hatte wegen häufiger Tuyaprobleme den Adapter alle 30Min neu gestartet per Cron, das erklärt auch warum das Script mal geht und mal nicht... -.-

                                  mal schauen ob das die nächsten Tage stabil funktioniert, danke an alle Helfer vor allem auch für die Scriptvereinfachung!

                                  apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #16

                                  @benziman sagte in Blockly wird unregelmäßig ausgeführt, kein Debug!:

                                  Ich hatte wegen häufiger Tuyaprobleme den Adapter alle 30Min neu gestartet per Cron,

                                  Halb off topic hier ... welche Probleme denn? Auchmit den aktuellsten Versionen? Sind nämlich keine Probeme bekannt

                                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  B 1 Antwort Letzte Antwort
                                  0
                                  • apollon77A apollon77

                                    @benziman sagte in Blockly wird unregelmäßig ausgeführt, kein Debug!:

                                    Ich hatte wegen häufiger Tuyaprobleme den Adapter alle 30Min neu gestartet per Cron,

                                    Halb off topic hier ... welche Probleme denn? Auchmit den aktuellsten Versionen? Sind nämlich keine Probeme bekannt

                                    B Offline
                                    B Offline
                                    benziman
                                    schrieb am zuletzt editiert von
                                    #17

                                    @apollon77

                                    hing mit dem Tasterzusammen da ich immer wieder timeouts hatte, habe die Rollotaster jetzt ersetzt und keine Probleme.

                                    1 Antwort Letzte Antwort
                                    0

                                    Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                    Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                    Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                    Registrieren Anmelden
                                    Antworten
                                    • In einem neuen Thema antworten
                                    Anmelden zum Antworten
                                    • Älteste zuerst
                                    • Neuste zuerst
                                    • Meiste Stimmen


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    325

                                    Online

                                    32.8k

                                    Benutzer

                                    82.8k

                                    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