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. Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
40 Beiträge 5 Kommentatoren 2.9k Aufrufe 3 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.
  • paul53P paul53

    @haus-automatisierung sagte: logischer als das aktuelle Verhalten?

    Durch die Änderung funktionieren einige ältere Blocklys nicht mehr!
    Wäre es von Anfang an so gewesen, hätte man sich danach gerichtet.

    haus-automatisierungH Online
    haus-automatisierungH Online
    haus-automatisierung
    Developer Most Active
    schrieb am zuletzt editiert von
    #30

    @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

    Durch die Änderung funktionieren einige ältere Blocklys nicht mehr!

    • Es wurde in einem Major-Update geändert (ab 7.x)
    • Das Feature um auf eine Timeout-Variable zu prüfen, gab es vorher nicht offiziell und ist z.B. in der Blockly-Dokumentation gar nicht zu finden: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md
    • Wenn es jetzt zurückgeändert wird, wäre es für viele auch ein Breaking-Change, welche den neu erstellten Block für die Prüfung verwenden

    Ich werde hier also nichts anfassen. Man könnte darüber sprechen, dass es keine angepassten Release-Notes für 7.x mit einem Hinweis gab. Im Changelog steht ja, dass die Timeouts zurückgesetzt werden.

    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
    📚 Meine inoffizielle ioBroker Dokumentation

    paul53P 2 Antworten Letzte Antwort
    0
    • haus-automatisierungH haus-automatisierung

      @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

      Durch die Änderung funktionieren einige ältere Blocklys nicht mehr!

      • Es wurde in einem Major-Update geändert (ab 7.x)
      • Das Feature um auf eine Timeout-Variable zu prüfen, gab es vorher nicht offiziell und ist z.B. in der Blockly-Dokumentation gar nicht zu finden: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md
      • Wenn es jetzt zurückgeändert wird, wäre es für viele auch ein Breaking-Change, welche den neu erstellten Block für die Prüfung verwenden

      Ich werde hier also nichts anfassen. Man könnte darüber sprechen, dass es keine angepassten Release-Notes für 7.x mit einem Hinweis gab. Im Changelog steht ja, dass die Timeouts zurückgesetzt werden.

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

      @haus-automatisierung sagte: Breaking-Change, welche den neu erstellten Block für die Prüfung verwenden

      Den betrifft es nicht, sondern nur "Ausführen timeout". Ich würde eher noch um einen (grünen) Block "setze timeout auf null" ergänzen.

      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

      haus-automatisierungH 1 Antwort Letzte Antwort
      1
      • paul53P paul53

        @haus-automatisierung sagte: Breaking-Change, welche den neu erstellten Block für die Prüfung verwenden

        Den betrifft es nicht, sondern nur "Ausführen timeout". Ich würde eher noch um einen (grünen) Block "setze timeout auf null" ergänzen.

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #32

        @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

        Den betrifft es nicht, sondern nur "Ausführen timeout".

        Natürlich betrifft es den. Wird der Timeout nicht zurückgesetzt, ist das eine ganz andere Logik als jetzt:

        Aktuell heißt es, dass kein Timeout läuft. Entferne ich das zurücksetzen auf null, heißt das "es wurde irgendwann mal ein Timeout mit dem Namen gestartet, aber keine Ahnung ob da noch was läuft oder nicht".

        falls nicht <timeout>
           starteTimeout...
        

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        paul53P 2 Antworten Letzte Antwort
        0
        • haus-automatisierungH haus-automatisierung

          @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

          Den betrifft es nicht, sondern nur "Ausführen timeout".

          Natürlich betrifft es den. Wird der Timeout nicht zurückgesetzt, ist das eine ganz andere Logik als jetzt:

          Aktuell heißt es, dass kein Timeout läuft. Entferne ich das zurücksetzen auf null, heißt das "es wurde irgendwann mal ein Timeout mit dem Namen gestartet, aber keine Ahnung ob da noch was läuft oder nicht".

          falls nicht <timeout>
             starteTimeout...
          
          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #33

          @haus-automatisierung sagte: Entferne ich das zurücksetzen auf null, heißt das "es wurde irgendwann mal ein Timeout mit dem Namen gestartet, aber keine Ahnung ob da noch was läuft oder nicht".

          Richtig. So wie in Javascript, wo man selbst für das Rücksetzen auf null sorgen muss.

          falls nicht <timeout> // timeout wurde noch nicht auf null zurück gesetzt
             starteTimeout...
          

          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
          • haus-automatisierungH haus-automatisierung

            @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

            Sie blockiert aber den Neustart des Timers, solange die Leistung unterhalb des Grenzwertes schwankt.

            Dann muss man das in diesem Fall mit einer weiteren Variable sperren. Also z.B. waschvorgangAktiv = true wenn einmal die Leistung über 3 Watt war. Und das dann in dem "sonst falls` mit aufnehmen.

            EDIT: Gibts ja schon (Waschmaschine aktiv). Einfach mit UND in den sonst falls aufnehmen

            falls nicht <timeout> UND Waschmaschine aktiv

            I Offline
            I Offline
            invidianer
            schrieb am zuletzt editiert von
            #34

            @haus-automatisierung sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:
            …

            EDIT: Gibts ja schon (Waschmaschine aktiv). Einfach mit UND in den sonst falls aufnehmen

            falls nicht <timeout> UND Waschmaschine aktiv

            Hmm, dann ist es also im Endeffekt (technisch) egal, ob ich „setze timeout_fertig auf wahr" ergänze, wie zuerst vorgeschlagen, oder die Methode hier verwende? Also nur „stilistisch“ anders?

            paul53P 1 Antwort Letzte Antwort
            0
            • haus-automatisierungH haus-automatisierung

              @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

              Durch die Änderung funktionieren einige ältere Blocklys nicht mehr!

              • Es wurde in einem Major-Update geändert (ab 7.x)
              • Das Feature um auf eine Timeout-Variable zu prüfen, gab es vorher nicht offiziell und ist z.B. in der Blockly-Dokumentation gar nicht zu finden: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md
              • Wenn es jetzt zurückgeändert wird, wäre es für viele auch ein Breaking-Change, welche den neu erstellten Block für die Prüfung verwenden

              Ich werde hier also nichts anfassen. Man könnte darüber sprechen, dass es keine angepassten Release-Notes für 7.x mit einem Hinweis gab. Im Changelog steht ja, dass die Timeouts zurückgesetzt werden.

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

              @haus-automatisierung sagte: Im Changelog steht ja, dass die Timeouts zurückgesetzt werden.

              In Version 7.05, aber nicht als Breaking-Change. Einige Blockly-Skripte, die vorher erstellt wurden, funktionieren nicht mehr!!

              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

              haus-automatisierungH 1 Antwort Letzte Antwort
              0
              • haus-automatisierungH haus-automatisierung

                @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                Den betrifft es nicht, sondern nur "Ausführen timeout".

                Natürlich betrifft es den. Wird der Timeout nicht zurückgesetzt, ist das eine ganz andere Logik als jetzt:

                Aktuell heißt es, dass kein Timeout läuft. Entferne ich das zurücksetzen auf null, heißt das "es wurde irgendwann mal ein Timeout mit dem Namen gestartet, aber keine Ahnung ob da noch was läuft oder nicht".

                falls nicht <timeout>
                   starteTimeout...
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #36

                @haus-automatisierung sagte: Aktuell heißt es, dass kein Timeout läuft.

                Das macht beim Entprellen Sinn und war schon immer möglich.

                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 paul53

                  @haus-automatisierung sagte: Im Changelog steht ja, dass die Timeouts zurückgesetzt werden.

                  In Version 7.05, aber nicht als Breaking-Change. Einige Blockly-Skripte, die vorher erstellt wurden, funktionieren nicht mehr!!

                  haus-automatisierungH Online
                  haus-automatisierungH Online
                  haus-automatisierung
                  Developer Most Active
                  schrieb am zuletzt editiert von
                  #37

                  @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                  Einige Blockly-Skripte, die vorher erstellt wurden, funktionieren nicht mehr!!

                  Ja, das ist richtig. Aber wenn es jetzt zurück geändert wird, funktionieren auch ggf. einige nicht mehr. Wie gesagt, aus meiner Sicht wurde

                  • damit ein Bug gefixt und
                  • das Verständnis für Timeouts vereinfacht (weil es ja keine "setze Timeout auf null" Block gibt)

                  Die Änderung wurde damals in einem PR durch Bluefox freigegeben.

                  Aktuell ist ein Großteil der Nutzer schon auf einer Version >= 7.0.5 (2023-06-06). Das heißt, die meisten Nutzer haben schon die neue Logik.

                  Screenshot 2023-11-29 at 21.57.44.png

                  Wenn man das nun zurückschraubt, müsste man konsequenterweise ja

                  1. wieder einen Major-Release mit Breaking Change erstellen,
                  2. die Dokumentation anpassen,
                  3. neue Blöcke erstellen für "setze <timeout> zurück" und
                  4. das alles erklären.

                  Nur um dann eine kompliziertere Logik mit mehr Erklärungsbedarf zu haben als jetzt. Sorry, aber da bin ich raus.

                  🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                  🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                  📚 Meine inoffizielle ioBroker Dokumentation

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • haus-automatisierungH haus-automatisierung

                    @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                    Einige Blockly-Skripte, die vorher erstellt wurden, funktionieren nicht mehr!!

                    Ja, das ist richtig. Aber wenn es jetzt zurück geändert wird, funktionieren auch ggf. einige nicht mehr. Wie gesagt, aus meiner Sicht wurde

                    • damit ein Bug gefixt und
                    • das Verständnis für Timeouts vereinfacht (weil es ja keine "setze Timeout auf null" Block gibt)

                    Die Änderung wurde damals in einem PR durch Bluefox freigegeben.

                    Aktuell ist ein Großteil der Nutzer schon auf einer Version >= 7.0.5 (2023-06-06). Das heißt, die meisten Nutzer haben schon die neue Logik.

                    Screenshot 2023-11-29 at 21.57.44.png

                    Wenn man das nun zurückschraubt, müsste man konsequenterweise ja

                    1. wieder einen Major-Release mit Breaking Change erstellen,
                    2. die Dokumentation anpassen,
                    3. neue Blöcke erstellen für "setze <timeout> zurück" und
                    4. das alles erklären.

                    Nur um dann eine kompliziertere Logik mit mehr Erklärungsbedarf zu haben als jetzt. Sorry, aber da bin ich raus.

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

                    @haus-automatisierung sagte: das Verständnis für Timeouts vereinfacht

                    Es entspricht aber nicht mehr dem Verhalten von Javascript, die Timer-Variablen betreffend.

                    @haus-automatisierung sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                    neue Blöcke erstellen für "setze <timeout> zurück"

                    Das halte ich für die bessere Lösung. Es funktionierte ja schon mit dem normalen Variablen-Block - wenn auch etwas trickreich (dummy-Variable, Javascript-Ansicht).

                    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

                    haus-automatisierungH 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @haus-automatisierung sagte: das Verständnis für Timeouts vereinfacht

                      Es entspricht aber nicht mehr dem Verhalten von Javascript, die Timer-Variablen betreffend.

                      @haus-automatisierung sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                      neue Blöcke erstellen für "setze <timeout> zurück"

                      Das halte ich für die bessere Lösung. Es funktionierte ja schon mit dem normalen Variablen-Block - wenn auch etwas trickreich (dummy-Variable, Javascript-Ansicht).

                      haus-automatisierungH Online
                      haus-automatisierungH Online
                      haus-automatisierung
                      Developer Most Active
                      schrieb am zuletzt editiert von haus-automatisierung
                      #39

                      @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                      Das halte ich für die bessere Lösung.

                      Dann halte ich Dich nicht auf das umzusetzen :)
                      Ich werde mir die ganze Arbeit nicht (für ein aus meiner Sicht schlechteres Ergebnis) machen. Aber dafür ist es ja Open Source.

                      @paul53 sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:

                      Es funktionierte ja schon mit dem normalen Variablen-Block

                      Ja, das ist doch aber komplett unschön und sollte am besten gar nicht so sein. Ich wäre sogar dafür, einen Prefix (wie t___ vor die Timeout-Variablen zu generieren, damit diese nicht mit den manuell angelegten kollidieren. Aber das hätte man schon viel früher machen müssen, damit man gar nicht in die aktuelle Situation reinläuft... Jetzt wäre das wirklich zu extrem, da das leider recht viele nutzen und hier ja öfter verbreitet wurde, statt einfach Blockly-Bausteine dafür zu entwickeln...

                      🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                      🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                      📚 Meine inoffizielle ioBroker Dokumentation

                      1 Antwort Letzte Antwort
                      0
                      • I invidianer

                        @haus-automatisierung sagte in Fälschlicherweise mehrfache Ausgabe einer Meldung verhindern:
                        …

                        EDIT: Gibts ja schon (Waschmaschine aktiv). Einfach mit UND in den sonst falls aufnehmen

                        falls nicht <timeout> UND Waschmaschine aktiv

                        Hmm, dann ist es also im Endeffekt (technisch) egal, ob ich „setze timeout_fertig auf wahr" ergänze, wie zuerst vorgeschlagen, oder die Methode hier verwende? Also nur „stilistisch“ anders?

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

                        @invidianer sagte: die Methode hier verwende?

                        Weitere Alternative:

                        Blockly_temp.JPG

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


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        556

                        Online

                        32.6k

                        Benutzer

                        82.3k

                        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