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. Absturz / Deaktivierung von Instanz bei Blockly Programm

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Absturz / Deaktivierung von Instanz bei Blockly Programm

Geplant Angeheftet Gesperrt Verschoben Blockly
9 Beiträge 4 Kommentatoren 631 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.
  • S Offline
    S Offline
    SebastianB
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich bin neu hier und habe versucht mein erstes Blockly Programm zu schreiben, wo ich "überschüssige" Energie (bevor ich diese Einspeise), benutze um mit meiner Klimaanlage zu heizen. Hierfür lese ich über Modus die aktuelle "Leistung", welche in das Netz gespeist wird aus. Liegt diese Leistung oberhalb des Schwellenwertes, soll nach nochmaligem Durchlauf einer Schleife (wird verwendet, um über 10 Minuten einen Mittelwert zu ermitteln), die Klimaanlage gestartet werden. Liegt die Leistung am Übergabepunkt unterhalb eines Wertes und ist die Klimaanlage an, wird diese ausgeschaltet.
    Die übergeordnete Schleife habe ich nur verwendet, damit das Programm dauerhaft durchlaufen wird.
    Generell funktioniert das Programm, nur nach einer bestimmten Zeit, wird die Java Instanz deaktiviert bzw. das Programm wird nicht mehr durchlaufen.
    Könnt Ihr mir bitte helfen??
    Blockly Programm_Klima.jpg

    paul53P FredFF AsgothianA 3 Antworten Letzte Antwort
    0
    • S SebastianB

      Hallo zusammen,

      ich bin neu hier und habe versucht mein erstes Blockly Programm zu schreiben, wo ich "überschüssige" Energie (bevor ich diese Einspeise), benutze um mit meiner Klimaanlage zu heizen. Hierfür lese ich über Modus die aktuelle "Leistung", welche in das Netz gespeist wird aus. Liegt diese Leistung oberhalb des Schwellenwertes, soll nach nochmaligem Durchlauf einer Schleife (wird verwendet, um über 10 Minuten einen Mittelwert zu ermitteln), die Klimaanlage gestartet werden. Liegt die Leistung am Übergabepunkt unterhalb eines Wertes und ist die Klimaanlage an, wird diese ausgeschaltet.
      Die übergeordnete Schleife habe ich nur verwendet, damit das Programm dauerhaft durchlaufen wird.
      Generell funktioniert das Programm, nur nach einer bestimmten Zeit, wird die Java Instanz deaktiviert bzw. das Programm wird nicht mehr durchlaufen.
      Könnt Ihr mir bitte helfen??
      Blockly Programm_Klima.jpg

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

      @sebastianb sagte: wird die Java Instanz deaktiviert

      So erzeugt man eine Endlosschleife, die zum Absturz führt.
      Bilder bitte nicht als Foto hochladen.

      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
      • S SebastianB

        Hallo zusammen,

        ich bin neu hier und habe versucht mein erstes Blockly Programm zu schreiben, wo ich "überschüssige" Energie (bevor ich diese Einspeise), benutze um mit meiner Klimaanlage zu heizen. Hierfür lese ich über Modus die aktuelle "Leistung", welche in das Netz gespeist wird aus. Liegt diese Leistung oberhalb des Schwellenwertes, soll nach nochmaligem Durchlauf einer Schleife (wird verwendet, um über 10 Minuten einen Mittelwert zu ermitteln), die Klimaanlage gestartet werden. Liegt die Leistung am Übergabepunkt unterhalb eines Wertes und ist die Klimaanlage an, wird diese ausgeschaltet.
        Die übergeordnete Schleife habe ich nur verwendet, damit das Programm dauerhaft durchlaufen wird.
        Generell funktioniert das Programm, nur nach einer bestimmten Zeit, wird die Java Instanz deaktiviert bzw. das Programm wird nicht mehr durchlaufen.
        Könnt Ihr mir bitte helfen??
        Blockly Programm_Klima.jpg

        FredFF Offline
        FredFF Offline
        FredF
        Most Active Forum Testing
        schrieb am zuletzt editiert von
        #3

        @sebastianb sagte in Absturz / Deaktivierung von Instanz bei Blockly Programm:

        ich bin neu hier und habe versucht mein erstes Blockly Programm zu schreiben

        Es fehlt der Trigger... Lesestoff, hier im Forum: https://forum.iobroker.net/post/1085370

        1 Antwort Letzte Antwort
        0
        • S SebastianB

          Hallo zusammen,

          ich bin neu hier und habe versucht mein erstes Blockly Programm zu schreiben, wo ich "überschüssige" Energie (bevor ich diese Einspeise), benutze um mit meiner Klimaanlage zu heizen. Hierfür lese ich über Modus die aktuelle "Leistung", welche in das Netz gespeist wird aus. Liegt diese Leistung oberhalb des Schwellenwertes, soll nach nochmaligem Durchlauf einer Schleife (wird verwendet, um über 10 Minuten einen Mittelwert zu ermitteln), die Klimaanlage gestartet werden. Liegt die Leistung am Übergabepunkt unterhalb eines Wertes und ist die Klimaanlage an, wird diese ausgeschaltet.
          Die übergeordnete Schleife habe ich nur verwendet, damit das Programm dauerhaft durchlaufen wird.
          Generell funktioniert das Programm, nur nach einer bestimmten Zeit, wird die Java Instanz deaktiviert bzw. das Programm wird nicht mehr durchlaufen.
          Könnt Ihr mir bitte helfen??
          Blockly Programm_Klima.jpg

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

          @sebastianb das skript ist so nicht sauber. Allerdings sind die Antworten von @paul53 und @FredF nur zum Teil passend:

          Du willst ja ein Skript haben welches immer arbeitet - soweit ok. Es muss also nicht unbedingt durch einen trigger laufen.

          Eine Endlosschleife ist da, darf aber auch sein.

          Du hast aber eine Schleife die komplett ohne Wartezeiten durchrauscht, und damit die Prozessorlast soweit hoch schraubt das der Adapter sich beendet, das liegt daran das es zwischen deinem falls und sonst-falls Zweig eine Option gibt bei der in der Schleife nichts passiert.

          Trotzdem ist das was @FredF gepostet hat wichtige Lektüre. Du solltest überlegen wie du deine Ziel-Logik Event-basiert (und damit durch trigger gesteuert) umsetzt.

          Ein Vorschlag: du triggerst auf Änderung der einspeisungsleistung.
          Darin bildest du einen gleitenden Durchschnitt über die Werte der letzten 10 Sekunden. Wenn sich der Mittelwert dann im einschalt oder ausschalt band bewegst schaltest du die Klimaanlage.

          Ich habe dein Skript nicht im Detail durch gearbeitet - Fotos von Bildschirmen sind echt die Pest, dafür gibt es Screenshots und exportierte Skripte. Die kann man dann lesen.

          A.

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

          S 1 Antwort Letzte Antwort
          1
          • AsgothianA Asgothian

            @sebastianb das skript ist so nicht sauber. Allerdings sind die Antworten von @paul53 und @FredF nur zum Teil passend:

            Du willst ja ein Skript haben welches immer arbeitet - soweit ok. Es muss also nicht unbedingt durch einen trigger laufen.

            Eine Endlosschleife ist da, darf aber auch sein.

            Du hast aber eine Schleife die komplett ohne Wartezeiten durchrauscht, und damit die Prozessorlast soweit hoch schraubt das der Adapter sich beendet, das liegt daran das es zwischen deinem falls und sonst-falls Zweig eine Option gibt bei der in der Schleife nichts passiert.

            Trotzdem ist das was @FredF gepostet hat wichtige Lektüre. Du solltest überlegen wie du deine Ziel-Logik Event-basiert (und damit durch trigger gesteuert) umsetzt.

            Ein Vorschlag: du triggerst auf Änderung der einspeisungsleistung.
            Darin bildest du einen gleitenden Durchschnitt über die Werte der letzten 10 Sekunden. Wenn sich der Mittelwert dann im einschalt oder ausschalt band bewegst schaltest du die Klimaanlage.

            Ich habe dein Skript nicht im Detail durch gearbeitet - Fotos von Bildschirmen sind echt die Pest, dafür gibt es Screenshots und exportierte Skripte. Die kann man dann lesen.

            A.

            S Offline
            S Offline
            SebastianB
            schrieb am zuletzt editiert von
            #5

            @asgothian
            Vielen Dank für das Feedback! Das hilft.
            Den Trigger habe ich versucht (auch genau auf die Leistung am Übergabepunkt) und habe die anderen Bedingungen in den Trigger gepackt.
            Leider mache ich hier aber was falsch, weil die Bedingungen im Trigger nicht durchlaufen werden, sondern ständig das Programm durchlaufen wird.

            AsgothianA 1 Antwort Letzte Antwort
            0
            • S SebastianB

              @asgothian
              Vielen Dank für das Feedback! Das hilft.
              Den Trigger habe ich versucht (auch genau auf die Leistung am Übergabepunkt) und habe die anderen Bedingungen in den Trigger gepackt.
              Leider mache ich hier aber was falsch, weil die Bedingungen im Trigger nicht durchlaufen werden, sondern ständig das Programm durchlaufen wird.

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

              @sebastianb sagte in Absturz / Deaktivierung von Instanz bei Blockly Programm:

              @asgothian
              Vielen Dank für das Feedback! Das hilft.
              Den Trigger habe ich versucht (auch genau auf die Leistung am Übergabepunkt) und habe die anderen Bedingungen in den Trigger gepackt.
              Leider mache ich hier aber was falsch, weil die Bedingungen im Trigger nicht durchlaufen werden, sondern ständig das Programm durchlaufen wird.

              Zeig den Versuch mit trigger mal - als Screenshot, dann können wir schauen wo es klemmt.

              A.

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

              S 1 Antwort Letzte Antwort
              0
              • AsgothianA Asgothian

                @sebastianb sagte in Absturz / Deaktivierung von Instanz bei Blockly Programm:

                @asgothian
                Vielen Dank für das Feedback! Das hilft.
                Den Trigger habe ich versucht (auch genau auf die Leistung am Übergabepunkt) und habe die anderen Bedingungen in den Trigger gepackt.
                Leider mache ich hier aber was falsch, weil die Bedingungen im Trigger nicht durchlaufen werden, sondern ständig das Programm durchlaufen wird.

                Zeig den Versuch mit trigger mal - als Screenshot, dann können wir schauen wo es klemmt.

                A.

                S Offline
                S Offline
                SebastianB
                schrieb am zuletzt editiert von
                #7

                @asgothian Blockly Programm_Klima_Trigger.jpg
                Hier der Versuch mit dem Trigger. Es scheint aber so, als ob der gesamte Programmcoe nicht durchlaufen wird. Ich weiß nur nicht warum....

                AsgothianA 1 Antwort Letzte Antwort
                0
                • S SebastianB

                  @asgothian Blockly Programm_Klima_Trigger.jpg
                  Hier der Versuch mit dem Trigger. Es scheint aber so, als ob der gesamte Programmcoe nicht durchlaufen wird. Ich weiß nur nicht warum....

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

                  @sebastianb sagte in Absturz / Deaktivierung von Instanz bei Blockly Programm:

                  @asgothian Blockly Programm_Klima_Trigger.jpg
                  Hier der Versuch mit dem Trigger. Es scheint aber so, als ob der gesamte Programmcoe nicht durchlaufen wird. Ich weiß nur nicht warum....

                  na ja - der code läuft (leider) mehrfach parallel, da bei jeder Änderung ein 10 Sekündiger Ablauf gestartet wird. Wenn der Wert sich also dazwischen nochmal ändert bekommst du einen 2.

                  Anbei ein Vorschlag wie du das mit dem rolling average machen kannst.

                  Screenshot 2025-02-01 at 21.15.16.png

                  Hinweise dazu:

                  • die Bausteine mit dem kleinen Pfeil davor ( Screenshot 2025-02-01 at 21.04.12.png ) sind alle der gleiche Baustein aus dem Trigger Bereich - da voreingestellt auf "wert", umgestellt auf verschiedene Eigenschaften
                  • die Bausteine Screenshot 2025-02-01 at 21.05.46.png sind auch alle der gleiche Baustein aus dem Listen Bereich, entsprechend umdefiniert.

                  Funktionsweise:

                  • in der Variable Liste_Zeitstempel wird gespeichert wann die jeweiligen Änderungen des DP auftreten.
                  • in der Variable Liste_Werte wird das Produkt aus Wert der Leistung und der Zeit über den diese Leistung ansteht (in ms) gespeichert - mit einer Begrenzung auf eine Dauer von 10 sekunden
                  • beim Durchgehen der Liste wird zunächst geschaut wieviele Werte aus der Liste herausfallen müssen, weil sie älter als 10 sekunden sind.
                  • Danach werden die jeweiligen Listen um diese Werte (von vorne) gekürzt.
                  • erst danach wird der aktuelle Zeitstempel und Wert*dauer in die beiden Listen eingetragen - als letztes Element.

                  Das Skript muss also mindestens 10 sekunden laufen bevor der erste echte Durchschnittswert vorliegt. Davor kann es Störungen geben - das sollte aber für die Funktion erst einmal nicht kritisch sein. Wenn es das doch ist dann lässt sich das auch noch unterbinden.

                  Viel spass beim Nachbauen :)

                  A.
                  Nachtrag: Auch die Zeit-Konstante (rolling average über X sekunden lässt sich durchaus noch anpassen - das hab ich erst einmal fix eingebrannt :) Wäre aber eine kleine Anpassung

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

                  S 1 Antwort Letzte Antwort
                  1
                  • AsgothianA Asgothian

                    @sebastianb sagte in Absturz / Deaktivierung von Instanz bei Blockly Programm:

                    @asgothian Blockly Programm_Klima_Trigger.jpg
                    Hier der Versuch mit dem Trigger. Es scheint aber so, als ob der gesamte Programmcoe nicht durchlaufen wird. Ich weiß nur nicht warum....

                    na ja - der code läuft (leider) mehrfach parallel, da bei jeder Änderung ein 10 Sekündiger Ablauf gestartet wird. Wenn der Wert sich also dazwischen nochmal ändert bekommst du einen 2.

                    Anbei ein Vorschlag wie du das mit dem rolling average machen kannst.

                    Screenshot 2025-02-01 at 21.15.16.png

                    Hinweise dazu:

                    • die Bausteine mit dem kleinen Pfeil davor ( Screenshot 2025-02-01 at 21.04.12.png ) sind alle der gleiche Baustein aus dem Trigger Bereich - da voreingestellt auf "wert", umgestellt auf verschiedene Eigenschaften
                    • die Bausteine Screenshot 2025-02-01 at 21.05.46.png sind auch alle der gleiche Baustein aus dem Listen Bereich, entsprechend umdefiniert.

                    Funktionsweise:

                    • in der Variable Liste_Zeitstempel wird gespeichert wann die jeweiligen Änderungen des DP auftreten.
                    • in der Variable Liste_Werte wird das Produkt aus Wert der Leistung und der Zeit über den diese Leistung ansteht (in ms) gespeichert - mit einer Begrenzung auf eine Dauer von 10 sekunden
                    • beim Durchgehen der Liste wird zunächst geschaut wieviele Werte aus der Liste herausfallen müssen, weil sie älter als 10 sekunden sind.
                    • Danach werden die jeweiligen Listen um diese Werte (von vorne) gekürzt.
                    • erst danach wird der aktuelle Zeitstempel und Wert*dauer in die beiden Listen eingetragen - als letztes Element.

                    Das Skript muss also mindestens 10 sekunden laufen bevor der erste echte Durchschnittswert vorliegt. Davor kann es Störungen geben - das sollte aber für die Funktion erst einmal nicht kritisch sein. Wenn es das doch ist dann lässt sich das auch noch unterbinden.

                    Viel spass beim Nachbauen :)

                    A.
                    Nachtrag: Auch die Zeit-Konstante (rolling average über X sekunden lässt sich durchaus noch anpassen - das hab ich erst einmal fix eingebrannt :) Wäre aber eine kleine Anpassung

                    S Offline
                    S Offline
                    SebastianB
                    schrieb am zuletzt editiert von
                    #9

                    @asgothian
                    Vielen Dank für die Hilfe!

                    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

                    610

                    Online

                    32.7k

                    Benutzer

                    82.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