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: sporadisch werden falsche Werte geschrieben

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Blockly: sporadisch werden falsche Werte geschrieben

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
blocklyjavascript
10 Beiträge 2 Kommentatoren 662 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • fu_zhouF Offline
    fu_zhouF Offline
    fu_zhou
    schrieb am zuletzt editiert von
    #1

    Hallo,
    ich berechne mit Blockly einen Sollwert und begrenze ihn zwischen 0 und 5500:
    Zwischenablage02.jpg

    Sporadisch hält sich Blockly nicht an die Begrenzung und gibt dann für eine < 1 Sek. irre hohe oder niedrige Werte raus:
    Zwischenablage03.jpg

    Ich habe schon alles durchsucht, finde aber die Ursache nicht. Die Einzelwerte der Rechnung haben keine Ausreisser und wenn sollten diese ja durch "begrenze" bei 0 bzw. 5500 begrenzt sein.

    Hat jemand eine Idee, dass Verhalten zu debuggen?

    Synology DS920+ VM, S7-315 PN mit ET200S

    paul53P 1 Antwort Letzte Antwort
    0
    • fu_zhouF fu_zhou

      Hallo,
      ich berechne mit Blockly einen Sollwert und begrenze ihn zwischen 0 und 5500:
      Zwischenablage02.jpg

      Sporadisch hält sich Blockly nicht an die Begrenzung und gibt dann für eine < 1 Sek. irre hohe oder niedrige Werte raus:
      Zwischenablage03.jpg

      Ich habe schon alles durchsucht, finde aber die Ursache nicht. Die Einzelwerte der Rechnung haben keine Ausreisser und wenn sollten diese ja durch "begrenze" bei 0 bzw. 5500 begrenzt sein.

      Hat jemand eine Idee, dass Verhalten zu debuggen?

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

      @fu_zhou sagte:

      gibt dann für eine < 1 Sek. irre hohe oder niedrige Werte raus:

      Ich sehe keinen. Die Quelle für negative Werte ist nicht Javascript, sondern s7.0.

      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
      • fu_zhouF Offline
        fu_zhouF Offline
        fu_zhou
        schrieb am zuletzt editiert von
        #3

        Ja, ich habe auch schon in diese Richtung gesucht und daher (eigentlich) ausgeschlossen, dass die S7 die Variable beschreibt, = nur liest. Bei den korrekten Werten ist die Quelle zwischen Javascript auch immer wieder S7.

        Synology DS920+ VM, S7-315 PN mit ET200S

        1 Antwort Letzte Antwort
        0
        • fu_zhouF Offline
          fu_zhouF Offline
          fu_zhou
          schrieb am zuletzt editiert von
          #4

          Ich schreibe jetzt mal das Objekt mit Datenquelle s7.0 in die Datenbank, ohne, dass es von einem Blockly-Script "manipuliert" wird. Den begrenzten Rechenwert aus Blockly schreibe ich in eine temporäres Objekt, das ich auch aufzeichne. Mal sehen, was passiert..,

          Synology DS920+ VM, S7-315 PN mit ET200S

          1 Antwort Letzte Antwort
          0
          • fu_zhouF Offline
            fu_zhouF Offline
            fu_zhou
            schrieb am zuletzt editiert von
            #5

            Über Nacht ist das s7.0 Objekt "0" geblieben, keine Ausreisser. Ebenso ist der Rechenwert innerhalb der Grenzen 0 bis 5500 geblieben. Heute Morgen habe ich wieder das s7.0 Objekt angebunden, so dass Blockly den Sollwert wieder an die S7 übergibt. Und siehe da: kurze Zeit nach dem Neustart des Skripts wieder der erste Ausreisser auf 5.10*10 ^29. Irgendwie scheint die Anbindung des s7.0 Objektes an Blockly den Ausreisser zu provozieren.

            Synology DS920+ VM, S7-315 PN mit ET200S

            paul53P 1 Antwort Letzte Antwort
            0
            • fu_zhouF fu_zhou

              Über Nacht ist das s7.0 Objekt "0" geblieben, keine Ausreisser. Ebenso ist der Rechenwert innerhalb der Grenzen 0 bis 5500 geblieben. Heute Morgen habe ich wieder das s7.0 Objekt angebunden, so dass Blockly den Sollwert wieder an die S7 übergibt. Und siehe da: kurze Zeit nach dem Neustart des Skripts wieder der erste Ausreisser auf 5.10*10 ^29. Irgendwie scheint die Anbindung des s7.0 Objektes an Blockly den Ausreisser zu provozieren.

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

              @fu_zhou sagte:

              Ausreisser auf 5.10*10 ^29.

              Quelle(from) javascript.0 oder s7.0 ?

              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

              fu_zhouF 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @fu_zhou sagte:

                Ausreisser auf 5.10*10 ^29.

                Quelle(from) javascript.0 oder s7.0 ?

                fu_zhouF Offline
                fu_zhouF Offline
                fu_zhou
                schrieb am zuletzt editiert von fu_zhou
                #7

                @paul53
                s7.0 ist die Quelle.
                Bildschirmfoto vom 2020-05-30 09-16-28.png
                Das Ganze läuft so ab: Blockly bekommt den Trigger (geänderter Messwert) und schreibt daraufhin das s7.0 Objekt. Die s7.0 Objekte werden in der Steuerung (S7) zyklisch (Einstellung 500ms im Adapter) aktualisiert. D.h Blockly (javascript.0) ist die Quelle, das landet in der S7 und wird dann bei der Aktualisierung alle 500 ms gelesen. Dann kommt der neue Wert von javascript.0 etc. In dem Screenshot oben hat javascript.0 um 08:44:14.787 (dritte Zeile von unten) den Wert neu berechnet (3163), die S7 hat in der 4. Zeile von unten aber den Ausreisser bekommen bzw. gemeldet. 2 Sekunden später (3.Zeile von oben) hat javascript.0 3144 berechnet und die S7 hat den Wert auch bekommen (2. Zeile von oben). Die Frage ist wohl, warum sporadisch zwischen drin von javascript.0 berechnete Werte nicht oder als Ausreisser ankommen? Ich habe jetzt mal auf Zeit-Trigger (alle 10 Sekunden) umgestellt.

                Synology DS920+ VM, S7-315 PN mit ET200S

                paul53P 1 Antwort Letzte Antwort
                0
                • fu_zhouF fu_zhou

                  @paul53
                  s7.0 ist die Quelle.
                  Bildschirmfoto vom 2020-05-30 09-16-28.png
                  Das Ganze läuft so ab: Blockly bekommt den Trigger (geänderter Messwert) und schreibt daraufhin das s7.0 Objekt. Die s7.0 Objekte werden in der Steuerung (S7) zyklisch (Einstellung 500ms im Adapter) aktualisiert. D.h Blockly (javascript.0) ist die Quelle, das landet in der S7 und wird dann bei der Aktualisierung alle 500 ms gelesen. Dann kommt der neue Wert von javascript.0 etc. In dem Screenshot oben hat javascript.0 um 08:44:14.787 (dritte Zeile von unten) den Wert neu berechnet (3163), die S7 hat in der 4. Zeile von unten aber den Ausreisser bekommen bzw. gemeldet. 2 Sekunden später (3.Zeile von oben) hat javascript.0 3144 berechnet und die S7 hat den Wert auch bekommen (2. Zeile von oben). Die Frage ist wohl, warum sporadisch zwischen drin von javascript.0 berechnete Werte nicht oder als Ausreisser ankommen? Ich habe jetzt mal auf Zeit-Trigger (alle 10 Sekunden) umgestellt.

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

                  @fu_zhou sagte:

                  die S7 hat in der 4. Zeile von unten aber den Ausreisser bekommen bzw. gemeldet.

                  Die Instanz s7.0 hat nicht den Ausreißer erhalten, sondern zweimal hintereinander als Bestätigung (ack = true) zurück gemeldet. Ob Ursache der S7-Adapter oder die S7 ist, kann daraus nicht beurteilt werden. Blockly ist es jedenfalls nicht.

                  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

                  fu_zhouF 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @fu_zhou sagte:

                    die S7 hat in der 4. Zeile von unten aber den Ausreisser bekommen bzw. gemeldet.

                    Die Instanz s7.0 hat nicht den Ausreißer erhalten, sondern zweimal hintereinander als Bestätigung (ack = true) zurück gemeldet. Ob Ursache der S7-Adapter oder die S7 ist, kann daraus nicht beurteilt werden. Blockly ist es jedenfalls nicht.

                    fu_zhouF Offline
                    fu_zhouF Offline
                    fu_zhou
                    schrieb am zuletzt editiert von
                    #9

                    @paul53
                    Irgenwie hat der S7 Adapter (?) dann wohl ein Problem mit der Aktualisierungsgeschwindigkeit von Blockly. Wenn ich den Trigger auf Zeit und alle 5 Sekunden nehme, läuft das Ganze ohne Ausreisser. Ich werde mich jetzt mal nach unten tasten und schauen, ab welcher Trigger-Zeit das Problem auftritt.

                    Synology DS920+ VM, S7-315 PN mit ET200S

                    1 Antwort Letzte Antwort
                    0
                    • fu_zhouF Offline
                      fu_zhouF Offline
                      fu_zhou
                      schrieb am zuletzt editiert von
                      #10

                      4 Sekunden ist schon zu schnell, da kommt alle paar Stunden ein Ausreisser, 5 Sek scheint okay.

                      Synology DS920+ VM, S7-315 PN mit ET200S

                      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

                      684

                      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