Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Datenpunkt aktualisieren - Bug?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Datenpunkt aktualisieren - Bug?

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @haus-automatisierung last edited by paul53

      @haus-automatisierung sagte: generierten JavaScript-Code.

      Selektiert "aktualisiere":

      setStateDelayed('Object ID', { val: true, ack: true }, parseInt(((0) || '').toString(), 10), false);
      

      Im Tab "Objekte" wird als Ergebnis "Bestätigt: false" angezeigt. Es liegt also an setStateDelayed() mit der Übergabe des Status als Objekt. Auch mit Javascript getestet.
      JS Version 8.4.2.

      EDIT: Diese Version funktioniert wie erwartet:

      setStateDelayed("0_userdata.0.Test.+15_Min", false, true, 0);
      
      haus-automatisierung 1 Reply Last reply Reply Quote 0
      • W
        warp735 @haus-automatisierung last edited by

        @haus-automatisierung sagte in Datenpunkt aktualisieren - Bug?:

        Datenpunkte von anderen Adaptern sollte man ja immer nur unbestätigt setzen

        I know... klappt ja auch. Nur weggeschrieben wird was anderes

        1 Reply Last reply Reply Quote 0
        • S
          stenmic @haus-automatisierung last edited by

          @haus-automatisierung
          v8.4.2

          steuere:

          setStateDelayed('Object ID', { val: true, ack: false }, parseInt(((0) || '').toString(), 10), false);
          

          aktualisiere:

          setStateDelayed('Object ID', { val: true, ack: true }, parseInt(((0) || '').toString(), 10), false);
          

          Noch was ist mir bei den neueren Versionen aufgefallen...
          Wenn man einen Baustein deaktiviert und ihn anschließend (irgendwann) wieder aktiviert,
          aktualisiert sich manchmal (eher häufig) die Anschicht nicht (bleibt optisch deaktiviert).

          Erst wenn ich das Skript über den Reiter oben schließe und anschließend wieder zum bearbeiten öffne, passt die Ansicht.
          Ist aber leider nicht reproduzierbar.

          A 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @MartinP last edited by

            @martinp sagte in Datenpunkt aktualisieren - Bug?:

            Beim Setzen direkt im Objektbaum tritt bei mir das Verhalten nicht auf. Setze ich da den "Bestätigt" Haken, wird der neue Wert zuerst grün, und kurz danach weiß angezeigt..

            das ar ja auch nicht das Thema.
            Es geht um den schreibe-Block.

            Muss mal direkt nachsehen wie das jetzt bei mir nach dem letzten Update aussieht

            Homoran 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @paul53 last edited by

              @paul53 sagte in Datenpunkt aktualisieren - Bug?:

              JS Version 8.4.2.

              Danke! Daher die Frage. In der 8.4.0 habe ich das "expire" mit in den Block eingebaut und den Aufruf geändert. Gucke ich mir an.

              paul53 1 Reply Last reply Reply Quote 1
              • Homoran
                Homoran Global Moderator Administrators @Homoran last edited by

                @homoran sagte in Datenpunkt aktualisieren - Bug?:

                Muss mal direkt nachsehen wie das jetzt bei mir nach dem letzten Update aussieht

                Hab noch 8.3.1, da läuft alles normal

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @haus-automatisierung last edited by paul53

                  @haus-automatisierung sagte: das "expire" mit in den Block eingebaut

                  Wer braucht "expire" (einen Datenpunkt ohne Zustand nach Zeitablauf)?

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @paul53 last edited by

                    @paul53 sagte in Datenpunkt aktualisieren - Bug?:

                    Wer braucht "expire" (einen Datenpunkt ohne Zustand nach Zeitablauf)?

                    Ich weiß nicht, frag mal warum das im js-controller implementiert wurde 🙂

                    mcm1957 1 Reply Last reply Reply Quote 0
                    • A
                      Andersmacher @stenmic last edited by

                      @stenmic sagte in Datenpunkt aktualisieren - Bug?:

                      Noch was ist mir bei den neueren Versionen aufgefallen...
                      Wenn man einen Baustein deaktiviert und ihn anschließend (irgendwann) wieder aktiviert,
                      aktualisiert sich manchmal (eher häufig) die Anschicht nicht (bleibt optisch deaktiviert).
                      Erst wenn ich das Skript über den Reiter oben schließe und anschließend wieder zum bearbeiten öffne, passt die Ansicht.
                      Ist aber leider nicht reproduzierbar.

                      Ist bei mir auch so.

                      1 Reply Last reply Reply Quote 0
                      • mcm1957
                        mcm1957 @haus-automatisierung last edited by

                        @haus-automatisierung said in Datenpunkt aktualisieren - Bug?:

                        @paul53 sagte in Datenpunkt aktualisieren - Bug?:

                        Wer braucht "expire" (einen Datenpunkt ohne Zustand nach Zeitablauf)?

                        Ich weiß nicht, frag mal warum das im js-controller implementiert wurde 🙂

                        Ist m.W. nach schon lange drinnen.
                        Wenn ein Datenpunkt nicht regelmäßig neu befüllt wird geht dann der Wert auf null. Könnte Sinn machen wenn man z.B. die Zisternenpumpe laufen läßt solange ein Wasserstand gemeldet wird. Kommt kein Update dann kann die Pumpe abschalten. (Wobei ich hier externe Sicherheistschalter eher empfeheln würde) . Alternativ siht man dann in der vis, dass eben kein (aktueller) Wert verfügbar ist ohne dass man den last timestamp aufwerten muss

                        haus-automatisierung 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Homoran last edited by

                          @homoran sagte: Hab noch 8.3.1, da läuft alles normal

                          In Version 8.5.0 auch wieder.

                          1 Reply Last reply Reply Quote 1
                          • haus-automatisierung
                            haus-automatisierung Developer Most Active @mcm1957 last edited by

                            @mcm1957 sagte in Datenpunkt aktualisieren - Bug?:

                            Ist m.W. nach schon lange drinnen.

                            Daher habe ich den Wunsch (das in Blockly auch zu ermöglichen) ja direkt aufgegriffen. Ziel ist ja langfristig schon, die Funktionalität aus JS möglichst komplett in Blockly zu haben.

                            1 Reply Last reply Reply Quote 1
                            • B
                              bommel_030 last edited by

                              @haus-automatisierung sagte in Datenpunkt aktualisieren - Bug?:

                              Daher habe ich den Wunsch (das in Blockly auch zu ermöglichen) ja direkt aufgegriffen.

                              Danke nochmals dafür. Durch den Wechsel von NibeUplink zu MyUlink habe ich jetzt mal versucht den Baustein anzuwenden. Um die Ventilatorgeschwindigkeit zu steuern muss ich ein Datenpunkt mit einem JSON beschreiben. Damit das nach der Verarbeitung nicht mehr drinsteht hab ich ihm ein "expire" mitgegeben. Ich hatte es so verstanden, dass dadurch der Wert des Datenpunktes nach der mitgegeben Zeit vom übergebenen JSON zu "null" wechselt, aber das macht er hier leider nicht. Ist das ein Bug oder habe ich das falsch verstanden? Blockly und JavaSrcipt-Pendant siehe unten:
                              88d9c948-e3d8-4704-ab06-8abe1b91e62f-image.png

                              // Ventilation
                              on({ id: [].concat(['0_userdata.0.Datenpunkte.Heizung.Set.Ventilatorgeschwindigkeit']), change: 'ne' }, async (obj) => {
                                let value = obj.state.val;
                                let oldValue = obj.oldState.val;
                                setStateDelayed('myuplink.0.Birkholz.Fontane.setData', { val: (['{   "47260": "',(obj.state ? obj.state.val : ''),'" }'].join('')), ack: false, expire: 30 }, parseInt(((0) || '').toString(), 10), false);
                              });
                              
                              haus-automatisierung 1 Reply Last reply Reply Quote 0
                              • haus-automatisierung
                                haus-automatisierung Developer Most Active @bommel_030 last edited by

                                @bommel_030 sagte in Datenpunkt aktualisieren - Bug?:

                                Ich hatte es so verstanden, dass dadurch der Wert des Datenpunktes nach der mitgegeben Zeit vom übergebenen JSON zu "null" wechselt

                                Das ist erstmal richtig - außer Du steuerst damit einen Datenpunkt an, welcher danach bestätigt wird (dann wird er ja wieder neu geschrieben, ohne expire). In dem Fall verstehe ich die Verwendung von expire dann nicht.

                                B 1 Reply Last reply Reply Quote 1
                                • B
                                  bommel_030 @haus-automatisierung last edited by

                                  @haus-automatisierung sagte in Datenpunkt aktualisieren - Bug?:

                                  In dem Fall verstehe ich die Verwendung von expire dann nicht.

                                  In diesem Fall reiner Spieltrieb... Da du es (auch auf meinen Wunsch) eingebaut hast wollte ich das natürlich testen und Feedback geben. Danke für die Erklärung, klingt logisch. Sobald ich die Heizung umgemodelt hab mach ich mich mal an die GPS Daten für die das "aktualisiere" mit "expire" eigentlich gedacht war.

                                  1 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  367
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  9
                                  20
                                  776
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo