Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. 1 DP von mehreren wird nicht aktualisiert [gelöst]

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    1 DP von mehreren wird nicht aktualisiert [gelöst]

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Ahnungsbefreit @Codierknecht last edited by

      @codierknecht said in 1 DP von mehreren wird nicht aktualisiert:

      Ist die Entfernung grundsätzlich ein string? Oder vielleicht doch eher eine Zahl?

      @devdracon Genau den Gedanken hatte ich auch eben. Die Abfrage auf "kleiner" funktioniert nur wie gedacht, wenn das eine Zahl ist

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @devdracon last edited by paul53

        @devdracon sagte: warum das nicht funktioniert?

        • Wert kann nur bei Einzel-Trigger verwendet werden.
        • Man kann keinen Datenpunkt einlesen unmittelbar nachdem er geschrieben wurde (asynchrone Abarbeitung von "aktualisiere")

        Besser mit zwei getrennten Triggern:

        Bild_2022-12-07_120049504.png

        Codierknecht 1 Reply Last reply Reply Quote 1
        • devdracon
          devdracon @devdracon last edited by devdracon

          so funktioniert das jetzt, wie es soll:

          das nachfolgende Blockly ist falsch, nachfolgende Posts beachten!

          Bildschirm­foto 2022-12-07 um 12.12.34.png

          Danke an alle die sich beteiligt haben!

          paul53 2 Replies Last reply Reply Quote 0
          • paul53
            paul53 @devdracon last edited by paul53

            @devdracon sagte: so funktioniert das jetzt, wie es soll

            Nein, die beiden Variablen enthalten stets den identischen Wert!
            Außerdem wird ein Objekt mit einem String verglichen.

            devdracon 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @paul53 last edited by

              @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert:

              Wert kann nur bei Einzel-Trigger verwendet werden.

              Sicher?
              Die einzelnen Objekte werden doch nur für das Abonnieren des Events benötigt.
              Bei Auslösung ist obj vorhanden - und das ist das jeweils auslösende Objekt, für das auch der Wert ermittelt werden kann.

              on({id: [].concat(['0_userdata.0.xxx']).concat(['0_userdata.0.Anwesenheit.yyy']), change: "ne"}, async function (obj) {
              });
              

              Funktioniert bei mir jedenfalls bisher einwandfrei 😉

              paul53 1 Reply Last reply Reply Quote 0
              • paul53
                paul53 @Codierknecht last edited by

                @codierknecht sagte: Sicher?

                Ja, zumindest dann, wenn der Wert des Trigger-Datenpunktes zu weiteren Berechnungen verwendet wird. Man kann nicht unterscheiden, von welchem Datenpunkt Wert kommt.

                1 Reply Last reply Reply Quote 0
                • devdracon
                  devdracon @paul53 last edited by

                  @paul53 kannst du das näher erläutern? ich sehe den fehler nicht

                  paul53 Codierknecht 2 Replies Last reply Reply Quote 0
                  • paul53
                    paul53 @devdracon last edited by paul53

                    @devdracon sagte: kannst du das näher erläutern?

                    Habe ich bereits:

                    @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:

                    die beiden Variablen enthalten stets den identischen Wert!

                    Es wird nicht unterschieden, von welchem Datenpunkt Wert stammt. Oder anders: Die Variable Wert wird mit identischem Wert auf zwei Variablen aufgeteilt.

                    Codierknecht devdracon 2 Replies Last reply Reply Quote 0
                    • Codierknecht
                      Codierknecht Developer Most Active @paul53 last edited by

                      @paul53
                      Ich habe da mal was zusammengeklöppelt.
                      Je nachdem welches Objekt verändert wird, erhalte ich schon den korrekten Wert.
                      Was nicht geht, ist das Ermitteln des Gerätenamens usw.

                      639473af-23e6-4872-b689-d8a7cc50e54f-image.png

                      paul53 1 Reply Last reply Reply Quote 0
                      • devdracon
                        devdracon @paul53 last edited by devdracon

                        @paul53 verstehe. ich habe mir den inhalt der Variablen in ein debug schreiben lassen - du hast recht. wie würde ich das korrekt ändern müssen?

                        s.u. ,denke ich. Post war nahezu zeitgleich

                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Codierknecht last edited by

                          @codierknecht sagte: Je nachdem welches Objekt verändert wird, erhalte ich schon den korrekten Wert.

                          Ja, aber man weiß nicht, zu wem er gehört, es sein denn, man wertet zusätzlich die ID aus, etwa so:

                          Bild_2022-12-07_123142350.png

                          Codierknecht 1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @devdracon last edited by

                            @devdracon sagte: wie würde ich das korrekt ändern müssen?

                            Wie hier gezeigt.

                            1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @devdracon last edited by

                              @devdracon
                              Mach das was @paul53 vorgeschlagen hat: Verwende für jedes Deiner 2 Objekte einen separaten Trigger.
                              Du triggerst auf 2 Objekte und musst die in der Ereignisbehandlung wieder unterscheiden.
                              Das wird extrem unübersichtlich!

                              08c2cddf-56b1-4671-96b8-4f9fb01b2beb-image.png

                              1 Reply Last reply Reply Quote 0
                              • Codierknecht
                                Codierknecht Developer Most Active @paul53 last edited by

                                @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:

                                Ja, aber man weiß nicht, zu wem er gehört ...

                                Das ist natürlich korrekt.
                                Dann habe ich Dich lediglich falsch verstanden.

                                es sein denn, man wertet zusätzlich die ID aus, etwa so

                                Und das ist wieder unnötiger Aufwand.

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Codierknecht last edited by

                                  @codierknecht sagte: Und das ist wieder unnötiger Aufwand.

                                  Deshalb besser zwei getrennte Trigger.

                                  Codierknecht 1 Reply Last reply Reply Quote 0
                                  • Codierknecht
                                    Codierknecht Developer Most Active @paul53 last edited by Codierknecht

                                    @paul53 sagte in 1 DP von mehreren wird nicht aktualisiert [gelöst]:

                                    Deshalb besser zwei getrennte Trigger.

                                    Und damit wären wir wieder bei meinem Lieblingsthema: CleanCode und "Separation of concerns"
                                    https://clean-code-developer.de/die-grade/orangener-grad/#Separation_of_Concerns_SoC
                                    Wenn man "Klasse" mit "Trigger" ersetzt, gilt auch:
                                    https://clean-code-developer.de/die-grade/orangener-grad/#Single_Responsibility_Principle_SRP

                                    1 Reply Last reply Reply Quote 0
                                    • paul53
                                      paul53 @devdracon last edited by

                                      @devdracon sagte: das nachfolgende Blockly ist falsch

                                      Wie sieht die Änderung aus?

                                      devdracon 1 Reply Last reply Reply Quote 0
                                      • devdracon
                                        devdracon @paul53 last edited by

                                        @paul53 ...das ist das geänderte Blockly:

                                        Bildschirm­foto 2022-12-08 um 09.35.16.png

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        729
                                        Online

                                        32.0k
                                        Users

                                        80.5k
                                        Topics

                                        1.3m
                                        Posts

                                        4
                                        23
                                        494
                                        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